mbgtools-lx  4.2.8
Programmable Output API

Data Structures

struct  MBG_DATE
 A calendar date including full year number. More...
 
struct  MBG_TIME
 The time of day including hundredths of seconds. More...
 
struct  MBG_DATE_TIME
 Date and time specification for switching operations. More...
 
struct  POUT_TIME
 A structure to define on/off cycle times. More...
 
union  POUT_DATA
 A Generic data field for programmable output settings. More...
 
struct  POUT_SETTINGS
 Configuration settings for a single programmable pulse output. More...
 
struct  POUT_SETTINGS_IDX
 Configuration settings for a specific programmable pulse output. More...
 
struct  POUT_INFO
 Current settings and general capabilities of a programmable pulse output. More...
 
struct  POUT_INFO_IDX
 Current settings and general capabilities of a specific programmable pulse output. More...
 

Macros

#define _mbg_swab_mbg_date(_p)
 
#define _mbg_swab_mbg_time(_p)   _nop_macro_fnc()
 
#define _mbg_swab_mbg_date_time(_p)
 
#define _mbg_swab_pout_time(_p)
 
#define N_POUT_TIMES   3
 The number of POUT_TIME settings for each programmable pulse output. More...
 
#define DEFAULT_POUT_PULSE_SHIFT_MIN   -500000000L
 Default minimum value for POUT_DATA::pulse_shift, in [ns]. More...
 
#define DEFAULT_POUT_PULSE_SHIFT_MAX   499000000L
 Default maximum value for POUT_DATA::pulse_shift, in [ns]. More...
 
#define _mbg_swab_pout_data(_p, _mode)
 Convert POUT_DATA endianess depending on the mode. More...
 
#define _mbg_swab_pout_settings_on_get(_p)
 Convert POUT_SETTINGS endianess after reading from a device. More...
 
#define _mbg_swab_pout_settings_on_set(_p)
 Convert POUT_SETTINGS endianess before writing to a device. More...
 
#define MAX_POUT_PULSE_LEN   1000
 10 secs, in 10 msec units More...
 
#define MAX_POUT_DCF_TIMOUT   ( 48 * 60 )
 48 hours, in minutes More...
 
#define DEFAULT_ENG_POUT_NAMES
 An initializer for a table of English POUT name strings. More...
 
#define DEFAULT_ENG_POUT_HINTS
 An initializer for a table of English POUT hint strings. More...
 
#define _mbg_swab_pout_settings_idx_on_set(_p)
 
#define _mbg_swab_pout_settings_idx_on_get(_p)
 
#define _mbg_swab_pout_info_on_get(_p)
 
#define MAX_POUT_TIMESTR_PORTS   8
 The max number of COM ports that can be handled by POUT_INFO::timestr_ports. More...
 
#define _mbg_swab_pout_info_idx_on_get(_p)
 

Enumerations

enum  POUT_MODES {
  POUT_IDLE, POUT_TIMER, POUT_SINGLE_SHOT, POUT_CYCLIC_PULSE,
  POUT_PER_SEC, POUT_PER_MIN, POUT_PER_HOUR, POUT_DCF77,
  POUT_POS_OK, POUT_TIME_SYNC, POUT_ALL_SYNC, POUT_TIMECODE,
  POUT_TIMESTR, POUT_10MHZ, POUT_DCF77_M59, POUT_SYNTH,
  POUT_TIME_SLOTS, POUT_GPIO, POUT_PTTI_PPS, POUT_HAVEQUICK,
  N_POUT_MODES
}
 Enumeration of known operation modes for programmable pulse outputs. More...
 
enum  POUT_SETTINGS_FLAG_BITS { POUT_BIT_INVERTED, POUT_BIT_IF_SYNC_ONLY, POUT_BIT_TIMEBASE_UTC, N_POUT_SETTINGS_FLAG_BITS }
 Flag bits used to define POUT_SETTINGS_FLAGS. More...
 
enum  POUT_SETTINGS_FLAGS { POUT_INVERTED = ( 1UL << POUT_BIT_INVERTED ), POUT_IF_SYNC_ONLY = ( 1UL << POUT_BIT_IF_SYNC_ONLY ), POUT_TIMEBASE_UTC = ( 1UL << POUT_BIT_TIMEBASE_UTC ) }
 Flag bit masks used with POUT_SETTINGS::flags. More...
 
enum  POUT_INFO_FLAG_BITS {
  POUT_BIT_SUPP_IF_SYNC_ONLY, POUT_BIT_SUPP_DCF77_UTC, POUT_BIT_FIXED_PULSE_LEN, POUT_BIT_NOT_INVERTIBLE,
  POUT_BIT_SUPP_PULSE_SHIFT, N_POUT_INFO_FLAG_BITS
}
 Flag bits used to define POUT_INFO_FLAG_MASKS. More...
 
enum  POUT_INFO_FLAG_MASKS {
  POUT_SUPP_IF_SYNC_ONLY = ( 1UL << POUT_BIT_SUPP_IF_SYNC_ONLY ), POUT_SUPP_DCF77_UTC = ( 1UL << POUT_BIT_SUPP_DCF77_UTC ), POUT_FIXED_PULSE_LEN = ( 1UL << POUT_BIT_FIXED_PULSE_LEN ), POUT_NOT_INVERTIBLE = ( 1UL << POUT_BIT_NOT_INVERTIBLE ),
  POUT_SUPP_PULSE_SHIFT = ( 1UL << POUT_BIT_SUPP_PULSE_SHIFT )
}
 Flag bit masks used with POUT_INFO::flags. More...
 
#define MIN_TIME_SLOTS_PER_MINUTE   1
 Definitions used with POUT_TIME_SLOTS mode. More...
 
#define MAX_TIME_SLOTS_PER_MINUTE   60
 
#define TIME_SLOT_REGISTER_IN_SEC   60
 
#define TIMEOUT_DIVIDED_BY   10
 
#define TIME_SLOT_SWITCH_OFF_BUFFER_MIN   50 / TIMEOUT_DIVIDED_BY
 
#define TIME_SLOT_SWITCH_OFF_BUFFER_MAX   500 / TIMEOUT_DIVIDED_BY
 
#define TIME_SLOT_SWITCH_OFF_BUFFER_STD   500 / TIMEOUT_DIVIDED_BY
 
#define TIME_SLOT_SWITCH_OFF_BUFFER_STEP_SIZE   50 / TIMEOUT_DIVIDED_BY
 
#define _valid_time_slots_per_minute(_n)
 
#define MSK_POUT_IDLE   ( 1UL << POUT_IDLE )
 Bit masks associated with POUT_MODES. More...
 
#define MSK_POUT_TIMER   ( 1UL << POUT_TIMER )
 see POUT_TIMER More...
 
#define MSK_POUT_SINGLE_SHOT   ( 1UL << POUT_SINGLE_SHOT )
 see POUT_SINGLE_SHOT More...
 
#define MSK_POUT_CYCLIC_PULSE   ( 1UL << POUT_CYCLIC_PULSE )
 see POUT_CYCLIC_PULSE More...
 
#define MSK_POUT_PER_SEC   ( 1UL << POUT_PER_SEC )
 see POUT_PER_SEC More...
 
#define MSK_POUT_PER_MIN   ( 1UL << POUT_PER_MIN )
 see POUT_PER_MIN More...
 
#define MSK_POUT_PER_HOUR   ( 1UL << POUT_PER_HOUR )
 see POUT_PER_HOUR More...
 
#define MSK_POUT_DCF77   ( 1UL << POUT_DCF77 )
 see POUT_DCF77 More...
 
#define MSK_POUT_POS_OK   ( 1UL << POUT_POS_OK )
 see POUT_POS_OK More...
 
#define MSK_POUT_TIME_SYNC   ( 1UL << POUT_TIME_SYNC )
 see POUT_TIME_SYNC More...
 
#define MSK_POUT_ALL_SYNC   ( 1UL << POUT_ALL_SYNC )
 see POUT_ALL_SYNC More...
 
#define MSK_POUT_TIMECODE   ( 1UL << POUT_TIMECODE )
 see POUT_TIMECODE More...
 
#define MSK_POUT_TIMESTR   ( 1UL << POUT_TIMESTR )
 see POUT_TIMESTR More...
 
#define MSK_POUT_10MHZ   ( 1UL << POUT_10MHZ )
 see POUT_10MHZ More...
 
#define MSK_POUT_DCF77_M59   ( 1UL << POUT_DCF77_M59 )
 see POUT_DCF77_M59 More...
 
#define MSK_POUT_SYNTH   ( 1UL << POUT_SYNTH )
 see POUT_SYNTH More...
 
#define MSK_POUT_TIME_SLOTS   ( 1UL << POUT_TIME_SLOTS )
 see POUT_TIME_SLOTS More...
 
#define MSK_POUT_GPIO   ( 1UL << POUT_GPIO )
 see POUT_GPIO More...
 
#define MSK_POUT_PTTI_PPS   ( 1UL << POUT_PTTI_PPS )
 see POUT_PTTI_PPS More...
 
#define MSK_POUT_HAVEQUICK   ( 1UL << POUT_HAVEQUICK )
 see POUT_HAVEQUICK More...
 
#define POUT_MODES_DATA_TM
 Bit masks indicating which parameters relevant for which POUT_MODES. More...
 
#define POUT_MODES_DATA_TM_0
 POUT modes which use only POUT_DATA::tm[0] as parameter. More...
 
#define POUT_MODES_MODE_PARAM_AS_PULSE_LEN
 POUT modes which use POUT_SETTINGS::mode_param as pulse length. More...
 
#define POUT_MODES_MODE_PARAM_AS_COM_IDX
 POUT modes which use POUT_SETTINGS::mode_param as COM port index number. More...
 
#define POUT_MODES_MODE_PARAM_AS_SLOTS_PER_MIN
 POUT modes which use POUT_SETTINGS::mode_param as time slots per minute. More...
 
#define POUT_MODES_MODE_PARAM_AS_GPIO_IDX
 POUT modes which use POUT_SETTINGS::mode_param as GPIO index number. More...
 
#define POUT_MODES_TIMEOUT
 POUT modes which use POUT_SETTINGS::timeout. More...
 
#define POUT_MODES_SUPP_TIMEBASE_UTC
 POUT modes which which support POUT_TIMEBASE_UTC. More...
 
#define POUT_MODES_DATA_PULSE_SHIFT
 POUT modes which use POUT_DATA::pulse_shift. More...
 
#define POUT_MODES_SUPP_IF_SYNC_ONLY
 POUT modes which support POUT_SUPP_IF_SYNC_ONLY. More...
 
#define ENG_POUT_NAME_IDLE   "Idle"
 Name strings associated with POUT_MODES. More...
 
#define ENG_POUT_NAME_TIMER   "Timer"
 
#define ENG_POUT_NAME_SINGLE_SHOT   "Single Shot"
 
#define ENG_POUT_NAME_CYCLIC_PULSE   "Cyclic Pulse"
 
#define ENG_POUT_NAME_PER_SEC   "Pulse Per Second"
 
#define ENG_POUT_NAME_PER_MIN   "Pulse Per Min"
 
#define ENG_POUT_NAME_PER_HOUR   "Pulse Per Hour"
 
#define ENG_POUT_NAME_DCF77   "DCF77 Marks"
 
#define ENG_POUT_NAME_POS_OK   "Position OK"
 
#define ENG_POUT_NAME_TIME_SYNC   "Time Sync"
 
#define ENG_POUT_NAME_ALL_SYNC   "All Sync"
 
#define ENG_POUT_NAME_TIMECODE   "DCLS Time Code"
 
#define ENG_POUT_NAME_TIMESTR   "Serial Time String"
 
#define ENG_POUT_NAME_10MHZ   "10 MHz Frequency"
 
#define ENG_POUT_NAME_DCF77_M59   "DCF77-like M59"
 
#define ENG_POUT_NAME_SYNTH   "Synthesizer Frequency"
 
#define ENG_POUT_NAME_TIME_SLOTS   "Time Slots per Minute"
 
#define ENG_POUT_NAME_GPIO   "GPIO Signal"
 
#define ENG_POUT_PTTI_PPS   "PTTI 1 PPS"
 
#define ENG_POUT_HAVEQUICK   "HaveQuick"
 
#define ENG_POUT_HINT_IDLE   "Constant output level"
 Hint strings associated with POUT_MODES. More...
 
#define ENG_POUT_HINT_TIMER   "Switch based on configured on/off times"
 
#define ENG_POUT_HINT_SINGLE_SHOT   "Generate a single pulse of determined length"
 
#define ENG_POUT_HINT_CYCLIC_PULSE   "Generate cyclic pulses of determined length"
 
#define ENG_POUT_HINT_PER_SEC   "Generate pulse at beginning of new second"
 
#define ENG_POUT_HINT_PER_MIN   "Generate pulse at beginning of new minute"
 
#define ENG_POUT_HINT_PER_HOUR   "Generate pulse at beginning of new hour"
 
#define ENG_POUT_HINT_DCF77   "DCF77 compatible time marks"
 
#define ENG_POUT_HINT_POS_OK   "Switch if receiver position has been verified"
 
#define ENG_POUT_HINT_TIME_SYNC   "Switch if time is synchronized"
 
#define ENG_POUT_HINT_ALL_SYNC   "Switch if full sync"
 
#define ENG_POUT_HINT_TIMECODE   "Duplicate IRIG time code signal"
 
#define ENG_POUT_HINT_TIMESTR   "Duplicate serial time string of specified port"
 
#define ENG_POUT_HINT_10MHZ   "10 MHz fixed output frequency"
 
#define ENG_POUT_HINT_DCF77_M59   "DCF77 time marks with 500 ms pulse in 59th second"
 
#define ENG_POUT_HINT_SYNTH   "Frequency generated by programmable synthesizer"
 
#define ENG_POUT_HINT_TIME_SLOTS   "Output enabled during specified time slots per minute"
 
#define ENG_POUT_HINT_GPIO   "Duplicated signal of the specified GPIO input or output"
 
#define ENG_POUT_HINT_PTTI_PPS   "Generate 20us Pulse at beginning of the second"
 
#define ENG_POUT_HINT_HAVEQUICK   "Duplicated HaveQuick Signal"
 

Detailed Description

These structures below are used to configure the programmable pulse outputs which are provided by some GPS receivers. The number of programmable pulse outputs supported by a GPS receiver is reported in the RECEIVER_INFO::n_prg_out field.

Macro Definition Documentation

◆ _mbg_swab_mbg_date

#define _mbg_swab_mbg_date (   _p)
Value:
do \
{ \
_mbg_swab16( &(_p)->year ); \
} while ( 0 )

Definition at line 5561 of file gpsdefs.h.

◆ _mbg_swab_mbg_date_time

#define _mbg_swab_mbg_date_time (   _p)
Value:
do \
{ \
_mbg_swab_mbg_date( &(_p)->d ); \
_mbg_swab_mbg_time( &(_p)->t ); \
} while ( 0 )

Definition at line 5596 of file gpsdefs.h.

◆ _mbg_swab_mbg_time

#define _mbg_swab_mbg_time (   _p)    _nop_macro_fnc()

Definition at line 5580 of file gpsdefs.h.

◆ _mbg_swab_pout_data

#define _mbg_swab_pout_data (   _p,
  _mode 
)
Value:
do \
{ \
uint32_t mode_mask = 1UL << _mode; \
\
if ( mode_mask & POUT_MODES_DATA_TM ) \
{ \
int i; \
\
for ( i = 0; i < N_POUT_TIMES; i++ ) \
_mbg_swab_pout_time( &(_p)->tm[i] ); \
} \
else \
{ \
if ( mode_mask & POUT_MODES_DATA_TM_0 ) \
_mbg_swab_pout_time( &(_p)->tm[0] ); \
else \
if ( mode_mask & POUT_MODES_DATA_PULSE_SHIFT ) \
_mbg_swab32( &(_p)->pulse_shift ); \
} \
\
} while ( 0 )
#define N_POUT_TIMES
The number of POUT_TIME settings for each programmable pulse output.
Definition: gpsdefs.h:5632
#define POUT_MODES_DATA_TM_0
POUT modes which use only POUT_DATA::tm[0] as parameter.
Definition: gpsdefs.h:5939
#define POUT_MODES_DATA_PULSE_SHIFT
POUT modes which use POUT_DATA::pulse_shift.
Definition: gpsdefs.h:6015
Definition: myutil.h:117
#define POUT_MODES_DATA_TM
Bit masks indicating which parameters relevant for which POUT_MODES.
Definition: gpsdefs.h:5930
#define _mbg_swab_pout_time(_p)
Definition: gpsdefs.h:5618

Convert POUT_DATA endianess depending on the mode.

Assuming the mode is passed to the macro with correct endianess.

Definition at line 5664 of file gpsdefs.h.

◆ _mbg_swab_pout_info_idx_on_get

#define _mbg_swab_pout_info_idx_on_get (   _p)
Value:
do \
{ \
_mbg_swab16( &(_p)->idx ); \
_mbg_swab_pout_info_on_get( &(_p)->pout_info ); \
} while ( 0 )

Definition at line 6358 of file gpsdefs.h.

Referenced by mbg_get_gps_all_pout_info(), and mbgextio_get_pout_info_idx().

◆ _mbg_swab_pout_info_on_get

#define _mbg_swab_pout_info_on_get (   _p)
Value:
do \
{ \
_mbg_swab_pout_settings_on_get( &(_p)->pout_settings ); \
_mbg_swab32( &(_p)->supp_modes ); \
_mbg_swab8( &(_p)->timestr_ports ); \
_mbg_swab8( &(_p)->pulse_shift_res ); \
_mbg_swab16( &(_p)->reserved_1 ); \
_mbg_swab32( &(_p)->flags ); \
} while ( 0 )

Definition at line 6292 of file gpsdefs.h.

◆ _mbg_swab_pout_settings_idx_on_get

#define _mbg_swab_pout_settings_idx_on_get (   _p)
Value:
do \
{ \
_mbg_swab16( &(_p)->idx ); \
_mbg_swab_pout_settings_on_get( &(_p)->pout_settings ); \
} while ( 0 )

Definition at line 6263 of file gpsdefs.h.

◆ _mbg_swab_pout_settings_idx_on_set

#define _mbg_swab_pout_settings_idx_on_set (   _p)
Value:
do \
{ \
_mbg_swab16( &(_p)->idx ); \
_mbg_swab_pout_settings_on_set( &(_p)->pout_settings ); \
} while ( 0 )

Definition at line 6256 of file gpsdefs.h.

Referenced by mbg_set_gps_pout_settings_idx(), and mbgextio_set_pout_settings_idx().

◆ _mbg_swab_pout_settings_on_get

#define _mbg_swab_pout_settings_on_get (   _p)
Value:
do \
{ \
_mbg_swab16( &(_p)->mode ); \
_mbg_swab16( &(_p)->mode_param ); \
_mbg_swab16( &(_p)->timeout ); \
_mbg_swab16( &(_p)->flags ); \
_mbg_swab_pout_data( &(_p)->pout_data, (_p)->mode ); \
} while ( 0 )
int mode
Definition: ntp_shm.h:65

Convert POUT_SETTINGS endianess after reading from a device.

Definition at line 5713 of file gpsdefs.h.

◆ _mbg_swab_pout_settings_on_set

#define _mbg_swab_pout_settings_on_set (   _p)
Value:
do \
{ \
_mbg_swab_pout_data( &(_p)->pout_data, (_p)->mode ); \
_mbg_swab16( &(_p)->mode ); \
_mbg_swab16( &(_p)->mode_param ); \
_mbg_swab16( &(_p)->timeout ); \
_mbg_swab16( &(_p)->flags ); \
} while ( 0 )
int mode
Definition: ntp_shm.h:65

Convert POUT_SETTINGS endianess before writing to a device.

Definition at line 5726 of file gpsdefs.h.

◆ _mbg_swab_pout_time

#define _mbg_swab_pout_time (   _p)
Value:
do \
{ \
_mbg_swab_mbg_date_time( &(_p)->on ); \
_mbg_swab_mbg_date_time( &(_p)->off ); \
} while ( 0 )

Definition at line 5618 of file gpsdefs.h.

◆ _valid_time_slots_per_minute

#define _valid_time_slots_per_minute (   _n)
Value:
( ( (_n) >= MIN_TIME_SLOTS_PER_MINUTE ) && \
( (_n) <= MAX_TIME_SLOTS_PER_MINUTE ) && \
( ( 60 % (_n) ) == 0 ) \
)
#define MIN_TIME_SLOTS_PER_MINUTE
Definitions used with POUT_TIME_SLOTS mode.
Definition: gpsdefs.h:5749
#define MAX_TIME_SLOTS_PER_MINUTE
Definition: gpsdefs.h:5750

Definition at line 5759 of file gpsdefs.h.

◆ DEFAULT_ENG_POUT_HINTS

#define DEFAULT_ENG_POUT_HINTS
Value:
{ \
ENG_POUT_HINT_IDLE, \
ENG_POUT_HINT_TIMER, \
ENG_POUT_HINT_SINGLE_SHOT, \
ENG_POUT_HINT_CYCLIC_PULSE, \
ENG_POUT_HINT_PER_SEC, \
ENG_POUT_HINT_PER_MIN, \
ENG_POUT_HINT_PER_HOUR, \
ENG_POUT_HINT_DCF77, \
ENG_POUT_HINT_POS_OK, \
ENG_POUT_HINT_TIME_SYNC, \
ENG_POUT_HINT_ALL_SYNC, \
ENG_POUT_HINT_TIMECODE, \
ENG_POUT_HINT_TIMESTR, \
ENG_POUT_HINT_10MHZ, \
ENG_POUT_HINT_DCF77_M59, \
ENG_POUT_HINT_SYNTH, \
ENG_POUT_HINT_TIME_SLOTS, \
ENG_POUT_HINT_GPIO, \
ENG_POUT_HINT_PTTI_PPS, \
ENG_POUT_HINT_HAVEQUICK \
}

An initializer for a table of English POUT hint strings.

See also
ENG_POUT_HINTS

Definition at line 6167 of file gpsdefs.h.

◆ DEFAULT_ENG_POUT_NAMES

#define DEFAULT_ENG_POUT_NAMES
Value:
{ \
ENG_POUT_NAME_IDLE, \
ENG_POUT_NAME_TIMER, \
ENG_POUT_NAME_SINGLE_SHOT, \
ENG_POUT_NAME_CYCLIC_PULSE, \
ENG_POUT_NAME_PER_SEC, \
ENG_POUT_NAME_PER_MIN, \
ENG_POUT_NAME_PER_HOUR, \
ENG_POUT_NAME_DCF77, \
ENG_POUT_NAME_POS_OK, \
ENG_POUT_NAME_TIME_SYNC, \
ENG_POUT_NAME_ALL_SYNC, \
ENG_POUT_NAME_TIMECODE, \
ENG_POUT_NAME_TIMESTR, \
ENG_POUT_NAME_10MHZ, \
ENG_POUT_NAME_DCF77_M59, \
ENG_POUT_NAME_SYNTH, \
ENG_POUT_NAME_TIME_SLOTS, \
ENG_POUT_NAME_GPIO, \
ENG_POUT_PTTI_PPS, \
ENG_POUT_HAVEQUICK \
}

An initializer for a table of English POUT name strings.

See also
ENG_POUT_NAMES

Definition at line 6102 of file gpsdefs.h.

◆ DEFAULT_POUT_PULSE_SHIFT_MAX

#define DEFAULT_POUT_PULSE_SHIFT_MAX   499000000L

Default maximum value for POUT_DATA::pulse_shift, in [ns].

Definition at line 5656 of file gpsdefs.h.

Referenced by eval_pout(), and help_pout_arg().

◆ DEFAULT_POUT_PULSE_SHIFT_MIN

#define DEFAULT_POUT_PULSE_SHIFT_MIN   -500000000L

Default minimum value for POUT_DATA::pulse_shift, in [ns].

Definition at line 5655 of file gpsdefs.h.

Referenced by eval_pout(), and help_pout_arg().

◆ ENG_POUT_HAVEQUICK

#define ENG_POUT_HAVEQUICK   "HaveQuick"

Definition at line 6091 of file gpsdefs.h.

◆ ENG_POUT_HINT_10MHZ

#define ENG_POUT_HINT_10MHZ   "10 MHz fixed output frequency"

Definition at line 6151 of file gpsdefs.h.

◆ ENG_POUT_HINT_ALL_SYNC

#define ENG_POUT_HINT_ALL_SYNC   "Switch if full sync"

Definition at line 6148 of file gpsdefs.h.

◆ ENG_POUT_HINT_CYCLIC_PULSE

#define ENG_POUT_HINT_CYCLIC_PULSE   "Generate cyclic pulses of determined length"

Definition at line 6141 of file gpsdefs.h.

◆ ENG_POUT_HINT_DCF77

#define ENG_POUT_HINT_DCF77   "DCF77 compatible time marks"

Definition at line 6145 of file gpsdefs.h.

◆ ENG_POUT_HINT_DCF77_M59

#define ENG_POUT_HINT_DCF77_M59   "DCF77 time marks with 500 ms pulse in 59th second"

Definition at line 6152 of file gpsdefs.h.

◆ ENG_POUT_HINT_GPIO

#define ENG_POUT_HINT_GPIO   "Duplicated signal of the specified GPIO input or output"

Definition at line 6155 of file gpsdefs.h.

◆ ENG_POUT_HINT_HAVEQUICK

#define ENG_POUT_HINT_HAVEQUICK   "Duplicated HaveQuick Signal"

Definition at line 6157 of file gpsdefs.h.

◆ ENG_POUT_HINT_IDLE

#define ENG_POUT_HINT_IDLE   "Constant output level"

Hint strings associated with POUT_MODES.

Default initializers for English programmable output mode hints. Initializers for multi-language strings can be found in pcpslstr.h.

See also
POUT_MODES
DEFAULT_ENG_POUT_HINTS

Definition at line 6138 of file gpsdefs.h.

◆ ENG_POUT_HINT_PER_HOUR

#define ENG_POUT_HINT_PER_HOUR   "Generate pulse at beginning of new hour"

Definition at line 6144 of file gpsdefs.h.

◆ ENG_POUT_HINT_PER_MIN

#define ENG_POUT_HINT_PER_MIN   "Generate pulse at beginning of new minute"

Definition at line 6143 of file gpsdefs.h.

◆ ENG_POUT_HINT_PER_SEC

#define ENG_POUT_HINT_PER_SEC   "Generate pulse at beginning of new second"

Definition at line 6142 of file gpsdefs.h.

◆ ENG_POUT_HINT_POS_OK

#define ENG_POUT_HINT_POS_OK   "Switch if receiver position has been verified"

Definition at line 6146 of file gpsdefs.h.

◆ ENG_POUT_HINT_PTTI_PPS

#define ENG_POUT_HINT_PTTI_PPS   "Generate 20us Pulse at beginning of the second"

Definition at line 6156 of file gpsdefs.h.

◆ ENG_POUT_HINT_SINGLE_SHOT

#define ENG_POUT_HINT_SINGLE_SHOT   "Generate a single pulse of determined length"

Definition at line 6140 of file gpsdefs.h.

◆ ENG_POUT_HINT_SYNTH

#define ENG_POUT_HINT_SYNTH   "Frequency generated by programmable synthesizer"

Definition at line 6153 of file gpsdefs.h.

◆ ENG_POUT_HINT_TIME_SLOTS

#define ENG_POUT_HINT_TIME_SLOTS   "Output enabled during specified time slots per minute"

Definition at line 6154 of file gpsdefs.h.

◆ ENG_POUT_HINT_TIME_SYNC

#define ENG_POUT_HINT_TIME_SYNC   "Switch if time is synchronized"

Definition at line 6147 of file gpsdefs.h.

◆ ENG_POUT_HINT_TIMECODE

#define ENG_POUT_HINT_TIMECODE   "Duplicate IRIG time code signal"

Definition at line 6149 of file gpsdefs.h.

◆ ENG_POUT_HINT_TIMER

#define ENG_POUT_HINT_TIMER   "Switch based on configured on/off times"

Definition at line 6139 of file gpsdefs.h.

◆ ENG_POUT_HINT_TIMESTR

#define ENG_POUT_HINT_TIMESTR   "Duplicate serial time string of specified port"

Definition at line 6150 of file gpsdefs.h.

◆ ENG_POUT_NAME_10MHZ

#define ENG_POUT_NAME_10MHZ   "10 MHz Frequency"

Definition at line 6085 of file gpsdefs.h.

◆ ENG_POUT_NAME_ALL_SYNC

#define ENG_POUT_NAME_ALL_SYNC   "All Sync"

Definition at line 6082 of file gpsdefs.h.

◆ ENG_POUT_NAME_CYCLIC_PULSE

#define ENG_POUT_NAME_CYCLIC_PULSE   "Cyclic Pulse"

Definition at line 6075 of file gpsdefs.h.

◆ ENG_POUT_NAME_DCF77

#define ENG_POUT_NAME_DCF77   "DCF77 Marks"

Definition at line 6079 of file gpsdefs.h.

◆ ENG_POUT_NAME_DCF77_M59

#define ENG_POUT_NAME_DCF77_M59   "DCF77-like M59"

Definition at line 6086 of file gpsdefs.h.

◆ ENG_POUT_NAME_GPIO

#define ENG_POUT_NAME_GPIO   "GPIO Signal"

Definition at line 6089 of file gpsdefs.h.

◆ ENG_POUT_NAME_IDLE

#define ENG_POUT_NAME_IDLE   "Idle"

Name strings associated with POUT_MODES.

Default initializers for English programmable output mode names. Initializers for multi-language strings can be found in pcpslstr.h.

See also
POUT_MODES
DEFAULT_ENG_POUT_NAMES

Definition at line 6072 of file gpsdefs.h.

◆ ENG_POUT_NAME_PER_HOUR

#define ENG_POUT_NAME_PER_HOUR   "Pulse Per Hour"

Definition at line 6078 of file gpsdefs.h.

◆ ENG_POUT_NAME_PER_MIN

#define ENG_POUT_NAME_PER_MIN   "Pulse Per Min"

Definition at line 6077 of file gpsdefs.h.

◆ ENG_POUT_NAME_PER_SEC

#define ENG_POUT_NAME_PER_SEC   "Pulse Per Second"

Definition at line 6076 of file gpsdefs.h.

◆ ENG_POUT_NAME_POS_OK

#define ENG_POUT_NAME_POS_OK   "Position OK"

Definition at line 6080 of file gpsdefs.h.

◆ ENG_POUT_NAME_SINGLE_SHOT

#define ENG_POUT_NAME_SINGLE_SHOT   "Single Shot"

Definition at line 6074 of file gpsdefs.h.

◆ ENG_POUT_NAME_SYNTH

#define ENG_POUT_NAME_SYNTH   "Synthesizer Frequency"

Definition at line 6087 of file gpsdefs.h.

◆ ENG_POUT_NAME_TIME_SLOTS

#define ENG_POUT_NAME_TIME_SLOTS   "Time Slots per Minute"

Definition at line 6088 of file gpsdefs.h.

◆ ENG_POUT_NAME_TIME_SYNC

#define ENG_POUT_NAME_TIME_SYNC   "Time Sync"

Definition at line 6081 of file gpsdefs.h.

◆ ENG_POUT_NAME_TIMECODE

#define ENG_POUT_NAME_TIMECODE   "DCLS Time Code"

Definition at line 6083 of file gpsdefs.h.

◆ ENG_POUT_NAME_TIMER

#define ENG_POUT_NAME_TIMER   "Timer"

Definition at line 6073 of file gpsdefs.h.

◆ ENG_POUT_NAME_TIMESTR

#define ENG_POUT_NAME_TIMESTR   "Serial Time String"

Definition at line 6084 of file gpsdefs.h.

◆ ENG_POUT_PTTI_PPS

#define ENG_POUT_PTTI_PPS   "PTTI 1 PPS"

Definition at line 6090 of file gpsdefs.h.

◆ MAX_POUT_DCF_TIMOUT

#define MAX_POUT_DCF_TIMOUT   ( 48 * 60 )

48 hours, in minutes

Definition at line 5770 of file gpsdefs.h.

◆ MAX_POUT_PULSE_LEN

#define MAX_POUT_PULSE_LEN   1000

10 secs, in 10 msec units

Definition at line 5769 of file gpsdefs.h.

Referenced by eval_pout().

◆ MAX_POUT_TIMESTR_PORTS

#define MAX_POUT_TIMESTR_PORTS   8

The max number of COM ports that can be handled by POUT_INFO::timestr_ports.

Definition at line 6304 of file gpsdefs.h.

◆ MAX_TIME_SLOTS_PER_MINUTE

#define MAX_TIME_SLOTS_PER_MINUTE   60

Definition at line 5750 of file gpsdefs.h.

◆ MIN_TIME_SLOTS_PER_MINUTE

#define MIN_TIME_SLOTS_PER_MINUTE   1

Definitions used with POUT_TIME_SLOTS mode.

If POUT_SETTINGS::mode is set to POUT_TIME_SLOTS then the number of time slots per minute is stored in POUT_SETTINGS::mode_param. Valid numbers are all numbers n in the range MIN_TIME_SLOTS_PER_MINUTE to MAX_TIME_SLOTS_PER_MINUTE for which the remainder of 60 / n is 0.

See also
POUT_MODES_MODE_PARAM_AS_SLOTS_PER_MIN

Definition at line 5749 of file gpsdefs.h.

◆ MSK_POUT_10MHZ

#define MSK_POUT_10MHZ   ( 1UL << POUT_10MHZ )

see POUT_10MHZ

Definition at line 5906 of file gpsdefs.h.

◆ MSK_POUT_ALL_SYNC

#define MSK_POUT_ALL_SYNC   ( 1UL << POUT_ALL_SYNC )

see POUT_ALL_SYNC

Definition at line 5903 of file gpsdefs.h.

◆ MSK_POUT_CYCLIC_PULSE

#define MSK_POUT_CYCLIC_PULSE   ( 1UL << POUT_CYCLIC_PULSE )

see POUT_CYCLIC_PULSE

Definition at line 5896 of file gpsdefs.h.

◆ MSK_POUT_DCF77

#define MSK_POUT_DCF77   ( 1UL << POUT_DCF77 )

see POUT_DCF77

Definition at line 5900 of file gpsdefs.h.

◆ MSK_POUT_DCF77_M59

#define MSK_POUT_DCF77_M59   ( 1UL << POUT_DCF77_M59 )

see POUT_DCF77_M59

Definition at line 5907 of file gpsdefs.h.

◆ MSK_POUT_GPIO

#define MSK_POUT_GPIO   ( 1UL << POUT_GPIO )

see POUT_GPIO

Definition at line 5910 of file gpsdefs.h.

◆ MSK_POUT_HAVEQUICK

#define MSK_POUT_HAVEQUICK   ( 1UL << POUT_HAVEQUICK )

see POUT_HAVEQUICK

Definition at line 5912 of file gpsdefs.h.

◆ MSK_POUT_IDLE

#define MSK_POUT_IDLE   ( 1UL << POUT_IDLE )

Bit masks associated with POUT_MODES.

Used with POUT_INFO::supp_modes to specify which POUT_MODES are supported for a particular programmable output.

See also
POUT_MODES

see POUT_IDLE

Definition at line 5893 of file gpsdefs.h.

◆ MSK_POUT_PER_HOUR

#define MSK_POUT_PER_HOUR   ( 1UL << POUT_PER_HOUR )

see POUT_PER_HOUR

Definition at line 5899 of file gpsdefs.h.

◆ MSK_POUT_PER_MIN

#define MSK_POUT_PER_MIN   ( 1UL << POUT_PER_MIN )

see POUT_PER_MIN

Definition at line 5898 of file gpsdefs.h.

◆ MSK_POUT_PER_SEC

#define MSK_POUT_PER_SEC   ( 1UL << POUT_PER_SEC )

see POUT_PER_SEC

Definition at line 5897 of file gpsdefs.h.

◆ MSK_POUT_POS_OK

#define MSK_POUT_POS_OK   ( 1UL << POUT_POS_OK )

see POUT_POS_OK

Definition at line 5901 of file gpsdefs.h.

◆ MSK_POUT_PTTI_PPS

#define MSK_POUT_PTTI_PPS   ( 1UL << POUT_PTTI_PPS )

see POUT_PTTI_PPS

Definition at line 5911 of file gpsdefs.h.

◆ MSK_POUT_SINGLE_SHOT

#define MSK_POUT_SINGLE_SHOT   ( 1UL << POUT_SINGLE_SHOT )

see POUT_SINGLE_SHOT

Definition at line 5895 of file gpsdefs.h.

◆ MSK_POUT_SYNTH

#define MSK_POUT_SYNTH   ( 1UL << POUT_SYNTH )

see POUT_SYNTH

Definition at line 5908 of file gpsdefs.h.

◆ MSK_POUT_TIME_SLOTS

#define MSK_POUT_TIME_SLOTS   ( 1UL << POUT_TIME_SLOTS )

see POUT_TIME_SLOTS

Definition at line 5909 of file gpsdefs.h.

◆ MSK_POUT_TIME_SYNC

#define MSK_POUT_TIME_SYNC   ( 1UL << POUT_TIME_SYNC )

see POUT_TIME_SYNC

Definition at line 5902 of file gpsdefs.h.

◆ MSK_POUT_TIMECODE

#define MSK_POUT_TIMECODE   ( 1UL << POUT_TIMECODE )

see POUT_TIMECODE

Definition at line 5904 of file gpsdefs.h.

◆ MSK_POUT_TIMER

#define MSK_POUT_TIMER   ( 1UL << POUT_TIMER )

see POUT_TIMER

Definition at line 5894 of file gpsdefs.h.

◆ MSK_POUT_TIMESTR

#define MSK_POUT_TIMESTR   ( 1UL << POUT_TIMESTR )

see POUT_TIMESTR

Definition at line 5905 of file gpsdefs.h.

◆ N_POUT_TIMES

#define N_POUT_TIMES   3

The number of POUT_TIME settings for each programmable pulse output.

Note
This can't be changed without breaking compatibility of the API

Definition at line 5632 of file gpsdefs.h.

◆ POUT_MODES_DATA_PULSE_SHIFT

#define POUT_MODES_DATA_PULSE_SHIFT
Value:
( \
MSK_POUT_PER_SEC | \
MSK_POUT_PER_MIN | \
MSK_POUT_PER_HOUR \
)

POUT modes which use POUT_DATA::pulse_shift.

Note
: Supported only if POUT_SUPP_PULSE_SHIFT is set

Definition at line 6015 of file gpsdefs.h.

Referenced by eval_pout(), and show_pout().

◆ POUT_MODES_DATA_TM

#define POUT_MODES_DATA_TM
Value:
( \
MSK_POUT_TIMER \
)

Bit masks indicating which parameters relevant for which POUT_MODES.

See also
POUT_MODES
POUT_MODE_MASKS

POUT modes which use the full POUT_DATA::tm array as parameter

Definition at line 5930 of file gpsdefs.h.

◆ POUT_MODES_DATA_TM_0

#define POUT_MODES_DATA_TM_0
Value:
( \
MSK_POUT_SINGLE_SHOT | \
MSK_POUT_CYCLIC_PULSE \
)

POUT modes which use only POUT_DATA::tm[0] as parameter.

Definition at line 5939 of file gpsdefs.h.

◆ POUT_MODES_MODE_PARAM_AS_COM_IDX

#define POUT_MODES_MODE_PARAM_AS_COM_IDX
Value:
( \
MSK_POUT_TIMESTR \
)

POUT modes which use POUT_SETTINGS::mode_param as COM port index number.

Definition at line 5964 of file gpsdefs.h.

◆ POUT_MODES_MODE_PARAM_AS_GPIO_IDX

#define POUT_MODES_MODE_PARAM_AS_GPIO_IDX
Value:
( \
MSK_POUT_GPIO \
)

POUT modes which use POUT_SETTINGS::mode_param as GPIO index number.

Definition at line 5984 of file gpsdefs.h.

◆ POUT_MODES_MODE_PARAM_AS_PULSE_LEN

#define POUT_MODES_MODE_PARAM_AS_PULSE_LEN
Value:
( \
MSK_POUT_SINGLE_SHOT | \
MSK_POUT_CYCLIC_PULSE | \
MSK_POUT_PER_SEC | \
MSK_POUT_PER_MIN | \
MSK_POUT_PER_HOUR \
)

POUT modes which use POUT_SETTINGS::mode_param as pulse length.

See also
MAX_POUT_PULSE_LEN

Definition at line 5951 of file gpsdefs.h.

Referenced by eval_pout(), and show_pout().

◆ POUT_MODES_MODE_PARAM_AS_SLOTS_PER_MIN

#define POUT_MODES_MODE_PARAM_AS_SLOTS_PER_MIN
Value:
( \
MSK_POUT_TIME_SLOTS \
)

POUT modes which use POUT_SETTINGS::mode_param as time slots per minute.

See also
POUT_TIME_SLOTS_MODE_DEFS

Definition at line 5975 of file gpsdefs.h.

◆ POUT_MODES_SUPP_IF_SYNC_ONLY

#define POUT_MODES_SUPP_IF_SYNC_ONLY
Value:
( \
MSK_POUT_IDLE | \
MSK_POUT_TIMER | \
MSK_POUT_SINGLE_SHOT | \
MSK_POUT_CYCLIC_PULSE | \
MSK_POUT_PER_SEC | \
MSK_POUT_PER_MIN | \
MSK_POUT_PER_HOUR | \
MSK_POUT_DCF77 | \
MSK_POUT_TIMECODE | \
MSK_POUT_TIMESTR | \
MSK_POUT_10MHZ | \
MSK_POUT_DCF77_M59 | \
MSK_POUT_SYNTH | \
MSK_POUT_TIME_SLOTS | \
MSK_POUT_GPIO | \
MSK_POUT_PTTI_PPS | \
MSK_POUT_HAVEQUICK \
)

POUT modes which support POUT_SUPP_IF_SYNC_ONLY.

Even if POUT_SUPP_IF_SYNC_ONLY is set in POUT_INFO::flags the associated flag POUT_IF_SYNC_ONLY in POUT_SETTINGS::flags may be evaluated depending on the mode.

Modes POUT_POS_OK, POUT_TIME_SYNC, and MSK_POUT_ALL_SYNC are explicitly excluded.

For modes MSK_POUT_DCF77 and MSK_POUT_DCF77_M59 see also POUT_SETTINGS::timeout.

Definition at line 6036 of file gpsdefs.h.

Referenced by show_pout().

◆ POUT_MODES_SUPP_TIMEBASE_UTC

#define POUT_MODES_SUPP_TIMEBASE_UTC
Value:
( \
MSK_POUT_DCF77 | \
MSK_POUT_DCF77_M59 \
)

POUT modes which which support POUT_TIMEBASE_UTC.

Definition at line 6003 of file gpsdefs.h.

◆ POUT_MODES_TIMEOUT

#define POUT_MODES_TIMEOUT
Value:
( \
MSK_POUT_DCF77 | \
MSK_POUT_DCF77_M59 \
)

POUT modes which use POUT_SETTINGS::timeout.

Definition at line 5993 of file gpsdefs.h.

Referenced by show_pout().

◆ TIME_SLOT_REGISTER_IN_SEC

#define TIME_SLOT_REGISTER_IN_SEC   60

Definition at line 5751 of file gpsdefs.h.

◆ TIME_SLOT_SWITCH_OFF_BUFFER_MAX

#define TIME_SLOT_SWITCH_OFF_BUFFER_MAX   500 / TIMEOUT_DIVIDED_BY

Definition at line 5755 of file gpsdefs.h.

◆ TIME_SLOT_SWITCH_OFF_BUFFER_MIN

#define TIME_SLOT_SWITCH_OFF_BUFFER_MIN   50 / TIMEOUT_DIVIDED_BY

Definition at line 5754 of file gpsdefs.h.

◆ TIME_SLOT_SWITCH_OFF_BUFFER_STD

#define TIME_SLOT_SWITCH_OFF_BUFFER_STD   500 / TIMEOUT_DIVIDED_BY

Definition at line 5756 of file gpsdefs.h.

◆ TIME_SLOT_SWITCH_OFF_BUFFER_STEP_SIZE

#define TIME_SLOT_SWITCH_OFF_BUFFER_STEP_SIZE   50 / TIMEOUT_DIVIDED_BY

Definition at line 5757 of file gpsdefs.h.

◆ TIMEOUT_DIVIDED_BY

#define TIMEOUT_DIVIDED_BY   10

Definition at line 5753 of file gpsdefs.h.

Enumeration Type Documentation

◆ POUT_INFO_FLAG_BITS

Flag bits used to define POUT_INFO_FLAG_MASKS.

See also
POUT_INFO_FLAG_MASKS
Enumerator
POUT_BIT_SUPP_IF_SYNC_ONLY 

POUT_IF_SYNC_ONLY is supported for this output

POUT_BIT_SUPP_DCF77_UTC 

POUT_SUPP_DCF77_UTC is supported for this output

POUT_BIT_FIXED_PULSE_LEN 

pulse length is limited to the value POUT_SETTINGS::mode_param

POUT_BIT_NOT_INVERTIBLE 

output level can't be inverted, thus POUT_INVERTED is not supported for this output

POUT_BIT_SUPP_PULSE_SHIFT 

output slopes can be shifted, see POUT_DATA::pulse_shift

N_POUT_INFO_FLAG_BITS 

number of known flag bits

Definition at line 6313 of file gpsdefs.h.

◆ POUT_INFO_FLAG_MASKS

Flag bit masks used with POUT_INFO::flags.

See also
POUT_INFO_FLAG_BITS
Enumerator
POUT_SUPP_IF_SYNC_ONLY 

see POUT_BIT_SUPP_IF_SYNC_ONLY, POUT_IF_SYNC_ONLY

POUT_SUPP_DCF77_UTC 

see POUT_BIT_SUPP_DCF77_UTC, POUT_SUPP_DCF77_UTC

POUT_FIXED_PULSE_LEN 

see POUT_BIT_FIXED_PULSE_LEN

POUT_NOT_INVERTIBLE 

see POUT_BIT_NOT_INVERTIBLE, POUT_INVERTED

POUT_SUPP_PULSE_SHIFT 

see POUT_BIT_SUPP_PULSE_SHIFT, POUT_DATA::pulse_shift

Definition at line 6329 of file gpsdefs.h.

◆ POUT_MODES

enum POUT_MODES

Enumeration of known operation modes for programmable pulse outputs.

These codes are used with POUT_SETTINGS::mode. One or more of the remaining fields in POUT_SETTINGS are evaluated depending on the selected mode. Unused fields should be set to 0.

Unless POUT_NOT_INVERTIBLE is set in POUT_INFO::flags the output signal level can be inverted if POUT_INVERTED is set in POUT_SETTINGS::flags.

Note
Not every programmable pulse output supports all modes.
See also
POUT_MODE_MASKS
POUT_MODES_PARAM_MASKS
ENG_POUT_NAMES
ENG_POUT_HINTS
Enumerator
POUT_IDLE 

Output is normally always 'off', or always 'on', if flag POUT_INVERTED is set.

POUT_TIMER 

Switch 'on' or 'off' at the times specified in POUT_DATA::tm.

POUT_SINGLE_SHOT 

Generate a pulse at the time specified in the POUT_TIME[0]::on field in POUT_DATA::tm of the POUT_SETTINGS (POUT_SETTINGS::tm[0].on). Pulse length according to POUT_SETTINGS::mode_param, in [10 ms] units. See MAX_POUT_PULSE_LEN.

POUT_CYCLIC_PULSE 

Generate a cyclic pulse at the interval specified in MBG_DATE_TIME::t field of POUT_TIME[0]::on in POUT_DATA::tm of the POUT_SETTINGS (POUT_SETTINGS::tm[0].on.t). Pulse length according to POUT_SETTINGS::mode_param, in [10 ms] units. See MAX_POUT_PULSE_LEN.

POUT_PER_SEC 

Generate a pulse whenever the second changes. Pulse length according to POUT_SETTINGS::mode_param, in [10 ms] units. See MAX_POUT_PULSE_LEN.

POUT_PER_MIN 

Generate a pulse whenever the minute changes. Pulse length according to POUT_SETTINGS::mode_param, in [10 ms] units. See MAX_POUT_PULSE_LEN.

POUT_PER_HOUR 

Generate a pulse whenever the hour changes. Pulse length according to POUT_SETTINGS::mode_param, in [10 ms] units. See MAX_POUT_PULSE_LEN.

POUT_DCF77 

Generate DCF77-compatible second marks. See POUT_DCF77_M59, POUT_SETTINGS::timeout and MAX_POUT_DCF_TIMOUT.

POUT_POS_OK 

Output switched on if receiver position verified (condition nav_solved).

POUT_TIME_SYNC 

Output switched on if time synchronized (condition time_syn).

POUT_ALL_SYNC 

Output switched on if both position verified and time synchronized.

POUT_TIMECODE 

IRIG/AFNOR DCLS time code signal mapped to this output.

POUT_TIMESTR 

Serial time string of one one of the serial ports mapped to this output. POUT_SETTINGS::mode_param contains the number of the COM port. See MAX_POUT_TIMESTR_PORTS.

POUT_10MHZ 

10 MHz fixed frequency output.

POUT_DCF77_M59 

DCF77-like signal with extra 500 ms pulse in the 59th second (the original DCF77 signal has no such pulse). See POUT_DCF77, POUT_SETTINGS::timeout and MAX_POUT_DCF_TIMOUT.

POUT_SYNTH 

Output signal generated by the programmable frequency synthesizer.

POUT_TIME_SLOTS 

Programmable time slots during each minute. POUT_SETTINGS::mode_param specifies the time slots per minute. Uses POUT_DATA. ::TODO

POUT_GPIO 

A GPIO input or output signal is reflected at this pulse output. POUT_SETTINGS::mode_param specifies the GPIO number which must be in the range 0..MBG_GPIO_CFG_LIMITS::num_io.

POUT_PTTI_PPS 

A 1 PPS signal with a fixed 20 us pulse length.

POUT_HAVEQUICK 

A HaveQuick signal as configured in HAVEQUICK_SETTINGS::format.

N_POUT_MODES 

the number of known modes

Definition at line 5792 of file gpsdefs.h.

◆ POUT_SETTINGS_FLAG_BITS

Flag bits used to define POUT_SETTINGS_FLAGS.

See also
POUT_SETTINGS_FLAGS
Enumerator
POUT_BIT_INVERTED 

Output level is to be inverted. Can only be used if POUT_NOT_INVERTIBLE is not set, but is supported by all POUT_MODES.

POUT_BIT_IF_SYNC_ONLY 

Enable output only while synchronized. This even overrides the settings in ENABLE_FLAGS::pulses, so if this flag is set the output is only enabled if the clock is synchronized, and is disabled when synchronization is lost, i.e. the device enters holdover mode. This flag can only be used with outputs that have POUT_SUPP_IF_SYNC_ONLY set, and is only supported for the POUT_MODES specified in POUT_MODES_SUPP_IF_SYNC_ONLY.

POUT_BIT_TIMEBASE_UTC 

Output UTC time instead of local time for DCF77 emulation. This flag can only be used with outputs that have POUT_SUPP_DCF77_UTC set, and is only supported for the POUT_MODES specified in POUT_MODES_SUPP_TIMEBASE_UTC (e.g. POUT_DCF77 or POUT_DCF77_M59).

N_POUT_SETTINGS_FLAG_BITS 

Number of known flag bits.

Definition at line 6198 of file gpsdefs.h.

◆ POUT_SETTINGS_FLAGS

Flag bit masks used with POUT_SETTINGS::flags.

See also
POUT_SETTINGS_FLAG_BITS
Enumerator
POUT_INVERTED 

see POUT_BIT_INVERTED, POUT_NOT_INVERTIBLE

POUT_IF_SYNC_ONLY 

see POUT_BIT_IF_SYNC_ONLY, POUT_SUPP_IF_SYNC_ONLY

POUT_TIMEBASE_UTC 

see POUT_BIT_TIMEBASE_UTC, POUT_SUPP_DCF77_UTC

Definition at line 6230 of file gpsdefs.h.