/** * @file Modbus.h * @brief Modbus communication protocol definitions * @defgroup Modbus Modbus Protocol * @{ */ #ifndef MODBUS_H #define MODBUSH_H #include #include "ModbusTypes.h" /** * @defgroup Modbus_Init Modbus Initialization Macros * @ingroup Modbus * @{ */ /** * @brief Initializes a Modbus block for TCP communication * @param tcpBaseAddr Base address for TCP/IP communication * @param offset_enum Register offset enumeration * @param fn_code Modbus function code * @param access Access flags * @param desc Description of the register * @param group Group identifier */ #define INIT_MODBUS_BLOCK_TCP(tcpBaseAddr, offset_enum, fn_code, access, desc, group) \ { \ static_cast(tcpBaseAddr + static_cast(offset_enum)), \ 1, \ fn_code, \ access, \ this->id, \ this->slaveId, \ desc, \ group \ } /** * @brief Initializes a Modbus block with default settings * @param offset_enum Register offset enumeration * @param fn_code Modbus function code * @param access Access flags * @param desc Description of the register * @param group Group identifier */ #define INIT_MODBUSE_BLOCK(offset_enum, fn_code, access, desc, group) \ { \ static_cast(tcpBaseAddr + static_cast(offset_enum)), \ 1, \ fn_code, \ access, \ this->id, \ this->slaveId, \ desc, \ group \ } /** @} */ /** @} */ #endif