mbgtools-lx
4.2.8
|
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" |
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.
#define _mbg_swab_mbg_date | ( | _p | ) |
#define _mbg_swab_mbg_date_time | ( | _p | ) |
#define _mbg_swab_mbg_time | ( | _p | ) | _nop_macro_fnc() |
#define _mbg_swab_pout_data | ( | _p, | |
_mode | |||
) |
Convert POUT_DATA endianess depending on the mode.
Assuming the mode is passed to the macro with correct endianess.
#define _mbg_swab_pout_info_idx_on_get | ( | _p | ) |
Definition at line 6358 of file gpsdefs.h.
Referenced by mbg_get_gps_all_pout_info(), and mbgextio_get_pout_info_idx().
#define _mbg_swab_pout_info_on_get | ( | _p | ) |
#define _mbg_swab_pout_settings_idx_on_get | ( | _p | ) |
#define _mbg_swab_pout_settings_idx_on_set | ( | _p | ) |
Definition at line 6256 of file gpsdefs.h.
Referenced by mbg_set_gps_pout_settings_idx(), and mbgextio_set_pout_settings_idx().
#define _mbg_swab_pout_settings_on_get | ( | _p | ) |
Convert POUT_SETTINGS endianess after reading from a device.
#define _mbg_swab_pout_settings_on_set | ( | _p | ) |
Convert POUT_SETTINGS endianess before writing to a device.
#define _mbg_swab_pout_time | ( | _p | ) |
#define _valid_time_slots_per_minute | ( | _n | ) |
#define DEFAULT_ENG_POUT_HINTS |
An initializer for a table of English POUT hint strings.
#define DEFAULT_ENG_POUT_NAMES |
An initializer for a table of English POUT name strings.
#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().
#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().
#define ENG_POUT_HINT_10MHZ "10 MHz fixed output frequency" |
#define ENG_POUT_HINT_CYCLIC_PULSE "Generate cyclic pulses of determined length" |
#define ENG_POUT_HINT_DCF77 "DCF77 compatible time marks" |
#define ENG_POUT_HINT_DCF77_M59 "DCF77 time marks with 500 ms pulse in 59th second" |
#define ENG_POUT_HINT_GPIO "Duplicated signal of the specified GPIO input or output" |
#define ENG_POUT_HINT_HAVEQUICK "Duplicated HaveQuick Signal" |
#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.
#define ENG_POUT_HINT_PER_HOUR "Generate pulse at beginning of new hour" |
#define ENG_POUT_HINT_PER_MIN "Generate pulse at beginning of new minute" |
#define ENG_POUT_HINT_PER_SEC "Generate pulse at beginning of new second" |
#define ENG_POUT_HINT_POS_OK "Switch if receiver position has been verified" |
#define ENG_POUT_HINT_PTTI_PPS "Generate 20us Pulse at beginning of the second" |
#define ENG_POUT_HINT_SINGLE_SHOT "Generate a single pulse of determined length" |
#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_TIME_SYNC "Switch if time is synchronized" |
#define ENG_POUT_HINT_TIMECODE "Duplicate IRIG time code signal" |
#define ENG_POUT_HINT_TIMER "Switch based on configured on/off times" |
#define ENG_POUT_HINT_TIMESTR "Duplicate serial time string of specified port" |
#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.
#define MAX_POUT_DCF_TIMOUT ( 48 * 60 ) |
#define MAX_POUT_PULSE_LEN 1000 |
#define MAX_POUT_TIMESTR_PORTS 8 |
The max number of COM ports that can be handled by POUT_INFO::timestr_ports.
#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.
#define MSK_POUT_10MHZ ( 1UL << POUT_10MHZ ) |
see POUT_10MHZ
#define MSK_POUT_ALL_SYNC ( 1UL << POUT_ALL_SYNC ) |
see POUT_ALL_SYNC
#define MSK_POUT_CYCLIC_PULSE ( 1UL << POUT_CYCLIC_PULSE ) |
#define MSK_POUT_DCF77 ( 1UL << POUT_DCF77 ) |
see POUT_DCF77
#define MSK_POUT_DCF77_M59 ( 1UL << POUT_DCF77_M59 ) |
see POUT_DCF77_M59
#define MSK_POUT_HAVEQUICK ( 1UL << POUT_HAVEQUICK ) |
see POUT_HAVEQUICK
#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 POUT_IDLE
#define MSK_POUT_PER_HOUR ( 1UL << POUT_PER_HOUR ) |
see POUT_PER_HOUR
#define MSK_POUT_PER_MIN ( 1UL << POUT_PER_MIN ) |
see POUT_PER_MIN
#define MSK_POUT_PER_SEC ( 1UL << POUT_PER_SEC ) |
see POUT_PER_SEC
#define MSK_POUT_POS_OK ( 1UL << POUT_POS_OK ) |
see POUT_POS_OK
#define MSK_POUT_PTTI_PPS ( 1UL << POUT_PTTI_PPS ) |
see POUT_PTTI_PPS
#define MSK_POUT_SINGLE_SHOT ( 1UL << POUT_SINGLE_SHOT ) |
see POUT_SINGLE_SHOT
#define MSK_POUT_SYNTH ( 1UL << POUT_SYNTH ) |
see POUT_SYNTH
#define MSK_POUT_TIME_SLOTS ( 1UL << POUT_TIME_SLOTS ) |
see POUT_TIME_SLOTS
#define MSK_POUT_TIME_SYNC ( 1UL << POUT_TIME_SYNC ) |
see POUT_TIME_SYNC
#define MSK_POUT_TIMECODE ( 1UL << POUT_TIMECODE ) |
see POUT_TIMECODE
#define MSK_POUT_TIMER ( 1UL << POUT_TIMER ) |
see POUT_TIMER
#define MSK_POUT_TIMESTR ( 1UL << POUT_TIMESTR ) |
see POUT_TIMESTR
#define N_POUT_TIMES 3 |
#define POUT_MODES_DATA_PULSE_SHIFT |
POUT modes which use POUT_DATA::pulse_shift.
Definition at line 6015 of file gpsdefs.h.
Referenced by eval_pout(), and show_pout().
#define POUT_MODES_DATA_TM |
Bit masks indicating which parameters relevant for which POUT_MODES.
POUT modes which use the full POUT_DATA::tm array as parameter
#define POUT_MODES_DATA_TM_0 |
POUT modes which use only POUT_DATA::tm[0] as parameter.
#define POUT_MODES_MODE_PARAM_AS_COM_IDX |
POUT modes which use POUT_SETTINGS::mode_param as COM port index number.
#define POUT_MODES_MODE_PARAM_AS_GPIO_IDX |
POUT modes which use POUT_SETTINGS::mode_param as GPIO index number.
#define POUT_MODES_MODE_PARAM_AS_PULSE_LEN |
POUT modes which use POUT_SETTINGS::mode_param as pulse length.
Definition at line 5951 of file gpsdefs.h.
Referenced by eval_pout(), and show_pout().
#define POUT_MODES_MODE_PARAM_AS_SLOTS_PER_MIN |
POUT modes which use POUT_SETTINGS::mode_param as time slots per minute.
#define POUT_MODES_SUPP_IF_SYNC_ONLY |
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().
#define POUT_MODES_SUPP_TIMEBASE_UTC |
POUT modes which which support POUT_TIMEBASE_UTC.
#define POUT_MODES_TIMEOUT |
POUT modes which use POUT_SETTINGS::timeout.
Definition at line 5993 of file gpsdefs.h.
Referenced by show_pout().
#define TIME_SLOT_SWITCH_OFF_BUFFER_MAX 500 / TIMEOUT_DIVIDED_BY |
#define TIME_SLOT_SWITCH_OFF_BUFFER_MIN 50 / 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 |
enum POUT_INFO_FLAG_BITS |
Flag bits used to define 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 |
enum POUT_INFO_FLAG_MASKS |
Flag bit masks used with POUT_INFO::flags.
Enumerator | |
---|---|
POUT_SUPP_IF_SYNC_ONLY | |
POUT_SUPP_DCF77_UTC | |
POUT_FIXED_PULSE_LEN | |
POUT_NOT_INVERTIBLE | |
POUT_SUPP_PULSE_SHIFT |
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.
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 |
Flag bits used to define 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. |
enum POUT_SETTINGS_FLAGS |
Flag bit masks used with POUT_SETTINGS::flags.
Enumerator | |
---|---|
POUT_INVERTED | |
POUT_IF_SYNC_ONLY | |
POUT_TIMEBASE_UTC |