21 #ifndef GNSS_SDR_CHANNEL_H 22 #define GNSS_SDR_CHANNEL_H 30 #include <gnuradio/block.h> 66 std::shared_ptr<AcquisitionInterface> acq,
67 std::shared_ptr<TrackingInterface> trk,
68 std::shared_ptr<TelemetryDecoderInterface> nav,
69 const std::string& role,
70 const std::string& signal_str,
75 void connect(gr::top_block_sptr top_block)
override;
76 void disconnect(gr::top_block_sptr top_block)
override;
77 gr::basic_block_sptr get_left_block()
override;
84 inline std::string role()
override {
return role_; }
85 inline std::string
implementation()
override {
return std::string(
"Channel"); }
86 inline size_t item_size()
override {
return 2 *
sizeof(float); }
92 void assist_acquisition_doppler(
double Carrier_Doppler_hz)
override;
94 inline std::shared_ptr<AcquisitionInterface> acquisition()
const {
return acq_; }
95 inline std::shared_ptr<TrackingInterface> tracking()
const {
return trk_; }
96 inline std::shared_ptr<TelemetryDecoderInterface> telemetry()
const {
return nav_; }
99 bool glonass_dll_pll_c_aid_tracking_check()
const;
100 std::shared_ptr<ChannelFsm> channel_fsm_;
101 std::shared_ptr<AcquisitionInterface> acq_;
102 std::shared_ptr<TrackingInterface> trk_;
103 std::shared_ptr<TelemetryDecoderInterface> nav_;
104 channel_msg_receiver_cc_sptr channel_msg_rx_;
110 int glonass_extend_correlation_ms_;
113 bool flag_enable_fpga_;
119 #endif // GNSS_SDR_CHANNEL_H gr::basic_block_sptr get_left_block_trk() override
Gets the GNU Radio tracking block input pointer.
Interface of a thread-safe std::queue.
Channel(const ConfigurationInterface *configuration, uint32_t channel, std::shared_ptr< AcquisitionInterface > acq, std::shared_ptr< TrackingInterface > trk, std::shared_ptr< TelemetryDecoderInterface > nav, const std::string &role, const std::string &signal_str, Concurrent_Queue< pmt::pmt_t > *queue)
Constructor.
void set_signal(const Gnss_Signal &gnss_signal_) override
Sets the channel GNSS signal.
gr::basic_block_sptr get_right_block_acq() override
Gets the GNU Radio acquisition block output pointer.
gr::basic_block_sptr get_left_block_acq() override
Gets the GNU Radio acquisition block input pointer.
void connect(gr::top_block_sptr top_block) override
Connects the tracking block to the top_block and to the telemetry.
This class represents an interface to a channel GNSS block.
Interface of the State Machine for channel.
This class represents a GNSS channel. It wraps an AcquisitionInterface, a TrackingInterface and a Tel...
This abstract class represents an interface to an acquisition GNSS block.
This is the class that contains the information that is shared by the processing blocks.
Implementation of the Gnss_Signal class.
GNU Radio block that receives asynchronous channel messages from acquisition and tracking blocks...
This abstract class represents an interface to configuration parameters.
gr::basic_block_sptr get_right_block_trk() override
Gets the GNU Radio tracking block output pointer.
This abstract class represents an interface to a channel GNSS block.
This abstract class represents an interface to a navigation GNSS block.
gr::basic_block_sptr get_right_block() override
Gets the GNU Radio channel block output pointer.
This class represents a GNSS signal.
std::string implementation() override
Returns "Channel".
void start_acquisition() override
Start the State Machine.
This abstract class represents an interface to a tracking block.
~Channel()=default
Destructor.
void stop_channel() override
Stop the State Machine.
Interface of the Gnss_Synchro class.