GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
gen_signal_source.h
Go to the documentation of this file.
1/*!
2 * \file gen_signal_source.h
3 * \brief It wraps blocks that generates synthesized GNSS signal and filters
4 * it.
5 * \author Marc Molina, 2013. marc.molina.pena@gmail.com
6 *
7 *
8 * -----------------------------------------------------------------------------
9 *
10 * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
11 * This file is part of GNSS-SDR.
12 *
13 * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
14 * SPDX-License-Identifier: GPL-3.0-or-later
15 *
16 * -----------------------------------------------------------------------------
17 */
18
19#ifndef GNSS_SDR_GEN_SIGNAL_SOURCE_H
20#define GNSS_SDR_GEN_SIGNAL_SOURCE_H
21
22
23#include "concurrent_queue.h"
25#include "signal_source_interface.h"
26#include <pmt/pmt.h>
27#include <memory>
28#include <string>
29
30
31/** \addtogroup Signal_Source
32 * \{ */
33/** \addtogroup Signal_Source_adapters
34 * \{ */
35
36
37/*!
38 * \brief This class wraps blocks that generates synthesized GNSS signal and
39 * filters the signal.
40 */
41class GenSignalSource : public SignalSourceInterface
42{
43public:
44 //! Constructor
45 GenSignalSource(std::shared_ptr<GNSSBlockInterface> signal_generator, std::shared_ptr<GNSSBlockInterface> filter,
46 std::string role, Concurrent_Queue<pmt::pmt_t> *queue);
47
48 void connect(gr::top_block_sptr top_block) override;
49 void disconnect(gr::top_block_sptr top_block) override;
50 gr::basic_block_sptr get_left_block() override;
51 gr::basic_block_sptr get_right_block() override;
52
53 inline std::string role() override { return role_; }
54 //! Returns "Signal Source"
55 inline std::string implementation() override { return "Signal Source"; }
56 inline size_t item_size() override { return 0; }
57 inline size_t getRfChannels() const final { return 0; }
58
59 inline std::shared_ptr<GNSSBlockInterface> signal_generator() const { return signal_generator_; }
60
61private:
62 std::shared_ptr<GNSSBlockInterface> signal_generator_;
63 std::shared_ptr<GNSSBlockInterface> filter_;
64 std::string role_;
65 std::string implementation_;
66 bool connected_;
67};
68
69
70/** \} */
71/** \} */
72#endif // GNSS_SDR_GEN_SIGNAL_SOURCE_H
This class implements a thread-safe std::queue.
std::string implementation() override
Returns "Signal Source".
GenSignalSource(std::shared_ptr< GNSSBlockInterface > signal_generator, std::shared_ptr< GNSSBlockInterface > filter, std::string role, Concurrent_Queue< pmt::pmt_t > *queue)
Constructor.
Interface of a thread-safe std::queue.
This interface represents a GNSS block.