zephyr/subsys/modbus
Johann Fischer 47c8815253 modbus: fix support for floating point values
The Modbus protocol object types are either single-bit or 16-bit word.
Other types are not defined in the specification. Types such as float
are typically mapped to two 16-bit registers. Current implementaiton
does not maps correctly to the 16-bit word addresses. On the client
side, the implementation must take into account that the number of
requested registers (Quantity of Registers) is double that of a "float"
register.  The server side should not treat "Quantity of Registers" and
"Byte count" differently for addresses reserved for floating values,
only in the user callback the two 16-bit registers are mapped to a float
value but still aligned to 16-bit register addresses.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-10-08 17:01:19 +02:00
..
CMakeLists.txt
Kconfig
modbus_client.c modbus: fix support for floating point values 2024-10-08 17:01:19 +02:00
modbus_core.c modbus: reset wait semaphore before tx 2024-10-07 17:12:44 +01:00
modbus_internal.h
modbus_raw.c
modbus_serial.c modbus_serial: Disable rx interrupt if buffer fills up 2024-06-13 16:48:05 -04:00
modbus_server.c modbus: fix support for floating point values 2024-10-08 17:01:19 +02:00