Produces warning of OSError on read rather than crashing.
Warns and then ignores missing i2c addresses rather than crashing.
This is not optimal since i2c addresses shoudl be a configuration-time
setting, not a runtime change. However we don't have i2c addesses in
the hardware layout, they are currently in code. Because we have different
devices with different available addresses, without this change we have to
comment out code to allow scada to run. This is error prone as we might
end up commiting the change or its delay prone as we overwrite the change.
power meter:
Interface for read_current_rms_micro_amps() and read_hw_uid() allow a None
return so a read can fail without crashing.
eGauge implements read_hw_uid() returning None on read failure.
eGauge reads hw uid and reports warning on mismatch
Tolerating driver errors:
tsnap1 driver:
Produces warning of OSError on read rather than crashing.
Warns and then ignores missing i2c addresses rather than crashing. This is not optimal since i2c addresses shoudl be a configuration-time setting, not a runtime change. However we don't have i2c addesses in the hardware layout, they are currently in code. Because we have different devices with different available addresses, without this change we have to comment out code to allow scada to run. This is error prone as we might end up commiting the change or its delay prone as we overwrite the change.
power meter:
eGauge reads hw uid and reports warning on mismatch
Added show_layout.py script.