mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
sdlog2: Log minimalistic GPS SNR for first 16 satellites
This commit is contained in:
parent
15e65fda26
commit
c04064fd6a
@ -834,6 +834,8 @@ int sdlog2_thread_main(int argc, char *argv[])
|
||||
struct log_ESTM_s log_ESTM;
|
||||
struct log_PWR_s log_PWR;
|
||||
struct log_VICN_s log_VICN;
|
||||
struct log_GSN0_s log_GSN0;
|
||||
struct log_GSN1_s log_GSN1;
|
||||
} body;
|
||||
} log_msg = {
|
||||
LOG_PACKET_HEADER_INIT(0)
|
||||
@ -982,6 +984,18 @@ int sdlog2_thread_main(int argc, char *argv[])
|
||||
log_msg.body.log_GPS.vel_d = buf_gps_pos.vel_d_m_s;
|
||||
log_msg.body.log_GPS.cog = buf_gps_pos.cog_rad;
|
||||
LOGBUFFER_WRITE_AND_COUNT(GPS);
|
||||
|
||||
/* log the SNR of each satellite for a detailed view of signal quality */
|
||||
log_msg.msg_type = LOG_GSN0_MSG;
|
||||
/* pick the smaller number so we do not overflow any of the arrays */
|
||||
unsigned gps_msg_max_snr = sizeof(buf_gps_pos.satellite_snr) / sizeof(buf_gps_pos.satellite_snr[0]);
|
||||
unsigned log_max_snr = sizeof(log_msg.body.log_GSN0.satellite_snr) / sizeof(log_msg.body.log_GSN0.satellite_snr[0]);
|
||||
unsigned sat_max_snr = (gps_msg_max_snr < log_max_snr) ? gps_msg_max_snr : log_max_snr;
|
||||
|
||||
for (unsigned i = 0; i < sat_max_snr; i++) {
|
||||
log_msg.body.log_GSN0.satellite_snr[i] = buf_gps_pos.satellite_snr[i];
|
||||
}
|
||||
LOGBUFFER_WRITE_AND_COUNT(GSN0);
|
||||
}
|
||||
|
||||
/* --- SENSOR COMBINED --- */
|
||||
|
||||
@ -317,6 +317,18 @@ struct log_VICN_s {
|
||||
float yaw;
|
||||
};
|
||||
|
||||
/* --- GSN0 - GPS SNR #0 --- */
|
||||
#define LOG_GSN0_MSG 26
|
||||
struct log_GSN0_s {
|
||||
uint8_t satellite_snr[16]; /**< Signal to noise ratio of satellite. 0 for none, 255 for max. */
|
||||
};
|
||||
|
||||
/* --- GSN1 - GPS SNR #1 --- */
|
||||
#define LOG_GSN1_MSG 27
|
||||
struct log_GSN1_s {
|
||||
uint8_t satellite_snr[16]; /**< Signal to noise ratio of satellite. 0 for none, 255 for max. */
|
||||
};
|
||||
|
||||
/********** SYSTEM MESSAGES, ID > 0x80 **********/
|
||||
|
||||
/* --- TIME - TIME STAMP --- */
|
||||
@ -368,6 +380,8 @@ static const struct log_format_s log_formats[] = {
|
||||
LOG_FORMAT(ESTM, "ffffffffffBBBB", "s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,nStat,statNaN,covNaN,kGainNaN"),
|
||||
LOG_FORMAT(PWR, "fffBBBBB", "Periph5V,Servo5V,RSSI,UsbOk,BrickOk,ServoOk,PeriphOC,HipwrOC"),
|
||||
LOG_FORMAT(VICN, "ffffff", "X,Y,Z,Roll,Pitch,Yaw"),
|
||||
LOG_FORMAT(GSN0, "BBBBBBBBBBBBBBBB", "s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15"),
|
||||
LOG_FORMAT(GSN1, "BBBBBBBBBBBBBBBB", "s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15"),
|
||||
|
||||
/* system-level messages, ID >= 0x80 */
|
||||
/* FMT: don't write format of format message, it's useless */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user