Using an array instead of a message structure - intrepidcs API

In some programming environments (such as LabVIEW) it maybe inconvenient for you to access the message with a structure. In these cases you may use a byte array in place of the structure. Table 1 below lists the locations of message items in the byte array for a 64 bit version of the structure.  The message structure is 8 byte aligned.  Padding bytes are marked in black.

Table 1 - Position of Message Elements in the Byte Array

Byte# Block# Struct element Type
00 StatusBitFieldInt32
10
2 0
30
4 0 StatusBitField2 Int32
50
60
70
81 TimeHardwareUInt32
91
101
111
121 TimeHardware2UInt32
131
141
151
162 TimeSystemUInt32
172
182
192
202 TimeSystem2UInt32
212
222
232
243 TimeStampHardwareIDByte
253 TimeStampSystemIDByte
263 NetworkIDByte
273 NodeIDByte
283 ProtocolByte
293 MessagePieceIDByte
303 ExtraDataPtrEnabledByte
313 NumberBytesHeaderByte
324 NumberBytesDataByte
33 4 PADDING
344 DescriptionIDInt16
354
364 ArbIDOrHeaderInt32
374
384
394
405 Data1Byte
415 Data2Byte
425 Data3Byte
435 Data4Byte
445 Data5Byte
455 Data6Byte
465 Data7Byte
475 Data8Byte
486 StatusBitField3Int32
496
506
516
526 StatusBitField4Int32
536
546
556
567 iExtraDataPtrVoid *
577  
587
597
607
617
627
637
648 MiscDataByte
65 8 PADDING
66 8 PADDING
67 8 PADDING
68 8 PADDING
69 8 PADDING
70 8 PADDING
71 8 PADDING

IntrepidCS API Documentation - (C) Copyright 2000-2022 Intrepid Control Systems, Inc.  (www.intrepidcs.com)

Last Updated : Friday, April 24, 2020