diff --git a/src/core/receiver/gnss_block_factory.cc b/src/core/receiver/gnss_block_factory.cc index 7b21eb6fb..730406e4d 100644 --- a/src/core/receiver/gnss_block_factory.cc +++ b/src/core/receiver/gnss_block_factory.cc @@ -71,6 +71,7 @@ #include "galileo_e1_tcp_connector_tracking.h" #include "gps_l1_ca_telemetry_decoder.h" #include "galileo_e1b_telemetry_decoder.h" +#include "sbas_l1_telemetry_decoder.h" #include "gps_l1_ca_observables.h" #include "galileo_e1_observables.h" #include "gps_l1_ca_pvt.h" @@ -448,6 +449,12 @@ GNSSBlockInterface* GNSSBlockFactory::GetBlock( block = new GalileoE1BTelemetryDecoder(configuration, role, in_streams, out_streams, queue); } + else if (implementation.compare("SBAS_L1_Telemetry_Decoder") == 0) + { + block = new SbasL1TelemetryDecoder(configuration, role, in_streams, + out_streams, queue); + } + // OBSERVABLES ----------------------------------------------------------------- else if (implementation.compare("GPS_L1_CA_Observables") == 0) { diff --git a/src/main/main.cc b/src/main/main.cc index 7bba2c8e2..36d3abd37 100644 --- a/src/main/main.cc +++ b/src/main/main.cc @@ -55,6 +55,12 @@ #include "galileo_almanac.h" #include "galileo_iono.h" #include "galileo_utc_model.h" +#include "sbas_telemetry_data.h" +#include "sbas_ionospheric_correction.h" +#include "sbas_satellite_correction.h" +#include "sbas_ephemeris.h" +#include "sbas_time.h" + #include #include #include @@ -68,7 +74,7 @@ DECLARE_string(log_dir); */ /* - * Concurrent queue that communicates the Telemetry Decoder + * Concurrent queues that communicates the Telemetry Decoder * to the Observables modules */ @@ -96,6 +102,15 @@ concurrent_map global_galileo_iono_map; concurrent_map global_galileo_utc_model_map; concurrent_map global_galileo_almanac_map; +// For SBAS CORRECTIONS +concurrent_queue global_sbas_raw_msg_queue; +concurrent_queue global_sbas_iono_queue; +concurrent_queue global_sbas_sat_corr_queue; +concurrent_queue global_sbas_ephemeris_queue; + +concurrent_map global_sbas_iono_map; +concurrent_map global_sbas_sat_corr_map; +concurrent_map global_sbas_ephemeris_map; int main(int argc, char** argv) { diff --git a/src/tests/test_main.cc b/src/tests/test_main.cc index d11f325a8..9f0baa403 100644 --- a/src/tests/test_main.cc +++ b/src/tests/test_main.cc @@ -55,6 +55,12 @@ #include "galileo_iono.h" #include "galileo_utc_model.h" +#include "sbas_ephemeris.h" +#include "sbas_telemetry_data.h" +#include "sbas_ionospheric_correction.h" +#include "sbas_satellite_correction.h" +#include "sbas_time.h" + #include "control_thread.h" //#include "arithmetic/complex_arithmetic_libc.cc" @@ -65,20 +71,26 @@ #include "control_thread/control_message_factory_test.cc" //#include "control_thread/control_thread_test.cc" #include "flowgraph/pass_through_test.cc" + +#include "gnss_block/gnss_block_factory_test.cc" +#include "gnuradio_block/gnss_sdr_valve_test.cc" +#include "gnuradio_block/direct_resampler_conditioner_cc_test.cc" +#include "string_converter/string_converter_test.cc" + //#include "flowgraph/gnss_flowgraph_test.cc" #include "gnss_block/file_output_filter_test.cc" #include "gnss_block/file_signal_source_test.cc" #include "gnss_block/fir_filter_test.cc" -//#include "gnss_block/gps_l1_ca_pcps_acquisition_test.cc" +#include "gnss_block/gps_l1_ca_pcps_acquisition_test.cc" #include "gnss_block/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc" -#include "gnss_block/gps_l1_ca_pcps_multithread_acquisition_gsoc2013_test.cc" +//#include "gnss_block/gps_l1_ca_pcps_multithread_acquisition_gsoc2013_test.cc" #if OPENCL #include "gnss_block/gps_l1_ca_pcps_opencl_acquisition_gsoc2013_test.cc" #endif #include "gnss_block/gps_l1_ca_pcps_tong_acquisition_gsoc2013_test.cc" -//#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_test.cc" -//#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc_test.cc" +#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_test.cc" +#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc_test.cc" #include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc2013_test.cc" #include "gnss_block/galileo_e1_pcps_8ms_ambiguous_acquisition_gsoc2013_test.cc" #include "gnss_block/galileo_e1_pcps_tong_ambiguous_acquisition_gsoc2013_test.cc" @@ -86,10 +98,7 @@ #include "gnss_block/galileo_e1_dll_pll_veml_tracking_test.cc" -#include "gnss_block/gnss_block_factory_test.cc" -#include "gnuradio_block/gnss_sdr_valve_test.cc" -#include "gnuradio_block/direct_resampler_conditioner_cc_test.cc" -#include "string_converter/string_converter_test.cc" + concurrent_queue global_gps_ephemeris_queue; @@ -115,6 +124,18 @@ concurrent_map global_galileo_iono_map; concurrent_map global_galileo_utc_model_map; concurrent_map global_galileo_almanac_map; +// For SBAS CORRECTIONS +concurrent_queue global_sbas_raw_msg_queue; +concurrent_queue global_sbas_iono_queue; +concurrent_queue global_sbas_sat_corr_queue; +concurrent_queue global_sbas_ephemeris_queue; + +concurrent_map global_sbas_iono_map; +concurrent_map global_sbas_sat_corr_map; +concurrent_map global_sbas_ephemeris_map; + + + int main(int argc, char **argv) { std::cout << "Running main() from test_main.cc" << std::endl;