GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
acquisition_interface.h
Go to the documentation of this file.
1/*!
2 * \file acquisition_interface.h
3 * \brief Header file of the interface to an acquisition GNSS block.
4 * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
5 * Luis Esteve, 2011. luis(at)epsilon-formacion.com
6 *
7 * This header file contains the interface to an abstract class
8 * for acquisition algorithms. Since all its methods are virtual,
9 * this class cannot be instantiated directly, and a subclass can only be
10 * instantiated directly if all inherited pure virtual methods have been
11 * implemented by that class or a parent class.
12 *
13 * -----------------------------------------------------------------------------
14 *
15 * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
16 * This file is part of GNSS-SDR.
17 *
18 * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
19 * SPDX-License-Identifier: GPL-3.0-or-later
20 *
21 * -----------------------------------------------------------------------------
22 */
23
24#ifndef GNSS_SDR_ACQUISITION_INTERFACE_H
25#define GNSS_SDR_ACQUISITION_INTERFACE_H
26
28#include "gnss_synchro.h"
29#include <memory>
30
31/** \addtogroup Core
32 * \{ */
33/** \addtogroup GNSS_Block_Interfaces GNSS block interfaces
34 * GNSS block interfaces.
35 * \{ */
36
37
38template <typename Data>
40
41class ChannelFsm;
42
43/*! \brief This abstract class represents an interface to an acquisition GNSS block.
44 *
45 * Abstract class for acquisition algorithms. Since all its methods are virtual,
46 * this class cannot be instantiated directly, and a subclass can only be
47 * instantiated directly if all inherited pure virtual methods have been
48 * implemented by that class or a parent class.
49 */
51{
52public:
53 virtual void set_gnss_synchro(Gnss_Synchro* gnss_synchro) = 0;
54 virtual void set_channel(unsigned int channel_id) = 0;
55 virtual void set_channel_fsm(std::weak_ptr<ChannelFsm> channel_fsm) = 0;
56 virtual void set_doppler_center(int /*doppler_center*/) {}
57 virtual void set_local_code() = 0;
58 virtual signed int mag() = 0;
59 virtual void reset() = 0;
60 virtual void stop_acquisition() = 0;
61 virtual void set_resampler_latency(uint32_t latency_samples) = 0;
62};
63
64
65/** \} */
66/** \} */
67#endif // GNSS_SDR_ACQUISITION_INTERFACE */
This abstract class represents an interface to an acquisition GNSS block.
This class implements a State Machine for channel.
Definition channel_fsm.h:42
This class implements a thread-safe std::queue.
This abstract class represents an interface to GNSS blocks.
This is the class that contains the information that is shared by the processing blocks.
This interface represents a GNSS block.
Interface of the Gnss_Synchro class.