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 |
0 |
0 |
StatusBitField |
Int32 |
1 |
0 |
||
2 |
0 |
||
3 |
0 |
||
4 |
0 |
StatusBitField2 |
Int32 |
5 |
0 |
||
6 |
0 |
||
7 |
0 |
||
8 |
1 |
TimeHardware |
UInt32 |
9 |
1 |
||
10 |
1 |
||
11 |
1 |
||
12 |
1 |
TimeHardware2 |
UInt32 |
13 |
1 |
||
14 |
1 |
||
15 |
1 |
||
16 |
2 |
TimeSystem |
UInt32 |
17 |
2 |
||
18 |
2 |
||
19 |
2 |
||
20 |
2 |
TimeSystem2 |
UInt32 |
21 |
2 |
||
22 |
2 |
||
23 |
2 |
||
24 |
3 |
TimeStampHardwareID |
Byte |
25 |
3 |
TimeStampSystemID |
Byte |
26 |
3 |
NetworkID |
Byte |
27 |
3 |
NodeID |
Byte |
28 |
3 |
Protocol |
Byte |
29 |
3 |
MessagePieceID |
Byte |
30 |
3 |
ExtraDataPtrEnabled |
Byte |
31 |
3 |
NumberBytesHeader |
Byte |
32 |
4 |
NumberBytesData |
Byte |
33 |
4 |
PADDING |
|
34 |
4 |
DescriptionID |
Int16 |
35 |
4 |
||
36 |
4 |
ArbIDOrHeader |
Int32 |
37 |
4 |
||
38 |
4 |
||
39 |
4 |
||
40 |
5 |
Data1 |
Byte |
41 |
5 |
Data2 |
Byte |
42 |
5 |
Data3 |
Byte |
43 |
5 |
Data4 |
Byte |
44 |
5 |
Data5 |
Byte |
45 |
5 |
Data6 |
Byte |
46 |
5 |
Data7 |
Byte |
47 |
5 |
Data8 |
Byte |
48 |
6 |
StatusBitField3 |
Int32 |
49 |
6 |
||
50 |
6 |
||
51 |
6 |
||
52 |
6 |
StatusBitField4 |
Int32 |
53 |
6 |
||
54 |
6 |
||
55 |
6 |
||
56 |
7 |
iExtraDataPtr |
Void * |
57 |
7 |
||
58 |
7 |
||
59 |
7 |
||
60 |
7 |
||
61 |
7 |
||
62 |
7 |
||
63 |
7 |
||
64 |
8 |
MiscData |
Byte |
65 |
8 |
PADDING |
|
66 |
8 |
PADDING |
|
67 |
8 |
PADDING |
|
68 |
8 |
PADDING |
|
69 |
8 |
PADDING |
|
70 |
8 |
PADDING |
|
71 |
8 |
PADDING |