24 #ifndef GNSS_SDR_CHANNEL_H 25 #define GNSS_SDR_CHANNEL_H 33 #include <gnuradio/block.h> 58 std::shared_ptr<TrackingInterface> trk, std::shared_ptr<TelemetryDecoderInterface> nav,
63 void connect(gr::top_block_sptr top_block)
override;
64 void disconnect(gr::top_block_sptr top_block)
override;
68 gr::basic_block_sptr get_right_block()
override;
70 inline std::string role()
override {
return role_; }
72 inline std::string
implementation()
override {
return std::string(
"Channel"); }
73 inline size_t item_size()
override {
return 0; }
74 inline Gnss_Signal get_signal()
const override {
return gnss_signal_; }
79 void assist_acquisition_doppler(
double Carrier_Doppler_hz)
override;
81 inline std::shared_ptr<AcquisitionInterface> acquisition()
const {
return acq_; }
82 inline std::shared_ptr<TrackingInterface> tracking()
const {
return trk_; }
83 inline std::shared_ptr<TelemetryDecoderInterface> telemetry()
const {
return nav_; }
84 void msg_handler_events(pmt::pmt_t msg);
87 std::shared_ptr<ChannelFsm> channel_fsm_;
88 std::shared_ptr<AcquisitionInterface> acq_;
89 std::shared_ptr<TrackingInterface> trk_;
90 std::shared_ptr<TelemetryDecoderInterface> nav_;
91 channel_msg_receiver_cc_sptr channel_msg_rx_;
99 bool flag_enable_fpga_;
102 #endif // GNSS_SDR_CHANNEL_H gr::basic_block_sptr get_left_block_trk() override
gets the gnuradio tracking block 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_left_block_acq() override
gets the gnuradio tracking block 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 Tracking Interface and a Te...
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.
This abstract class represents an interface to a channel GNSS block.
This abstract class represents an interface to a navigation GNSS block.
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.
gr::basic_block_sptr get_left_block() override
gets the gnuradio tracking block pointer
~Channel()=default
Destructor.
void stop_channel() override
Stop the State Machine.
Interface of the Gnss_Synchro class.