CTS-SAT-1-OBC-Firmware
Loading...
Searching...
No Matches
gnss_types.h
Go to the documentation of this file.
1#ifndef INCLUDE_GUARD__GNSS_TYPES_H
2#define INCLUDE_GUARD__GNSS_TYPES_H
3
4#include <stdint.h>
5
6// ****************** SECTION: GNSS_header_structs ******************
7
24
25
36
37// ****************** END SECTION: GNSS_header_structs ******************
38
39
40// ****************** SECTION: GNSS_data_structs ******************
41
59
60
101
102
135
136
145
151
170
171// ****************** END SECTION: GNSS_data_structs ******************
172
173// ****************** SECTION: GNSS helper functions ******************
174
175uint8_t GNSS_reference_time_status_str_to_enum(const char *status_str, GNSS_reference_time_status_t *status);
177uint8_t GNSS_solution_status_str_to_enum(const char *status_str, GNSS_solution_status_enum_t *status);
178uint8_t GNSS_position_type_str_to_enum(const char *type_str, GNSS_position_type_enum_t *type);
181uint8_t GNSS_clock_model_status_str_to_enum(const char *status_str, GNSS_clock_model_status_enum_t *status);
182uint8_t GNSS_utc_status_str_to_enum(const char *status_str, GNSS_utc_status_enum_t *status);
185
186// ****************** END SECTION: GNSS_header_structs ******************
187
188#endif // INCLUDE_GUARD__GNSS_TYPES_H
const char * GNSS_position_type_enum_to_string(GNSS_position_type_enum_t type)
Assigns a string value based on the provided GNSS position type.
Definition gnss_types.c:212
uint8_t GNSS_clock_model_status_str_to_enum(const char *status_str, GNSS_clock_model_status_enum_t *status)
Assigns a GNSS Clock Model status based on the provided string.
Definition gnss_types.c:284
const char * GNSS_clock_model_status_enum_to_string(GNSS_clock_model_status_enum_t status)
Assigns a string value based on the provided GNSS clock model status.
Definition gnss_types.c:319
GNSS_reference_time_status_t
This refers to the status that indicates how well a time is known All reported receiver times are sub...
Definition gnss_types.h:11
@ GNSS_REF_TIME_FINEBACKUPSTEERING
Definition gnss_types.h:20
@ GNSS_REF_TIME_FINE
Definition gnss_types.h:19
@ GNSS_REF_TIME_FINESTEERING
Definition gnss_types.h:21
@ GNSS_REF_TIME_FINEADJUSTING
Definition gnss_types.h:18
@ GNSS_REF_TIME_FREEWHEELING
Definition gnss_types.h:17
@ GNSS_REF_TIME_UNKNOWN
Definition gnss_types.h:12
@ GNSS_REF_TIME_COARSESTEERING
Definition gnss_types.h:16
@ GNSS_REF_TIME_SATTIME
Definition gnss_types.h:22
@ GNSS_REF_TIME_COARSEADJUSTING
Definition gnss_types.h:14
@ GNSS_REF_TIME_COARSE
Definition gnss_types.h:15
@ GNSS_REF_TIME_APPROXIMATE
Definition gnss_types.h:13
GNSS_utc_status_enum_t
Definition gnss_types.h:146
@ GNSS_UTC_INVALID
Definition gnss_types.h:147
@ GNSS_UTC_WARNING
Definition gnss_types.h:149
@ GNSS_UTC_VALID
Definition gnss_types.h:148
GNSS_solution_status_enum_t
This refers to the solution status Refer to table 90 page 500-501 of the OEM7 Commands and Logs Refer...
Definition gnss_types.h:44
@ GNSS_SOL_STATUS_TEST_DIST
Definition gnss_types.h:50
@ GNSS_SOL_STATUS_COV_TRACE
Definition gnss_types.h:49
@ GNSS_SOL_STATUS_INTEGRITY_WARNING
Definition gnss_types.h:56
@ GNSS_SOL_STATUS_V_H_LIMIT
Definition gnss_types.h:52
@ GNSS_SOL_STATUS_COLD_START
Definition gnss_types.h:51
@ GNSS_SOL_STATUS_NO_CONVERGENCE
Definition gnss_types.h:47
@ GNSS_SOL_STATUS_RESIDUALS
Definition gnss_types.h:54
@ GNSS_SOL_STATUS_INSUFFICIENT_OBS
Definition gnss_types.h:46
@ GNSS_SOL_STATUS_SOL_COMPUTED
Definition gnss_types.h:45
@ GNSS_SOL_STATUS_RESERVED_10_12
Definition gnss_types.h:55
@ GNSS_SOL_STATUS_VARIANCE
Definition gnss_types.h:53
@ GNSS_SOL_STATUS_SINGULARITY
Definition gnss_types.h:48
const char * GNSS_solution_status_enum_to_str(GNSS_solution_status_enum_t status)
Assigns a string value based on the provided GNSS solution status.
Definition gnss_types.c:180
GNSS_position_type_enum_t
This refers to the position or velocity type Refer to table 91 page 501-503 of the OEM7 Commands and ...
Definition gnss_types.h:63
@ GNSS_TYPE_PPP_BASIC_CONVERGING
Definition gnss_types.h:96
@ GNSS_TYPE_DOPPLER_VELOCITY
Definition gnss_types.h:68
@ GNSS_TYPE_PPP
Definition gnss_types.h:90
@ GNSS_TYPE_PPP_BASIC
Definition gnss_types.h:97
@ GNSS_TYPE_INS_PPP_CONVERGING
Definition gnss_types.h:94
@ GNSS_TYPE_PSDIFF
Definition gnss_types.h:71
@ GNSS_TYPE_INS_RTKFLOAT
Definition gnss_types.h:86
@ GNSS_TYPE_RESERVED_9_15
Definition gnss_types.h:69
@ GNSS_TYPE_L1_FLOAT
Definition gnss_types.h:75
@ GNSS_TYPE_PROPAGATED
Definition gnss_types.h:73
@ GNSS_TYPE_FIXEDPOS
Definition gnss_types.h:65
@ GNSS_TYPE_INS_SBAS
Definition gnss_types.h:83
@ GNSS_TYPE_RESERVED_3_7
Definition gnss_types.h:67
@ GNSS_TYPE_NARROW_INT
Definition gnss_types.h:81
@ GNSS_TYPE_INS_PPP_BASIC
Definition gnss_types.h:99
@ GNSS_TYPE_RESERVED_20_31
Definition gnss_types.h:74
@ GNSS_TYPE_INS_RTKFIXED
Definition gnss_types.h:87
@ GNSS_TYPE_RESERVED_57_67
Definition gnss_types.h:88
@ GNSS_TYPE_PPP_CONVERGING
Definition gnss_types.h:89
@ GNSS_TYPE_RESERVED_35_47
Definition gnss_types.h:78
@ GNSS_TYPE_L1_INT
Definition gnss_types.h:79
@ GNSS_TYPE_SINGLE
Definition gnss_types.h:70
@ GNSS_TYPE_NARROW_FLOAT
Definition gnss_types.h:77
@ GNSS_TYPE_NONE
Definition gnss_types.h:64
@ GNSS_TYPE_INS_PSRSP
Definition gnss_types.h:84
@ GNSS_TYPE_FIXEDHEIGHT
Definition gnss_types.h:66
@ GNSS_TYPE_RTK_DIRECT_INS
Definition gnss_types.h:82
@ GNSS_TYPE_RESERVED_33
Definition gnss_types.h:76
@ GNSS_TYPE_WARNING
Definition gnss_types.h:92
@ GNSS_TYPE_WIDE_INT
Definition gnss_types.h:80
@ GNSS_TYPE_OUT_OF_BOUNDS
Definition gnss_types.h:93
@ GNSS_TYPE_INS_PSRDIFF
Definition gnss_types.h:85
@ GNSS_TYPE_OPERATIONAL
Definition gnss_types.h:91
@ GNSS_TYPE_WAAS
Definition gnss_types.h:72
@ GNSS_TYPE_INS_PPP_BASIC_CONVERGING
Definition gnss_types.h:98
@ GNSS_TYPE_INS_PPP
Definition gnss_types.h:95
uint8_t GNSS_position_type_str_to_enum(const char *type_str, GNSS_position_type_enum_t *type)
Assigns a GNSS position or velocity type based on the provided string.
Definition gnss_types.c:110
const char * GNSS_utc_status_enum_to_string(GNSS_utc_status_enum_t status)
Assigns a string value based on the provided GNSS UTC status.
Definition gnss_types.c:337
const char * GNSS_reference_time_status_enum_to_str(GNSS_reference_time_status_t status)
Assigns a string value based on the provided GNSS time status.
Definition gnss_types.c:42
uint8_t GNSS_utc_status_str_to_enum(const char *status_str, GNSS_utc_status_enum_t *status)
Assigns a GNSS UTC status based on the provided string.
Definition gnss_types.c:303
uint8_t GNSS_reference_time_status_str_to_enum(const char *status_str, GNSS_reference_time_status_t *status)
Assigns a GNSS time status based on the provided string.
Definition gnss_types.c:9
uint8_t GNSS_solution_status_str_to_enum(const char *status_str, GNSS_solution_status_enum_t *status)
Assigns a GNSS solution status based on the provided string.
Definition gnss_types.c:76
GNSS_clock_model_status_enum_t
This refers to the Clock Model Status Refer to table 105 page 526 of the OEM7 Commands and Logs Refer...
Definition gnss_types.h:139
@ GNSS_CLOCK_ITERATING
Definition gnss_types.h:142
@ GNSS_CLOCK_INVALID
Definition gnss_types.h:143
@ GNSS_CLOCK_CONVERGING
Definition gnss_types.h:141
@ GNSS_CLOCK_VALID
Definition gnss_types.h:140
This is the struct for the BESTXYZA Command response. Refer to page 515-517 of the OEM7 Commands and ...
Definition gnss_types.h:105
GNSS_position_type_enum_t position_type
Position type.
Definition gnss_types.h:110
int64_t position_x_mm
Documentation says the point coordinates come as a double. We store as an int64 because the earth's r...
Definition gnss_types.h:115
int64_t position_y_mm
Definition gnss_types.h:116
uint64_t solution_age_ms
Solution age in seconds. Storing as a uint64 so as to capture the millisecond accuracy.
Definition gnss_types.h:129
GNSS_solution_status_enum_t position_solution_status
Position solution status.
Definition gnss_types.h:107
uint32_t position_y_std_mm
Definition gnss_types.h:122
int64_t position_z_mm
Definition gnss_types.h:117
uint64_t differential_age_ms
Differential age in seconds. Storing as a uint64 so as to capture the millisecond accuracy.
Definition gnss_types.h:126
uint32_t position_z_std_mm
Definition gnss_types.h:123
uint32_t position_x_std_mm
Documentation says the standard deviation of the position coordinates come as a float....
Definition gnss_types.h:121
uint32_t crc
32 bit CRC (ASCII and Binary only).
Definition gnss_types.h:132
This is the first part of the response that every command response from the GNSS receiver has....
Definition gnss_types.h:28
GNSS_reference_time_status_t time_status
Indicates the quality of the GNSS reference time.
Definition gnss_types.h:33
char log_name[128]
The ASCII name of the log or command e.g., "BESTXYZA" or "TIMEA".
Definition gnss_types.h:30
This is the struct for the TIMEA Command response. Refer to page 941-943 of the OEM7 Commands and Log...
Definition gnss_types.h:154
GNSS_clock_model_status_enum_t clock_status
Clock model status.
Definition gnss_types.h:156
uint32_t crc
32 bit CRC (ASCII and Binary only).
Definition gnss_types.h:167
GNSS_utc_status_enum_t utc_status
UTC status Refer to page 943 of the OEM7 Commands and Logs Reference Manual.
Definition gnss_types.h:164
int64_t utc_offset
/// The offset of GNSS system time from UTC time Documentation says the utc offset comes as a double.
Definition gnss_types.h:160