GNSS-SDR  0.0.13
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  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
14  *
15  * GNSS-SDR is a software defined Global Navigation
16  * Satellite Systems receiver
17  *
18  * This file is part of GNSS-SDR.
19  *
20  * SPDX-License-Identifier: GPL-3.0-or-later
21  *
22  * -----------------------------------------------------------------------------
23  */
24 
25 
26 #ifndef GNSS_SDR_PVT_INTERFACE_H
27 #define GNSS_SDR_PVT_INTERFACE_H
28 
29 #include "galileo_almanac.h"
30 #include "galileo_ephemeris.h"
31 #include "gnss_block_interface.h"
32 #include "gps_almanac.h"
33 #include "gps_ephemeris.h"
34 #include <map>
35 
36 /*!
37  * \brief This class represents an interface to a PVT block.
38  *
39  * Abstract class for PVT interfaces, derived from GNSSBlockInterface.
40  * Since all its methods are virtual,
41  * this class cannot be instantiated directly, and a subclass can only be
42  * instantiated directly if all inherited pure virtual methods have been
43  * implemented by that class or a parent class.
44  */
46 {
47 public:
48  virtual void reset() = 0;
49  virtual void clear_ephemeris() = 0;
50  virtual std::map<int, Gps_Ephemeris> get_gps_ephemeris() const = 0;
51  virtual std::map<int, Galileo_Ephemeris> get_galileo_ephemeris() const = 0;
52  virtual std::map<int, Gps_Almanac> get_gps_almanac() const = 0;
53  virtual std::map<int, Galileo_Almanac> get_galileo_almanac() const = 0;
54 
55  virtual bool get_latest_PVT(double* longitude_deg,
56  double* latitude_deg,
57  double* height_m,
58  double* ground_speed_kmh,
59  double* course_over_ground_deg,
60  time_t* UTC_time) = 0;
61 };
62 
63 #endif // GNSS_SDR_PVT_INTERFACE_H
This class represents an interface to a PVT block.
Definition: pvt_interface.h:45
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.