~~ODT~~
===== TIME DATA =====
==== Type 0x10, Time Data, Format 0. Reserved for future use ====
==== Type 0x11, Time Data, Format 1 (IRIG/GPS/RTC) ====
Time is recorded in a data file much
like any other data source. The purpose of the Time Data Format 1 packet is to provide a
correlation between an external clock source and the recorder internal 10 MHz RTC. The
correlation between the RTC and clock time is described in more detail in paragraph 6.6.
The time data packet begins with the CSDW shown in Figure 6-18.
struct SuTimeF1_ChanSpec
{
uint32_t uTimeSrc : 4; // Time source
uint32_t uTimeFmt : 4; // Time format
uint32_t bLeapYear : 1; // Leap year
uint32_t uDateFmt : 1; // Date format
uint32_t uReserved1 : 2;
uint32_t uReserved2 : 16;
};
// Time message - Day format
struct SuTime_MsgDayFmt
{
uint16_t uTmn : 4; // Tens of milliseconds
uint16_t uHmn : 4; // Hundreds of milliseconds
uint16_t uSn : 4; // Units of seconds
uint16_t uTSn : 3; // Tens of seconds
uint16_t Reserved1 : 1; // 0
uint16_t uMn : 4; // Units of minutes
uint16_t uTMn : 3; // Tens of minutes
uint16_t Reserved2 : 1; // 0
uint16_t uHn : 4; // Units of hours
uint16_t uTHn : 2; // Tens of Hours
uint16_t Reserved3 : 2; // 0
uint16_t uDn : 4; // Units of day number
uint16_t uTDn : 4; // Tens of day number
uint16_t uHDn : 2; // Hundreds of day number
uint16_t Reserved4 : 6; // 0
};
// Time message - DMY format
struct SuTime_MsgDmyFmt
{
uint16_t uTmn : 4; // Tens of milliseconds
uint16_t uHmn : 4; // Hundreds of milliseconds
uint16_t uSn : 4; // Units of seconds
uint16_t uTSn : 3; // Tens of seconds
uint16_t Reserved1 : 1; // 0
uint16_t uMn : 4; // Units of minutes
uint16_t uTMn : 3; // Tens of minutes
uint16_t Reserved2 : 1; // 0
uint16_t uHn : 4; // Units of hours
uint16_t uTHn : 2; // Tens of Hours
uint16_t Reserved3 : 2; // 0
uint16_t uDn : 4; // Units of day number
uint16_t uTDn : 4; // Tens of day number
uint16_t uOn : 4; // Units of month number
uint16_t uTOn : 1; // Tens of month number
uint16_t Reserved4 : 3; // 0
uint16_t uYn : 4; // Units of year number
uint16_t uTYn : 4; // Tens of year number
uint16_t uHYn : 4; // Hundreds of year number
uint16_t uOYn : 2; // Thousands of year number
uint16_t Reserved5 : 2; // 0
};