2 * Generic MODBUS Library for STM32
4 * (c) 2019 Martin Mareš <mj@ucw.cz>
10 void modbus_init(void);
11 void modbus_loop(void);
15 bool modbus_check_discrete_input(u16 addr);
16 bool modbus_get_discrete_input(u16 addr);
18 bool modbus_check_coil(u16 addr);
19 bool modbus_get_coil(u16 addr);
20 void modbus_set_coil(u16 addr, bool value);
22 bool modbus_check_input_register(u16 addr);
23 u16 modbus_get_input_register(u16 addr);
25 bool modbus_check_holding_register(u16 addr);
26 u16 modbus_get_holding_register(u16 addr);
27 void modbus_set_holding_register(u16 addr, u16 value);
29 enum modbus_id_object {
30 MODBUS_ID_VENDOR_NAME, // first three must be always defined
31 MODBUS_ID_PRODUCT_CODE,
32 MODBUS_ID_MAJOR_MINOR_REVISION,
33 MODBUS_ID_VENDOR_URL, // the rest may be NULL
34 MODBUS_ID_PRODUCT_NAME,
35 MODBUS_ID_USER_APP_NAME,
39 extern const char * const modbus_id_strings[MODBUS_ID_MAX];