- Fixed a bug that would make a module notification fail in some cases if its maskbit value was zero.
- Fail open/close dome if the drive becomes disabled (usually due to the dome being stopped).
- Added rain sensor.
- Format code using
ruff
.
- Allow not outputting the registers in
status
with--no-registers
. - Use
LVMActor
as the base class for the ECP actor.
- Use
dome_open
anddome_closed
modbus variables to determine the state of the roll-off.
- Added a cache to the registers with default timeout 0.5 second.
Modbus.read_group()
callsModbus.get_all()
instead of reading individual registers sequentially. Since during astatus
all groups are read in quick succession, and with caching, this results in much faster status outputs.
- Moved the logic to lock a connection while in use to
Modbus.connect()
anddisconnect()
from the context manager.
- Use key
modbus
from configuration file to initialise a newModbus
instance when a configuration file path is passed. - Fixed output of status flags with value zero.
- #26 Add heartbeat.
- Pinned
pymodbus
to 3.6.2 due to test errors in 3.11.
- Fixed cases in which the modbus lock could remain locked.
- Added support for lights.
- Added support for O2 sensors.
- Added support for HVAC controller.
- Additional improvments for dealing with PLC disconnections.
- Attempt at fixing sporadic failures to read Modbus variable by introducing a retry loop.
- Lint using
ruff
.
- Complete rewrite with dome and door functionality.
- Additional updates to documentation and testing.
- Add
LvmecpProxy
code as API using cluplus. - Update test code for LvmecpProxy.
- DOCS: Update sequence diagrams.
- Update the commands
dome
,light
andestop
which control elements of the LVM enclosure such as dome, control room light, and so on. - Update the commands
monitor
which will return the values of HVAC sensors. - Add the command
telemetry
which show users the status of all elements in the enclosure, - Unit test for the commands and actor.
- Update example section of sphinx docs.
- Initial version of the library and actor. Supports communication with the enclosure in LVM project, lvmecp command to on and off the enclosure light and control the Dome.