GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
channel_status_msg_receiver.h
Go to the documentation of this file.
1/*!
2 * \file channel_status_msg_receiver.h
3 * \brief GNU Radio block that receives asynchronous channel messages from
4 * acquisition and tracking blocks
5 * \author Javier Arribas, 2019. jarribas(at)cttc.es
6 *
7 * -----------------------------------------------------------------------------
8 *
9 * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
10 * This file is part of GNSS-SDR.
11 *
12 * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
13 * SPDX-License-Identifier: GPL-3.0-or-later
14 *
15 * -----------------------------------------------------------------------------
16 */
17
18#ifndef GNSS_SDR_CHANNEL_STATUS_MSG_RECEIVER_CC_H
19#define GNSS_SDR_CHANNEL_STATUS_MSG_RECEIVER_CC_H
20
22#include "gnss_synchro.h"
23#include "monitor_pvt.h"
24#include <gnuradio/block.h>
25#include <pmt/pmt.h>
26#include <map>
27#include <memory>
28
29/** \addtogroup Core
30 * \{ */
31/** \addtogroup Core_Receiver_Library
32 * \{ */
33
34
36
37using channel_status_msg_receiver_sptr = gnss_shared_ptr<channel_status_msg_receiver>;
38
39channel_status_msg_receiver_sptr channel_status_msg_receiver_make();
40
41/*!
42 * \brief GNU Radio block that receives asynchronous channel messages from tlm blocks
43 */
44class channel_status_msg_receiver : public gr::block
45{
46public:
47 ~channel_status_msg_receiver() = default; //!< Default destructor
48
49 /*!
50 * \brief return the current status map of all channels with valid telemetry
51 */
52 std::map<int, std::shared_ptr<Gnss_Synchro>> get_current_status_map();
53
54 /*!
55 * \brief return the current receiver PVT
56 */
58
59private:
60 friend channel_status_msg_receiver_sptr channel_status_msg_receiver_make();
61 channel_status_msg_receiver();
62 void msg_handler_channel_status(const pmt::pmt_t& msg);
63 Monitor_Pvt d_pvt_status{};
64 std::map<int, std::shared_ptr<Gnss_Synchro>> d_channel_status_map;
65};
66
67
68/** \} */
69/** \} */
70#endif // GNSS_SDR_CHANNEL_STATUS_MSG_RECEIVER_CC_H
This class contains parameters and outputs of the PVT block.
Definition monitor_pvt.h:34
GNU Radio block that receives asynchronous channel messages from tlm blocks.
Monitor_Pvt get_current_status_pvt()
return the current receiver PVT
std::map< int, std::shared_ptr< Gnss_Synchro > > get_current_status_map()
return the current status map of all channels with valid telemetry
~channel_status_msg_receiver()=default
Default destructor.
This interface represents a GNSS block.
Interface of the Gnss_Synchro class.
Interface of the Monitor_Pvt class.