272 #ifndef _USE_PCPSPRIV 273 #define _USE_PCPSPRIV _IS_MBG_FIRMWARE 277 #include <pcpspriv.h> 282 #if defined( _USE_PACK ) 283 #pragma pack( 1 ) // set byte alignment 284 #define _USING_BYTE_ALIGNMENT 313 #define PCPS_REF_NAME_NONE_ENG "unknown" 314 #define PCPS_REF_NAME_NONE_GER "nicht bekannt" 315 #define PCPS_REF_NAME_DCF "DCF77" 316 #define PCPS_REF_NAME_GPS "GPS" 317 #define PCPS_REF_NAME_IRIG "IRIG" 318 #define PCPS_REF_NAME_MSF "MSF" 319 #define PCPS_REF_NAME_PTP "PTP" 320 #define PCPS_REF_NAME_FRC "FRC" 321 #define PCPS_REF_NAME_WWVB "WWVB" 322 #define PCPS_REF_NAME_JJY "JJY" 332 #define PCPS_REF_NAMES_ENG \ 334 PCPS_REF_NAME_NONE_ENG, \ 337 PCPS_REF_NAME_IRIG, \ 341 PCPS_REF_NAME_WWVB, \ 351 #define PCPS_REF_NAMES_LSTR \ 353 { PCPS_REF_NAME_NONE_ENG, PCPS_REF_NAME_NONE_GER }, \ 354 { PCPS_REF_NAME_DCF, NULL }, \ 355 { PCPS_REF_NAME_GPS, NULL }, \ 356 { PCPS_REF_NAME_IRIG, NULL }, \ 357 { PCPS_REF_NAME_MSF, NULL }, \ 358 { PCPS_REF_NAME_PTP, NULL }, \ 359 { PCPS_REF_NAME_FRC, NULL }, \ 360 { PCPS_REF_NAME_WWVB, NULL }, \ 361 { PCPS_REF_NAME_JJY, NULL } \ 371 #define PCI_VENDOR_MEINBERG 0x1360 384 #define PCI_DEV_PCI32 ( ( PCPS_REF_DCF << 8 ) | 0x01 ) 385 #define PCI_DEV_PCI509 ( ( PCPS_REF_DCF << 8 ) | 0x02 ) 386 #define PCI_DEV_PCI510 ( ( PCPS_REF_DCF << 8 ) | 0x03 ) 387 #define PCI_DEV_PCI511 ( ( PCPS_REF_DCF << 8 ) | 0x04 ) 388 #define PCI_DEV_PEX511 ( ( PCPS_REF_DCF << 8 ) | 0x05 ) 389 #define PCI_DEV_PZF180PEX ( ( PCPS_REF_DCF << 8 ) | 0x06 ) 391 #define PCI_DEV_GPS167PCI ( ( PCPS_REF_GPS << 8 ) | 0x01 ) 392 #define PCI_DEV_GPS168PCI ( ( PCPS_REF_GPS << 8 ) | 0x02 ) 393 #define PCI_DEV_GPS169PCI ( ( PCPS_REF_GPS << 8 ) | 0x03 ) 394 #define PCI_DEV_GPS170PCI ( ( PCPS_REF_GPS << 8 ) | 0x04 ) 395 #define PCI_DEV_GPS170PEX ( ( PCPS_REF_GPS << 8 ) | 0x05 ) 396 #define PCI_DEV_GPS180PEX ( ( PCPS_REF_GPS << 8 ) | 0x06 ) 397 #define PCI_DEV_GLN180PEX ( ( PCPS_REF_GPS << 8 ) | 0x07 ) 398 #define PCI_DEV_GPS180AMC ( ( PCPS_REF_GPS << 8 ) | 0x08 ) 399 #define PCI_DEV_GNS181PEX ( ( PCPS_REF_GPS << 8 ) | 0x09 ) 401 #define PCI_DEV_TCR510PCI ( ( PCPS_REF_IRIG << 8 ) | 0x01 ) 402 #define PCI_DEV_TCR167PCI ( ( PCPS_REF_IRIG << 8 ) | 0x02 ) 403 #define PCI_DEV_TCR511PCI ( ( PCPS_REF_IRIG << 8 ) | 0x03 ) 404 #define PCI_DEV_TCR511PEX ( ( PCPS_REF_IRIG << 8 ) | 0x04 ) 405 #define PCI_DEV_TCR170PEX ( ( PCPS_REF_IRIG << 8 ) | 0x05 ) 406 #define PCI_DEV_TCR180PEX ( ( PCPS_REF_IRIG << 8 ) | 0x06 ) 408 #define PCI_DEV_PTP270PEX ( ( PCPS_REF_PTP << 8 ) | 0x01 ) 410 #define PCI_DEV_FRC511PEX ( ( PCPS_REF_FRC << 8 ) | 0x01 ) 452 #define PCPS_ST_BUSY 0x01 453 #define PCPS_ST_IRQF 0x02 454 #define PCPS_ST_MOD 0x20 455 #define PCPS_ST_SEC 0x40 456 #define PCPS_ST_MIN 0x80 467 #define MBG_PCPS_FMT_STATUS \ 468 "\177\20b\0FREER\0b\1DL_ENB\0b\2SYNCD\0b\3DL_ANN\0b\4UTC\0b\5LS_ANN\0b\6IFTM\0b\7INVT" \ 469 "\0b\x08LS_ENB\0b\11ANT_FAIL\0b\x0aLS_ANN_NEG\0b\x0bSCALE_GPS\0b\x0cSCALE_TAI\0\0" 712 #define PCPS_GIVE_TIME 0x00 713 #define PCPS_GIVE_TIME_NOCLEAR 0x01 714 #define PCPS_GIVE_SYNC_TIME 0x02 715 #define PCPS_GIVE_HR_TIME 0x03 716 #define PCPS_GIVE_IRIG_TIME 0x04 718 #define PCPS_SET_TIME 0x10 720 #define PCPS_SET_EVENT_TIME 0x14 722 #define PCPS_IRQ_NONE 0x20 723 #define PCPS_IRQ_1_SEC 0x21 724 #define PCPS_IRQ_1_MIN 0x22 725 #define PCPS_IRQ_10_MIN 0x24 726 #define PCPS_IRQ_30_MIN 0x28 728 #define PCPS_GET_SERIAL 0x30 729 #define PCPS_SET_SERIAL 0x31 731 #define PCPS_GET_TZCODE 0x32 732 #define PCPS_SET_TZCODE 0x33 734 #define PCPS_GET_PCPS_TZDL 0x34 735 #define PCPS_SET_PCPS_TZDL 0x35 737 #define PCPS_GET_REF_OFFS 0x36 738 #define PCPS_SET_REF_OFFS 0x37 740 #define PCPS_GET_OPT_INFO 0x38 741 #define PCPS_SET_OPT_SETTINGS 0x39 743 #define PCPS_GET_IRIG_RX_INFO 0x3A 744 #define PCPS_SET_IRIG_RX_SETTINGS 0x3B 746 #define PCPS_GET_IRIG_TX_INFO 0x3C 747 #define PCPS_SET_IRIG_TX_SETTINGS 0x3D 749 #define PCPS_GET_SYNTH 0x3E 750 #define PCPS_SET_SYNTH 0x3F 752 #define PCPS_GIVE_FW_ID_1 0x40 753 #define PCPS_GIVE_FW_ID_2 0x41 754 #define PCPS_GIVE_SERNUM 0x42 755 #define PCPS_GENERIC_IO 0x43 756 #define PCPS_GET_SYNTH_STATE 0x44 757 #define PCPS_GET_IRIG_CTRL_BITS 0x45 758 #define PCPS_GET_RAW_IRIG_DATA 0x46 760 #define PCPS_GET_STATUS_PORT 0x4B 761 #define PCPS_GET_DEBUG_STATUS 0x4C 765 #define PCPS_READ_GPS_DATA 0x50 766 #define PCPS_WRITE_GPS_DATA 0x51 768 #define PCPS_CLR_UCAP_BUFF 0x60 769 #define PCPS_GIVE_UCAP_ENTRIES 0x61 770 #define PCPS_GIVE_UCAP_EVENT 0x62 772 #define PCPS_GET_CORR_INFO 0x63 773 #define PCPS_GET_TR_DISTANCE 0x64 774 #define PCPS_SET_TR_DISTANCE 0x65 776 #define PCPS_CLR_EVT_LOG 0x66 777 #define PCPS_NUM_EVT_LOG_ENTRIES 0x67 778 #define PCPS_FIRST_EVT_LOG_ENTRY 0x68 779 #define PCPS_NEXT_EVT_LOG_ENTRY 0x69 781 #define PCPS_FORCE_RESET 0x80 801 #define PCPS_GIVE_TIME_GROUP 0x00 802 #define PCPS_SET_TIME_GROUP 0x10 803 #define PCPS_IRQ_GROUP 0x20 804 #define PCPS_CFG_GROUP 0x30 805 #define PCPS_GIVE_DATA_GROUP 0x40 806 #define PCPS_GPS_DATA_GROUP 0x50 807 #define PCPS_CTRL_GROUP 0x60 808 #define PCPS_CFG2_GROUP 0x70 812 #endif // _IS_MBG_FIRMWARE 816 #if !defined( MBG_CMD_TABLE_EXT ) 817 #define MBG_CMD_TABLE_EXT _mbg_cn_table_end() 828 #define PCPS_CMD_CODES_TABLE \ 830 _mbg_cn_table_entry( PCPS_GIVE_TIME ), \ 831 _mbg_cn_table_entry( PCPS_GIVE_TIME_NOCLEAR ), \ 832 _mbg_cn_table_entry( PCPS_GIVE_SYNC_TIME ), \ 833 _mbg_cn_table_entry( PCPS_GIVE_HR_TIME ), \ 834 _mbg_cn_table_entry( PCPS_GIVE_IRIG_TIME ), \ 835 _mbg_cn_table_entry( PCPS_SET_TIME ), \ 836 _mbg_cn_table_entry( PCPS_SET_EVENT_TIME ), \ 837 _mbg_cn_table_entry( PCPS_IRQ_NONE ), \ 838 _mbg_cn_table_entry( PCPS_IRQ_1_SEC ), \ 839 _mbg_cn_table_entry( PCPS_IRQ_1_MIN ), \ 840 _mbg_cn_table_entry( PCPS_IRQ_10_MIN ), \ 841 _mbg_cn_table_entry( PCPS_IRQ_30_MIN ), \ 842 _mbg_cn_table_entry( PCPS_GET_SERIAL ), \ 843 _mbg_cn_table_entry( PCPS_SET_SERIAL ), \ 844 _mbg_cn_table_entry( PCPS_GET_TZCODE ), \ 845 _mbg_cn_table_entry( PCPS_SET_TZCODE ), \ 846 _mbg_cn_table_entry( PCPS_GET_PCPS_TZDL ), \ 847 _mbg_cn_table_entry( PCPS_SET_PCPS_TZDL ), \ 848 _mbg_cn_table_entry( PCPS_GET_REF_OFFS ), \ 849 _mbg_cn_table_entry( PCPS_SET_REF_OFFS ), \ 850 _mbg_cn_table_entry( PCPS_GET_OPT_INFO ), \ 851 _mbg_cn_table_entry( PCPS_SET_OPT_SETTINGS ), \ 852 _mbg_cn_table_entry( PCPS_GET_IRIG_RX_INFO ), \ 853 _mbg_cn_table_entry( PCPS_SET_IRIG_RX_SETTINGS ), \ 854 _mbg_cn_table_entry( PCPS_GET_IRIG_TX_INFO ), \ 855 _mbg_cn_table_entry( PCPS_SET_IRIG_TX_SETTINGS ), \ 856 _mbg_cn_table_entry( PCPS_GET_SYNTH ), \ 857 _mbg_cn_table_entry( PCPS_SET_SYNTH ), \ 858 _mbg_cn_table_entry( PCPS_GIVE_FW_ID_1 ), \ 859 _mbg_cn_table_entry( PCPS_GIVE_FW_ID_2 ), \ 860 _mbg_cn_table_entry( PCPS_GIVE_SERNUM ), \ 861 _mbg_cn_table_entry( PCPS_GENERIC_IO ), \ 862 _mbg_cn_table_entry( PCPS_GET_SYNTH_STATE ), \ 863 _mbg_cn_table_entry( PCPS_GET_IRIG_CTRL_BITS ), \ 864 _mbg_cn_table_entry( PCPS_GET_RAW_IRIG_DATA ), \ 865 _mbg_cn_table_entry( PCPS_GET_STATUS_PORT ), \ 866 _mbg_cn_table_entry( PCPS_GET_DEBUG_STATUS ), \ 867 _mbg_cn_table_entry( PCPS_READ_GPS_DATA ), \ 868 _mbg_cn_table_entry( PCPS_WRITE_GPS_DATA ), \ 869 _mbg_cn_table_entry( PCPS_CLR_UCAP_BUFF ), \ 870 _mbg_cn_table_entry( PCPS_GIVE_UCAP_ENTRIES ), \ 871 _mbg_cn_table_entry( PCPS_GIVE_UCAP_EVENT ), \ 872 _mbg_cn_table_entry( PCPS_GET_CORR_INFO ), \ 873 _mbg_cn_table_entry( PCPS_GET_TR_DISTANCE ), \ 874 _mbg_cn_table_entry( PCPS_SET_TR_DISTANCE ), \ 875 _mbg_cn_table_entry( PCPS_CLR_EVT_LOG ), \ 876 _mbg_cn_table_entry( PCPS_NUM_EVT_LOG_ENTRIES ), \ 877 _mbg_cn_table_entry( PCPS_FIRST_EVT_LOG_ENTRY ), \ 878 _mbg_cn_table_entry( PCPS_NEXT_EVT_LOG_ENTRY ), \ 879 _mbg_cn_table_entry( PCPS_FORCE_RESET ), \ 881 _mbg_cn_table_end() \ 894 #define PCPS_SUCCESS 0 895 #define PCPS_ERR_STIME -1 896 #define PCPS_ERR_CFG -2 902 #if !defined( BITMASK ) 903 #define BITMASK( b ) ( ( 1 << b ) - 1 ) 908 #define PCPS_FIFO_SIZE 16 915 #define PCPS_ID_SIZE ( 2 * PCPS_FIFO_SIZE + 1 ) 922 #define PCPS_SN_SIZE ( PCPS_FIFO_SIZE + 1 ) 938 #define _mbg_swab_pcps_seconds( _p ) \ 961 #define _mbg_swab_pcps_frac_32( _p ) \ 979 #define _mbg_swab_pcps_time_stamp( _p ) \ 982 _mbg_swab_pcps_seconds( &(_p)->sec ); \ 983 _mbg_swab_pcps_frac_32( &(_p)->frac ); \ 988 #ifndef PCPS_HRT_FRAC_SCALE 996 #define PCPS_HRT_FRAC_SCALE 10000000UL 999 #ifndef PCPS_HRT_FRAC_SCALE_FMT 1008 #define PCPS_HRT_FRAC_SCALE_FMT "%07lu" 1024 #define _mbg_swab_pcps_time_status_x( _p ) _mbg_swab16( _p ) 1034 #define _mbg_swab_pcps_time_status_x_masks( _p ) \ 1037 _mbg_swab_pcps_time_status_x( &(_p)->set_mask ); \ 1038 _mbg_swab_pcps_time_status_x( &(_p)->clr_mask ); \ 1055 #define PCPS_SIG_BIAS 55 1056 #define PCPS_SIG_ERR 1 1057 #define PCPS_SIG_MIN 20 1058 #define PCPS_SIG_MAX 68 1062 #define PCPS_SIG_LVL_SIG_NOT_AVAIL 0 1063 #define PCPS_SIG_LVL_SIG_AVAIL 128 1094 #define _mbg_swab_pcps_hr_time( _p ) \ 1097 _mbg_swab_pcps_time_stamp( &(_p)->tstamp ); \ 1098 _mbg_swab32( &(_p)->utc_offs ); \ 1099 _mbg_swab_pcps_time_status_x( &(_p)->status ); \ 1177 #define sizeof_PCPS_TIME ( sizeof( PCPS_TIME ) - 1 ) 1178 #define sizeof_PCPS_STIME ( sizeof( PCPS_STIME ) - 1 ) 1180 #define sizeof_PCPS_TIME sizeof( PCPS_TIME ) 1181 #define sizeof_PCPS_STIME sizeof( PCPS_STIME ) 1223 #define _mbg_swab_pcps_irig_time( _p ) \ 1226 _mbg_swab_pcps_time_status_x( &(_p)->status ); \ 1227 _mbg_swab16( &(_p)->offs_utc ); \ 1228 _mbg_swab16( &(_p)->yday ); \ 1229 _mbg_swab16( &(_p)->frac ); \ 1238 #define IRIG_TIME_UNKNOWN_YEAR 0xFF 1308 #define PCPS_SCALE_MASK ( PCPS_SCALE_TAI | PCPS_SCALE_GPS ) 1367 #define PCPS_BD_BITS 4 1368 #define PCPS_BD_SHIFT 0 1392 #define PCPS_FR_BITS 2 1393 #define PCPS_FR_SHIFT PCPS_BD_BITS 1416 #define PCPS_MOD_BITS 2 1417 #define PCPS_MOD_SHIFT ( PCPS_BD_BITS + PCPS_FR_BITS ) 1448 #define PCPS_TZCODE_MEZMESZ PCPS_TZCODE_CET_CEST 1449 #define PCPS_TZCODE_MEZ PCPS_TZCODE_CET 1450 #define PCPS_TZCODE_OEZ PCPS_TZCODE_EET_EEST 1471 #define _mbg_swab_pcps_dl_onoff( _p ) \ 1474 _mbg_swab16( &(_p)->year_or_wday ); \ 1492 #define DL_AUTO_FLAG 0x8000 // also defined in gpsdefs.h 1513 #define _mbg_swab_pcps_tzdl( _p ) \ 1516 _mbg_swab16( &(_p)->offs ); \ 1517 _mbg_swab16( &(_p)->offs_dl ); \ 1518 _mbg_swab_pcps_dl_onoff( &(_p)->tm_on ); \ 1519 _mbg_swab_pcps_dl_onoff( &(_p)->tm_off ); \ 1536 #define _mbg_swab_pcps_ucap_entries( _p ) \ 1539 _mbg_swab32( &(_p)->used ); \ 1540 _mbg_swab32( &(_p)->max ); \ 1555 #define _mbg_swab_tr_distance( _p ) \ 1571 #define _mbg_swab_corr_info( _p ) \ 1587 #define PZF_CORR_STATE_NAME_RAW_ENG "Searching" 1588 #define PZF_CORR_STATE_NAME_CHECK_ENG "Correlating" 1589 #define PZF_CORR_STATE_NAME_FINE_ENG "Locked" 1591 #define PZF_CORR_STATE_NAME_RAW_GER "suchen" 1592 #define PZF_CORR_STATE_NAME_CHECK_GER "korrelieren" 1593 #define PZF_CORR_STATE_NAME_FINE_GER "eingerastet" 1596 #define PZF_CORR_STATE_NAMES_ENG \ 1598 PZF_CORR_STATE_NAME_RAW_ENG, \ 1599 PZF_CORR_STATE_NAME_CHECK_ENG, \ 1600 PZF_CORR_STATE_NAME_FINE_ENG \ 1604 #define PZF_CORR_STATE_NAMES_LSTR \ 1606 { PZF_CORR_STATE_NAME_RAW_ENG, PZF_CORR_STATE_NAME_RAW_GER }, \ 1607 { PZF_CORR_STATE_NAME_CHECK_ENG, PZF_CORR_STATE_NAME_CHECK_GER }, \ 1608 { PZF_CORR_STATE_NAME_FINE_ENG, PZF_CORR_STATE_NAME_FINE_GER } \ 1703 #define PC_GPS_CMD_CODES_TABLE \ 1705 _mbg_cn_table_entry( PC_GPS_TZDL ), \ 1706 _mbg_cn_table_entry( PC_GPS_SW_REV ), \ 1707 _mbg_cn_table_entry( PC_GPS_BVAR_STAT ), \ 1708 _mbg_cn_table_entry( PC_GPS_TIME ), \ 1709 _mbg_cn_table_entry( PC_GPS_POS_XYZ ), \ 1710 _mbg_cn_table_entry( PC_GPS_POS_LLA ), \ 1711 _mbg_cn_table_entry( PC_GPS_PORT_PARM ), \ 1712 _mbg_cn_table_entry( PC_GPS_ANT_INFO ), \ 1713 _mbg_cn_table_entry( PC_GPS_UCAP ), \ 1714 _mbg_cn_table_entry( PC_GPS_ENABLE_FLAGS ), \ 1715 _mbg_cn_table_entry( PC_GPS_STAT_INFO ), \ 1716 _mbg_cn_table_entry( PC_GPS_CMD ), \ 1717 _mbg_cn_table_entry( PC_GPS_IDENT ), \ 1718 _mbg_cn_table_entry( PC_GPS_POS ), \ 1719 _mbg_cn_table_entry( PC_GPS_ANT_CABLE_LEN ), \ 1720 _mbg_cn_table_entry( PC_GPS_RECEIVER_INFO ), \ 1721 _mbg_cn_table_entry( PC_GPS_ALL_STR_TYPE_INFO ), \ 1722 _mbg_cn_table_entry( PC_GPS_ALL_PORT_INFO ), \ 1723 _mbg_cn_table_entry( PC_GPS_PORT_SETTINGS_IDX ), \ 1724 _mbg_cn_table_entry( PC_GPS_ALL_POUT_INFO ), \ 1725 _mbg_cn_table_entry( PC_GPS_POUT_SETTINGS_IDX ), \ 1726 _mbg_cn_table_entry( PC_GPS_TIME_SCALE ), \ 1727 _mbg_cn_table_entry( PC_GPS_LAN_IF_INFO ), \ 1728 _mbg_cn_table_entry( PC_GPS_IP4_STATE ), \ 1729 _mbg_cn_table_entry( PC_GPS_IP4_SETTINGS ), \ 1730 _mbg_cn_table_entry( PC_GPS_PTP_STATE ), \ 1731 _mbg_cn_table_entry( PC_GPS_PTP_CFG ), \ 1732 _mbg_cn_table_entry( PC_GPS_PTP_UC_MASTER_CFG_LIMITS ), \ 1733 _mbg_cn_table_entry( PC_GPS_ALL_PTP_UC_MASTER_INFO ), \ 1734 _mbg_cn_table_entry( PC_GPS_PTP_UC_MASTER_SETTINGS_IDX ), \ 1735 _mbg_cn_table_entry( PC_GPS_GPIO_CFG_LIMITS ), \ 1736 _mbg_cn_table_entry( PC_GPS_ALL_GPIO_INFO ), \ 1737 _mbg_cn_table_entry( PC_GPS_GPIO_SETTINGS_IDX ), \ 1738 _mbg_cn_table_entry( PC_GPS_GNSS_MODE ), \ 1739 _mbg_cn_table_entry( PC_GPS_ALL_GNSS_SAT_INFO ), \ 1740 _mbg_cn_table_entry( PC_GPS_XMR_INSTANCES ), \ 1741 _mbg_cn_table_entry( PC_GPS_XMR_SETTINGS_IDX ), \ 1742 _mbg_cn_table_entry( PC_GPS_ALL_XMR_INFO ), \ 1743 _mbg_cn_table_entry( PC_GPS_ALL_XMR_STATUS ), \ 1744 _mbg_cn_table_entry( PC_GPS_XMR_HOLDOVER_STATUS ), \ 1745 _mbg_cn_table_entry( PC_GPS_ALL_GPIO_STATUS ), \ 1746 _mbg_cn_table_entry( PC_GPS_XFEATURE_BUFFER ), \ 1747 _mbg_cn_table_entry( PC_GPS_TLV_INFO ), \ 1749 _mbg_cn_table_entry( PC_GPS_CFGH ), \ 1750 _mbg_cn_table_entry( PC_GPS_ALM ), \ 1751 _mbg_cn_table_entry( PC_GPS_EPH ), \ 1752 _mbg_cn_table_entry( PC_GPS_UTC ), \ 1753 _mbg_cn_table_entry( PC_GPS_IONO ), \ 1754 _mbg_cn_table_entry( PC_GPS_ASCII_MSG ), \ 1755 _mbg_cn_table_end() \ 1790 #if defined( _USING_BYTE_ALIGNMENT ) 1791 #pragma pack() // set default alignment 1792 #undef _USING_BYTE_ALIGNMENT events read too slow (capture events only)
char corr_dir
space, '<', or '>', just for information
uint16_t TR_DISTANCE
Receiver distance from transmitter [km].
int16_t offs
offset from UTC to local time [min] (local time = UTC + offs)
East European Time, CET/CEST + 1h.
(r/w) UTC, UTC corr. param., only if PCPS_HAS_UTC_PARM
uint8_t PCPS_TZCODE
Type of variable to hold a TZ code.
invalid time because battery had been disconnected, or absolute time can't be decoded safely ...
uint8_t year
year of the century, 0..99
(r/-) IDENT, serial number, deprecated by PC_GPS_RECEIVER_INFO
(-/w) POUT_SETTINGS_IDX, settings for one programmable output
(r/w) TTM, current time, deprecated by PCPS_GIVE_HR_TIME
the number of valid codes
uint32_t used
the number of saved capture events
(r/w) ENABLE_FLAGS, when to enable serial, pulses, and synth, only if GPS_MODEL_HAS_ENABLE_FLAGS ...
PCPS_TIME_STATUS status
status bits, see PCPS_TIME_STATUS_FLAGS_COMMON
uint8_t mday
day of month, 0..31
(-/-) SV_ALM, one SV's num and almanac (yet not used)
(r/-) PTP_UC_MASTER_CFG_LIMITS, only if PTP_CFG_MSK_SUPPORT_PTP_UNICAST
PCPS_TIME_STATUS_FLAGS_EXT
Extended time status flags.
uint8_t sec100
hundredths of seconds, 0..99, 10 ms resolution
PTP/IEEE1588 network protocol.
Daylight changeover specification.
(r/-) MBG_TLV_INFO, only if MBG_XFEATURE_TLV_API
(-/w) MBG_GPIO_SETTINGS_IDX, settings for a specific port, only if GPS_HAS_GPIO
(r/-) XMR_HOLDOVER_STATUS, only if XMRIF_MSK_HOLDOVER_STATUS_SUPP
PCPS_TZCODES
Enumeration of codes used with PCPS_TZCODE.
(-/-) SV_EPH, one SV's num and ephemeris (yet not used)
time string once per second
time string once per minute
PCPS_SECONDS sec
seconds since 1970, usually UTC scale
trying raw correlation, combi receivers running in AM mode
uint16_t frac
fractions of seconds, 0.1 ms units
announced leap second is negative
uint8_t PCPS_STATUS_PORT
Type of the status register port.
(-/-) CFGH, SVs' config. and health codes (yet not used)
uint32_t PCPS_FRAC_32
32 bit binary fraction of a second
PCPS_MOD_CODES
Deprecated codes for modes of operation.
(-/w) PORT_SETTINGS_IDX, settings for specified serial port, only if RECEIVER_INFO::n_com_ports > 0 ...
uint8_t PCPS_SERIAL
Legacy definitions used to configure a device's serial port.
PCPS_TIME_STATUS_X status
status bits, see PCPS_TIME_STATUS_FLAGS
uint8_t mday
day of month, 0..31
uint8_t month
month, 1..12
uint16_t year_or_wday
The full year number, or 0..6 == Sun..Sat if the DL_AUTO_FLAG is set.
uint8_t min
minutes, 0..59
(r/-) n * MBG_GPIO_INFO_IDX, all GPIO info, only if GPS_HAS_GPIO
uint8_t sec
seconds, 0..59, or 60 if leap second
#define PCPS_ID_SIZE
The maximum length of an ID string, including terminating 0.
(-/w) XYZ, current position in ECEF coordinates, only if GPS_MODEL_HAS_POS_XYZ
(r/w) TZDL, time zone / daylight saving, only if GPS_MODEL_HAS_TZDL
(r/w) ANT_CABLE_LEN, length of antenna cable, only if GPS_MODEL_HAS_ANT_CABLE_LEN ...
uint8_t val
correlation value, or check count if status ==:: PZF_CORR_CHECK
Status of the time capture FIFO buffer.
(r/-) BVAR_STAT, status of buffered variables, only if GPS_MODEL_HAS_BVAR_STAT
uint8_t status
status codes, see PZF_CORR_STATES
(-/w) LLA, current position in geographic coordinates, only if GPS_MODEL_HAS_POS_LLA ...
initialize the oscillator disciplining values
number of defined ref time sources
int32_t utc_offs
UTC offs [sec] (loc_time = tstamp + utc_offs)
Specification of a local time zone.
(r/-) IP4_SETTINGS, LAN interface state, only if PCPS_HAS_LAN_INTF
PCPS_TIME_STATUS_X status
status bits, see PCPS_TIME_STATUS_FLAGS
current second is leap second
time string on request '?' only
(-/w) GPS_CMD, send one of the PC_GPS_COMMANDS
#define PCPS_FIFO_SIZE
The size of a bus level device's command/data FIFO.
uint8_t sec
seconds, 0..59, may be 60 for leap second
Date time and status used with the PCPS_SET_TIME command.
uint32_t max
capture buffer size
IRIG or similar time code, see http://www.meinberg.de/english/info/irig.htm.
PCPS_DL_ONOFF tm_on
date/time when daylight saving starts
uint8_t min
minutes, 0..59
(r/w) MBG_GNSS_MODE_INFO / MBG_GNSS_MODE_SETTINGS, only if PCPS_IS_GNSS
force a GPS receiver to boot mode
(-/w) XMULTI_REF_SETTINGS_IDX, idx 0..XMULTI_REF_INSTANCES::n_xmr_settings-1, only if GPS_HAS_XMULTI_...
(r/-) n * MBG_GPIO_STATUS_IDX, where n == MBG_GPIO_CFG_LIMITS::num_io, only if MBG_GPIO_CFG_LIMIT_FLA...
(r/-) XMULTI_REF_INSTANCES, only if GPS_HAS_XMULTI_REF and GPS_HAS_XMRS_MULT_INSTC ...
PCPS_FRAC_32 frac
binary fractions of second, see PCPS_FRAC_32
daylight saving currently enabled
(r/w) PTP_CFG_SETTINGS / PTP_CFG_INFO, only if PCPS_HAS_PTP
raw correlation achieved, doing plausibility checks
uint8_t PCPS_SIG_VAL
Definitions used to report a signal strength.
char PCPS_SN_STR[(16+1)]
A buffer for a serial number string, including terminating 0.
PCPS_TIME_STAMP tstamp
High resolution time stamp (UTC)
uint32_t PCPS_SECONDS
Seconds since epoch 1970-01-01, usually UTC scale.
returned time is always UTC instead of some local time
(r/w) IP4_SETTINGS, LAN interface configuration, only if PCPS_HAS_LAN_INTF
long wave or time code receiver has sync'ed at least once after pwr up, sat receiver is synchronized ...
PCPS_BD_CODES
Deprecated baud rate indices.
the current time has been set by an API call, for very old clocks see REV_PCPS_IFTM_PC31PS31 ...
PC_GPS_CMD_CODES
GPS Command codes passed via the system bus.
uint16_t yday
day of year, 1..365/366
reset the clock's user parameters to defaults
PCPS_TIME_STATUS_FLAGS_COMMON
Time status flags.
PCPS_REF_TYPES
Enumeration of the ref time signal sources used by Meinberg devices.
(r/-) PTP_STATE, only if PCPS_HAS_PTP
no command, just the number of known commands
char PCPS_ID_STR[(2 *16+1)]
A buffer for an ID string, including terminating 0.
#define PCPS_SN_SIZE
The maximum length of a serial number string, including terminating 0.
(r/-) n * PORT_INFO_IDX, settings and capabilities of all serial ports, only if RECEIVER_INFO::n_com_...
(r/-) POS, position XYZ, LLA, and DMS combined, only if GPS_MODEL_HAS_POS
(r/-) n * GNSS_SAT_INFO_IDX, satellite info, only if PCPS_IS_GNSS
DCF77 long wave signal (Germany), see http://www.meinberg.de/english/info/dcf77.htm.
uint8_t year
year of the century, 0..99
default as broadcast by DCF77 (UTC+1h/UTC+2h)
(r/-) MBG_GPIO_CFG_LIMITS, only if GPS_HAS_GPIO
int8_t offs_utc
[hours], 0 if not _pcps_has_utc_offs
fine correlation achieved
JJY long wave signal (Japan)
uint8_t sec100
hundredths of seconds, 0..99, 10 ms resolution
(r/-) RECEIVER_INFO, rcvr model info, only if PCPS_HAS_RECEIVER_INFO
(r/-) LAN_IF_INFO, LAN interface info, only if PCPS_HAS_LAN_INTF
(r/w) MBG_TIME_SCALE_SETTINGS / MBG_TIME_SCALE_INFO, only if PCPS_HAS_TIME_SCALE
PCPS_TIME_STATUS_X set_mask
MSF long wave signal (UK)
a change in daylight saving status is announced
(r/-) MBG_XFEATURE_BUFFER, only if GPS_HAS_XFEATURE
(r/-) n * PTP_UC_MASTER_INFO_IDX, only if PTP_CFG_MSK_SUPPORT_PTP_UNICAST
always CET (UTC+1h), discard DST
GPS satellite system, see http://www.meinberg.de/english/info/gps.htm.
PZF correlation status info.
uint8_t wday
day of week, 1..7, 1 = Monday
High resolution time including status and local time offset.
(-/-) ASCII_MSG, the GPS ASCII message (yet not used)
(r/w) PORT_PARM, param. of the serial ports, deprecated by PC_GPS_ALL_PORT_INFO
int8_t PCPS_BUFF[16]
A data buffer for a bus level device's command/data.
let the clock clear its system variables
(r/-) GPS_STAT_INFO, satellite info, mode of operation, and DAC info, only if GPS_MODEL_HAS_STAT_INFO...
PCPS_SIG_VAL signal
signal strength, see PCPS_SIG_VAL_DEFS
PCPS_SIG_VAL signal
signal strength, see PCPS_SIG_VAL_DEFS, or capture input channel number
Local calendar date and time, plus sync status.
PZF_CORR_STATES
Codes used with CORR_INFO::status.
uint16_t PCPS_TIME_STATUS_X
Extended status code.
A high resolution time stamp.
(r/-) n * XMULTI_REF_INFO_IDX, where n == XMULTI_REF_INSTANCES::n_xmr_settings, only if GPS_HAS_XMULT...
(-/w) PTP_UC_MASTER_SETTINGS_IDX, only if PTP_CFG_MSK_SUPPORT_PTP_UNICAST
WWVB long wave signal (U.S.)
(-/-) IONO, ionospheric corr. param. (yet not used)
PCPS_SIG_VAL signal
signal strength, see PCPS_SIG_VAL_DEFS
PCPS_FR_CODES
Deprecated framing code indices.
int16_t offs_dl
additional offset if DST enabled [min] (DST time = local time + offs_dl)
(r/w) n * XMULTI_REF_STATUS_IDX, where n == XMULTI_REF_INSTANCES::n_xmr_settings, one structure on wr...
PCPS_DL_ONOFF tm_off
date/time when daylight saving ends
uint8_t reserved
currently not used, always 0
(r/-) SW_REV, software revision, deprecated by PC_GPS_RECEIVER_INFO
uint8_t min
minutes, 0..59
uint8_t PCPS_TIME_STATUS
Time synchronization status.
int16_t offs_utc
[minutes], 0 unless supported by the code format, see MSK_ICODE_RX_HAS_TZI
(r/-) TTM, user capture events, deprecated by PCPS_GIVE_UCAP_EVENT
(r/-) ANT_INFO, time diff at sync. after antenna had been disconn., only if GPS_MODEL_HAS_ANT_INFO ...
uint16_t PCPS_CMD_INFO
A type used to store an unambiguous command code.
long wave or time code receiver running on xtal, satellite receiver has not verified its position ...
(r/-) n * POUT_INFO_IDX, all programmable output info
PCPS_TIME_STATUS_X clr_mask
uint8_t month
month, 1..12
events interval too short (capture events only)
PCPS_TIME_STATUS status
status bits, see PCPS_TIME_STATUS_FLAGS_COMMON
uint8_t sec
seconds, 0..59, or 60 if leap second
leap second announced, for very old clocks see REV_PCPS_LS_ANN_PC31PS31
uint8_t wday
day of week, 1..7, 1 = Monday
(r/-) n * STR_TYPE_INFO_IDX, names and capabilities of all supp. string types, only if RECEIVER_INFO:...
PC_GPS_COMMANDS
Codes used with PC_GPS_CMD.