-
Notifications
You must be signed in to change notification settings - Fork 0
/
acquisition.h
162 lines (142 loc) · 5.68 KB
/
acquisition.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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
/*
* 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/acquisition.yaml
* with generate.py. Please do not hand edit!
*****************************************************************************/
/** \defgroup acquisition Acquisition
*
* * Satellite acquisition messages from the device.
* \{ */
#ifndef LIBSBP_ACQUISITION_MESSAGES_H
#define LIBSBP_ACQUISITION_MESSAGES_H
#include "common.h"
#include "gnss.h"
/** Satellite acquisition result
*
* This message describes the results from an attempted GPS signal
* acquisition search for a satellite PRN over a code phase/carrier
* frequency range. It contains the parameters of the point in the
* acquisition search space with the best carrier-to-noise (CN/0)
* ratio.
*/
#define SBP_MSG_ACQ_RESULT 0x002F
typedef struct {
float cn0; /**< CN/0 of best point [dB Hz] */
float cp; /**< Code phase of best point [chips] */
float cf; /**< Carrier frequency of best point [hz] */
sbp_gnss_signal_t
sid; /**< GNSS signal for which acquisition was attempted */
} msg_acq_result_t;
/** Deprecated
*
* Deprecated.
*/
#define SBP_MSG_ACQ_RESULT_DEP_C 0x001F
typedef struct {
float cn0; /**< CN/0 of best point [dB Hz] */
float cp; /**< Code phase of best point [chips] */
float cf; /**< Carrier frequency of best point [hz] */
gnss_signal_dep_t
sid; /**< GNSS signal for which acquisition was attempted */
} msg_acq_result_dep_c_t;
/** Deprecated
*
* Deprecated.
*/
#define SBP_MSG_ACQ_RESULT_DEP_B 0x0014
typedef struct {
float
snr; /**< SNR of best point. Currently in arbitrary SNR points, but will
be in units of dB Hz in a later revision of this message.
*/
float cp; /**< Code phase of best point [chips] */
float cf; /**< Carrier frequency of best point [hz] */
gnss_signal_dep_t
sid; /**< GNSS signal for which acquisition was attempted */
} msg_acq_result_dep_b_t;
/** Deprecated
*
* Deprecated.
*/
#define SBP_MSG_ACQ_RESULT_DEP_A 0x0015
typedef struct {
float snr; /**< SNR of best point. Currently dimensonless, but will have
units of dB Hz in the revision of this message.
*/
float cp; /**< Code phase of best point [chips] */
float cf; /**< Carrier frequency of best point [hz] */
u8 prn; /**< PRN-1 identifier of the satellite signal for which
acquisition was attempted
*/
} msg_acq_result_dep_a_t;
/** Acq perfomance measurement and debug
*
* Profile for a specific SV for debugging purposes
* The message describes SV profile during acquisition time.
* The message is used to debug and measure the performance.
*/
typedef struct {
u8 job_type; /**< SV search job type (deep, fallback, etc) */
u8 status; /**< Acquisition status 1 is Success, 0 is Failure */
u16 cn0; /**< CN0 value. Only valid if status is '1' [dB-Hz*10] */
u8 int_time; /**< Acquisition integration time [ms] */
sbp_gnss_signal_t
sid; /**< GNSS signal for which acquisition was attempted */
u16 bin_width; /**< Acq frequency bin width [Hz] */
u32 timestamp; /**< Timestamp of the job complete event [ms] */
u32 time_spent; /**< Time spent to search for sid.code [us] */
s32 cf_min; /**< Doppler range lowest frequency [Hz] */
s32 cf_max; /**< Doppler range highest frequency [Hz] */
s32 cf; /**< Doppler value of detected peak. Only valid if status is '1' [Hz] */
u32 cp; /**< Codephase of detected peak. Only valid if status is '1' [chips*10] */
} acq_sv_profile_t;
/** Deprecated
*
* Deprecated.
*/
typedef struct {
u8 job_type; /**< SV search job type (deep, fallback, etc) */
u8 status; /**< Acquisition status 1 is Success, 0 is Failure */
u16 cn0; /**< CN0 value. Only valid if status is '1' [dB-Hz*10] */
u8 int_time; /**< Acquisition integration time [ms] */
gnss_signal_dep_t
sid; /**< GNSS signal for which acquisition was attempted */
u16 bin_width; /**< Acq frequency bin width [Hz] */
u32 timestamp; /**< Timestamp of the job complete event [ms] */
u32 time_spent; /**< Time spent to search for sid.code [us] */
s32 cf_min; /**< Doppler range lowest frequency [Hz] */
s32 cf_max; /**< Doppler range highest frequency [Hz] */
s32 cf; /**< Doppler value of detected peak. Only valid if status is '1' [Hz] */
u32 cp; /**< Codephase of detected peak. Only valid if status is '1' [chips*10] */
} acq_sv_profile_dep_t;
/** Acquisition perfomance measurement and debug
*
* The message describes all SV profiles during acquisition time.
* The message is used to debug and measure the performance.
*/
#define SBP_MSG_ACQ_SV_PROFILE 0x002E
typedef struct {
acq_sv_profile_t
acq_sv_profile[0]; /**< SV profiles during acquisition time */
} msg_acq_sv_profile_t;
/** Deprecated.
*
* Deprecated.
*/
#define SBP_MSG_ACQ_SV_PROFILE_DEP 0x001E
typedef struct {
acq_sv_profile_dep_t
acq_sv_profile[0]; /**< SV profiles during acquisition time */
} msg_acq_sv_profile_dep_t;
/** \} */
#endif /* LIBSBP_ACQUISITION_MESSAGES_H */