Jarno Rankinen
f4eb787a10
- goburrow/modbus' ReadHoldingRegisters can only fetch 125 registers at a time, so updateRegisters does several readings - modbus.ReadHoldingRegisters returns a []byte, where each even byte represents the MSB of a int16/uint16 and every odd byte is the LSB - updateRegisters loops through each response slice forming the 16-bit integers Still need to figure out a way to properly handle the signed/unsigned values, and also the enumerations and bitfields. Perhaps changing the 'signed' boolean to a byte and making that a bitfield representing the value type would be a good way to go. The value can then be properly formed when fetching it from the in-memory pingvinKL struct, while being stored as an int(64) internally. |
||
---|---|---|
enervent-ctrl-go | ||
enervent-ctrl-python | ||
.gitignore | ||
README.md |
README.md
Enervent-control
External control of an Enervent Pingvin Kotilämpö residential heating/ventilation unit via RS485 bus using the Modbus protocol.
Work is my Bachelor's Thesis at Oulu University of Applied Sciences, software development.