9 #include "ModbusRTUErrors.h"
27 typedef uint8_t ModbusByte;
28 const size_t BitsPerByte = 8;
29 typedef uint8_t ModbusAddr;
30 typedef uint16_t ModbusData;
31 const size_t BitsPerData = 16;
32 typedef uint16_t ModbusCRC;
36 enum SlaveFunctionCode
39 fnReadCoilStatus = 0x01,
40 fnReadInputStatus = 0x02,
41 fnReadOutputRegisters = 0x03,
42 fnReadInputRegisters = 0x04,
43 fnForceSingleCoil = 0x05,
44 fnWriteOutputSingleRegister = 0x06,
46 fnForceMultipleCoils = 0x0F,
47 fnWriteOutputRegisters = 0x10,
48 fnReadFileRecord = 0x14,
49 fnWriteFileRecord = 0x15,
52 fnRemoteService = 0x53,
53 fnJournalCommand = 0x65,
58 enum DiagnosticsSubFunction
66 dgClearCounters = 0x0A,
69 dgBusExceptCount = 0x0D,
70 dgMsgSlaveCount = 0x0E,
71 dgNoNoResponseCount = 0x0F,
72 dgSlaveNAKCount = 0x10,
73 dgSlaveBusyCount = 0x11,
74 dgBusCharOverrunCount = 0x12,
76 dgClearOverrunCounter = 0x14
81 typedef unsigned long RegID;
89 RegID genRegID(
const ModbusRTU::ModbusData r,
const int fn );
93 ssize_t szRequestDiagnosticData( DiagnosticsSubFunction f );
100 rdiMajorMinorRevision = 0x2,
102 rdiProductName = 0x4,
104 rdiUserApplicationName = 0x6
110 enum RDIRequestDeviceID
113 rdevBasicDevice = 0x1,
114 rdevRegularDevice = 0x2,
115 rdevExtentedDevice = 0x3,
116 rdevSpecificDevice = 0x4,
120 std::string rdi2str(
int id );
136 const unsigned char MBErrMask = 0x80;
138 uint16_t SWAPSHORT( uint16_t x );
141 ModbusCRC checkCRC( ModbusByte* start,
size_t len );
142 const size_t szCRC =
sizeof(ModbusCRC);
145 std::ostream& mbPrintMessage(std::ostream& os, ModbusByte* b,
size_t len );
147 ModbusAddr str2mbAddr(
const std::string& val );
148 ModbusData str2mbData(
const std::string& val );
149 std::string dat2str(
const ModbusData dat );
150 std::string addr2str(
const ModbusAddr addr );
151 std::string b2str(
const ModbusByte b );
153 float dat2f(
const ModbusData dat1,
const ModbusData dat2 );
155 bool isWriteFunction( SlaveFunctionCode c );
156 bool isReadFunction( SlaveFunctionCode c );
165 } __attribute__((packed));
169 std::ostream& operator<<(std::ostream& os,
const ModbusHeader& m );
170 std::ostream& operator<<(std::ostream& os,
const ModbusHeader* m );
174 ModbusRTU::ModbusData
tID;
175 ModbusRTU::ModbusData
pID;
176 ModbusRTU::ModbusData
len;
182 } __attribute__((packed));
184 std::ostream& operator<<(std::ostream& os,
const ADUHeader& m );
199 inline ModbusByte func()
const
203 inline ModbusAddr addr()
const
207 inline ModbusRTU::ModbusData tID()
const
211 inline ModbusRTU::ModbusData pID()
const
215 inline ModbusRTU::ModbusData aduLen()
const
220 unsigned char* buf();
221 ModbusRTU::ModbusData len()
const;
223 void makeHead( ModbusRTU::ModbusData tID,
bool noCRC =
true, ModbusRTU::ModbusData pID = 0 );
225 ModbusRTU::ModbusData pduLen()
const;
226 ModbusCRC pduCRC(
size_t len )
const;
227 static size_t maxSizeOfMessage();
233 ModbusByte
data[MAXLENPACKET + szCRC];
237 } __attribute__((packed));
239 std::ostream& operator<<(std::ostream& os,
const ModbusMessage& m );
240 std::ostream& operator<<(std::ostream& os,
const ModbusMessage* m );
246 ModbusByte ecode = { erNoError };
247 ModbusCRC crc = { 0 };
255 ErrorRetMessage( ModbusAddr _from, ModbusByte _func, ModbusByte ecode );
265 return sizeof(ModbusByte) + szCRC;
278 const DataBits& operator=(
const ModbusByte& r);
280 operator ModbusByte();
283 bool operator[](
const size_t i )
287 void set(
int n,
bool s )
292 std::bitset<BitsPerByte> b;
295 std::ostream& operator<<(std::ostream& os,
DataBits& m );
296 std::ostream& operator<<(std::ostream& os,
DataBits* m );
304 const DataBits16& operator=(
const ModbusData& r);
306 operator ModbusData();
307 ModbusData mdata()
const;
309 bool operator[](
const size_t i )
313 void set(
int n,
bool s )
318 std::bitset<BitsPerData> b;
321 std::ostream& operator<<(std::ostream& os,
DataBits16& m );
322 std::ostream& operator<<(std::ostream& os,
DataBits16* m );
328 ModbusData start = { 0 };
329 ModbusData count = { 0 };
330 ModbusCRC crc = { 0 };
345 return sizeof(ModbusData) * 2 + szCRC;
348 } __attribute__((packed));
372 return sizeof(ModbusByte);
377 ModbusCRC crc = { 0 };
395 bool setBit(
unsigned char dnum,
unsigned char bnum,
bool state );
411 return ( (
int)bcnt >= MAXPDULEN );
428 ModbusData start = { 0 };
429 ModbusData count = { 0 };
430 ModbusCRC crc = { 0 };
447 return sizeof(ModbusData) * 2 + szCRC;
450 } __attribute__((packed));
472 return sizeof(ModbusByte);
477 ModbusCRC crc = { 0 };
495 bool setBit(
unsigned char dnum,
unsigned char bnum,
bool state );
511 return ( (
int)bcnt >= MAXPDULEN );
529 ModbusData start = { 0 };
530 ModbusData count = { 0 };
531 ModbusCRC crc = { 0 };
546 return sizeof(ModbusData) * 2 + szCRC;
549 } __attribute__((packed));
559 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
571 return sizeof(ModbusByte);
576 ModbusCRC crc = { 0 };
593 return (
count *
sizeof(ModbusData) >= MAXLENPACKET );
617 ModbusData start = { 0 };
618 ModbusData count = { 0 };
619 ModbusCRC crc = { 0 };
634 return sizeof(ModbusData) * 2 + szCRC;
637 } __attribute__((packed));
648 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
660 return sizeof(ModbusByte);
665 ModbusCRC crc = { 0 };
682 return (
count *
sizeof(ModbusData) >= MAXLENPACKET );
712 ModbusByte
data[MAXLENPACKET -
sizeof(ModbusData) * 2 -
sizeof(ModbusByte)];
728 int addBit(
bool state );
730 bool setBit(
int nbit,
bool state );
732 inline size_t last()
const
745 bool getBit(
unsigned char bnum );
748 inline bool isFull()
const
750 return ( (
int)bcnt >= MAXPDULEN );
754 ForceCoilsMessage(
const ModbusMessage& m );
755 ForceCoilsMessage& operator=(
const ModbusMessage& m );
756 void init(
const ModbusMessage& m );
767 return sizeof(ModbusData) * 2 +
sizeof(ModbusByte);
778 } __attribute__((packed));
787 ModbusData start = { 0 };
788 ModbusData quant = { 0 };
789 ModbusCRC crc = { 0 };
805 void set( ModbusData start, ModbusData quant );
815 return sizeof(ModbusData) * 2 +
sizeof(ModbusCRC);
827 ModbusData start = { 0 };
828 ModbusData quant = { 0 };
829 ModbusByte bcnt = { 0 };
831 ModbusData data[MAXLENPACKET /
sizeof(ModbusData) -
sizeof(ModbusData) * 2 -
sizeof(ModbusByte)];
832 ModbusCRC crc = { 0 };
839 bool addData( ModbusData d );
841 inline bool isFull()
const
843 return ( quant >= MAXDATALEN );
860 return sizeof(ModbusData) * 2 +
sizeof(ModbusByte);
871 } __attribute__((packed));
881 ModbusData start = { 0 };
882 ModbusData quant = { 0 };
888 ModbusCRC crc = { 0 };
899 void set( ModbusData start, ModbusData quant );
909 return sizeof(ModbusData) * 2 +
sizeof(ModbusCRC);
920 ModbusData start = { 0 };
921 ModbusData data = { 0 };
922 ModbusCRC crc = { 0 };
927 return (data & 0xFF00);
948 return sizeof(ModbusData);
960 } __attribute__((packed));
971 ModbusData start = { 0 };
972 ModbusData data = { 0 };
973 ModbusCRC crc = { 0 };
978 return (data & 0xFF00);
994 void set( ModbusData start,
bool cmd );
1004 return 2 *
sizeof(ModbusData) +
sizeof(ModbusCRC);
1016 ModbusData start = { 0 };
1017 ModbusData data = { 0 };
1018 ModbusCRC crc = { 0 };
1039 return sizeof(ModbusData);
1051 } __attribute__((packed));
1062 ModbusData start = { 0 };
1063 ModbusData data = { 0 };
1064 ModbusCRC crc = { 0 };
1080 void set( ModbusData start, ModbusData data );
1090 return 2 *
sizeof(ModbusData) +
sizeof(ModbusCRC);
1101 ModbusData subf = { 0 };
1102 ModbusData data[MAXLENPACKET /
sizeof(ModbusData)];
1113 return sizeof(ModbusData);
1118 ModbusCRC crc = { 0 };
1121 DiagnosticMessage( ModbusAddr _from, DiagnosticsSubFunction subf, ModbusData d = 0 );
1136 return ( 1 +
count >= MAXDATALEN );
1175 ModbusCRC crc = { 0 };
1192 return sizeof(ModbusByte) * 3;
1198 return sizeof(ModbusByte) * 3 + szCRC;
1202 bool checkFormat()
const;
1204 } __attribute__((packed));
1206 std::ostream& operator<<(std::ostream& os,
MEIMessageRDI& m );
1207 std::ostream& operator<<(std::ostream& os,
MEIMessageRDI* m );
1213 RDIObjectInfo( ModbusByte
id,
const std::string& v ): id(
id), val(v) {}
1214 RDIObjectInfo( ModbusByte
id,
const ModbusByte* dat, ModbusByte len );
1220 typedef std::list<RDIObjectInfo> RDIObjectList;
1233 RDIObjectList dlist;
1234 ModbusCRC crc = { 0 };
1248 return sizeof(ModbusByte) * 6;
1255 MEIMessageRetRDI( ModbusAddr _from, ModbusByte devID, ModbusByte conformity, ModbusByte mf, ModbusByte objID );
1261 bool addData( ModbusByte
id,
const std::string& value );
1270 return ( bcnt >= MAXPDULEN );
1279 size_t bcnt = { 0 };
1282 std::ostream& operator<<(std::ostream& os, MEIMessageRetRDI& m );
1283 std::ostream& operator<<(std::ostream& os, MEIMessageRetRDI* m );
1284 std::ostream& operator<<(std::ostream& os, RDIObjectList& dl );
1285 std::ostream& operator<<(std::ostream& os, RDIObjectList* dl );
1295 ModbusCRC crc = { 0 };
1304 return sizeof(ModbusByte) * 4 + szCRC;
1307 } __attribute__((packed));
1316 ModbusByte bcnt = { 0 };
1322 ModbusData data[MAXLENPACKET /
sizeof(ModbusData)];
1333 bool setData( ModbusByte* b,
int len );
1341 return (
count >= MAXDATALEN );
1369 void set( ModbusData cmd, ModbusData ecode );
1389 ModbusCRC crc = { 0 };
1401 bool checkFormat()
const;
1406 return sizeof(ModbusByte) * 7 + szCRC;
1409 } __attribute__((packed));
1439 ModbusByte bcnt = { 0 };
1442 ModbusByte data[MAXLENPACKET -
sizeof(ModbusByte)];
1443 ModbusCRC crc = { 0 };
1458 return sizeof(ModbusByte);
1464 } __attribute__((packed));
1472 ModbusByte bcnt = { 0 };
1474 ModbusByte data[MAXLENPACKET -
sizeof(ModbusByte)];
1484 bool setData( ModbusByte* b,
int len );
1492 return (
count >=
sizeof(data) );
1517 } __attribute__((packed));
1519 ModbusByte bcnt = { 0 };
1523 ModbusCRC crc = { 0 };
1538 return sizeof(ModbusByte);
1560 ModbusCRC crc = { 0 };
1574 return sizeof(ModbusData) * 2 + szCRC;
1577 } __attribute__((packed));
1588 static const size_t MaxDataLen = MAXLENPACKET -
sizeof(ModbusData) * 3 -
sizeof(ModbusByte) * 2;
1595 ModbusByte data[MaxDataLen];
1602 ModbusCRC crc = { 0 };
1603 static size_t szHead()
1605 return sizeof(ModbusByte);
1615 bool set( ModbusData numfile, ModbusData file_num_packets, ModbusData packet, ModbusByte* b, ModbusByte len );
1627 std::ostream& operator<<(std::ostream& os, FileTransferRetMessage& m );
1628 std::ostream& operator<<(std::ostream& os, FileTransferRetMessage* m );
1634 #endif // ModbusTypes_H_
static size_t szHead()
Definition: ModbusTypes.h:568
ModbusByte data[MAXLENPACKET]
Definition: ModbusTypes.h:360
Definition: ModbusTypes.h:1436
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2342
bool getData(unsigned char bnum, DataBits &d) const
Definition: ModbusTypes.cc:638
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1485
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1626
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition: ModbusTypes.h:559
bool checkFormat() const
Definition: ModbusTypes.cc:1475
Definition: ModbusTypes.h:1013
ModbusData numpacket
Definition: ModbusTypes.h:1559
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1822
size_t szData() const
Definition: ModbusTypes.cc:3366
bool isFull() const
Definition: ModbusTypes.h:1339
ModbusByte reftype
Definition: ModbusTypes.h:1513
static int szHead()
Definition: ModbusTypes.h:370
Definition: CallbackTimer.h:29
bool addData(ModbusData d)
Definition: ModbusTypes.cc:1031
void clear()
Definition: ModbusTypes.cc:1041
void clear()
Definition: ModbusTypes.cc:3519
ModbusData numfile
Definition: ModbusTypes.h:1591
Definition: ModbusTypes.h:1059
size_t szData() const
Definition: ModbusTypes.cc:1924
size_t szData() const
Definition: ModbusTypes.cc:3533
ModbusByte dlen
Definition: ModbusTypes.h:1594
ModbusByte day
Definition: ModbusTypes.h:1384
Definition: ModbusTypes.h:824
ModbusData numrec
Definition: ModbusTypes.h:1515
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:910
Definition: ModbusTypes.h:1469
void clear()
Definition: ModbusTypes.cc:2833
ModbusByte bcnt
Definition: ModbusTypes.h:359
ModbusCRC crc
Definition: ModbusTypes.h:713
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:1786
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3284
Definition: ModbusTypes.h:325
void clear()
Definition: ModbusTypes.cc:3271
bool checkFormat() const
Definition: ModbusTypes.cc:1919
static size_t szHead()
Definition: ModbusTypes.h:1536
ModbusByte year
Definition: ModbusTypes.h:1386
bool setData(ModbusByte *b, int len)
Definition: ModbusTypes.cc:2810
ModbusByte bcnt
Definition: ModbusTypes.h:558
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3169
Definition: ModbusTypes.h:784
size_t szData() const
Definition: ModbusTypes.cc:2385
bool isFull() const
Definition: ModbusTypes.h:591
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:600
static size_t szData()
Definition: ModbusTypes.h:263
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2036
ModbusByte bcnt
Definition: ModbusTypes.h:1590
size_t count
Definition: ModbusTypes.h:1150
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2457
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3398
Definition: ModbusTypes.h:878
void clear()
Definition: ModbusTypes.cc:649
size_t szData() const
Definition: ModbusTypes.cc:3278
static size_t szHead()
Definition: ModbusTypes.h:764
ModbusByte hour
Definition: ModbusTypes.h:1381
static size_t szHead()
Definition: ModbusTypes.h:1037
bool isFull() const
Definition: ModbusTypes.h:1133
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1563
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1865
bool checkFormat()
Definition: ModbusTypes.cc:2090
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1048
Definition: ModbusTypes.h:272
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1391
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1929
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:2138
Definition: ModbusTypes.h:1555
Definition: ModbusTypes.h:1098
ModbusByte devID
Definition: ModbusTypes.h:1227
size_t szData() const
Definition: ModbusTypes.cc:2887
size_t szData() const
Definition: ModbusTypes.cc:1480
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3539
Definition: ModbusTypes.h:1168
ModbusByte min
Definition: ModbusTypes.h:1382
ModbusByte objNum
Definition: ModbusTypes.h:1231
size_t count
Definition: ModbusTypes.h:607
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:1527
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1014
bool addData(ModbusByte id, const std::string &value)
Definition: ModbusTypes.cc:2660
ModbusData numpacks
Definition: ModbusTypes.h:1592
Definition: ModbusTypes.h:1583
size_t dlen
Definition: ModbusTypes.h:236
ModbusData num
Definition: ModbusTypes.h:1294
Definition: ModbusTypes.h:968
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:2101
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2840
size_t szData() const
Definition: ModbusTypes.cc:1094
static size_t szHead()
Definition: ModbusTypes.h:1246
bool addData(ModbusData d)
Definition: ModbusTypes.cc:2327
Definition: ModbusTypes.h:1156
Definition: ModbusTypes.h:1210
size_t szData() const
Definition: ModbusTypes.cc:3221
ModbusByte conformity
Definition: ModbusTypes.h:1228
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2167
ModbusData reglen
Definition: ModbusTypes.h:1516
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:655
size_t szData() const
Definition: ModbusTypes.cc:683
bool isFull() const
Definition: ModbusTypes.h:1490
size_t szData() const
Definition: ModbusTypes.cc:2716
ModbusByte mf
Definition: ModbusTypes.h:1229
static size_t szData()
Definition: ModbusTypes.h:1196
ModbusByte type
Definition: ModbusTypes.h:1171
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:2299
ModbusByte century
Definition: ModbusTypes.h:1387
bool cmd()
Definition: ModbusTypes.h:925
ModbusData cmd
Definition: ModbusTypes.h:1293
bool checkFormat() const
Definition: ModbusTypes.cc:1723
size_t count
Definition: ModbusTypes.h:1504
ModbusData numfile
Definition: ModbusTypes.h:1558
Definition: ModbusTypes.h:356
static size_t szData()
Definition: ModbusTypes.h:1002
static size_t szHead()
Definition: ModbusTypes.h:946
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:3372
static size_t szHead()
Definition: ModbusTypes.h:857
void clear()
Definition: ModbusTypes.cc:2673
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:1961
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3096
Definition: ModbusTypes.h:1223
size_t count
Definition: ModbusTypes.h:1355
ModbusByte objID
Definition: ModbusTypes.h:1230
static size_t szData()
Definition: ModbusTypes.h:544
void set(ModbusData start, ModbusData quant)
Definition: ModbusTypes.cc:1816
void set(ModbusData start, ModbusData quant)
Definition: ModbusTypes.cc:1557
ModbusByte bcnt
Definition: ModbusTypes.h:710
bool setData(ModbusByte *b, int len)
Definition: ModbusTypes.cc:3253
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:388
static size_t szHead()
Definition: ModbusTypes.h:1190
ModbusData quant
Definition: ModbusTypes.h:709
bool checkFormat() const
Definition: ModbusTypes.cc:3328
Definition: ModbusTypes.h:705
size_t count
Definition: ModbusTypes.h:1548
ModbusByte devID
Definition: ModbusTypes.h:1172
static size_t szData()
Definition: ModbusTypes.h:1404
ModbusData start
Definition: ModbusTypes.h:708
static size_t szData()
Definition: ModbusTypes.h:907
Definition: ModbusTypes.h:1290
bool addData(DataBits d)
Definition: ModbusTypes.cc:629
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1989
Definition: ModbusTypes.h:1364
Definition: ModbusTypes.h:1511
static size_t szData()
Definition: ModbusTypes.h:1572
size_t szData() const
Definition: ModbusTypes.cc:1729
Definition: ModbusTypes.h:555
bool addData(DataBits d)
Definition: ModbusTypes.cc:1334
static size_t szData()
Definition: ModbusTypes.h:813
static size_t szData()
Definition: ModbusTypes.h:1302
size_t szData() const
Definition: ModbusTypes.cc:2096
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:3226
bool isFull() const
Definition: ModbusTypes.h:1268
static size_t szData()
Definition: ModbusTypes.h:343
Definition: ModbusTypes.h:243
Definition: ModbusTypes.h:190
ModbusByte objID
Definition: ModbusTypes.h:1173
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1734
ModbusByte type
Definition: ModbusTypes.h:1226
ModbusByte sec
Definition: ModbusTypes.h:1383
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:343
void set(ModbusData start, bool cmd)
Definition: ModbusTypes.cc:1982
ModbusData packet
Definition: ModbusTypes.h:1593
static size_t szHead()
Definition: ModbusTypes.h:1111
void set(ModbusData start, ModbusData data)
Definition: ModbusTypes.cc:2160
Definition: ModbusTypes.h:298
ModbusByte data[MAXLENPACKET-sizeof(ModbusData)*2-sizeof(ModbusByte)]
Definition: ModbusTypes.h:712
ModbusByte data[MAXLENPACKET+szCRC]
Definition: ModbusTypes.h:233
void clear()
Definition: ModbusTypes.cc:2336
Definition: ModbusTypes.h:526
bool set(ModbusData numfile, ModbusData file_num_packets, ModbusData packet, ModbusByte *b, ModbusByte len)
Definition: ModbusTypes.cc:3504
Definition: ModbusTypes.h:1378
static size_t szData()
Definition: ModbusTypes.h:1088
Definition: ModbusTypes.h:917
bool isFull() const
Definition: ModbusTypes.h:409
Definition: ModbusTypes.h:1416
Definition: ModbusTypes.h:1508
bool getData(unsigned char dnum, DataBits &d)
Definition: ModbusTypes.cc:1372
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2679
static size_t szHead()
Definition: ModbusTypes.h:1456
Definition: ModbusTypes.h:1313
bool cmd() const
Definition: ModbusTypes.h:976
bool setBit(unsigned char dnum, unsigned char bnum, bool state)
Definition: ModbusTypes.cc:616
ModbusByte mon
Definition: ModbusTypes.h:1385
ModbusData numfile
Definition: ModbusTypes.h:1514