10 #include "ModbusRTUErrors.h"
28 typedef uint8_t ModbusByte;
29 const size_t BitsPerByte = 8;
30 typedef uint8_t ModbusAddr;
31 typedef uint16_t ModbusData;
32 const uint8_t BitsPerData = 16;
33 typedef uint16_t ModbusCRC;
37 enum SlaveFunctionCode
40 fnReadCoilStatus = 0x01,
41 fnReadInputStatus = 0x02,
42 fnReadOutputRegisters = 0x03,
43 fnReadInputRegisters = 0x04,
44 fnForceSingleCoil = 0x05,
45 fnWriteOutputSingleRegister = 0x06,
47 fnForceMultipleCoils = 0x0F,
48 fnWriteOutputRegisters = 0x10,
49 fnReadFileRecord = 0x14,
50 fnWriteFileRecord = 0x15,
53 fnRemoteService = 0x53,
54 fnJournalCommand = 0x65,
59 enum DiagnosticsSubFunction
67 dgClearCounters = 0x0A,
70 dgBusExceptCount = 0x0D,
71 dgMsgSlaveCount = 0x0E,
72 dgNoNoResponseCount = 0x0F,
73 dgSlaveNAKCount = 0x10,
74 dgSlaveBusyCount = 0x11,
75 dgBusCharOverrunCount = 0x12,
77 dgClearOverrunCounter = 0x14
90 RegID genRegID(
const ModbusRTU::ModbusData r,
const uint8_t fn );
94 ssize_t szRequestDiagnosticData( DiagnosticsSubFunction f );
100 rdiProductCode = 0x1,
101 rdiMajorMinorRevision = 0x2,
103 rdiProductName = 0x4,
105 rdiUserApplicationName = 0x6
111 enum RDIRequestDeviceID
114 rdevBasicDevice = 0x1,
115 rdevRegularDevice = 0x2,
116 rdevExtentedDevice = 0x3,
117 rdevSpecificDevice = 0x4,
121 std::string rdi2str(
int id );
137 const uint8_t MBErrMask = 0x80;
139 uint16_t SWAPSHORT( uint16_t x );
142 ModbusCRC checkCRC( ModbusByte* start,
size_t len );
143 const size_t szCRC =
sizeof(ModbusCRC);
146 std::ostream& mbPrintMessage(std::ostream& os, ModbusByte* b,
size_t len );
148 ModbusAddr str2mbAddr(
const std::string& val );
149 ModbusData str2mbData(
const std::string& val );
150 std::string dat2str(
const ModbusData dat );
151 std::string addr2str(
const ModbusAddr addr );
152 std::string b2str(
const ModbusByte b );
154 float dat2f(
const ModbusData dat1,
const ModbusData dat2 );
155 size_t numBytes(
const size_t nbits );
163 data =
new ModbusRTU::ModbusData[sz];
171 ModbusRTU::ModbusData* data;
175 bool isWriteFunction( SlaveFunctionCode c );
176 bool isReadFunction( SlaveFunctionCode c );
185 } __attribute__((packed));
189 std::ostream& operator<<(std::ostream& os,
const ModbusHeader& m );
190 std::ostream& operator<<(std::ostream& os,
const ModbusHeader* m );
194 ModbusRTU::ModbusData
tID;
195 ModbusRTU::ModbusData
pID;
196 ModbusRTU::ModbusData
len;
202 } __attribute__((packed));
204 std::ostream& operator<<(std::ostream& os,
const MBAPHeader& m );
219 inline ModbusByte func()
const
223 inline ModbusAddr addr()
const
227 inline ModbusRTU::ModbusData tID()
const
231 inline ModbusRTU::ModbusData pID()
const
235 inline ModbusRTU::ModbusData aduLen()
const
241 ModbusRTU::ModbusData len()
const;
243 void makeMBAPHeader( ModbusRTU::ModbusData tID,
bool noCRC =
true, ModbusRTU::ModbusData pID = 0 );
245 ModbusRTU::ModbusData pduLen()
const;
246 ModbusCRC pduCRC(
size_t len )
const;
247 static size_t maxSizeOfMessage();
253 ModbusByte
data[MAXLENPACKET + szCRC];
257 } __attribute__((packed));
259 std::ostream& operator<<(std::ostream& os,
const ModbusMessage& m );
260 std::ostream& operator<<(std::ostream& os,
const ModbusMessage* m );
266 ModbusByte ecode = { erNoError };
267 ModbusCRC crc = { 0 };
275 ErrorRetMessage( ModbusAddr _from, ModbusByte _func, ModbusByte ecode );
285 return sizeof(ModbusByte) + szCRC;
298 const DataBits& operator=(
const ModbusByte& r);
300 operator ModbusByte();
303 bool operator[](
const size_t i )
307 void set(
int n,
bool s )
312 std::bitset<BitsPerByte> b;
315 std::ostream& operator<<(std::ostream& os,
DataBits& m );
316 std::ostream& operator<<(std::ostream& os,
DataBits* m );
324 const DataBits16& operator=(
const ModbusData& r);
326 operator ModbusData();
327 ModbusData mdata()
const;
329 bool operator[](
const size_t i )
333 void set(
int n,
bool s )
338 std::bitset<BitsPerData> b;
341 std::ostream& operator<<(std::ostream& os,
DataBits16& m );
342 std::ostream& operator<<(std::ostream& os,
DataBits16* m );
348 ModbusData start = { 0 };
349 ModbusData count = { 0 };
350 ModbusCRC crc = { 0 };
365 return sizeof(ModbusData) * 2 + szCRC;
368 } __attribute__((packed));
392 return sizeof(ModbusByte);
397 ModbusCRC crc = { 0 };
415 bool setBit( uint8_t dnum, uint8_t bnum,
bool state );
431 return ( (
int)
bcnt >= MAXPDULEN );
448 ModbusData start = { 0 };
449 ModbusData count = { 0 };
450 ModbusCRC crc = { 0 };
467 return sizeof(ModbusData) * 2 + szCRC;
470 } __attribute__((packed));
492 return sizeof(ModbusByte);
497 ModbusCRC crc = { 0 };
515 bool setBit( uint8_t dnum, uint8_t bnum,
bool state );
531 return ( (
int)
bcnt >= MAXPDULEN );
549 ModbusData start = { 0 };
550 ModbusData count = { 0 };
551 ModbusCRC crc = { 0 };
566 return sizeof(ModbusData) * 2 + szCRC;
569 } __attribute__((packed));
579 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
591 return sizeof(ModbusByte);
596 ModbusCRC crc = { 0 };
613 return (
count *
sizeof(ModbusData) >= MAXLENPACKET );
637 ModbusData start = { 0 };
638 ModbusData count = { 0 };
639 ModbusCRC crc = { 0 };
654 return sizeof(ModbusData) * 2 + szCRC;
657 } __attribute__((packed));
668 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
680 return sizeof(ModbusByte);
685 ModbusCRC crc = { 0 };
702 return (
count *
sizeof(ModbusData) >= MAXLENPACKET );
732 ModbusByte
data[MAXLENPACKET -
sizeof(ModbusData) * 2 -
sizeof(ModbusByte)];
748 int addBit(
bool state );
750 bool setBit( uint8_t nbit,
bool state );
752 inline size_t last()
const
766 inline bool isFull()
const
768 return ( (
int)
bcnt >= MAXPDULEN );
772 ForceCoilsMessage(
const ModbusMessage& m );
773 ForceCoilsMessage& operator=(
const ModbusMessage& m );
774 void init(
const ModbusMessage& m );
785 return sizeof(ModbusData) * 2 +
sizeof(ModbusByte);
796 } __attribute__((packed));
807 ModbusCRC crc = { 0 };
833 return sizeof(ModbusData) * 2 +
sizeof(ModbusCRC);
849 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData) -
sizeof(ModbusData) * 2 -
sizeof(ModbusByte)];
857 bool addData( ModbusData d );
859 inline bool isFull()
const
861 return (
quant >= MAXDATALEN );
878 return sizeof(ModbusData) * 2 +
sizeof(ModbusByte);
889 } __attribute__((packed));
906 ModbusCRC crc = { 0 };
927 return sizeof(ModbusData) * 2 +
sizeof(ModbusCRC);
945 return (
data & 0xFF00);
966 return sizeof(ModbusData);
978 } __attribute__((packed));
991 ModbusCRC crc = { 0 };
996 return (
data & 0xFF00);
1022 return 2 *
sizeof(ModbusData) +
sizeof(ModbusCRC);
1057 return sizeof(ModbusData);
1069 } __attribute__((packed));
1082 ModbusCRC crc = { 0 };
1108 return 2 *
sizeof(ModbusData) +
sizeof(ModbusCRC);
1119 ModbusData subf = { 0 };
1120 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
1131 return sizeof(ModbusData);
1136 ModbusCRC crc = { 0 };
1139 DiagnosticMessage( ModbusAddr _from, DiagnosticsSubFunction subf, ModbusData d = 0 );
1154 return ( 1 +
count >= MAXDATALEN );
1210 return sizeof(ModbusByte) * 3;
1216 return sizeof(ModbusByte) * 3 + szCRC;
1220 bool checkFormat()
const;
1222 } __attribute__((packed));
1224 std::ostream& operator<<(std::ostream& os,
MEIMessageRDI& m );
1225 std::ostream& operator<<(std::ostream& os,
MEIMessageRDI* m );
1231 RDIObjectInfo( ModbusByte
id,
const std::string& v ): id(
id), val(v) {}
1232 RDIObjectInfo( ModbusByte
id,
const ModbusByte* dat, ModbusByte len );
1238 using RDIObjectList = std::list<RDIObjectInfo>;
1251 RDIObjectList dlist;
1252 ModbusCRC crc = { 0 };
1266 return sizeof(ModbusByte) * 6;
1279 bool addData( ModbusByte
id,
const std::string& value );
1288 return ( bcnt >= MAXPDULEN );
1297 size_t bcnt = { 0 };
1300 std::ostream& operator<<(std::ostream& os, MEIMessageRetRDI& m );
1301 std::ostream& operator<<(std::ostream& os, MEIMessageRetRDI* m );
1302 std::ostream& operator<<(std::ostream& os, RDIObjectList& dl );
1303 std::ostream& operator<<(std::ostream& os, RDIObjectList* dl );
1313 ModbusCRC crc = { 0 };
1322 return sizeof(ModbusByte) * 4 + szCRC;
1325 } __attribute__((packed));
1340 ModbusData
data[MAXLENPACKET /
sizeof(ModbusData)];
1351 bool setData( ModbusByte* b,
int len );
1359 return (
count >= MAXDATALEN );
1387 void set( ModbusData cmd, ModbusData ecode );
1407 ModbusCRC crc = { 0 };
1419 bool checkFormat()
const;
1424 return sizeof(ModbusByte) * 7 + szCRC;
1427 } __attribute__((packed));
1460 ModbusByte
data[MAXLENPACKET -
sizeof(ModbusByte)];
1476 return sizeof(ModbusByte);
1482 } __attribute__((packed));
1492 ModbusByte
data[MAXLENPACKET -
sizeof(ModbusByte)];
1502 bool setData( ModbusByte* b,
int len );
1535 } __attribute__((packed));
1556 return sizeof(ModbusByte);
1592 return sizeof(ModbusData) * 2 + szCRC;
1595 } __attribute__((packed));
1606 static const size_t MaxDataLen = MAXLENPACKET -
sizeof(ModbusData) * 3 -
sizeof(ModbusByte) * 2;
1613 ModbusByte data[MaxDataLen];
1620 ModbusCRC crc = { 0 };
1621 static size_t szHead()
1623 return sizeof(ModbusByte);
1633 bool set( ModbusData
numfile, ModbusData file_num_packets, ModbusData
packet, ModbusByte* b, ModbusByte len );
1645 std::ostream& operator<<(std::ostream& os, FileTransferRetMessage& m );
1646 std::ostream& operator<<(std::ostream& os, FileTransferRetMessage* m );
1652 #endif // ModbusTypes_H_
ModbusCRC crc
Definition: ModbusTypes.h:733
Definition: ModbusTypes.h:842
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1944
Definition: ModbusTypes.h:1601
ModbusByte bcnt
Definition: ModbusTypes.h:1490
size_t szData() const
Definition: ModbusTypes.cc:1744
Definition: ModbusTypes.h:345
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:3248
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:2116
ModbusByte data[MAXLENPACKET - sizeof(ModbusData) *2 - sizeof(ModbusByte)]
Definition: ModbusTypes.h:732
ModbusByte day
Definition: ModbusTypes.h:1402
static size_t szHead()
Definition: ModbusTypes.h:1474
static size_t szHead()
Definition: ModbusTypes.h:588
ModbusData start
Definition: ModbusTypes.h:899
ModbusByte min
Definition: ModbusTypes.h:1400
size_t count
Definition: ModbusTypes.h:1522
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:1542
bool set(ModbusData numfile, ModbusData file_num_packets, ModbusData packet, ModbusByte *b, ModbusByte len)
Definition: ModbusTypes.cc:3526
static size_t szHead()
Definition: ModbusTypes.h:1554
Definition: ModbusTypes.h:1396
ModbusByte mon
Definition: ModbusTypes.h:1403
Definition: ModbusTypes.h:1228
Definition: ModbusTypes.h:263
size_t count
Definition: ModbusTypes.h:1168
ModbusData numfile
Definition: ModbusTypes.h:1576
bool addData(DataBits d)
Definition: ModbusTypes.cc:640
ModbusByte bcnt
Definition: ModbusTypes.h:379
size_t szData() const
Definition: ModbusTypes.cc:2731
ModbusCRC crc
Definition: ModbusTypes.h:1578
bool setData(ModbusByte *b, int len)
Definition: ModbusTypes.cc:2825
ModbusData numfile
Definition: ModbusTypes.h:1609
bool addData(ModbusData d)
Definition: ModbusTypes.cc:1046
ModbusData start
Definition: ModbusTypes.h:728
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2357
ModbusByte year
Definition: ModbusTypes.h:1404
ModbusData reglen
Definition: ModbusTypes.h:1534
void clear()
Definition: ModbusTypes.cc:2688
ModbusByte data[MAXLENPACKET - sizeof(ModbusByte)]
Definition: ModbusTypes.h:1460
Definition: ModbusTypes.h:575
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3306
size_t count
Definition: ModbusTypes.h:1373
ModbusData quant
Definition: ModbusTypes.h:806
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition: ModbusTypes.h:579
Definition: ModbusTypes.h:1434
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1837
void clear()
Definition: ModbusTypes.cc:2351
ModbusCRC crc
Definition: ModbusTypes.h:940
size_t szData() const
Definition: ModbusTypes.cc:3388
ModbusByte bcnt
Definition: ModbusTypes.h:578
Definition: ModbusTypes.h:1487
size_t szData() const
Definition: ModbusTypes.cc:2400
ModbusByte type
Definition: ModbusTypes.h:1189
size_t count
Definition: ModbusTypes.h:627
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2855
size_t szData() const
Definition: ModbusTypes.cc:2902
bool addData(ModbusByte id, const std::string &value)
Definition: ModbusTypes.cc:2675
size_t szData() const
Definition: ModbusTypes.cc:2111
bool checkFormat() const
Definition: ModbusTypes.cc:3350
Definition: ModbusTypes.h:1308
ModbusByte data[MAXLENPACKET]
Definition: ModbusTypes.h:380
Definition: ModbusTypes.h:1529
static int szHead()
Definition: ModbusTypes.h:390
Definition: CommonEventLoop.h:14
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3561
bool setBit(uint8_t dnum, uint8_t bnum, bool state)
Definition: ModbusTypes.cc:627
bool getData(uint8_t bnum, DataBits &d) const
Definition: ModbusTypes.cc:649
ModbusData data
Definition: ModbusTypes.h:1081
Definition: ModbusTypes.h:896
ModbusData data
Definition: ModbusTypes.h:990
bool isFull() const
Definition: ModbusTypes.h:429
ModbusData data[MAXLENPACKET/sizeof(ModbusData) - sizeof(ModbusData) *2 - sizeof(ModbusByte)]
Definition: ModbusTypes.h:849
Definition: ModbusTypes.h:1241
ModbusData cmd
Definition: ModbusTypes.h:1311
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1029
bool addData(ModbusData d)
Definition: ModbusTypes.cc:2342
static size_t szData()
Definition: ModbusTypes.h:831
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1578
ModbusByte objNum
Definition: ModbusTypes.h:1249
Definition: ModbusTypes.h:1031
ModbusData num
Definition: ModbusTypes.h:1312
ModbusByte bcnt
Definition: ModbusTypes.h:1608
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3420
static size_t szData()
Definition: ModbusTypes.h:283
Definition: ModbusTypes.h:1077
ModbusData numfile
Definition: ModbusTypes.h:1532
ModbusData numpacket
Definition: ModbusTypes.h:1577
ModbusByte hour
Definition: ModbusTypes.h:1399
ModbusData quant
Definition: ModbusTypes.h:846
Definition: ModbusTypes.h:292
void set(ModbusData start, ModbusData quant)
Definition: ModbusTypes.cc:1572
static size_t szData()
Definition: ModbusTypes.h:1020
static size_t szData()
Definition: ModbusTypes.h:1106
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2182
ModbusByte conformity
Definition: ModbusTypes.h:1246
Definition: ModbusTypes.h:1382
ModbusData start
Definition: ModbusTypes.h:989
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1063
bool addData(DataBits d)
Definition: ModbusTypes.cc:1349
bool isFull() const
Definition: ModbusTypes.h:1151
Definition: ModbusTypes.h:1174
ModbusData quant
Definition: ModbusTypes.h:900
bool isFull() const
Definition: ModbusTypes.h:1508
size_t szData() const
Definition: ModbusTypes.cc:3555
ModbusData data
Definition: ModbusTypes.h:1035
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:2153
Definition: ModbusTypes.h:1331
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1500
bool checkFormat() const
Definition: ModbusTypes.cc:1490
Definition: ModbusTypes.h:1116
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition: ModbusTypes.h:1340
void set(ModbusData start, ModbusData quant)
Definition: ModbusTypes.cc:1831
bool cmd()
Definition: ModbusTypes.h:943
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1406
ModbusByte objID
Definition: ModbusTypes.h:1191
static size_t szHead()
Definition: ModbusTypes.h:1208
ModbusByte bcnt
Definition: ModbusTypes.h:847
Definition: ModbusTypes.h:318
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition: ModbusTypes.h:1120
size_t szData() const
Definition: ModbusTypes.cc:1109
size_t szData() const
Definition: ModbusTypes.cc:1495
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:1976
ModbusByte data[MAXLENPACKET+szCRC]
Definition: ModbusTypes.h:253
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2004
Definition: ModbusTypes.h:802
ModbusData quant
Definition: ModbusTypes.h:729
static size_t szHead()
Definition: ModbusTypes.h:964
static size_t szData()
Definition: ModbusTypes.h:1320
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3118
bool checkFormat() const
Definition: ModbusTypes.cc:1934
void clear()
Definition: ModbusTypes.cc:660
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:611
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2694
void clear()
Definition: ModbusTypes.cc:3541
Definition: ModbusTypes.h:210
bool isFull() const
Definition: ModbusTypes.h:611
ModbusData packet
Definition: ModbusTypes.h:1611
static size_t szHead()
Definition: ModbusTypes.h:1264
static size_t szData()
Definition: ModbusTypes.h:1590
bool getData(uint8_t dnum, DataBits &d)
Definition: ModbusTypes.cc:1387
Definition: ModbusTypes.h:986
static size_t szData()
Definition: ModbusTypes.h:1422
bool cmd() const
Definition: ModbusTypes.h:994
bool checkFormat() const
Definition: ModbusTypes.cc:1738
ModbusData numrec
Definition: ModbusTypes.h:1533
void clear()
Definition: ModbusTypes.cc:2848
ModbusByte devID
Definition: ModbusTypes.h:1245
size_t count
Definition: ModbusTypes.h:1566
ModbusByte century
Definition: ModbusTypes.h:1405
Definition: ModbusTypes.h:546
ModbusData start
Definition: ModbusTypes.h:1080
ModbusCRC crc
Definition: ModbusTypes.h:1461
Definition: ModbusTypes.h:1454
ModbusByte dlen
Definition: ModbusTypes.h:1612
ModbusByte sec
Definition: ModbusTypes.h:1401
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:2314
static size_t szHead()
Definition: ModbusTypes.h:1129
ModbusCRC crc
Definition: ModbusTypes.h:850
static size_t szData()
Definition: ModbusTypes.h:1214
Definition: ModbusTypes.h:1573
ModbusByte bcnt
Definition: ModbusTypes.h:730
static size_t szData()
Definition: ModbusTypes.h:564
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2051
static size_t szHead()
Definition: ModbusTypes.h:1055
static size_t szHead()
Definition: ModbusTypes.h:875
ModbusData start
Definition: ModbusTypes.h:1034
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:3394
ModbusCRC crc
Definition: ModbusTypes.h:1193
Definition: ModbusTypes.h:725
bool isFull() const
Definition: ModbusTypes.h:1357
ModbusCRC crc
Definition: ModbusTypes.h:1541
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1749
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:387
size_t szData() const
Definition: ModbusTypes.cc:3243
void set(ModbusData start, ModbusData data)
Definition: ModbusTypes.cc:2175
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1641
Definition: ModbusTypes.h:935
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:923
bool setData(ModbusByte *b, int len)
Definition: ModbusTypes.cc:3275
ModbusByte objID
Definition: ModbusTypes.h:1248
ModbusData start
Definition: ModbusTypes.h:845
ModbusByte mf
Definition: ModbusTypes.h:1247
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3191
Definition: ModbusTypes.h:158
static size_t szHead()
Definition: ModbusTypes.h:782
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:342
bool isFull() const
Definition: ModbusTypes.h:1286
ModbusByte data[MAXLENPACKET - sizeof(ModbusByte)]
Definition: ModbusTypes.h:1492
static size_t szData()
Definition: ModbusTypes.h:363
ModbusCRC crc
Definition: ModbusTypes.h:1036
size_t szData() const
Definition: ModbusTypes.cc:1939
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1880
void set(ModbusData start, bool cmd)
Definition: ModbusTypes.cc:1997
ModbusData data
Definition: ModbusTypes.h:939
bool checkFormat()
Definition: ModbusTypes.cc:2105
ModbusByte bcnt
Definition: ModbusTypes.h:1537
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:1801
ModbusData start
Definition: ModbusTypes.h:805
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:666
ModbusByte bcnt
Definition: ModbusTypes.h:1334
ModbusByte reftype
Definition: ModbusTypes.h:1531
ModbusByte type
Definition: ModbusTypes.h:1244
void clear()
Definition: ModbusTypes.cc:1056
size_t szData() const
Definition: ModbusTypes.cc:3300
ModbusData start
Definition: ModbusTypes.h:938
ModbusByte devID
Definition: ModbusTypes.h:1190
size_t szData() const
Definition: ModbusTypes.cc:694
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2472
Definition: ModbusTypes.h:1526
static size_t szData()
Definition: ModbusTypes.h:925
ModbusData numpacks
Definition: ModbusTypes.h:1610
SubRequest data[MAXLENPACKET/sizeof(SubRequest) - sizeof(ModbusByte)]
Definition: ModbusTypes.h:1540
Definition: ModbusTypes.h:376
size_t dlen
Definition: ModbusTypes.h:256
void clear()
Definition: ModbusTypes.cc:3293
Definition: ModbusTypes.h:1186
ModbusByte bcnt
Definition: ModbusTypes.h:1457