1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-08-31 01:47:59 +00:00

Finish removal of receiver type

This commit is contained in:
Mathieu Favreau
2025-07-23 20:43:00 +00:00
parent 18006bbbe9
commit 6d5f7b6254
5 changed files with 112 additions and 1551 deletions

View File

@@ -2458,17 +2458,12 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
}
if (d_rtcm_enabled)
{
const Signal_Enabled_Flags flags(d_signal_enabled_flags);
d_rtcm_printer->Print_Rtcm_Messages(d_user_pvt_solver.get(),
d_gnss_observables_map,
d_rx_time,
get_type_of_receiver(flags),
d_rtcm_MSM_rate_ms,
d_rtcm_MT1019_rate_ms,
d_rtcm_MT1020_rate_ms,
d_rtcm_MT1045_rate_ms,
d_signal_enabled_flags,
d_rtcm_MT1077_rate_ms,
d_rtcm_MT1087_rate_ms,
d_rtcm_MT1097_rate_ms,
flag_write_RTCM_MSM_output,
flag_write_RTCM_1019_output,

View File

@@ -62,233 +62,3 @@ Signal_Enabled_Flags::Signal_Enabled_Flags(const ConfigurationInterface* configu
Signal_Enabled_Flags::Signal_Enabled_Flags(uint32_t flags_) : flags(flags_)
{
}
uint32_t get_type_of_receiver(const Signal_Enabled_Flags& signal_enabled_flags)
{
if (signal_enabled_flags.check_only_enabled(GPS_1C))
{
return 1; // GPS L1 C/A
}
if (signal_enabled_flags.check_only_enabled(GPS_2S))
{
return 2; // GPS L2C
}
if (signal_enabled_flags.check_only_enabled(GPS_L5))
{
return 3; // L5
}
if (signal_enabled_flags.check_only_enabled(GAL_1B))
{
return 4; // E1
}
if (signal_enabled_flags.check_only_enabled(GAL_E5a))
{
return 5; // E5a
}
if (signal_enabled_flags.check_only_enabled(GAL_E5b))
{
return 6; // E5b
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GPS_2S))
{
return 7; // GPS L1 C/A + GPS L2C
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GPS_L5))
{
return 8; // L1+L5
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_1B))
{
return 9; // L1+E1
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_E5a))
{
return 10; // GPS L1 C/A + Galileo E5a
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_E5b))
{
return 11; // GPS L1 C/A + Galileo E5b
}
if (signal_enabled_flags.check_only_enabled(GPS_2S, GAL_1B))
{
return 12; // Galileo E1B + GPS L2C
}
if (signal_enabled_flags.check_only_enabled(GPS_L5, GAL_E5a))
{
return 13; // L5+E5a
}
if (signal_enabled_flags.check_only_enabled(GAL_1B, GAL_E5a))
{
return 14; // Galileo E1B + Galileo E5a
}
if (signal_enabled_flags.check_only_enabled(GAL_1B, GAL_E5b))
{
return 15; // Galileo E1B + Galileo E5b
}
if (signal_enabled_flags.check_only_enabled(GPS_2S, GPS_L5))
{
return 16; // GPS L2C + GPS L5
}
if (signal_enabled_flags.check_only_enabled(GPS_2S, GAL_E5a))
{
return 17; // GPS L2C + Galileo E5a
}
if (signal_enabled_flags.check_only_enabled(GPS_2S, GAL_E5b))
{
return 18; // GPS L2C + Galileo E5b
}
if (signal_enabled_flags.check_only_enabled(GAL_E5a, GAL_E5b))
{
return 19; // Galileo E5a + Galileo E5b
}
if (signal_enabled_flags.check_only_enabled(GPS_L5, GAL_E5b))
{
return 20; // GPS L5 + Galileo E5b
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_1B, GPS_2S))
{
return 21; // GPS L1 C/A + Galileo E1B + GPS L2C
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_1B, GPS_L5))
{
return 22; // GPS L1 C/A + Galileo E1B + GPS L5
}
if (signal_enabled_flags.check_only_enabled(GLO_1G))
{
return 23; // GLONASS L1 C/A
}
if (signal_enabled_flags.check_only_enabled(GLO_2G))
{
return 24; // GLONASS L2 C/A
}
if (signal_enabled_flags.check_only_enabled(GLO_1G, GLO_2G))
{
return 25; // GLONASS L1 C/A + GLONASS L2 C/A
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GLO_1G))
{
return 26; // GPS L1 C/A + GLONASS L1 C/A
}
if (signal_enabled_flags.check_only_enabled(GAL_1B, GLO_1G))
{
return 27; // Galileo E1B + GLONASS L1 C/A
}
if (signal_enabled_flags.check_only_enabled(GPS_2S, GLO_1G))
{
return 28; // GPS L2C + GLONASS L1 C/A
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GLO_2G))
{
return 29; // GPS L1 C/A + GLONASS L2 C/A
}
if (signal_enabled_flags.check_only_enabled(GAL_1B, GLO_2G))
{
return 30; // Galileo E1B + GLONASS L2 C/A
}
if (signal_enabled_flags.check_only_enabled(GPS_2S, GLO_2G))
{
return 31; // GPS L2C + GLONASS L2 C/A
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_1B, GPS_L5, GAL_E5a))
{
return 32; // L1+E1+L5+E5a
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_1B, GAL_E5a))
{
return 33; // L1+E1+E5a
}
// Galileo E6
if (signal_enabled_flags.check_only_enabled(GAL_E6))
{
return 100; // Galileo E6B
}
if (signal_enabled_flags.check_only_enabled(GAL_1B, GAL_E6))
{
return 101; // Galileo E1B + Galileo E6B
}
if (signal_enabled_flags.check_only_enabled(GAL_E5a, GAL_E6))
{
return 102; // Galileo E5a + Galileo E6B
}
if (signal_enabled_flags.check_only_enabled(GAL_E5b, GAL_E6))
{
return 103; // Galileo E5b + Galileo E6B
}
if (signal_enabled_flags.check_only_enabled(GAL_1B, GAL_E5a, GAL_E6))
{
return 104; // Galileo E1B + Galileo E5a + Galileo E6B
}
if (signal_enabled_flags.check_only_enabled(GAL_1B, GAL_E5b, GAL_E6))
{
return 105; // Galileo E1B + Galileo E5b + Galileo E6B
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_1B, GAL_E6))
{
return 106; // GPS L1 C/A + Galileo E1B + Galileo E6B
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_E6))
{
return 107; // GPS L1 C/A + Galileo E6B
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_1B, GPS_L5, GAL_E5a, GAL_E6))
{
return 108; // GPS L1 C/A + Galileo E1B + GPS L5 + Galileo E5a + Galileo E6B
}
// BeiDou B1I Receiver
if (signal_enabled_flags.check_only_enabled(BDS_B1))
{
return 500; // Beidou B1I
}
if (signal_enabled_flags.check_only_enabled(BDS_B1, GPS_1C))
{
return 501; // Beidou B1I + GPS L1 C/A
}
if (signal_enabled_flags.check_only_enabled(BDS_B1, GAL_1B))
{
return 502; // Beidou B1I + Galileo E1B
}
if (signal_enabled_flags.check_only_enabled(BDS_B1, GLO_1G))
{
return 503; // Beidou B1I + GLONASS L1 C/A
}
if (signal_enabled_flags.check_only_enabled(BDS_B1, GPS_1C, GAL_1B))
{
return 504; // Beidou B1I + GPS L1 C/A + Galileo E1B
}
if (signal_enabled_flags.check_only_enabled(BDS_B1, GPS_1C, GLO_1G, GAL_1B))
{
return 505; // Beidou B1I + GPS L1 C/A + GLONASS L1 C/A + Galileo E1B
}
if (signal_enabled_flags.check_only_enabled(BDS_B1, BDS_B3))
{
return 506; // Beidou B1I + Beidou B3I
}
// BeiDou B3I Receiver
if (signal_enabled_flags.check_only_enabled(BDS_B3))
{
return 600; // Beidou B3I
}
if (signal_enabled_flags.check_only_enabled(BDS_B3, GPS_2S))
{
return 601; // Beidou B3I + GPS L2C
}
if (signal_enabled_flags.check_only_enabled(BDS_B3, GLO_2G))
{
return 602; // Beidou B3I + GLONASS L2 C/A
}
if (signal_enabled_flags.check_only_enabled(BDS_B3, GPS_2S, GLO_2G))
{
return 603; // Beidou B3I + GPS L2C + GLONASS L2 C/A
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GPS_2S, GPS_L5))
{
return 1000; // GPS L1 + GPS L2C + GPS L5
}
if (signal_enabled_flags.check_only_enabled(GPS_1C, GAL_1B, GPS_2S, GPS_L5, GAL_E5a))
{
return 1001; // GPS L1 + Galileo E1B + GPS L2C + GPS L5 + Galileo E5a
}
return 0;
}

View File

@@ -69,72 +69,4 @@ public:
const uint32_t flags;
};
// Infer the type of receiver
/*
* TYPE | RECEIVER
* 0 | Unknown
* 1 | GPS L1 C/A
* 2 | GPS L2C
* 3 | GPS L5
* 4 | Galileo E1B
* 5 | Galileo E5a
* 6 | Galileo E5b
* 7 | GPS L1 C/A + GPS L2C
* 8 | GPS L1 C/A + GPS L5
* 9 | GPS L1 C/A + Galileo E1B
* 10 | GPS L1 C/A + Galileo E5a
* 11 | GPS L1 C/A + Galileo E5b
* 12 | Galileo E1B + GPS L2C
* 13 | Galileo E5a + GPS L5
* 14 | Galileo E1B + Galileo E5a
* 15 | Galileo E1B + Galileo E5b
* 16 | GPS L2C + GPS L5
* 17 | GPS L2C + Galileo E5a
* 18 | GPS L2C + Galileo E5b
* 19 | Galileo E5a + Galileo E5b
* 20 | GPS L5 + Galileo E5b
* 21 | GPS L1 C/A + Galileo E1B + GPS L2C
* 22 | GPS L1 C/A + Galileo E1B + GPS L5
* 23 | GLONASS L1 C/A
* 24 | GLONASS L2 C/A
* 25 | GLONASS L1 C/A + GLONASS L2 C/A
* 26 | GPS L1 C/A + GLONASS L1 C/A
* 27 | Galileo E1B + GLONASS L1 C/A
* 28 | GPS L2C + GLONASS L1 C/A
* 29 | GPS L1 C/A + GLONASS L2 C/A
* 30 | Galileo E1B + GLONASS L2 C/A
* 31 | GPS L2C + GLONASS L2 C/A
* 32 | GPS L1 C/A + Galileo E1B + GPS L5 + Galileo E5a
* 33 | GPS L1 C/A + Galileo E1B + Galileo E5a
*
* Skipped previous values to avoid overlapping
* 100 | Galileo E6B
* 101 | Galileo E1B + Galileo E6B
* 102 | Galileo E5a + Galileo E6B
* 103 | Galileo E5b + Galileo E6B
* 104 | Galileo E1B + Galileo E5a + Galileo E6B
* 105 | Galileo E1B + Galileo E5b + Galileo E6B
* 106 | GPS L1 C/A + Galileo E1B + Galileo E6B
* 107 | GPS L1 C/A + Galileo E6B
* 108 | GPS L1 C/A + Galileo E1B + GPS L5 + Galileo E5a + Galileo E6B
* Skipped previous values to avoid overlapping
* 500 | BeiDou B1I
* 501 | BeiDou B1I + GPS L1 C/A
* 502 | BeiDou B1I + Galileo E1B
* 503 | BeiDou B1I + GLONASS L1 C/A
* 504 | BeiDou B1I + GPS L1 C/A + Galileo E1B
* 505 | BeiDou B1I + GPS L1 C/A + GLONASS L1 C/A + Galileo E1B
* 506 | BeiDou B1I + Beidou B3I
* Skipped previous values to avoid overlapping
* 600 | BeiDou B3I
* 601 | BeiDou B3I + GPS L2C
* 602 | BeiDou B3I + GLONASS L2 C/A
* 603 | BeiDou B3I + GPS L2C + GLONASS L2 C/A
*
* 1000 | GPS L1 C/A + GPS L2C + GPS L5
* 1001 | GPS L1 C/A + Galileo E1B + GPS L2C + GPS L5 + Galileo E5a
*/
uint32_t get_type_of_receiver(const Signal_Enabled_Flags& signal_enabled_flags);
#endif // GNSS_SDR_RECEIVER_TYPE_H

File diff suppressed because it is too large Load Diff

View File

@@ -72,12 +72,9 @@ public:
void Print_Rtcm_Messages(const Rtklib_Solver* pvt_solver,
const std::map<int, Gnss_Synchro>& gnss_observables_map,
double rx_time,
int32_t type_of_rx,
int32_t rtcm_MSM_rate_ms,
int32_t rtcm_MT1019_rate_ms,
int32_t rtcm_MT1020_rate_ms,
int32_t rtcm_MT1045_rate_ms,
uint32_t signal_enabled_flags,
int32_t rtcm_MT1077_rate_ms,
int32_t rtcm_MT1087_rate_ms,
int32_t rtcm_MT1097_rate_ms,
bool flag_write_RTCM_MSM_output,
bool flag_write_RTCM_1019_output,
@@ -198,7 +195,6 @@ private:
int32_t rtcm_dev_descriptor; // RTCM serial device descriptor (i.e. COM port)
uint16_t port;
uint16_t station_id;
bool d_rtcm_writing_started;
bool d_rtcm_file_dump;
};