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_ bool checkFormat() const
Definition: ModbusTypes.cc:1490
size_t szData() const
Definition: ModbusTypes.cc:2731
static size_t szHead()
Definition: ModbusTypes.h:588
ModbusByte data[MAXLENPACKET]
Definition: ModbusTypes.h:380
Definition: ModbusTypes.h:1454
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2357
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1500
size_t szData() const
Definition: ModbusTypes.cc:2400
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1641
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition: ModbusTypes.h:579
ModbusData start
Definition: ModbusTypes.h:845
size_t szData() const
Definition: ModbusTypes.cc:1744
Definition: ModbusTypes.h:1031
bool checkFormat() const
Definition: ModbusTypes.cc:3350
ModbusData numpacket
Definition: ModbusTypes.h:1577
bool checkFormat() const
Definition: ModbusTypes.cc:1934
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1837
ModbusByte reftype
Definition: ModbusTypes.h:1531
static int szHead()
Definition: ModbusTypes.h:390
Definition: CommonEventLoop.h:14
bool addData(ModbusData d)
Definition: ModbusTypes.cc:1046
void clear()
Definition: ModbusTypes.cc:1056
void clear()
Definition: ModbusTypes.cc:3541
ModbusData numfile
Definition: ModbusTypes.h:1609
Definition: ModbusTypes.h:1077
ModbusByte dlen
Definition: ModbusTypes.h:1612
ModbusByte day
Definition: ModbusTypes.h:1402
SubRequest data[MAXLENPACKET/sizeof(SubRequest) - sizeof(ModbusByte)]
Definition: ModbusTypes.h:1540
ModbusCRC crc
Definition: ModbusTypes.h:1578
Definition: ModbusTypes.h:842
ModbusData numrec
Definition: ModbusTypes.h:1533
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:923
Definition: ModbusTypes.h:1487
void clear()
Definition: ModbusTypes.cc:2848
ModbusCRC crc
Definition: ModbusTypes.h:850
ModbusByte bcnt
Definition: ModbusTypes.h:379
ModbusCRC crc
Definition: ModbusTypes.h:733
ModbusData data
Definition: ModbusTypes.h:1035
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:1801
size_t szData() const
Definition: ModbusTypes.cc:3300
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3306
size_t szData() const
Definition: ModbusTypes.cc:3388
Definition: ModbusTypes.h:345
size_t szData() const
Definition: ModbusTypes.cc:3243
void clear()
Definition: ModbusTypes.cc:3293
static size_t szHead()
Definition: ModbusTypes.h:1554
ModbusByte year
Definition: ModbusTypes.h:1404
bool setData(ModbusByte *b, int len)
Definition: ModbusTypes.cc:2825
ModbusByte bcnt
Definition: ModbusTypes.h:578
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3191
Definition: ModbusTypes.h:802
bool isFull() const
Definition: ModbusTypes.h:1286
ModbusData start
Definition: ModbusTypes.h:938
size_t szData() const
Definition: ModbusTypes.cc:3555
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:611
static size_t szData()
Definition: ModbusTypes.h:283
bool isFull() const
Definition: ModbusTypes.h:1508
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2051
ModbusData quant
Definition: ModbusTypes.h:806
ModbusByte bcnt
Definition: ModbusTypes.h:1608
size_t count
Definition: ModbusTypes.h:1168
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2472
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3420
Definition: ModbusTypes.h:896
void clear()
Definition: ModbusTypes.cc:660
static size_t szHead()
Definition: ModbusTypes.h:782
ModbusByte hour
Definition: ModbusTypes.h:1399
static size_t szHead()
Definition: ModbusTypes.h:1055
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1578
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1880
bool checkFormat()
Definition: ModbusTypes.cc:2105
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1063
Definition: ModbusTypes.h:292
size_t szData() const
Definition: ModbusTypes.cc:694
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:1406
ModbusData start
Definition: ModbusTypes.h:899
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1944
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:2153
Definition: ModbusTypes.h:1573
Definition: ModbusTypes.h:1116
ModbusByte devID
Definition: ModbusTypes.h:1245
ModbusCRC crc
Definition: ModbusTypes.h:1541
ModbusCRC crc
Definition: ModbusTypes.h:1036
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3561
Definition: ModbusTypes.h:1186
ModbusByte min
Definition: ModbusTypes.h:1400
ModbusByte objNum
Definition: ModbusTypes.h:1249
size_t count
Definition: ModbusTypes.h:627
ModbusData start
Definition: ModbusTypes.h:1080
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:1542
ModbusData data
Definition: ModbusTypes.h:1081
size_t szData() const
Definition: ModbusTypes.cc:1939
ModbusByte bcnt
Definition: ModbusTypes.h:1537
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1029
bool addData(ModbusByte id, const std::string &value)
Definition: ModbusTypes.cc:2675
ModbusData numpacks
Definition: ModbusTypes.h:1610
size_t szData() const
Definition: ModbusTypes.cc:1109
ModbusData start
Definition: ModbusTypes.h:989
Definition: ModbusTypes.h:1601
ModbusData data
Definition: ModbusTypes.h:990
size_t dlen
Definition: ModbusTypes.h:256
ModbusData num
Definition: ModbusTypes.h:1312
Definition: ModbusTypes.h:986
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:2116
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2855
static size_t szHead()
Definition: ModbusTypes.h:1264
ModbusData data
Definition: ModbusTypes.h:939
bool addData(ModbusData d)
Definition: ModbusTypes.cc:2342
Definition: ModbusTypes.h:1174
Definition: ModbusTypes.h:1228
ModbusByte conformity
Definition: ModbusTypes.h:1246
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2182
ModbusData reglen
Definition: ModbusTypes.h:1534
ModbusData start
Definition: ModbusTypes.h:1034
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:666
ModbusByte mf
Definition: ModbusTypes.h:1247
static size_t szData()
Definition: ModbusTypes.h:1214
ModbusByte type
Definition: ModbusTypes.h:1189
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:2314
ModbusByte century
Definition: ModbusTypes.h:1405
bool cmd()
Definition: ModbusTypes.h:943
ModbusData cmd
Definition: ModbusTypes.h:1311
size_t count
Definition: ModbusTypes.h:1522
bool isFull() const
Definition: ModbusTypes.h:1357
ModbusData numfile
Definition: ModbusTypes.h:1576
Definition: ModbusTypes.h:376
static size_t szData()
Definition: ModbusTypes.h:1020
static size_t szHead()
Definition: ModbusTypes.h:964
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:3394
static size_t szHead()
Definition: ModbusTypes.h:875
void clear()
Definition: ModbusTypes.cc:2688
ModbusData start
Definition: ModbusTypes.h:805
void init(const ModbusMessage &m)
Definition: ModbusTypes.cc:1976
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:3118
Definition: ModbusTypes.h:1241
Definition: ModbusTypes.h:158
size_t count
Definition: ModbusTypes.h:1373
ModbusByte objID
Definition: ModbusTypes.h:1248
size_t szData() const
Definition: ModbusTypes.cc:1495
static size_t szData()
Definition: ModbusTypes.h:564
void set(ModbusData start, ModbusData quant)
Definition: ModbusTypes.cc:1831
void set(ModbusData start, ModbusData quant)
Definition: ModbusTypes.cc:1572
ModbusByte bcnt
Definition: ModbusTypes.h:1490
ModbusByte bcnt
Definition: ModbusTypes.h:730
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition: ModbusTypes.h:1340
bool setData(ModbusByte *b, int len)
Definition: ModbusTypes.cc:3275
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:387
ModbusByte data[MAXLENPACKET - sizeof(ModbusByte)]
Definition: ModbusTypes.h:1460
ModbusCRC crc
Definition: ModbusTypes.h:1193
static size_t szHead()
Definition: ModbusTypes.h:1208
ModbusData quant
Definition: ModbusTypes.h:729
Definition: ModbusTypes.h:725
ModbusData quant
Definition: ModbusTypes.h:900
size_t count
Definition: ModbusTypes.h:1566
ModbusByte devID
Definition: ModbusTypes.h:1190
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
static size_t szData()
Definition: ModbusTypes.h:1422
ModbusData start
Definition: ModbusTypes.h:728
static size_t szData()
Definition: ModbusTypes.h:925
Definition: ModbusTypes.h:1308
bool addData(DataBits d)
Definition: ModbusTypes.cc:640
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2004
Definition: ModbusTypes.h:1382
Definition: ModbusTypes.h:1529
static size_t szData()
Definition: ModbusTypes.h:1590
Definition: ModbusTypes.h:575
bool addData(DataBits d)
Definition: ModbusTypes.cc:1349
ModbusData data[MAXLENPACKET/sizeof(ModbusData) - sizeof(ModbusData) *2 - sizeof(ModbusByte)]
Definition: ModbusTypes.h:849
static size_t szData()
Definition: ModbusTypes.h:831
static size_t szData()
Definition: ModbusTypes.h:1320
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:3248
bool isFull() const
Definition: ModbusTypes.h:1151
static size_t szData()
Definition: ModbusTypes.h:363
Definition: ModbusTypes.h:263
Definition: ModbusTypes.h:210
ModbusByte objID
Definition: ModbusTypes.h:1191
bool cmd() const
Definition: ModbusTypes.h:994
size_t szData() const
Definition: ModbusTypes.cc:2111
static size_t getDataLen(const ModbusMessage &m)
Definition: ModbusTypes.cc:1749
ModbusByte type
Definition: ModbusTypes.h:1244
ModbusByte sec
Definition: ModbusTypes.h:1401
size_t szData() const
Definition: ModbusTypes.cc:2902
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:342
void set(ModbusData start, bool cmd)
Definition: ModbusTypes.cc:1997
ModbusData packet
Definition: ModbusTypes.h:1611
ModbusByte bcnt
Definition: ModbusTypes.h:1457
static size_t szHead()
Definition: ModbusTypes.h:1129
ModbusByte bcnt
Definition: ModbusTypes.h:1334
ModbusData data[MAXLENPACKET/sizeof(ModbusData)]
Definition: ModbusTypes.h:1120
void set(ModbusData start, ModbusData data)
Definition: ModbusTypes.cc:2175
ModbusByte data[MAXLENPACKET - sizeof(ModbusByte)]
Definition: ModbusTypes.h:1492
Definition: ModbusTypes.h:318
bool isFull() const
Definition: ModbusTypes.h:611
ModbusByte data[MAXLENPACKET+szCRC]
Definition: ModbusTypes.h:253
void clear()
Definition: ModbusTypes.cc:2351
Definition: ModbusTypes.h:546
bool getData(uint8_t dnum, DataBits &d)
Definition: ModbusTypes.cc:1387
bool set(ModbusData numfile, ModbusData file_num_packets, ModbusData packet, ModbusByte *b, ModbusByte len)
Definition: ModbusTypes.cc:3526
Definition: ModbusTypes.h:1396
ModbusCRC crc
Definition: ModbusTypes.h:1461
static size_t szData()
Definition: ModbusTypes.h:1106
Definition: ModbusTypes.h:935
Definition: ModbusTypes.h:1434
ModbusData quant
Definition: ModbusTypes.h:846
ModbusCRC crc
Definition: ModbusTypes.h:940
bool isFull() const
Definition: ModbusTypes.h:429
Definition: ModbusTypes.h:1526
bool checkFormat() const
Definition: ModbusTypes.cc:1738
ModbusByte bcnt
Definition: ModbusTypes.h:847
ModbusMessage transport_msg()
Definition: ModbusTypes.cc:2694
ModbusByte data[MAXLENPACKET - sizeof(ModbusData) *2 - sizeof(ModbusByte)]
Definition: ModbusTypes.h:732
static size_t szHead()
Definition: ModbusTypes.h:1474
Definition: ModbusTypes.h:1331
ModbusByte mon
Definition: ModbusTypes.h:1403
ModbusData numfile
Definition: ModbusTypes.h:1532