-
Notifications
You must be signed in to change notification settings - Fork 0
/
ssr.h
136 lines (122 loc) · 5.65 KB
/
ssr.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/*
* Copyright (C) 2015-2018 Swift Navigation Inc.
* Contact: Swift Navigation <[email protected]>
*
* This source is subject to the license found in the file 'LICENSE' which must
* be be distributed together with this source. All other rights reserved.
*
* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
* EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
*/
/*****************************************************************************
* Automatically generated from yaml/swiftnav/sbp/ssr.yaml
* with generate.py. Please do not hand edit!
*****************************************************************************/
/** \defgroup ssr Ssr
*
* * Precise State Space Representation (SSR) corrections format
* \{ */
#ifndef LIBSBP_SSR_MESSAGES_H
#define LIBSBP_SSR_MESSAGES_H
#include "common.h"
#include "gnss.h"
/** SSR code biases corrections for a particular satellite.
*
* Code biases are to be added to pseudorange.
* The corrections are conform with typical RTCMv3 MT1059 and 1065.
*/
typedef struct {
u8 code; /**< Signal constellation, band and code */
s16 value; /**< Code bias value [0.01 m] */
} code_biases_content_t;
/** SSR phase biases corrections for a particular satellite.
*
* Phase biases are to be added to carrier phase measurements.
* The corrections are conform with typical RTCMv3 MT1059 and 1065.
*/
typedef struct {
u8 code; /**< Signal constellation, band and code */
u8 integer_indicator; /**< Indicator for integer property */
u8 widelane_integer_indicator; /**< Indicator for two groups of Wide-Lane(s) integer property */
u8 discontinuity_counter; /**< Signal phase discontinuity counter.
Increased for every discontinuity in phase.
*/
s32 bias; /**< Phase bias for specified signal [0.1 mm] */
} phase_biases_content_t;
/** Precise orbit and clock correction
*
* The precise orbit and clock correction message is
* to be applied as a delta correction to broadcast
* ephemeris and is typically an equivalent to the 1060
* and 1066 RTCM message types
*/
#define SBP_MSG_SSR_ORBIT_CLOCK 0x05DC
typedef struct {
gps_time_sec_t time; /**< GNSS reference time of the correction */
sbp_gnss_signal_t sid; /**< GNSS signal identifier (16 bit) */
u8 update_interval; /**< Update interval between consecutive corrections [s] */
u8 iod_ssr; /**< IOD of the SSR correction. A change of Issue Of Data
SSR is used to indicate a change in the SSR
generating configuration
*/
u8 iod; /**< Issue of broadcast ephemeris data */
s32 radial; /**< Orbit radial delta correction [0.1 mm] */
s32 along; /**< Orbit along delta correction [0.4 mm] */
s32 cross; /**< Orbit along delta correction [0.4 mm] */
s32 dot_radial; /**< Velocity of orbit radial delta correction [0.001 mm/s] */
s32 dot_along; /**< Velocity of orbit along delta correction [0.004 mm/s] */
s32 dot_cross; /**< Velocity of orbit cross delta correction [0.004 mm/s] */
s32 c0; /**< C0 polynomial coefficient for correction of broadcast satellite clock [0.1 mm] */
s32 c1; /**< C1 polynomial coefficient for correction of broadcast satellite clock [0.001 mm/s] */
s32 c2; /**< C2 polynomial coefficient for correction of broadcast satellite clock [0.00002 mm/s^-2] */
} msg_ssr_orbit_clock_t;
/** Precise code biases correction
*
* The precise code biases message is to be added
* to the pseudorange of the corresponding signal
* to get corrected pseudorange. It is typically
* an equivalent to the 1059 and 1065 RTCM message types
*/
#define SBP_MSG_SSR_CODE_BIASES 0x05E1
typedef struct {
gps_time_sec_t time; /**< GNSS reference time of the correction */
sbp_gnss_signal_t sid; /**< GNSS signal identifier (16 bit) */
u8 update_interval; /**< Update interval between consecutive corrections [s] */
u8 iod_ssr; /**< IOD of the SSR correction. A change of Issue Of Data
SSR is used to indicate a change in the SSR
generating configuration
*/
code_biases_content_t
biases[0]; /**< Code biases for the different satellite signals */
} msg_ssr_code_biases_t;
/** Precise phase biases correction
*
* The precise phase biases message contains the biases
* to be added to the carrier phase of the corresponding
* signal to get corrected carrier phase measurement, as
* well as the satellite yaw angle to be applied to compute
* the phase wind-up correction.
* It is typically an equivalent to the 1265 RTCM message types
*/
#define SBP_MSG_SSR_PHASE_BIASES 0x05E6
typedef struct {
gps_time_sec_t time; /**< GNSS reference time of the correction */
sbp_gnss_signal_t sid; /**< GNSS signal identifier (16 bit) */
u8 update_interval; /**< Update interval between consecutive corrections [s] */
u8 iod_ssr; /**< IOD of the SSR correction. A change of Issue Of Data
SSR is used to indicate a change in the SSR
generating configuration
*/
u8 dispersive_bias; /**< Indicator for the dispersive phase biases property.
*/
u8 mw_consistency; /**< Consistency indicator for Melbourne-Wubbena linear combinations
*/
u16 yaw; /**< Satellite yaw angle [1 / 256 semi-circle] */
s8 yaw_rate; /**< Satellite yaw angle rate [1 / 8192 semi-circle / s] */
phase_biases_content_t biases[0]; /**< Phase biases corrections for a
satellite being tracked.
*/
} msg_ssr_phase_biases_t;
/** \} */
#endif /* LIBSBP_SSR_MESSAGES_H */