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
25 {
26 namespace Modbus
27 {
28 // Modbus function codes
29 #define MODBUS_FUNCTION_MAP(XX) \
30  XX(None, 0x00) \
31  XX(ReadCoils, 0x01) \
32  XX(ReadDiscreteInputs, 0x02) \
33  XX(ReadHoldingRegisters, 0x03) \
34  XX(ReadInputRegisters, 0x04) \
35  XX(WriteSingleCoil, 0x05) \
36  XX(WriteSingleRegister, 0x06) \
37  XX(ReadExceptionStatus, 0x07) \
38  XX(GetComEventCounter, 0x0b) \
39  XX(GetComEventLog, 0x0c) \
40  XX(WriteMultipleCoils, 0x0f) \
41  XX(WriteMultipleRegisters, 0x10) \
42  XX(ReportServerId, 0x11) \
43  XX(MaskWriteRegister, 0x16) \
44  XX(ReadWriteMultipleRegisters, 0x17)
45 
46 // Modbus function codes
47 enum class Function {
48 #define XX(tag, value) tag = value,
50 #undef XX
51 };
52 
53 String toString(Function function);
54 
55 } // namespace Modbus
56 } // namespace IO
Function
Definition: IOControl/include/IO/Modbus/Function.h:47
Definition: IOControl/include/IO/Controller.h:25
The String class.
Definition: WString.h:136
#define MODBUS_FUNCTION_MAP(XX)
Definition: IOControl/include/IO/Modbus/Function.h:29
String toString(Exception exception)