GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
pvt_interface.h
Go to the documentation of this file.
1 /*!
2  * \file pvt_interface.h
3  * \brief This class represents an interface to a PVT block.
4  * \author Javier Arribas, 2011. jarribas(at)cttc.es
5  *
6  * Abstract class for PVT solvers. Since all its methods are virtual,
7  * this class cannot be instantiated directly, and a subclass can only be
8  * instantiated directly if all inherited pure virtual methods have been
9  * implemented by that class or a parent class.
10  *
11  * -----------------------------------------------------------------------------
12  *
13  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
14  * This file is part of GNSS-SDR.
15  *
16  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
17  * SPDX-License-Identifier: GPL-3.0-or-later
18  *
19  * -----------------------------------------------------------------------------
20  */
21 
22 
23 #ifndef GNSS_SDR_PVT_INTERFACE_H
24 #define GNSS_SDR_PVT_INTERFACE_H
25 
26 #include "galileo_almanac.h"
27 #include "galileo_ephemeris.h"
28 #include "gnss_block_interface.h"
29 #include "gps_almanac.h"
30 #include "gps_ephemeris.h"
31 #include <map>
32 
33 /** \addtogroup Core
34  * \{ */
35 /** \addtogroup GNSS_Block_Interfaces
36  * \{ */
37 
38 
39 /*!
40  * \brief This class represents an interface to a PVT block.
41  *
42  * Abstract class for PVT interfaces, derived from GNSSBlockInterface.
43  * Since all its methods are virtual,
44  * this class cannot be instantiated directly, and a subclass can only be
45  * instantiated directly if all inherited pure virtual methods have been
46  * implemented by that class or a parent class.
47  */
49 {
50 public:
51  virtual void reset() = 0;
52  virtual void clear_ephemeris() = 0;
53  virtual std::map<int, Gps_Ephemeris> get_gps_ephemeris() const = 0;
54  virtual std::map<int, Galileo_Ephemeris> get_galileo_ephemeris() const = 0;
55  virtual std::map<int, Gps_Almanac> get_gps_almanac() const = 0;
56  virtual std::map<int, Galileo_Almanac> get_galileo_almanac() const = 0;
57 
58  virtual bool get_latest_PVT(double* longitude_deg,
59  double* latitude_deg,
60  double* height_m,
61  double* ground_speed_kmh,
62  double* course_over_ground_deg,
63  time_t* UTC_time) = 0;
64 };
65 
66 
67 /** \} */
68 /** \} */
69 #endif // GNSS_SDR_PVT_INTERFACE_H
This class represents an interface to a PVT block.
Definition: pvt_interface.h:48
Interface of a Galileo ALMANAC storage.
Interface of a GPS ALMANAC storage.
This interface represents a GNSS block.
Interface of a GPS EPHEMERIS storage.
This abstract class represents an interface to GNSS blocks.
Interface of a Galileo EPHEMERIS storage.