GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
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"
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{
50public:
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 abstract class represents an interface to GNSS blocks.
This class represents an interface to a PVT block.
Interface of a Galileo ALMANAC storage.
Interface of a Galileo EPHEMERIS storage.
This interface represents a GNSS block.
Interface of a GPS ALMANAC storage.
Interface of a GPS EPHEMERIS storage.