ch10_handbook:data_file_interpretation
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
ch10_handbook:data_file_interpretation [2014/04/13 17:10] – bob | ch10_handbook:data_file_interpretation [2014/04/13 18:41] – bob | ||
---|---|---|---|
Line 100: | Line 100: | ||
| DATA CHECKSUM | **Packet Trailer** | | | DATA CHECKSUM | **Packet Trailer** | | ||
- | **Data Packet Organization** | + | < |
Data packets must contain data. They are not allowed to only contain filler. Filler can be | Data packets must contain data. They are not allowed to only contain filler. Filler can be | ||
Line 141: | Line 141: | ||
struct SuI106Ch10Header | struct SuI106Ch10Header | ||
{ | { | ||
- | uint16_t uSync; | + | uint16_t |
- | uint16_t uChID; | + | uint16_t |
- | uint32_t ulPacketLen; | + | uint32_t |
- | uint32_t ulDataLen; | + | uint32_t |
- | uint8_t ubyDataVer; | + | uint8_t |
- | uint8_t ubySeqNum; | + | uint8_t |
- | uint8_t ubyPacketFlags; | + | uint8_t |
- | uint8_t ubyDataType; | + | uint8_t |
- | uint8_t aubyRelTime[6]; | + | uint8_t |
- | uint16_t uChecksum; | + | uint16_t |
}; | }; | ||
</ | </ | ||
- | **Packet header structure.** | + | |
+ | < | ||
The Channel ID field uniquely identifies the source of the data. The value of the | The Channel ID field uniquely identifies the source of the data. The value of the | ||
Line 213: | Line 214: | ||
}; | }; | ||
</ | </ | ||
- | **Optional secondary header structure with IRIG 106 Ch 4 time representation.** | + | < |
- | < | + | < |
struct SuI106Ch10SecHeader_1588Time | struct SuI106Ch10SecHeader_1588Time | ||
{ | { | ||
Line 224: | Line 225: | ||
}; | }; | ||
</ | </ | ||
- | **Optional secondary header structure with IEEE 1588 time representation.** | + | < |
==== Data Payload ==== | ==== Data Payload ==== | ||
Line 253: | Line 254: | ||
}; | }; | ||
</ | </ | ||
- | **Intra-packet Time Stamp, 48-bit RTC.** | + | < |
< | < | ||
Line 264: | Line 265: | ||
}; | }; | ||
</ | </ | ||
- | **Intra-packet Time Stamp, IRIG 106 Ch 4 binary** | + | < |
< | < | ||
Line 273: | Line 274: | ||
}; | }; | ||
</ | </ | ||
- | **Intra-packet Time Stamp, IEEE 1588** | + | < |
==== Data Formats ==== | ==== Data Formats ==== | ||
Line 349: | Line 350: | ||
algorithm for reading all root and node index packets is as follows: | algorithm for reading all root and node index packets is as follows: | ||
- | 1. If " | + | 1. If " |
2. Move read pointer to last packet of data file. Store file offset of this packet. | 2. Move read pointer to last packet of data file. Store file offset of this packet. | ||
+ | |||
3. If last packet data type does not equal 0x03 (Computer Generated Data, Format 3) | 3. If last packet data type does not equal 0x03 (Computer Generated Data, Format 3) | ||
- | then index does not exist. | + | then index does not exist. |
4. Get the index count from the CSDW. | 4. Get the index count from the CSDW. | ||
+ | |||
5. For each root index contained in the packet, | 5. For each root index contained in the packet, | ||
* Read the Node Index offset value | * Read the Node Index offset value | ||
Line 360: | Line 365: | ||
* Get the node index count from the CSDW | * Get the node index count from the CSDW | ||
* For each node index contained in the packet read and store the time stamp, channel ID, data type, and data packet offset values. | * For each node index contained in the packet read and store the time stamp, channel ID, data type, and data packet offset values. | ||
+ | |||
6. Read last root node index. If offset value is equal to current root node packet offset | 6. Read last root node index. If offset value is equal to current root node packet offset | ||
(stored in Step 2) then done. | (stored in Step 2) then done. | ||
+ | |||
7. Else the move read pointer to the next Root Index packet offset value | 7. Else the move read pointer to the next Root Index packet offset value | ||
+ | |||
8. Read the next Root Index packet. | 8. Read the next Root Index packet. | ||
+ | |||
9. Go to Step 4. | 9. Go to Step 4. | ||
Line 426: | Line 435: | ||
}; | }; | ||
</ | </ | ||
- | **UDP Transfer Header, non-segmented data.** | + | < |
< | < | ||
Line 440: | Line 449: | ||
}; | }; | ||
</ | </ | ||
- | **UDP Transfer Header, segmented data.** | + | < |
Computer Generated Data, Format 3 (Recording Index) packets are meaningless in a | Computer Generated Data, Format 3 (Recording Index) packets are meaningless in a | ||
Line 446: | Line 455: | ||
will have contiguous sequence numbers for error detection. They should be ignored, though, | will have contiguous sequence numbers for error detection. They should be ignored, though, | ||
when received. | when received. | ||
- |
ch10_handbook/data_file_interpretation.txt · Last modified: 2014/07/16 15:18 by bob