GNSS-SDR  0.0.13
An Open Source GNSS Software Defined Receiver
Public Member Functions | List of all members
Rtcm_Printer Class Reference

This class provides a implementation of a subset of the RTCM Standard 10403.2 messages. More...

#include <rtcm_printer.h>

Public Member Functions

 Rtcm_Printer (const std::string &filename, bool flag_rtcm_file_dump, bool flag_rtcm_server, bool flag_rtcm_tty_port, uint16_t rtcm_tcp_port, uint16_t rtcm_station_id, const std::string &rtcm_dump_devname, bool time_tag_name=true, const std::string &base_path=".")
 Default constructor. More...
 
 ~Rtcm_Printer ()
 Default destructor. More...
 
bool Print_Rtcm_MT1001 (const Gps_Ephemeris &gps_eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables)
 
bool Print_Rtcm_MT1002 (const Gps_Ephemeris &gps_eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables)
 
bool Print_Rtcm_MT1003 (const Gps_Ephemeris &gps_eph, const Gps_CNAV_Ephemeris &cnav_eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables)
 
bool Print_Rtcm_MT1004 (const Gps_Ephemeris &gps_eph, const Gps_CNAV_Ephemeris &cnav_eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables)
 
bool Print_Rtcm_MT1009 (const Glonass_Gnav_Ephemeris &glonass_gnav_eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables)
 Prints L1-Only GLONASS RTK Observables. More...
 
bool Print_Rtcm_MT1010 (const Glonass_Gnav_Ephemeris &glonass_gnav_eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables)
 Prints Extended L1-Only GLONASS RTK Observables. More...
 
bool Print_Rtcm_MT1011 (const Glonass_Gnav_Ephemeris &glonass_gnav_ephL1, const Glonass_Gnav_Ephemeris &glonass_gnav_ephL2, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables)
 Prints L1&L2 GLONASS RTK Observables. More...
 
bool Print_Rtcm_MT1012 (const Glonass_Gnav_Ephemeris &glonass_gnav_ephL1, const Glonass_Gnav_Ephemeris &glonass_gnav_ephL2, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables)
 Prints Extended L1&L2 GLONASS RTK Observables. More...
 
bool Print_Rtcm_MT1019 (const Gps_Ephemeris &gps_eph)
 GPS Ephemeris, should be broadcast in the event that the IODC does not match the IODE, and every 2 minutes. More...
 
bool Print_Rtcm_MT1045 (const Galileo_Ephemeris &gal_eph)
 Galileo Ephemeris, should be broadcast every 2 minutes. More...
 
bool Print_Rtcm_MT1020 (const Glonass_Gnav_Ephemeris &glonass_gnav_eph, const Glonass_Gnav_Utc_Model &utc_model)
 Prints GLONASS GNAV Ephemeris. More...
 
bool Print_Rtcm_MSM (uint32_t msm_number, const Gps_Ephemeris &gps_eph, const Gps_CNAV_Ephemeris &gps_cnav_eph, const Galileo_Ephemeris &gal_eph, const Glonass_Gnav_Ephemeris &glo_gnav_eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables, uint32_t clock_steering_indicator, uint32_t external_clock_indicator, int32_t smooth_int, bool divergence_free, bool more_messages)
 
std::string print_MT1005_test ()
 For testing purposes. More...
 
uint32_t lock_time (const Gps_Ephemeris &eph, double obs_time, const Gnss_Synchro &gnss_synchro)
 
uint32_t lock_time (const Gps_CNAV_Ephemeris &eph, double obs_time, const Gnss_Synchro &gnss_synchro)
 
uint32_t lock_time (const Galileo_Ephemeris &eph, double obs_time, const Gnss_Synchro &gnss_synchro)
 
uint32_t lock_time (const Glonass_Gnav_Ephemeris &eph, double obs_time, const Gnss_Synchro &gnss_synchro)
 Locks time for logging given GLONASS GNAV Broadcast Ephemeris. More...
 

Detailed Description

This class provides a implementation of a subset of the RTCM Standard 10403.2 messages.

Definition at line 43 of file rtcm_printer.h.

Constructor & Destructor Documentation

◆ Rtcm_Printer()

Rtcm_Printer::Rtcm_Printer ( const std::string &  filename,
bool  flag_rtcm_file_dump,
bool  flag_rtcm_server,
bool  flag_rtcm_tty_port,
uint16_t  rtcm_tcp_port,
uint16_t  rtcm_station_id,
const std::string &  rtcm_dump_devname,
bool  time_tag_name = true,
const std::string &  base_path = "." 
)

Default constructor.

◆ ~Rtcm_Printer()

Rtcm_Printer::~Rtcm_Printer ( )

Default destructor.

Member Function Documentation

◆ lock_time()

uint32_t Rtcm_Printer::lock_time ( const Glonass_Gnav_Ephemeris eph,
double  obs_time,
const Gnss_Synchro gnss_synchro 
)

Locks time for logging given GLONASS GNAV Broadcast Ephemeris.

Note
Code added as part of GSoC 2017 program glonass_gnav_eph GLONASS GNAV Broadcast Ephemeris obs_time Time of observation at the moment of printing observables Set of observables as defined by the platform
Returns
locked time during logging process

◆ print_MT1005_test()

std::string Rtcm_Printer::print_MT1005_test ( )

For testing purposes.

◆ Print_Rtcm_MT1009()

bool Rtcm_Printer::Print_Rtcm_MT1009 ( const Glonass_Gnav_Ephemeris glonass_gnav_eph,
double  obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
)

Prints L1-Only GLONASS RTK Observables.

This GLONASS message type is not generally used or supported; type 1012 is to be preferred.

Note
Code added as part of GSoC 2017 program
Parameters
glonass_gnav_ephGLONASS GNAV Broadcast Ephemeris
obs_timeTime of observation at the moment of printing
observablesSet of observables as defined by the platform
Returns
true or false upon operation success

◆ Print_Rtcm_MT1010()

bool Rtcm_Printer::Print_Rtcm_MT1010 ( const Glonass_Gnav_Ephemeris glonass_gnav_eph,
double  obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
)

Prints Extended L1-Only GLONASS RTK Observables.

This GLONASS message type is used when only L1 data is present and bandwidth is very tight, often 1012 is used in such cases.

Note
Code added as part of GSoC 2017 program
Parameters
glonass_gnav_ephGLONASS GNAV Broadcast Ephemeris
obs_timeTime of observation at the moment of printing
observablesSet of observables as defined by the platform
Returns
true or false upon operation success

◆ Print_Rtcm_MT1011()

bool Rtcm_Printer::Print_Rtcm_MT1011 ( const Glonass_Gnav_Ephemeris glonass_gnav_ephL1,
const Glonass_Gnav_Ephemeris glonass_gnav_ephL2,
double  obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
)

Prints L1&L2 GLONASS RTK Observables.

This GLONASS message type is not generally used or supported; type 1012 is to be preferred

Note
Code added as part of GSoC 2017 program
Parameters
glonass_gnav_ephL1GLONASS L1 GNAV Broadcast Ephemeris for satellite
glonass_gnav_ephL2GLONASS L2 GNAV Broadcast Ephemeris for satellite
obs_timeTime of observation at the moment of printing
observablesSet of observables as defined by the platform
Returns
true or false upon operation success

◆ Print_Rtcm_MT1012()

bool Rtcm_Printer::Print_Rtcm_MT1012 ( const Glonass_Gnav_Ephemeris glonass_gnav_ephL1,
const Glonass_Gnav_Ephemeris glonass_gnav_ephL2,
double  obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
)

Prints Extended L1&L2 GLONASS RTK Observables.

This GLONASS message type is the most common observational message type, with L1/L2/SNR content. This is one of the most common messages found.

Note
Code added as part of GSoC 2017 program
Parameters
glonass_gnav_ephL1GLONASS L1 GNAV Broadcast Ephemeris for satellite
glonass_gnav_ephL2GLONASS L2 GNAV Broadcast Ephemeris for satellite
obs_timeTime of observation at the moment of printing
observablesSet of observables as defined by the platform
Returns
true or false upon operation success

◆ Print_Rtcm_MT1019()

bool Rtcm_Printer::Print_Rtcm_MT1019 ( const Gps_Ephemeris gps_eph)

GPS Ephemeris, should be broadcast in the event that the IODC does not match the IODE, and every 2 minutes.

◆ Print_Rtcm_MT1020()

bool Rtcm_Printer::Print_Rtcm_MT1020 ( const Glonass_Gnav_Ephemeris glonass_gnav_eph,
const Glonass_Gnav_Utc_Model utc_model 
)

Prints GLONASS GNAV Ephemeris.

This GLONASS message should be broadcast every 2 minutes

Note
Code added as part of GSoC 2017 program
Parameters
glonass_gnav_ephGLONASS GNAV Broadcast Ephemeris
utc_modelGLONASS GNAV Clock Information broadcast in string 5
Returns
true or false upon operation success

◆ Print_Rtcm_MT1045()

bool Rtcm_Printer::Print_Rtcm_MT1045 ( const Galileo_Ephemeris gal_eph)

Galileo Ephemeris, should be broadcast every 2 minutes.


The documentation for this class was generated from the following file: