/* The format of the channel descriptors is: {TYPE, FUNC, ADDR, COUNT, pin_name} TYPE is one of HAL_BIT, HAL_FLOAT, HAL_S32, HAL_U32 FUNC = 1, 2, 3, 4, 5, 6, 15, 16 - Modbus commands COUNT = number of coils/registers to read */ #define MAX_MSG_LEN 16 // may be increased if necessary to max 251 static const hm2_modbus_chan_descriptor_t channels[] = { /* {TYPE, FUNC, ADDR, COUNT, pin_name} */ // Create 8 HAL bit pins coil-00 .. -07 supplying the values of coils at 0x0000 {HAL_BIT, 1, 0x0000, 8, "coil"}, // Create 8 HAL bit pins input-00 .. -07 supplying the values of inputs at 0x0000 {HAL_BIT, 2, 0x0000, 8, "input"}, // Create a HAL pin to set the coil at address 0x0010 {HAL_BIT, 5, 0x0010, 1, "coil-0"}, // Create 8 HAL pins to set the coils at 0x0020 {HAL_BIT, 15, 0x0020, 8, "more_coils"}, // Create a scaled floating point pin calculated from input register 0x0100 {HAL_FLOAT, 4, 0x0100, 1, "float"}, // Create 4 unsigned integer HAL pins from the holding registers at 0x0200-0x203 {HAL_S32, 3, 0x0003, 4, "holding"}, // Create a single signed int HAL pin to control the register at 0x0300 {HAL_S32, 6, 0x0300, 1, "relay-3"}, // Create 7 scaled FP HAL pins to control holfing registers at 0x400-0x406 {HAL_FLOAT, 16, 0x0300, 1, "more_floats"}, };