rdtech-dps: research to reduce serial comm transfer volume again
authorGerhard Sittig <gerhard.sittig@gmx.net>
Sun, 25 Apr 2021 08:03:47 +0000 (10:03 +0200)
committerGerhard Sittig <gerhard.sittig@gmx.net>
Sun, 25 Apr 2021 10:10:33 +0000 (12:10 +0200)
commit7a78fd56f70b4739d6002ae6bd8ca2a70a2e96e3
tree0d8c49abc292fec8f4f0783bb5f52af72d6a1e68
parent884ae8c02167e9575c84f09c7eee427e0c7353b7
rdtech-dps: research to reduce serial comm transfer volume again

The DPS devices default to a rather low UART communication bitrate. The
generous retrieval of more Modbus registers than strictly necessary for
the periodic acquisition of analog channel values and state tracking may
or may not be an issue.

Instrument all call sites in api.c to the device state gathering calls
such that the protocol.c side transparently can reduce the transfer
volume depending on which level of detail the caller may expect given
its current context. Under optimal circumstances this might cut the
traffic in half, which DPS devices may benefit from.

This commit adds the infrastructure to potentially reduce transfer
volume, but does not change behaviour. The "config" reasons may need
further partitioning if Modbus register access really turns out to be
a severe bottleneck. The API lends itself to that extension easily. The
approach which gets prepared in this commit needs to get runtime tested
by those who got access to the hardware.
src/hardware/rdtech-dps/api.c
src/hardware/rdtech-dps/protocol.c
src/hardware/rdtech-dps/protocol.h