IOControl/include/IO/Modbus/Function.h
Go to the documentation of this file.
1 
20 #pragma once
21 
22 #include <WString.h>
23 
24 namespace IO::Modbus
25 {
26 // Modbus function codes
27 #define MODBUS_FUNCTION_MAP(XX) \
28  XX(None, 0x00) \
29  XX(ReadCoils, 0x01) \
30  XX(ReadDiscreteInputs, 0x02) \
31  XX(ReadHoldingRegisters, 0x03) \
32  XX(ReadInputRegisters, 0x04) \
33  XX(WriteSingleCoil, 0x05) \
34  XX(WriteSingleRegister, 0x06) \
35  XX(ReadExceptionStatus, 0x07) \
36  XX(GetComEventCounter, 0x0b) \
37  XX(GetComEventLog, 0x0c) \
38  XX(WriteMultipleCoils, 0x0f) \
39  XX(WriteMultipleRegisters, 0x10) \
40  XX(ReportServerId, 0x11) \
41  XX(MaskWriteRegister, 0x16) \
42  XX(ReadWriteMultipleRegisters, 0x17)
43 
44 // Modbus function codes
45 enum class Function {
46 #define XX(tag, value) tag = value,
48 #undef XX
49 };
50 
51 } // namespace IO::Modbus
52 
Function
Definition: IOControl/include/IO/Modbus/Function.h:45
The String class.
Definition: WString.h:136
#define MODBUS_FUNCTION_MAP(XX)
Definition: IOControl/include/IO/Modbus/Function.h:27
Definition: ADU.h:25
String toString(IO::Modbus::Function function)