mbgtools-lx  4.2.8
IRIG time codes

Macros

#define DEFAULT_ICODE_TX_NAMES
 Initializers for TX timecode format name strings. More...
 
#define DEFAULT_ICODE_TX_NAMES_SHORT
 Initializers for short TX timecode format name strings. More...
 
#define DEFAULT_ICODE_TX_DESCRIPTIONS_ENG
 Initializers for English TX format description strings. More...
 
#define MSK_ICODE_TX_DC_MANCH
 A mask of IRIG TX formats with manchester encoded DC output. More...
 
#define MSK_ICODE_TX_100HZ
 A mask of IRIG TX formats with 100 Hz carrier. More...
 
#define MSK_ICODE_TX_1KHZ
 A mask of IRIG TX formats with 1 kHz carrier. More...
 
#define MSK_ICODE_TX_10KHZ
 A mask of IRIG TX formats with 10 kHz carrier. More...
 
#define MSK_ICODE_TX_100KHZ
 A mask of IRIG TX formats with 100 kHz carrier. More...
 
#define MSK_ICODE_TX_10BPS
 A mask of IRIG TX formats with 10 bps data rate. More...
 
#define MSK_ICODE_TX_100BPS
 A mask of IRIG TX formats with 100 bps data rate. More...
 
#define MSK_ICODE_TX_1000BPS
 A mask of IRIG TX formats with 1000 bps data rate. More...
 
#define MSK_ICODE_TX_10000BPS
 A mask of IRIG TX formats with 10 kbps data rate. More...
 
#define MSK_ICODE_TX_HAS_SEC10THS
 A mask of IRIG TX formats supporting 10ths of seconds. More...
 
#define MSK_ICODE_TX_HAS_SEC100THS
 A mask of IRIG TX formats supporting 100ths of seconds. More...
 
#define MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P5
 A mask of IRIG TX formats providing a short year number after P5. More...
 
#define MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P6
 A mask of IRIG TX formats providing a short year number after P6. More...
 
#define MSK_ICODE_TX_HAS_ANY_SHORT_YEAR
 A mask of IRIG TX formats providing a short year number in general. More...
 
#define MSK_ICODE_TX_HAS_TFOM
 A mask of IRIG TX formats supporting TFOM. More...
 
#define MSK_ICODE_TX_HAS_CTQ
 A mask of IRIG TX formats supporting CTQ continuous time quality. More...
 
#define MSK_ICODE_TX_HAS_TZI
 A mask of IRIG TX formats supporting time zone information. More...
 
#define MSK_ICODE_TX_UTC_OFFS_SUB
 IRIG TX formats where UTC offset must be subtracted to yield UTC. More...
 
#define MSK_ICODE_TX_UTC_OFFS_ADD
 IRIG TX formats where UTC offset must be added to yield UTC. More...
 
#define MSK_ICODE_TX_HAS_AFNOR_WDAY
 A mask of IRIG TX formats supporting a day of week number. More...
 
#define MSK_ICODE_TX_HAS_AFNOR_DATE
 A mask of IRIG TX formats supporting a date (day-of-month, month) More...
 
#define SUPP_MSK_ICODE_TX
 The default mask of IRIG TX formats supported by IRIG transmitters. More...
 
#define DEFAULT_ICODE_RX_NAMES
 Initializers for RX timecode format name strings. More...
 
#define DEFAULT_ICODE_RX_NAMES_SHORT
 Initializers for short RX timecode format name strings. More...
 
#define DEFAULT_ICODE_RX_DESCRIPTIONS_ENG
 Initializers for English RX format description strings. More...
 
#define MSK_ICODE_RX_DC
 A mask of IRIG RX DCLS formats. More...
 
#define MSK_ICODE_RX_100HZ
 A mask of IRIG RX formats with 100 Hz carrier. More...
 
#define MSK_ICODE_RX_1KHZ
 A mask of IRIG RX formats with 1 kHz carrier. More...
 
#define MSK_ICODE_RX_10KHZ
 A mask of IRIG RX formats with 10 kHz carrier. More...
 
#define MSK_ICODE_RX_100KHZ
 A mask of IRIG RX formats with 100 kHz carrier. More...
 
#define MSK_ICODE_RX_10BPS
 A mask of IRIG RX formats with 10 bps data rate. More...
 
#define MSK_ICODE_RX_100BPS
 A mask of IRIG RX formats with 100 bps data rate. More...
 
#define MSK_ICODE_RX_1000BPS
 A mask of IRIG RX formats with 1000 bps data rate. More...
 
#define MSK_ICODE_RX_10000BPS
 A mask of IRIG RX formats with 10 kbps data rate. More...
 
#define MSK_ICODE_RX_HAS_SEC10THS
 A mask of IRIG RX formats supporting 10ths of seconds. More...
 
#define MSK_ICODE_RX_HAS_SEC100THS
 A mask of IRIG RX formats which support 100ths of seconds. More...
 
#define MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P5
 A mask of IRIG RX formats supporting a 2 digit year number after P5. More...
 
#define MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P6
 A mask of IRIG RX formats supporting a 2 digit year number after P6. More...
 
#define MSK_ICODE_RX_HAS_ANY_SHORT_YEAR
 A mask of IRIG RX formats providing any 2 digit year number. More...
 
#define MSK_ICODE_RX_HAS_TFOM
 A mask of IRIG RX formats supporting TFOM time quality indicator. More...
 
#define MSK_ICODE_RX_HAS_CTQ
 A mask of IRIG RX formats supporting CTQ continuous time quality. More...
 
#define MSK_ICODE_RX_HAS_TZI
 A mask of IRIG RX formats supporting time zone information. More...
 
#define MSK_ICODE_RX_UTC_OFFS_SUB
 IRIG RX formats where UTC offset must be subtracted to yield UTC. More...
 
#define MSK_ICODE_RX_UTC_OFFS_ADD
 IRIG RX formats where UTC offset must be added to yield UTC. More...
 
#define MSK_ICODE_RX_HAS_AFNOR_WDAY
 A mask of IRIG RX formats supporting a day of week number. More...
 
#define MSK_ICODE_RX_HAS_AFNOR_DATE
 A mask of IRIG RX formats supporting a date (day-of-month, month) More...
 
#define SUPP_MSK_ICODE_RX
 The default mask of IRIG RX formats supported by IRIG receivers. More...
 

Enumerations

enum  ICODE_TX_CODES {
  ICODE_TX_B002_B122, ICODE_TX_B003_B123, ICODE_TX_A002_A132, ICODE_TX_A003_A133,
  ICODE_TX_AFNOR, ICODE_TX_IEEE1344, ICODE_TX_B2201344, ICODE_TX_B222,
  ICODE_TX_B223, ICODE_TX_B006_B126, ICODE_TX_B007_B127, ICODE_TX_G002_G142,
  ICODE_TX_G006_G146, ICODE_TX_C37118, ICODE_TX_TXC101, ICODE_TX_E002_E112,
  ICODE_TX_NASA36, ICODE_TX_A006_A136, ICODE_TX_A007_A137, N_ICODE_TX
}
 Known IRIG TX code formats. More...
 
enum  ICODE_RX_CODES {
  ICODE_RX_B122_B123, ICODE_RX_A132_A133, ICODE_RX_B002_B003, ICODE_RX_A002_A003,
  ICODE_RX_AFNOR, ICODE_RX_AFNOR_DC, ICODE_RX_IEEE1344, ICODE_RX_IEEE1344_DC,
  ICODE_RX_B126_B127, ICODE_RX_B006_B007, ICODE_RX_G142, ICODE_RX_G002,
  ICODE_RX_C37118, ICODE_RX_C37118_DC, ICODE_RX_TXC101, ICODE_RX_TXC101_DC,
  ICODE_RX_E112, ICODE_RX_E002, ICODE_RX_NASA36, ICODE_RX_NASA36_DC,
  ICODE_RX_A136_A137, ICODE_RX_A006_A007, ICODE_RX_G146, ICODE_RX_G006,
  N_ICODE_RX
}
 Known IRIG RX code formats. More...
 
#define MSK_ICODE_TX_B002_B122   ( 1UL << ICODE_TX_B002_B122 )
 Bit masks used with IRIG_INFO::supp_codes for TX. More...
 
#define MSK_ICODE_TX_B003_B123   ( 1UL << ICODE_TX_B003_B123 )
 
#define MSK_ICODE_TX_A002_A132   ( 1UL << ICODE_TX_A002_A132 )
 
#define MSK_ICODE_TX_A003_A133   ( 1UL << ICODE_TX_A003_A133 )
 
#define MSK_ICODE_TX_AFNOR   ( 1UL << ICODE_TX_AFNOR )
 
#define MSK_ICODE_TX_IEEE1344   ( 1UL << ICODE_TX_IEEE1344 )
 
#define MSK_ICODE_TX_B2201344   ( 1UL << ICODE_TX_B2201344 )
 
#define MSK_ICODE_TX_B222   ( 1UL << ICODE_TX_B222 )
 
#define MSK_ICODE_TX_B223   ( 1UL << ICODE_TX_B223 )
 
#define MSK_ICODE_TX_B006_B126   ( 1UL << ICODE_TX_B006_B126 )
 
#define MSK_ICODE_TX_B007_B127   ( 1UL << ICODE_TX_B007_B127 )
 
#define MSK_ICODE_TX_G002_G142   ( 1UL << ICODE_TX_G002_G142 )
 
#define MSK_ICODE_TX_G006_G146   ( 1UL << ICODE_TX_G006_G146 )
 
#define MSK_ICODE_TX_C37118   ( 1UL << ICODE_TX_C37118 )
 
#define MSK_ICODE_TX_TXC101   ( 1UL << ICODE_TX_TXC101 )
 
#define MSK_ICODE_TX_E002_E112   ( 1UL << ICODE_TX_E002_E112 )
 
#define MSK_ICODE_TX_NASA36   ( 1UL << ICODE_TX_NASA36 )
 
#define MSK_ICODE_TX_A006_A136   ( 1UL << ICODE_TX_A006_A136 )
 
#define MSK_ICODE_TX_A007_A137   ( 1UL << ICODE_TX_A007_A137 )
 
#define MSK_ICODE_RX_B122_B123   ( 1UL << ICODE_RX_B122_B123 )
 Bit masks used with IRIG_INFO::supp_codes for RX. More...
 
#define MSK_ICODE_RX_A132_A133   ( 1UL << ICODE_RX_A132_A133 )
 
#define MSK_ICODE_RX_B002_B003   ( 1UL << ICODE_RX_B002_B003 )
 
#define MSK_ICODE_RX_A002_A003   ( 1UL << ICODE_RX_A002_A003 )
 
#define MSK_ICODE_RX_AFNOR   ( 1UL << ICODE_RX_AFNOR )
 
#define MSK_ICODE_RX_AFNOR_DC   ( 1UL << ICODE_RX_AFNOR_DC )
 
#define MSK_ICODE_RX_IEEE1344   ( 1UL << ICODE_RX_IEEE1344 )
 
#define MSK_ICODE_RX_IEEE1344_DC   ( 1UL << ICODE_RX_IEEE1344_DC )
 
#define MSK_ICODE_RX_B126_B127   ( 1UL << ICODE_RX_B126_B127 )
 
#define MSK_ICODE_RX_B006_B007   ( 1UL << ICODE_RX_B006_B007 )
 
#define MSK_ICODE_RX_G142   ( 1UL << ICODE_RX_G142 )
 
#define MSK_ICODE_RX_G002   ( 1UL << ICODE_RX_G002 )
 
#define MSK_ICODE_RX_C37118   ( 1UL << ICODE_RX_C37118 )
 
#define MSK_ICODE_RX_C37118_DC   ( 1UL << ICODE_RX_C37118_DC )
 
#define MSK_ICODE_RX_TXC101   ( 1UL << ICODE_RX_TXC101 )
 
#define MSK_ICODE_RX_TXC101_DC   ( 1UL << ICODE_RX_TXC101_DC )
 
#define MSK_ICODE_RX_E112   ( 1UL << ICODE_RX_E112 )
 
#define MSK_ICODE_RX_E002   ( 1UL << ICODE_RX_E002 )
 
#define MSK_ICODE_RX_NASA36   ( 1UL << ICODE_RX_NASA36 )
 
#define MSK_ICODE_RX_NASA36_DC   ( 1UL << ICODE_RX_NASA36_DC )
 
#define MSK_ICODE_RX_A136_A137   ( 1UL << ICODE_RX_A136_A137 )
 
#define MSK_ICODE_RX_A006_A007   ( 1UL << ICODE_RX_A006_A007 )
 
#define MSK_ICODE_RX_G146   ( 1UL << ICODE_RX_G146 )
 
#define MSK_ICODE_RX_G006   ( 1UL << ICODE_RX_G006 )
 

Detailed Description

The following definitions are used to configure an optional on-board IRIG input or output. Which frame types are supported by a device depends on the device type, and may eventually depend on the device's firmware version.

All IRIG frames transport the day-of-year number plus the time-of-day, and include a control field segment which can transport user defined information.

Some newer IRIG frames are compatible with older frame types but support well defined extensions like the year number, local time offset, DST status, etc., in the control fields:

The following specification can be found in IRIG Standard 200-04 (September 2004):

Format A: 1k pps Format B: 100 pps Format D: 1 ppm Format E: 10 pps Format G: 10k pps Format H: 1 pps

1st digit: Modulation Frequency 0 Pulse width code 1 Sine wave, amplitude modulated 2 Manchester modulated

2nd digit: Frequency / Resolution 0: No carrier / index count interval 1: 100 Hz / 10 ms 2: 1 kHz / 1 ms 3: 10 kHz / 0.1 ms 4: 100 kHz / 10 ms 5: 1 MHz / 1 ms

3rd digit: Coded expressions 0: DOY+TOD, CF, SBS 1: DOY+TOD, CF 2: DOY+TOD 3: DOY+TOD, SBS 4: DOY+TOD, Year, CF, SBS 5: DOY+TOD, Year, CF 6: DOY+TOD, Year 7: DOY+TOD, Year, SBS

Table of Permissible Code Formats

Letter 1st digit 2nd digit 3rd digit

A 0,1,2 0,3,4,5 0,1,2,3,4,5,6,7 B 0,1,2 0,2,3,4,5 0,1,2,3,4,5,6,7 D 0,1 0,1,2 1,2 E 0,1 0,1,2 1,2,5,6 G 0,1,2 0,4,5 1,2,5,6 H 0,1 0,1,2 1,2

AFNOR codes are based on the french standard AFNOR NF S87-500

IEEE 1344 codes are defined in IEEE standard 1344-1995. The code frame is compatible with B002/B122 but provides some well defined extensions in the control field which include a quality indicator (time figure of merit, TFOM), year number, DST and leap second status, and local time offset from UTC.

IEEE C37.118 codes are defined in IEEE standard C37.118-2005 which includes a revised version of the IEEE 1344 standard from 1995. These codes provide the same extensions as IEEE 1344 but unfortunately determine that the UTC offset has to be applied with reversed sign.

For example, if a -6 hours UTC offset is transmitted in the time code:
IEEE 1344: (IRIG time 14:43:27 h) - (offs -6 h) = (UTC 20:43:27)
IEEE C37.118: (IRIG time 14:43:27 h) + (offs -6 h) = (UTC 08:43:27)

See also
MSK_ICODE_RX_UTC_OFFS_ADD and MSK_ICODE_RX_UTC_OFFS_SUB
Note
There are 3rd party IRIG devices out there which apply the UTC offset as specified in IEEE C37.118-2005, but claim to be compatible with IEEE 1344. So if local time is transmitted by the timecode then care must be taken that the UTC offset is evaluated by the timecode receiver in the same way as computed by the timecode generator. Otherwise the UTC time computed by the receiver may be wrong.

Macro Definition Documentation

◆ DEFAULT_ICODE_RX_DESCRIPTIONS_ENG

#define DEFAULT_ICODE_RX_DESCRIPTIONS_ENG
Value:
{ \
/* B122_B123 */ "100 bps, 1 kHz carrier, SBS optionally", \
/* A132_A133 */ "1000 bps, 10 kHz carrier, SBS optionally", \
/* B002_B003 */ "100 bps, DCLS, SBS optionally", \
/* A002_A003 */ "1000 bps, DCLS, SBS optionally", \
/* AFNOR */ "100 bps, 1 kHz carrier, complete date, SBS", \
/* AFNOR_DC */ "100 bps, DCLS, complete date, SBS", \
/* IEEE1344 */ "100 bps, 1 kHz carrier, SBS, time zone info", \
/* IEEE1344_DC */ "100 bps, DCLS, SBS, time zone info", \
/* B126_B127 */ "100 bps, 1 kHz carrier, 2 digit year number, SBS optionally", \
/* B006_B007 */ "100 bps, DCLS, 2 digit year number, SBS optionally", \
/* G142 */ "10 kbps, 100 kHz carrier", \
/* G002 */ "10 kbps, DCLS", \
/* C37118 */ "like IEEE1344, but UTC offset with reversed sign", \
/* C37118_DC */ "like IEEE1344 DC, but UTC offset with reversed sign", \
/* TXC101 */ "code from TV time sync device TXC-101 DTR-6", \
/* TXC101_DC */ "DC code from TV time sync device TXC-101 DTR-6", \
/* E112 */ "10 bps, 100 Hz carrier", \
/* E002 */ "10 bps, DCLS", \
/* NASA36 */ "100 bps, 1 kHz carrier", \
/* NASA36_DC */ "100 bps, DCLS", \
/* A136_A137 */ "1000 bps, 10 kHz carrier, 2 digit year number, SBS optionally", \
/* A006_A007 */ "1000 bps, DCLS, 2 digit year number, SBS optionally", \
/* G146 */ "10 kbps, 100 kHz carrier, 2 digit year number", \
/* G006 */ "10 kbps, DCLS, 2 digit year number" \
}

Initializers for English RX format description strings.

See also
ICODE_RX_CODES

Definition at line 4633 of file gpsdefs.h.

◆ DEFAULT_ICODE_RX_NAMES

#define DEFAULT_ICODE_RX_NAMES
Value:
{ \
/* B122_B123 */ "B122/B123", \
/* A132_A133 */ "A132/A133", \
/* B002_B003 */ "B002/B003 (DCLS)", \
/* A002_A003 */ "A002/A003 (DCLS)", \
/* AFNOR */ "AFNOR NF S87-500", \
/* AFNOR_DC */ "AFNOR NF S87-500 (DCLS)", \
/* IEEE1344 */ "IEEE1344", \
/* IEEE1344_DC */ "IEEE1344 (DCLS)", \
/* B126_B127 */ "B126/B127", \
/* B006_B007 */ "B006/B007 (DCLS)", \
/* G142 */ "G142", \
/* G002 */ "G002 (DCLS)", \
/* C37118 */ "C37.118", \
/* C37118_DC */ "C37.118 (DCLS)", \
/* TXC101 */ "TXC-101 DTR-6", \
/* TXC101_DC */ "TXC-101 DTR-6 (DCLS)", \
/* E112 */ "E112", \
/* E002 */ "E002 (DCLS)", \
/* NASA36 */ "NASA-36", \
/* NASA36_DC */ "NASA-36 (DCLS)", \
/* A136_A137 */ "A136/A137", \
/* A006_A007 */ "A006/A007 (DCLS)", \
/* G146 */ "G146", \
/* G006 */ "G006 (DCLS)" \
}

Initializers for RX timecode format name strings.

See also
ICODE_RX_CODES

Definition at line 4564 of file gpsdefs.h.

◆ DEFAULT_ICODE_RX_NAMES_SHORT

#define DEFAULT_ICODE_RX_NAMES_SHORT
Value:
{ \
/* B122_B123 */ "B122/B123", \
/* A132_A133 */ "A132/A133", \
/* B002_B003 */ "B002/B003", \
/* A002_A003 */ "A002/A003", \
/* AFNOR */ "AFNOR NF S", \
/* AFNOR_DC */ "AFNOR DC", \
/* IEEE1344 */ "IEEE1344", \
/* IEEE1344_DC */ "IEEE1344 DC", \
/* B126_B127 */ "B126/B127", \
/* B006_B007 */ "B006/B007", \
/* G142 */ "G142", \
/* G002 */ "G002 DC", \
/* C37118 */ "C37.118", \
/* C37118_DC */ "C37.118 DC", \
/* TXC101 */ "TXC-101", \
/* TXC101_DC */ "TXC-101 DC", \
/* E112 */ "E112", \
/* E002 */ "E002 DC", \
/* NASA36 */ "NASA-36", \
/* NASA36_DC */ "NASA-36 DC", \
/* A136_A137 */ "A136/A137", \
/* A006_A007 */ "A006/A007", \
/* G146 */ "G146", \
/* G006 */ "G006 DC" \
}

Initializers for short RX timecode format name strings.

Note
Must not be longer than 11 printable characters
See also
ICODE_RX_CODES

Definition at line 4599 of file gpsdefs.h.

◆ DEFAULT_ICODE_TX_DESCRIPTIONS_ENG

#define DEFAULT_ICODE_TX_DESCRIPTIONS_ENG
Value:
{ \
/* B002_B122 */ "100 bps, DCLS or 1 kHz carrier", \
/* B003_B123 */ "100 bps, DCLS or 1 kHz carrier, SBS", \
/* A002_A132 */ "1000 bps, DCLS or 10 kHz carrier", \
/* A003_A133 */ "1000 bps, DCLS or 10 kHz carrier, SBS", \
/* AFNOR */ "100 bps, DCLS or 1 kHz carrier, complete date, SBS", \
/* IEEE1344 */ "100 bps, DCLS or 1 kHz carrier, 2 digit year number, SBS, UTC offset, DST and Leap sec status", \
/* B2201344 */ "100 bps, Manchester enc., DCLS only, 2 digit year number, SBS, UTC offset, DST and Leap sec status", \
/* B222 */ "100 bps, Manchester enc., DCLS only", \
/* B223 */ "100 bps, Manchester enc., DCLS only, SBS", \
/* B006_B126 */ "100 bps, DCLS or 1 kHz carrier, 2 digit year number", \
/* B007_B127 */ "100 bps, DCLS or 1 kHz carrier, 2 digit year number, SBS", \
/* G002_G142 */ "10 kbps, DCLS or 100 kHz carrier", \
/* G006_G146 */ "10 kbps, DCLS or 100 kHz carrier, 2 digit year number", \
/* C37118 */ "100 bps, DCLS or 1 kHz carrier, 2 digit year number, SBS, UTC offs. reverse to 1344, DST/Leap sec status", \
/* TXC101 */ "code from TV time sync device TXC-101 DTR-6", \
/* E002_E112 */ "10 bps, DCLS or 100 Hz carrier", \
/* NASA36 */ "100 bps, DCLS or 1 kHz carrier", \
/* A006_A136 */ "1000 bps, DCLS or 10 kHz carrier, 2 digit year number", \
/* A007_A137 */ "1000 bps, DCLS or 10 kHz carrier, 2 digit year number, SBS" \
}

Initializers for English TX format description strings.

See also
ICODE_TX_CODES

Definition at line 4196 of file gpsdefs.h.

◆ DEFAULT_ICODE_TX_NAMES

#define DEFAULT_ICODE_TX_NAMES
Value:
{ \
/* B002_B122 */ "B002+B122", \
/* B003_B123 */ "B003+B123", \
/* A002_A132 */ "A002+A132", \
/* A003_A133 */ "A003+A133", \
/* AFNOR */ "AFNOR NF S87-500", \
/* IEEE1344 */ "IEEE 1344", \
/* B2201344 */ "B220(1344) DCLS", \
/* B222 */ "B222 DCLS", \
/* B223 */ "B223 DCLS", \
/* B006_B126 */ "B006+B126", \
/* B007_B127 */ "B007+B127", \
/* G002_G142 */ "G002+G142", \
/* G006_G146 */ "G006+G146", \
/* C37118 */ "IEEE C37.118", \
/* TXC101 */ "TXC-101 DTR-6", \
/* E002_E112 */ "E002+E112", \
/* NASA36 */ "NASA 36", \
/* A006_A136 */ "A006+A136", \
/* A007_A137 */ "A007+A137" \
}

Initializers for TX timecode format name strings.

See also
ICODE_TX_CODES

Definition at line 4137 of file gpsdefs.h.

◆ DEFAULT_ICODE_TX_NAMES_SHORT

#define DEFAULT_ICODE_TX_NAMES_SHORT
Value:
{ \
/* B002_B122 */ "B002+B122", \
/* B003_B123 */ "B003+B123", \
/* A002_A132 */ "A002+A132", \
/* A003_A133 */ "A003+A133", \
/* AFNOR */ "AFNOR NF S", \
/* IEEE1344 */ "IEEE 1344", \
/* B2201344 */ "B220/1344", \
/* B222 */ "B222 DC", \
/* B223 */ "B223 DC", \
/* B006_B126 */ "B006+B126", \
/* B007_B127 */ "B007+B127", \
/* G002_G142 */ "G002+G142", \
/* G006_G146 */ "G006+G146", \
/* C37118 */ "C37.118", \
/* TXC101 */ "TXC-101", \
/* E002_E112 */ "E002+E112", \
/* NASA36 */ "NASA 36", \
/* A006_A136 */ "A006+A136", \
/* A007_A137 */ "A007+A137" \
}

Initializers for short TX timecode format name strings.

Note
Must not be longer than 10 printable characters
See also
ICODE_TX_CODES

Definition at line 4167 of file gpsdefs.h.

◆ MSK_ICODE_RX_10000BPS

#define MSK_ICODE_RX_10000BPS
Value:
( \
MSK_ICODE_RX_G142 | \
MSK_ICODE_RX_G002 | \
MSK_ICODE_RX_G146 | \
MSK_ICODE_RX_G006 \
)

A mask of IRIG RX formats with 10 kbps data rate.

Definition at line 4803 of file gpsdefs.h.

Referenced by mbg_icode_rx_to_group_idx().

◆ MSK_ICODE_RX_1000BPS

#define MSK_ICODE_RX_1000BPS
Value:
( \
MSK_ICODE_RX_A132_A133 | \
MSK_ICODE_RX_A002_A003 | \
MSK_ICODE_RX_A136_A137 | \
MSK_ICODE_RX_A006_A007 \
)

A mask of IRIG RX formats with 1000 bps data rate.

Definition at line 4792 of file gpsdefs.h.

Referenced by mbg_icode_rx_to_group_idx().

◆ MSK_ICODE_RX_100BPS

#define MSK_ICODE_RX_100BPS
Value:
( \
MSK_ICODE_RX_B122_B123 | \
MSK_ICODE_RX_B002_B003 | \
MSK_ICODE_RX_AFNOR | \
MSK_ICODE_RX_AFNOR_DC | \
MSK_ICODE_RX_IEEE1344 | \
MSK_ICODE_RX_IEEE1344_DC | \
MSK_ICODE_RX_B126_B127 | \
MSK_ICODE_RX_B006_B007 | \
MSK_ICODE_RX_C37118 | \
MSK_ICODE_RX_C37118_DC | \
MSK_ICODE_RX_TXC101 | \
MSK_ICODE_RX_TXC101_DC | \
MSK_ICODE_RX_NASA36 | \
MSK_ICODE_RX_NASA36_DC \
)

A mask of IRIG RX formats with 100 bps data rate.

Definition at line 4771 of file gpsdefs.h.

Referenced by mbg_icode_rx_to_group_idx().

◆ MSK_ICODE_RX_100HZ

#define MSK_ICODE_RX_100HZ
Value:
( \
MSK_ICODE_RX_E112 \
)

A mask of IRIG RX formats with 100 Hz carrier.

Definition at line 4722 of file gpsdefs.h.

◆ MSK_ICODE_RX_100KHZ

#define MSK_ICODE_RX_100KHZ
Value:
( \
MSK_ICODE_RX_G142 | \
MSK_ICODE_RX_G146 \
)

A mask of IRIG RX formats with 100 kHz carrier.

Definition at line 4753 of file gpsdefs.h.

Referenced by mbg_icode_rx_to_group_idx().

◆ MSK_ICODE_RX_10BPS

#define MSK_ICODE_RX_10BPS
Value:
( \
MSK_ICODE_RX_E002_E112 | \
MSK_ICODE_RX_E002_E002 \
)

A mask of IRIG RX formats with 10 bps data rate.

Definition at line 4762 of file gpsdefs.h.

◆ MSK_ICODE_RX_10KHZ

#define MSK_ICODE_RX_10KHZ
Value:
( \
MSK_ICODE_RX_A132_A133 | \
MSK_ICODE_RX_A136_A137 \
)

A mask of IRIG RX formats with 10 kHz carrier.

Definition at line 4744 of file gpsdefs.h.

Referenced by mbg_icode_rx_to_group_idx().

◆ MSK_ICODE_RX_1KHZ

#define MSK_ICODE_RX_1KHZ
Value:
( \
MSK_ICODE_RX_B122_B123 | \
MSK_ICODE_RX_AFNOR | \
MSK_ICODE_RX_IEEE1344 | \
MSK_ICODE_RX_B126_B127 | \
MSK_ICODE_RX_C37118 | \
MSK_ICODE_RX_TXC101 | \
MSK_ICODE_RX_NASA36 \
)

A mask of IRIG RX formats with 1 kHz carrier.

Definition at line 4730 of file gpsdefs.h.

Referenced by mbg_icode_rx_to_group_idx().

◆ MSK_ICODE_RX_A002_A003

#define MSK_ICODE_RX_A002_A003   ( 1UL << ICODE_RX_A002_A003 )

Definition at line 4675 of file gpsdefs.h.

◆ MSK_ICODE_RX_A006_A007

#define MSK_ICODE_RX_A006_A007   ( 1UL << ICODE_RX_A006_A007 )

Definition at line 4693 of file gpsdefs.h.

◆ MSK_ICODE_RX_A132_A133

#define MSK_ICODE_RX_A132_A133   ( 1UL << ICODE_RX_A132_A133 )

Definition at line 4673 of file gpsdefs.h.

◆ MSK_ICODE_RX_A136_A137

#define MSK_ICODE_RX_A136_A137   ( 1UL << ICODE_RX_A136_A137 )

Definition at line 4692 of file gpsdefs.h.

◆ MSK_ICODE_RX_AFNOR

#define MSK_ICODE_RX_AFNOR   ( 1UL << ICODE_RX_AFNOR )

Definition at line 4676 of file gpsdefs.h.

◆ MSK_ICODE_RX_AFNOR_DC

#define MSK_ICODE_RX_AFNOR_DC   ( 1UL << ICODE_RX_AFNOR_DC )

Definition at line 4677 of file gpsdefs.h.

◆ MSK_ICODE_RX_B002_B003

#define MSK_ICODE_RX_B002_B003   ( 1UL << ICODE_RX_B002_B003 )

Definition at line 4674 of file gpsdefs.h.

◆ MSK_ICODE_RX_B006_B007

#define MSK_ICODE_RX_B006_B007   ( 1UL << ICODE_RX_B006_B007 )

Definition at line 4681 of file gpsdefs.h.

◆ MSK_ICODE_RX_B122_B123

#define MSK_ICODE_RX_B122_B123   ( 1UL << ICODE_RX_B122_B123 )

Bit masks used with IRIG_INFO::supp_codes for RX.

These bit masks are used with timecode receivers only

See also
ICODE_RX_CODES
ICODE_TX_CODES
ICODE_TX_MASKS

Definition at line 4672 of file gpsdefs.h.

◆ MSK_ICODE_RX_B126_B127

#define MSK_ICODE_RX_B126_B127   ( 1UL << ICODE_RX_B126_B127 )

Definition at line 4680 of file gpsdefs.h.

◆ MSK_ICODE_RX_C37118

#define MSK_ICODE_RX_C37118   ( 1UL << ICODE_RX_C37118 )

Definition at line 4684 of file gpsdefs.h.

◆ MSK_ICODE_RX_C37118_DC

#define MSK_ICODE_RX_C37118_DC   ( 1UL << ICODE_RX_C37118_DC )

Definition at line 4685 of file gpsdefs.h.

◆ MSK_ICODE_RX_DC

#define MSK_ICODE_RX_DC
Value:
( \
MSK_ICODE_RX_B002_B003 | \
MSK_ICODE_RX_A002_A003 | \
MSK_ICODE_RX_AFNOR_DC | \
MSK_ICODE_RX_IEEE1344_DC | \
MSK_ICODE_RX_B006_B007 | \
MSK_ICODE_RX_G002 | \
MSK_ICODE_RX_C37118_DC | \
MSK_ICODE_RX_TXC101_DC | \
MSK_ICODE_RX_E002 | \
MSK_ICODE_RX_NASA36_DC | \
MSK_ICODE_RX_A006_A007 | \
MSK_ICODE_RX_G006 \
)

A mask of IRIG RX DCLS formats.

Definition at line 4703 of file gpsdefs.h.

Referenced by mbg_icode_rx_to_group_idx().

◆ MSK_ICODE_RX_E002

#define MSK_ICODE_RX_E002   ( 1UL << ICODE_RX_E002 )

Definition at line 4689 of file gpsdefs.h.

◆ MSK_ICODE_RX_E112

#define MSK_ICODE_RX_E112   ( 1UL << ICODE_RX_E112 )

Definition at line 4688 of file gpsdefs.h.

◆ MSK_ICODE_RX_G002

#define MSK_ICODE_RX_G002   ( 1UL << ICODE_RX_G002 )

Definition at line 4683 of file gpsdefs.h.

◆ MSK_ICODE_RX_G006

#define MSK_ICODE_RX_G006   ( 1UL << ICODE_RX_G006 )

Definition at line 4695 of file gpsdefs.h.

◆ MSK_ICODE_RX_G142

#define MSK_ICODE_RX_G142   ( 1UL << ICODE_RX_G142 )

Definition at line 4682 of file gpsdefs.h.

◆ MSK_ICODE_RX_G146

#define MSK_ICODE_RX_G146   ( 1UL << ICODE_RX_G146 )

Definition at line 4694 of file gpsdefs.h.

◆ MSK_ICODE_RX_HAS_AFNOR_DATE

#define MSK_ICODE_RX_HAS_AFNOR_DATE
Value:
( \
MSK_ICODE_RX_AFNOR | \
MSK_ICODE_RX_AFNOR_DC \
)

A mask of IRIG RX formats supporting a date (day-of-month, month)

Definition at line 4965 of file gpsdefs.h.

◆ MSK_ICODE_RX_HAS_AFNOR_WDAY

#define MSK_ICODE_RX_HAS_AFNOR_WDAY
Value:
( \
MSK_ICODE_RX_AFNOR | \
MSK_ICODE_RX_AFNOR_DC \
)

A mask of IRIG RX formats supporting a day of week number.

Definition at line 4956 of file gpsdefs.h.

◆ MSK_ICODE_RX_HAS_ANY_SHORT_YEAR

#define MSK_ICODE_RX_HAS_ANY_SHORT_YEAR
Value:
( \
MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P5 | \
MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P6 \
)

A mask of IRIG RX formats providing any 2 digit year number.

Note: Different sets of code frames may provide a year number in different locations of the transmitted code.

See also
MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P5
MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P6

Definition at line 4884 of file gpsdefs.h.

◆ MSK_ICODE_RX_HAS_CTQ

#define MSK_ICODE_RX_HAS_CTQ
Value:
( \
MSK_ICODE_RX_IEEE1344 | \
MSK_ICODE_RX_IEEE1344_DC | \
MSK_ICODE_RX_C37118 | \
MSK_ICODE_RX_C37118_DC \
)

A mask of IRIG RX formats supporting CTQ continuous time quality.

This has been introduced in IEEE C37.118.1-2011

Definition at line 4908 of file gpsdefs.h.

◆ MSK_ICODE_RX_HAS_SEC100THS

#define MSK_ICODE_RX_HAS_SEC100THS
Value:
( \
MSK_ICODE_RX_G142 | \
MSK_ICODE_RX_G002 | \
MSK_ICODE_RX_G146 | \
MSK_ICODE_RX_G006 \
)

A mask of IRIG RX formats which support 100ths of seconds.

Definition at line 4829 of file gpsdefs.h.

◆ MSK_ICODE_RX_HAS_SEC10THS

#define MSK_ICODE_RX_HAS_SEC10THS
Value:
( \
MSK_ICODE_RX_A132_A133 | \
MSK_ICODE_RX_A002_A003 | \
MSK_ICODE_RX_G142 | \
MSK_ICODE_RX_G002 | \
MSK_ICODE_RX_A136_A137 | \
MSK_ICODE_RX_A006_A007 | \
MSK_ICODE_RX_G146 | \
MSK_ICODE_RX_G006 \
)

A mask of IRIG RX formats supporting 10ths of seconds.

Definition at line 4814 of file gpsdefs.h.

◆ MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P5

#define MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P5
Value:
( \
MSK_ICODE_RX_AFNOR | \
MSK_ICODE_RX_AFNOR_DC | \
MSK_ICODE_RX_IEEE1344 | \
MSK_ICODE_RX_IEEE1344_DC | \
MSK_ICODE_RX_B126_B127 | \
MSK_ICODE_RX_B006_B007 | \
MSK_ICODE_RX_C37118 | \
MSK_ICODE_RX_C37118_DC | \
MSK_ICODE_RX_A136_A137 | \
MSK_ICODE_RX_A006_A007 \
)

A mask of IRIG RX formats supporting a 2 digit year number after P5.

Note: This macro specifies ONLY the codes where the year number is transmitted after position identifier P5.

See also
MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P6
MSK_ICODE_RX_HAS_ANY_SHORT_YEAR

Definition at line 4846 of file gpsdefs.h.

◆ MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P6

#define MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P6
Value:
( \
MSK_ICODE_RX_G146 | \
MSK_ICODE_RX_G006 \
)

A mask of IRIG RX formats supporting a 2 digit year number after P6.

Note: This macro specifies ONLY the codes where the year number is transmitted after position identifier P6.

See also
MSK_ICODE_RX_HAS_SHORT_YEAR_AFTER_P5
MSK_ICODE_RX_HAS_ANY_SHORT_YEAR

Definition at line 4869 of file gpsdefs.h.

◆ MSK_ICODE_RX_HAS_TFOM

#define MSK_ICODE_RX_HAS_TFOM
Value:
( \
MSK_ICODE_RX_IEEE1344 | \
MSK_ICODE_RX_IEEE1344_DC | \
MSK_ICODE_RX_C37118 | \
MSK_ICODE_RX_C37118_DC \
)

A mask of IRIG RX formats supporting TFOM time quality indicator.

Definition at line 4895 of file gpsdefs.h.

Referenced by print_cfg_rx().

◆ MSK_ICODE_RX_HAS_TZI

#define MSK_ICODE_RX_HAS_TZI
Value:
( \
MSK_ICODE_RX_IEEE1344 | \
MSK_ICODE_RX_IEEE1344_DC | \
MSK_ICODE_RX_C37118 | \
MSK_ICODE_RX_C37118_DC \
)

A mask of IRIG RX formats supporting time zone information.

Definition at line 4919 of file gpsdefs.h.

Referenced by print_cfg_rx(), and show_signal().

◆ MSK_ICODE_RX_IEEE1344

#define MSK_ICODE_RX_IEEE1344   ( 1UL << ICODE_RX_IEEE1344 )

Definition at line 4678 of file gpsdefs.h.

◆ MSK_ICODE_RX_IEEE1344_DC

#define MSK_ICODE_RX_IEEE1344_DC   ( 1UL << ICODE_RX_IEEE1344_DC )

Definition at line 4679 of file gpsdefs.h.

◆ MSK_ICODE_RX_NASA36

#define MSK_ICODE_RX_NASA36   ( 1UL << ICODE_RX_NASA36 )

Definition at line 4690 of file gpsdefs.h.

◆ MSK_ICODE_RX_NASA36_DC

#define MSK_ICODE_RX_NASA36_DC   ( 1UL << ICODE_RX_NASA36_DC )

Definition at line 4691 of file gpsdefs.h.

◆ MSK_ICODE_RX_TXC101

#define MSK_ICODE_RX_TXC101   ( 1UL << ICODE_RX_TXC101 )

Definition at line 4686 of file gpsdefs.h.

◆ MSK_ICODE_RX_TXC101_DC

#define MSK_ICODE_RX_TXC101_DC   ( 1UL << ICODE_RX_TXC101_DC )

Definition at line 4687 of file gpsdefs.h.

◆ MSK_ICODE_RX_UTC_OFFS_ADD

#define MSK_ICODE_RX_UTC_OFFS_ADD
Value:
( \
MSK_ICODE_RX_C37118 | \
MSK_ICODE_RX_C37118_DC \
)

IRIG RX formats where UTC offset must be added to yield UTC.

A mask of IRIG formats where the decoded UTC offset must be added to the time decoded from the IRIG signal to yield UTC, e.g.:
(IRIG time 14:43:27 h) + (offs -6 h) = (UTC 08:43:27)

Definition at line 4947 of file gpsdefs.h.

◆ MSK_ICODE_RX_UTC_OFFS_SUB

#define MSK_ICODE_RX_UTC_OFFS_SUB
Value:
( \
MSK_ICODE_RX_IEEE1344 | \
MSK_ICODE_RX_IEEE1344_DC \
)

IRIG RX formats where UTC offset must be subtracted to yield UTC.

A mask of IRIG formats where the decoded UTC offset must be subtracted from the time decoded from the IRIG signal to yield UTC, e.g.:
(IRIG time 14:43:27 h) - (offs -6 h) = (UTC 20:43:27)

Definition at line 4934 of file gpsdefs.h.

◆ MSK_ICODE_TX_10000BPS

#define MSK_ICODE_TX_10000BPS
Value:
( \
MSK_ICODE_TX_G002_G142 | \
MSK_ICODE_TX_G006_G146 \
)

A mask of IRIG TX formats with 10 kbps data rate.

Definition at line 4346 of file gpsdefs.h.

◆ MSK_ICODE_TX_1000BPS

#define MSK_ICODE_TX_1000BPS
Value:
( \
MSK_ICODE_TX_A002_A132 | \
MSK_ICODE_TX_A003_A133 | \
MSK_ICODE_TX_A006_A136 | \
MSK_ICODE_TX_A007_A137 \
)

A mask of IRIG TX formats with 1000 bps data rate.

Definition at line 4335 of file gpsdefs.h.

◆ MSK_ICODE_TX_100BPS

#define MSK_ICODE_TX_100BPS
Value:
( \
MSK_ICODE_TX_B002_B122 | \
MSK_ICODE_TX_B003_B123 | \
MSK_ICODE_TX_AFNOR | \
MSK_ICODE_TX_IEEE1344 | \
MSK_ICODE_TX_B006_B126 | \
MSK_ICODE_TX_B007_B127 | \
MSK_ICODE_TX_C37118 \
)

A mask of IRIG TX formats with 100 bps data rate.

Definition at line 4321 of file gpsdefs.h.

◆ MSK_ICODE_TX_100HZ

#define MSK_ICODE_TX_100HZ
Value:
( \
MSK_ICODE_TX_E002_E112 \
)

A mask of IRIG TX formats with 100 Hz carrier.

Definition at line 4267 of file gpsdefs.h.

◆ MSK_ICODE_TX_100KHZ

#define MSK_ICODE_TX_100KHZ
Value:
( \
MSK_ICODE_TX_G002_G142 | \
MSK_ICODE_TX_G006_G146 \
)

A mask of IRIG TX formats with 100 kHz carrier.

Definition at line 4304 of file gpsdefs.h.

◆ MSK_ICODE_TX_10BPS

#define MSK_ICODE_TX_10BPS
Value:
( \
MSK_ICODE_TX_E002_E112 \
)

A mask of IRIG TX formats with 10 bps data rate.

Definition at line 4313 of file gpsdefs.h.

◆ MSK_ICODE_TX_10KHZ

#define MSK_ICODE_TX_10KHZ
Value:
( \
MSK_ICODE_TX_A002_A132 | \
MSK_ICODE_TX_A003_A133 | \
MSK_ICODE_TX_A006_A136 | \
MSK_ICODE_TX_A007_A137 \
)

A mask of IRIG TX formats with 10 kHz carrier.

Definition at line 4293 of file gpsdefs.h.

◆ MSK_ICODE_TX_1KHZ

#define MSK_ICODE_TX_1KHZ
Value:
( \
MSK_ICODE_TX_B002_B122 | \
MSK_ICODE_TX_B003_B123 | \
MSK_ICODE_TX_AFNOR | \
MSK_ICODE_TX_IEEE1344 | \
MSK_ICODE_TX_B2201344 | \
MSK_ICODE_TX_B222 | \
MSK_ICODE_TX_B223 | \
MSK_ICODE_TX_B006_B126 | \
MSK_ICODE_TX_B007_B127 | \
MSK_ICODE_TX_C37118 | \
MSK_ICODE_TX_NASA36 \
)

A mask of IRIG TX formats with 1 kHz carrier.

Definition at line 4275 of file gpsdefs.h.

◆ MSK_ICODE_TX_A002_A132

#define MSK_ICODE_TX_A002_A132   ( 1UL << ICODE_TX_A002_A132 )

Definition at line 4233 of file gpsdefs.h.

◆ MSK_ICODE_TX_A003_A133

#define MSK_ICODE_TX_A003_A133   ( 1UL << ICODE_TX_A003_A133 )

Definition at line 4234 of file gpsdefs.h.

◆ MSK_ICODE_TX_A006_A136

#define MSK_ICODE_TX_A006_A136   ( 1UL << ICODE_TX_A006_A136 )

Definition at line 4248 of file gpsdefs.h.

◆ MSK_ICODE_TX_A007_A137

#define MSK_ICODE_TX_A007_A137   ( 1UL << ICODE_TX_A007_A137 )

Definition at line 4249 of file gpsdefs.h.

◆ MSK_ICODE_TX_AFNOR

#define MSK_ICODE_TX_AFNOR   ( 1UL << ICODE_TX_AFNOR )

Definition at line 4235 of file gpsdefs.h.

◆ MSK_ICODE_TX_B002_B122

#define MSK_ICODE_TX_B002_B122   ( 1UL << ICODE_TX_B002_B122 )

Bit masks used with IRIG_INFO::supp_codes for TX.

These bit masks are used with timecode receivers only

See also
ICODE_TX_CODES
ICODE_RX_CODES
ICODE_RX_MASKS

Definition at line 4231 of file gpsdefs.h.

◆ MSK_ICODE_TX_B003_B123

#define MSK_ICODE_TX_B003_B123   ( 1UL << ICODE_TX_B003_B123 )

Definition at line 4232 of file gpsdefs.h.

◆ MSK_ICODE_TX_B006_B126

#define MSK_ICODE_TX_B006_B126   ( 1UL << ICODE_TX_B006_B126 )

Definition at line 4240 of file gpsdefs.h.

◆ MSK_ICODE_TX_B007_B127

#define MSK_ICODE_TX_B007_B127   ( 1UL << ICODE_TX_B007_B127 )

Definition at line 4241 of file gpsdefs.h.

◆ MSK_ICODE_TX_B2201344

#define MSK_ICODE_TX_B2201344   ( 1UL << ICODE_TX_B2201344 )

Definition at line 4237 of file gpsdefs.h.

◆ MSK_ICODE_TX_B222

#define MSK_ICODE_TX_B222   ( 1UL << ICODE_TX_B222 )

Definition at line 4238 of file gpsdefs.h.

◆ MSK_ICODE_TX_B223

#define MSK_ICODE_TX_B223   ( 1UL << ICODE_TX_B223 )

Definition at line 4239 of file gpsdefs.h.

◆ MSK_ICODE_TX_C37118

#define MSK_ICODE_TX_C37118   ( 1UL << ICODE_TX_C37118 )

Definition at line 4244 of file gpsdefs.h.

◆ MSK_ICODE_TX_DC_MANCH

#define MSK_ICODE_TX_DC_MANCH
Value:
( \
MSK_ICODE_TX_B2201344 | \
MSK_ICODE_TX_B222 | \
MSK_ICODE_TX_B223 \
)

A mask of IRIG TX formats with manchester encoded DC output.

Definition at line 4257 of file gpsdefs.h.

◆ MSK_ICODE_TX_E002_E112

#define MSK_ICODE_TX_E002_E112   ( 1UL << ICODE_TX_E002_E112 )

Definition at line 4246 of file gpsdefs.h.

◆ MSK_ICODE_TX_G002_G142

#define MSK_ICODE_TX_G002_G142   ( 1UL << ICODE_TX_G002_G142 )

Definition at line 4242 of file gpsdefs.h.

◆ MSK_ICODE_TX_G006_G146

#define MSK_ICODE_TX_G006_G146   ( 1UL << ICODE_TX_G006_G146 )

Definition at line 4243 of file gpsdefs.h.

◆ MSK_ICODE_TX_HAS_AFNOR_DATE

#define MSK_ICODE_TX_HAS_AFNOR_DATE
Value:
( \
MSK_ICODE_TX_AFNOR | \
MSK_ICODE_TX_AFNOR_DC \
)

A mask of IRIG TX formats supporting a date (day-of-month, month)

Definition at line 4492 of file gpsdefs.h.

◆ MSK_ICODE_TX_HAS_AFNOR_WDAY

#define MSK_ICODE_TX_HAS_AFNOR_WDAY
Value:
( \
MSK_ICODE_TX_AFNOR | \
MSK_ICODE_TX_AFNOR_DC \
)

A mask of IRIG TX formats supporting a day of week number.

Definition at line 4483 of file gpsdefs.h.

◆ MSK_ICODE_TX_HAS_ANY_SHORT_YEAR

#define MSK_ICODE_TX_HAS_ANY_SHORT_YEAR
Value:
( \
MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P5 | \
MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P6 \
)

A mask of IRIG TX formats providing a short year number in general.

Depending on the code format, the year number can be transmitted either after position identifier P5, or after P6.

See also
MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P5
MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P6

Definition at line 4421 of file gpsdefs.h.

◆ MSK_ICODE_TX_HAS_CTQ

#define MSK_ICODE_TX_HAS_CTQ
Value:
( \
MSK_ICODE_TX_IEEE1344 | \
MSK_ICODE_TX_C37118 \
)

A mask of IRIG TX formats supporting CTQ continuous time quality.

This has been introduced in IEEE C37.118.1-2011

Definition at line 4441 of file gpsdefs.h.

◆ MSK_ICODE_TX_HAS_SEC100THS

#define MSK_ICODE_TX_HAS_SEC100THS
Value:
( \
MSK_ICODE_TX_G002_G142 | \
MSK_ICODE_TX_G006_G146 \
)

A mask of IRIG TX formats supporting 100ths of seconds.

Definition at line 4368 of file gpsdefs.h.

◆ MSK_ICODE_TX_HAS_SEC10THS

#define MSK_ICODE_TX_HAS_SEC10THS
Value:
( \
MSK_ICODE_TX_A002_A132 | \
MSK_ICODE_TX_A003_A133 | \
MSK_ICODE_TX_G002_G142 | \
MSK_ICODE_TX_G006_G146 | \
MSK_ICODE_TX_A006_A136 | \
MSK_ICODE_TX_A007_A137 \
)

A mask of IRIG TX formats supporting 10ths of seconds.

Definition at line 4355 of file gpsdefs.h.

◆ MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P5

#define MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P5
Value:
( \
MSK_ICODE_TX_AFNOR | \
MSK_ICODE_TX_IEEE1344 | \
MSK_ICODE_TX_B2201344 | \
MSK_ICODE_TX_B006_B126 | \
MSK_ICODE_TX_B007_B127 | \
MSK_ICODE_TX_C37118 | \
MSK_ICODE_TX_A006_A136 | \
MSK_ICODE_TX_A007_A137 \
)

A mask of IRIG TX formats providing a short year number after P5.

The IEEE codes, the AFNOR codes, and some IRIG codes provide a 2 digit year number after position identifier P5. However, some IRIG G codes provide a 100ths-of-seconds field after P5,and eventually provide a year number after P6.

See also
MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P6
MSK_ICODE_TX_HAS_ANY_SHORT_YEAR

Definition at line 4385 of file gpsdefs.h.

◆ MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P6

#define MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P6
Value:
( \
MSK_ICODE_TX_G006_G146 \
)

A mask of IRIG TX formats providing a short year number after P6.

While most time codes that provide a year number do this after P5, there are some IRIG codes which provide a 100ths-of-seconds field at that position, and eventually provide a year number after P6.

See also
MSK_ICODE_TX_HAS_SHORT_YEAR_AFTER_P5
MSK_ICODE_TX_HAS_ANY_SHORT_YEAR

Definition at line 4407 of file gpsdefs.h.

◆ MSK_ICODE_TX_HAS_TFOM

#define MSK_ICODE_TX_HAS_TFOM
Value:
( \
MSK_ICODE_TX_IEEE1344 | \
MSK_ICODE_TX_C37118 \
)

A mask of IRIG TX formats supporting TFOM.

Definition at line 4430 of file gpsdefs.h.

Referenced by print_cfg_tx(), and set_new_tfom_flag().

◆ MSK_ICODE_TX_HAS_TZI

#define MSK_ICODE_TX_HAS_TZI
Value:
( \
MSK_ICODE_TX_IEEE1344 | \
MSK_ICODE_TX_C37118 \
)

A mask of IRIG TX formats supporting time zone information.

Definition at line 4450 of file gpsdefs.h.

◆ MSK_ICODE_TX_IEEE1344

#define MSK_ICODE_TX_IEEE1344   ( 1UL << ICODE_TX_IEEE1344 )

Definition at line 4236 of file gpsdefs.h.

◆ MSK_ICODE_TX_NASA36

#define MSK_ICODE_TX_NASA36   ( 1UL << ICODE_TX_NASA36 )

Definition at line 4247 of file gpsdefs.h.

◆ MSK_ICODE_TX_TXC101

#define MSK_ICODE_TX_TXC101   ( 1UL << ICODE_TX_TXC101 )

Definition at line 4245 of file gpsdefs.h.

◆ MSK_ICODE_TX_UTC_OFFS_ADD

#define MSK_ICODE_TX_UTC_OFFS_ADD
Value:
( \
MSK_ICODE_TX_C37118 \
)

IRIG TX formats where UTC offset must be added to yield UTC.

A mask of IRIG formats where the decoded UTC offset must be added to the time decoded from the IRIG signal to yield UTC, e.g.:
(IRIG time 14:43:27 h) + (offs -6 h) = (UTC 08:43:27)

Definition at line 4475 of file gpsdefs.h.

◆ MSK_ICODE_TX_UTC_OFFS_SUB

#define MSK_ICODE_TX_UTC_OFFS_SUB
Value:
( \
MSK_ICODE_TX_IEEE1344 \
)

IRIG TX formats where UTC offset must be subtracted to yield UTC.

A mask of IRIG formats where the decoded UTC offset must be subtracted from the time decoded from the IRIG signal to yield UTC, e.g.:
(IRIG time 14:43:27 h) - (offs -6 h) = (UTC 20:43:27)

Definition at line 4463 of file gpsdefs.h.

◆ SUPP_MSK_ICODE_RX

#define SUPP_MSK_ICODE_RX
Value:
( \
MSK_ICODE_RX_B122_B123 | \
MSK_ICODE_RX_A132_A133 | \
MSK_ICODE_RX_B002_B003 | \
MSK_ICODE_RX_A002_A003 | \
MSK_ICODE_RX_AFNOR | \
MSK_ICODE_RX_AFNOR_DC \
)

The default mask of IRIG RX formats supported by IRIG receivers.

Note
The formats which are actually supported should be retrieved from the device

Definition at line 4979 of file gpsdefs.h.

◆ SUPP_MSK_ICODE_TX

#define SUPP_MSK_ICODE_TX
Value:
( \
MSK_ICODE_TX_B002_B122 | \
MSK_ICODE_TX_B003_B123 | \
MSK_ICODE_TX_A002_A132 | \
MSK_ICODE_TX_A003_A133 | \
MSK_ICODE_TX_AFNOR \
)

The default mask of IRIG TX formats supported by IRIG transmitters.

Note
The formats which are actually supported should be retrieved from the device

Definition at line 4506 of file gpsdefs.h.

Enumeration Type Documentation

◆ ICODE_RX_CODES

Known IRIG RX code formats.

Used with IRIG_SETTINGS::icode for IRIG receivers. For IRIG transmitters see ICODE_TX_CODES.

The SBS value is redundant and can easily by computed from the time-of-day, so Meinberg time code receivers usually don't evaluate the SBS field anyway, and thus it makes no difference if a code with or withour SBS is supplied.

Enumerator
ICODE_RX_B122_B123 

modulated

ICODE_RX_A132_A133 

modulated

ICODE_RX_B002_B003 

DCLS.

ICODE_RX_A002_A003 

DCLS.

ICODE_RX_AFNOR 

modulated

ICODE_RX_AFNOR_DC 

DCLS.

ICODE_RX_IEEE1344 

modulated

ICODE_RX_IEEE1344_DC 

DCLS.

ICODE_RX_B126_B127 

modulated

ICODE_RX_B006_B007 

DCLS.

ICODE_RX_G142 

modulated (G143 is undefined, SBS not supported with Gxxx)

ICODE_RX_G002 

DCLS (G003 is undefined, SBS not supported with Gxxx)

ICODE_RX_C37118 

modulated

ICODE_RX_C37118_DC 

DCLS.

ICODE_RX_TXC101 

modulated

ICODE_RX_TXC101_DC 

DCLS.

ICODE_RX_E112 

modulated

ICODE_RX_E002 

DCLS.

ICODE_RX_NASA36 

modulated

ICODE_RX_NASA36_DC 

DCLS.

ICODE_RX_A136_A137 

modulated

ICODE_RX_A006_A007 

DCLS.

ICODE_RX_G146 

modulated (G147 is undefined, SBS not supported with Gxxx)

ICODE_RX_G006 

DCLS (G007 is undefined, SBS not supported with Gxxx)

N_ICODE_RX 

the number of known codes

Definition at line 4530 of file gpsdefs.h.

◆ ICODE_TX_CODES

Known IRIG TX code formats.

Used with IRIG_SETTINGS::icode for IRIG transmitters. For IRIG receivers see ICODE_RX_CODES.

Meinberg timecode transmitters always generate the unmodulated (DCLS) and usually the modulated timecode signals internally at the same time, so the code definitions always refer to both.

Note
Not all device may provide both the modulated and unmodulated signal externally.
Enumerator
ICODE_TX_B002_B122 
ICODE_TX_B003_B123 
ICODE_TX_A002_A132 
ICODE_TX_A003_A133 
ICODE_TX_AFNOR 
ICODE_TX_IEEE1344 
ICODE_TX_B2201344 

DCLS only.

ICODE_TX_B222 

DCLS only.

ICODE_TX_B223 

DCLS only.

ICODE_TX_B006_B126 
ICODE_TX_B007_B127 
ICODE_TX_G002_G142 
ICODE_TX_G006_G146 
ICODE_TX_C37118 
ICODE_TX_TXC101 
ICODE_TX_E002_E112 
ICODE_TX_NASA36 
ICODE_TX_A006_A136 
ICODE_TX_A007_A137 
N_ICODE_TX 

number of known codes

Definition at line 4107 of file gpsdefs.h.