1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-04-27 21:23:18 +00:00

The class gps_navigation_message is now Gps_Navigation_Message, following the coding style.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@122 64b25241-fba3-4117-9849-534c7e92360d
This commit is contained in:
Carles Fernandez 2012-01-12 00:47:32 +00:00
parent 76b33f232e
commit 63377a4ece
16 changed files with 70 additions and 68 deletions

View File

@ -38,7 +38,7 @@
#include <glog/log_severity.h> #include <glog/log_severity.h>
#include <glog/logging.h> #include <glog/logging.h>
extern concurrent_queue<gps_navigation_message> global_gps_nav_msg_queue; extern concurrent_queue<Gps_Navigation_Message> global_gps_nav_msg_queue;
using google::LogMessage; using google::LogMessage;

View File

@ -80,7 +80,7 @@ gps_l1_ca_pvt_cc::gps_l1_ca_pvt_cc(unsigned int nchannels, gr_msg_queue_sptr que
for (unsigned int i=0; i<nchannels; i++) for (unsigned int i=0; i<nchannels; i++)
{ {
nav_data_map[i] = gps_navigation_message(); nav_data_map[i] = Gps_Navigation_Message();
} }
} }
@ -135,7 +135,7 @@ int gps_l1_ca_pvt_cc::general_work (int noutput_items, gr_vector_int &ninput_ite
// find the minimum index (nearest satellite, will be the reference) // find the minimum index (nearest satellite, will be the reference)
gnss_pseudoranges_iter = std::min_element(gnss_pseudoranges_map.begin(), gnss_pseudoranges_map.end(), pseudoranges_pairCompare_min); gnss_pseudoranges_iter = std::min_element(gnss_pseudoranges_map.begin(), gnss_pseudoranges_map.end(), pseudoranges_pairCompare_min);
gps_navigation_message nav_msg; Gps_Navigation_Message nav_msg;
while (d_nav_queue->try_pop(nav_msg) == true) while (d_nav_queue->try_pop(nav_msg) == true)
{ {
std::cout<<"New ephemeris record has arrived from SAT ID " std::cout<<"New ephemeris record has arrived from SAT ID "

View File

@ -80,14 +80,14 @@ private:
kml_printer d_kml_dump; kml_printer d_kml_dump;
concurrent_queue<gps_navigation_message> *d_nav_queue; // Navigation ephemeris queue concurrent_queue<Gps_Navigation_Message> *d_nav_queue; // Navigation ephemeris queue
gps_navigation_message d_last_nav_msg; // Last navigation message Gps_Navigation_Message d_last_nav_msg; // Last navigation message
double d_ephemeris_clock_s; double d_ephemeris_clock_s;
double d_ephemeris_timestamp_ms; double d_ephemeris_timestamp_ms;
gps_l1_ca_ls_pvt *d_ls_pvt; gps_l1_ca_ls_pvt *d_ls_pvt;
std::map<int,gps_navigation_message> nav_data_map; std::map<int,Gps_Navigation_Message> nav_data_map;
public: public:
@ -96,7 +96,7 @@ public:
/*! /*!
* \brief Set the queue for getting navigation messages from the GpsL1CaTelemetryDecoder * \brief Set the queue for getting navigation messages from the GpsL1CaTelemetryDecoder
*/ */
void set_navigation_queue(concurrent_queue<gps_navigation_message> *nav_queue){d_nav_queue=nav_queue;} void set_navigation_queue(concurrent_queue<Gps_Navigation_Message> *nav_queue){d_nav_queue=nav_queue;}
int general_work (int noutput_items, gr_vector_int &ninput_items, int general_work (int noutput_items, gr_vector_int &ninput_items,
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); //!< PVT Signal Processing gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); //!< PVT Signal Processing

View File

@ -41,7 +41,7 @@ gps_l1_ca_ls_pvt::gps_l1_ca_ls_pvt(int nchannels,std::string dump_filename, bool
{ {
// init empty ephemeris for all the available GNSS channels // init empty ephemeris for all the available GNSS channels
d_nchannels = nchannels; d_nchannels = nchannels;
d_ephemeris = new gps_navigation_message[nchannels]; d_ephemeris = new Gps_Navigation_Message[nchannels];
d_dump_filename = dump_filename; d_dump_filename = dump_filename;
d_flag_dump_enabled = flag_dump_to_file; d_flag_dump_enabled = flag_dump_to_file;
d_averaging_depth = 0; d_averaging_depth = 0;

View File

@ -56,7 +56,7 @@ private:
//void topocent(); //void topocent();
public: public:
int d_nchannels; //! Number of available channels for positioning int d_nchannels; //! Number of available channels for positioning
gps_navigation_message* d_ephemeris; Gps_Navigation_Message* d_ephemeris;
double d_pseudoranges_time_ms; double d_pseudoranges_time_ms;
double d_latitude_d; //! Latitude in degrees double d_latitude_d; //! Latitude in degrees
double d_longitude_d; //! Longitude in degrees double d_longitude_d; //! Longitude in degrees

View File

@ -36,7 +36,7 @@
#include <iostream> #include <iostream>
#include <fstream> #include <fstream>
#include "gps_l1_ca_ls_pvt.h" #include "gps_l1_ca_ls_pvt.h"
#include "gps_navigation_message.h"
/*! /*!
* \brief Prints PVT information to OGC KML format file (can be viewed with Google Earth) * \brief Prints PVT information to OGC KML format file (can be viewed with Google Earth)

View File

@ -322,7 +322,7 @@ std::string Rinex_Printer::getLocalTime()
} }
void Rinex_Printer::rinex_nav_header(std::ofstream& out, gps_navigation_message nav_msg) void Rinex_Printer::rinex_nav_header(std::ofstream& out, Gps_Navigation_Message nav_msg)
{ {
std::string line; std::string line;
@ -498,7 +498,7 @@ void Rinex_Printer::rinex_nav_header(std::ofstream& out, gps_navigation_message
void Rinex_Printer::log_rinex_nav(std::ofstream& out, std::map<int,gps_navigation_message> nav_msg) void Rinex_Printer::log_rinex_nav(std::ofstream& out, std::map<int,Gps_Navigation_Message> nav_msg)
{ {
std::string line; std::string line;
for (int i=0; i < (int)nav_msg.size(); i++) for (int i=0; i < (int)nav_msg.size(); i++)
@ -789,7 +789,7 @@ void Rinex_Printer::log_rinex_nav(std::ofstream& out, std::map<int,gps_navigatio
void Rinex_Printer::rinex_obs_header(std::ofstream& out, gps_navigation_message nav_msg) void Rinex_Printer::rinex_obs_header(std::ofstream& out, Gps_Navigation_Message nav_msg)
{ {
std::string line; std::string line;
@ -969,7 +969,7 @@ void Rinex_Printer::rinex_obs_header(std::ofstream& out, gps_navigation_message
void Rinex_Printer::log_rinex_obs(std::ofstream& out, gps_navigation_message nav_msg, std::map<int,float> pseudoranges) void Rinex_Printer::log_rinex_obs(std::ofstream& out, Gps_Navigation_Message nav_msg, std::map<int,float> pseudoranges)
{ {
std::string line; std::string line;
@ -1081,7 +1081,7 @@ int Rinex_Printer::signalStrength(double snr)
boost::posix_time::ptime Rinex_Printer::compute_time(gps_navigation_message nav_msg) boost::posix_time::ptime Rinex_Printer::compute_time(Gps_Navigation_Message nav_msg)
{ {
// if we are processing a file -> wait to leap second to resolve the ambiguity else take the week from the local system time // if we are processing a file -> wait to leap second to resolve the ambiguity else take the week from the local system time
//: idea resolve the ambiguity with the leap second http://www.colorado.edu/geography/gcraft/notes/gps/gpseow.htm //: idea resolve the ambiguity with the leap second http://www.colorado.edu/geography/gcraft/notes/gps/gpseow.htm

View File

@ -85,27 +85,27 @@ public:
/*! /*!
* \brief Generates the Navigation Data header * \brief Generates the Navigation Data header
*/ */
void rinex_nav_header(std::ofstream& out, gps_navigation_message nav); void rinex_nav_header(std::ofstream& out, Gps_Navigation_Message nav);
/*! /*!
* \brief Generates the Observation data header * \brief Generates the Observation data header
*/ */
void rinex_obs_header(std::ofstream& out, gps_navigation_message nav); void rinex_obs_header(std::ofstream& out, Gps_Navigation_Message nav);
/*! /*!
* \brief Computes the UTC time and returns a boost::posix_time::ptime object * \brief Computes the UTC time and returns a boost::posix_time::ptime object
*/ */
boost::posix_time::ptime compute_time(gps_navigation_message nav_msg); boost::posix_time::ptime compute_time(Gps_Navigation_Message nav_msg);
/*! /*!
* \brief Writes data from the navigation message into the RINEX file * \brief Writes data from the navigation message into the RINEX file
*/ */
void log_rinex_nav(std::ofstream& out, std::map<int,gps_navigation_message> nav_msg); void log_rinex_nav(std::ofstream& out, std::map<int,Gps_Navigation_Message> nav_msg);
/*! /*!
* \brief Writes observables into the RINEX file * \brief Writes observables into the RINEX file
*/ */
void log_rinex_obs(std::ofstream& out, gps_navigation_message nav_msg, std::map<int,float> pseudoranges); void log_rinex_obs(std::ofstream& out, Gps_Navigation_Message nav_msg, std::map<int,float> pseudoranges);
std::map<std::string,std::string> satelliteSystem; //<! GPS, GLONASS, SBAS payload, Galileo or Compass std::map<std::string,std::string> satelliteSystem; //<! GPS, GLONASS, SBAS payload, Galileo or Compass
std::map<std::string,std::string> observationType; //<! PSEUDORANGE, CARRIER_PHASE, DOPPLER, SIGNAL_STRENGTH std::map<std::string,std::string> observationType; //<! PSEUDORANGE, CARRIER_PHASE, DOPPLER, SIGNAL_STRENGTH

View File

@ -39,7 +39,7 @@
#include <glog/log_severity.h> #include <glog/log_severity.h>
#include <glog/logging.h> #include <glog/logging.h>
extern concurrent_queue<gps_navigation_message> global_gps_nav_msg_queue; extern concurrent_queue<Gps_Navigation_Message> global_gps_nav_msg_queue;
using google::LogMessage; using google::LogMessage;

View File

@ -43,47 +43,49 @@
#include "GPS_L1_CA.h" #include "GPS_L1_CA.h"
class gps_l1_ca_observables_cc; class gps_l1_ca_observables_cc;
typedef boost::shared_ptr<gps_l1_ca_observables_cc> gps_l1_ca_observables_cc_sptr; typedef boost::shared_ptr<gps_l1_ca_observables_cc> gps_l1_ca_observables_cc_sptr;
gps_l1_ca_observables_cc_sptr gps_l1_ca_observables_cc_sptr
gps_l1_ca_make_observables_cc(unsigned int n_channels, gr_msg_queue_sptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); gps_l1_ca_make_observables_cc(unsigned int n_channels, gr_msg_queue_sptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging);
/*! /*!
* \brief This class implements a block that computes GPS L1 C/A observables * \brief This class implements a block that computes GPS L1 C/A observables
*/ */
class gps_l1_ca_observables_cc : public gr_block { class gps_l1_ca_observables_cc : public gr_block
{
private:
friend gps_l1_ca_observables_cc_sptr
gps_l1_ca_make_observables_cc(unsigned int nchannels, gr_msg_queue_sptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging);
gps_l1_ca_observables_cc(unsigned int nchannels, gr_msg_queue_sptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging);
// class private vars
gr_msg_queue_sptr d_queue;
bool d_dump;
bool d_flag_averaging;
long int d_sample_counter;
unsigned int d_nchannels;
unsigned long int d_fs_in;
int d_output_rate_ms;
std::string d_dump_filename;
std::ofstream d_dump_file;
std::deque<double> *d_history_prn_delay_ms;
concurrent_queue<gps_navigation_message> *d_nav_queue; // Navigation ephemeris queue
public: public:
~gps_l1_ca_observables_cc (); ~gps_l1_ca_observables_cc ();
void set_navigation_queue(concurrent_queue<gps_navigation_message> *nav_queue){d_nav_queue=nav_queue;} void set_navigation_queue(concurrent_queue<Gps_Navigation_Message> *nav_queue){d_nav_queue=nav_queue;}
void set_fs_in(unsigned long int fs_in) {d_fs_in=fs_in;}; void set_fs_in(unsigned long int fs_in) {d_fs_in=fs_in;};
int general_work (int noutput_items, gr_vector_int &ninput_items, int general_work (int noutput_items, gr_vector_int &ninput_items,
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); gr_vector_const_void_star &input_items, gr_vector_void_star &output_items);
private:
friend gps_l1_ca_observables_cc_sptr
gps_l1_ca_make_observables_cc(unsigned int nchannels, gr_msg_queue_sptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging);
gps_l1_ca_observables_cc(unsigned int nchannels, gr_msg_queue_sptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging);
// class private vars
gr_msg_queue_sptr d_queue;
bool d_dump;
bool d_flag_averaging;
long int d_sample_counter;
unsigned int d_nchannels;
unsigned long int d_fs_in;
int d_output_rate_ms;
std::string d_dump_filename;
std::ofstream d_dump_file;
std::deque<double> *d_history_prn_delay_ms;
concurrent_queue<Gps_Navigation_Message> *d_nav_queue; // Navigation ephemeris queue
}; };
#endif #endif

View File

@ -39,7 +39,7 @@
#include <glog/log_severity.h> #include <glog/log_severity.h>
#include <glog/logging.h> #include <glog/logging.h>
extern concurrent_queue<gps_navigation_message> global_gps_nav_msg_queue; extern concurrent_queue<Gps_Navigation_Message> global_gps_nav_msg_queue;
using google::LogMessage; using google::LogMessage;

View File

@ -95,7 +95,7 @@ private:
long d_fs_in; long d_fs_in;
double d_preamble_duration_seconds; double d_preamble_duration_seconds;
// navigation message vars // navigation message vars
gps_navigation_message d_nav; Gps_Navigation_Message d_nav;
GpsL1CaSubframeFsm d_GPS_FSM; GpsL1CaSubframeFsm d_GPS_FSM;
@ -120,7 +120,7 @@ public:
void set_satellite(int satellite); void set_satellite(int satellite);
void set_channel(int channel); void set_channel(int channel);
void set_navigation_queue(concurrent_queue<gps_navigation_message> *nav_queue){d_GPS_FSM.d_nav_queue=nav_queue;} void set_navigation_queue(concurrent_queue<Gps_Navigation_Message> *nav_queue){d_GPS_FSM.d_nav_queue=nav_queue;}
int general_work (int noutput_items, gr_vector_int &ninput_items, int general_work (int noutput_items, gr_vector_int &ninput_items,
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); gr_vector_const_void_star &input_items, gr_vector_void_star &output_items);

View File

@ -74,9 +74,9 @@ public:
int i_satellite_PRN; int i_satellite_PRN;
// ephemeris queue // ephemeris queue
concurrent_queue<gps_navigation_message> *d_nav_queue; concurrent_queue<Gps_Navigation_Message> *d_nav_queue;
// navigation message class // navigation message class
gps_navigation_message d_nav; Gps_Navigation_Message d_nav;
char d_subframe[GPS_SUBFRAME_LENGTH]; char d_subframe[GPS_SUBFRAME_LENGTH];
char d_GPS_frame_4bytes[GPS_WORD_LENGTH]; char d_GPS_frame_4bytes[GPS_WORD_LENGTH];

View File

@ -37,7 +37,7 @@
#define num_of_slices(x) sizeof(x)/sizeof(bits_slice) #define num_of_slices(x) sizeof(x)/sizeof(bits_slice)
void gps_navigation_message::reset() void Gps_Navigation_Message::reset()
{ {
d_TOW = 0; d_TOW = 0;
d_IODE_SF2 = 0; d_IODE_SF2 = 0;
@ -172,14 +172,14 @@ void gps_navigation_message::reset()
gps_navigation_message::gps_navigation_message() Gps_Navigation_Message::Gps_Navigation_Message()
{ {
reset(); reset();
} }
void gps_navigation_message::print_gps_word_bytes(unsigned int GPS_word) void Gps_Navigation_Message::print_gps_word_bytes(unsigned int GPS_word)
{ {
std::cout << " Word ="; std::cout << " Word =";
std::cout << std::bitset<32>(GPS_word); std::cout << std::bitset<32>(GPS_word);
@ -188,7 +188,7 @@ void gps_navigation_message::print_gps_word_bytes(unsigned int GPS_word)
bool gps_navigation_message::read_navigation_bool(std::bitset<GPS_SUBFRAME_BITS> bits, const bits_slice *slices) bool Gps_Navigation_Message::read_navigation_bool(std::bitset<GPS_SUBFRAME_BITS> bits, const bits_slice *slices)
{ {
bool value; bool value;
@ -208,7 +208,7 @@ bool gps_navigation_message::read_navigation_bool(std::bitset<GPS_SUBFRAME_BITS>
unsigned long int gps_navigation_message::read_navigation_unsigned(std::bitset<GPS_SUBFRAME_BITS> bits, const bits_slice *slices, int num_of_slices) unsigned long int Gps_Navigation_Message::read_navigation_unsigned(std::bitset<GPS_SUBFRAME_BITS> bits, const bits_slice *slices, int num_of_slices)
{ {
unsigned long int value; unsigned long int value;
@ -232,7 +232,7 @@ unsigned long int gps_navigation_message::read_navigation_unsigned(std::bitset<G
signed long int gps_navigation_message::read_navigation_signed(std::bitset<GPS_SUBFRAME_BITS> bits, const bits_slice *slices, int num_of_slices) signed long int Gps_Navigation_Message::read_navigation_signed(std::bitset<GPS_SUBFRAME_BITS> bits, const bits_slice *slices, int num_of_slices)
{ {
signed long int value = 0; signed long int value = 0;
@ -265,7 +265,7 @@ signed long int gps_navigation_message::read_navigation_signed(std::bitset<GPS_S
double gps_navigation_message::check_t(double time) double Gps_Navigation_Message::check_t(double time)
{ {
double corrTime; double corrTime;
double half_week = 302400; // seconds double half_week = 302400; // seconds
@ -285,7 +285,7 @@ double gps_navigation_message::check_t(double time)
// 20.3.3.3.3.1 User Algorithm for SV Clock Correction. // 20.3.3.3.3.1 User Algorithm for SV Clock Correction.
double gps_navigation_message::sv_clock_correction(double transmitTime) double Gps_Navigation_Message::sv_clock_correction(double transmitTime)
{ {
double dt; double dt;
dt = check_t(transmitTime - d_Toc); dt = check_t(transmitTime - d_Toc);
@ -298,7 +298,7 @@ double gps_navigation_message::sv_clock_correction(double transmitTime)
void gps_navigation_message::satellitePosition(double transmitTime) void Gps_Navigation_Message::satellitePosition(double transmitTime)
{ {
double tk; double tk;
double a; double a;
@ -402,7 +402,7 @@ void gps_navigation_message::satellitePosition(double transmitTime)
int gps_navigation_message::subframe_decoder(char *subframe) int Gps_Navigation_Message::subframe_decoder(char *subframe)
{ {
int subframe_ID = 0; int subframe_ID = 0;
int SV_data_ID = 0; int SV_data_ID = 0;
@ -624,7 +624,7 @@ int gps_navigation_message::subframe_decoder(char *subframe)
double gps_navigation_message::utc_time(double gpstime_corrected) double Gps_Navigation_Message::utc_time(double gpstime_corrected)
{ {
double t_utc; double t_utc;
double t_utc_daytime; double t_utc_daytime;
@ -693,7 +693,7 @@ double gps_navigation_message::utc_time(double gpstime_corrected)
bool gps_navigation_message::satellite_validation() bool Gps_Navigation_Message::satellite_validation()
{ {
bool flag_data_valid = false; bool flag_data_valid = false;

View File

@ -50,7 +50,7 @@
* *
* See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II * See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II
*/ */
class gps_navigation_message class Gps_Navigation_Message
{ {
private: private:
@ -217,7 +217,7 @@ public:
/*! /*!
* Default constructor * Default constructor
*/ */
gps_navigation_message(); Gps_Navigation_Message();
}; };
#endif #endif

View File

@ -55,7 +55,7 @@ DECLARE_string(log_dir);
* Concurrent queue that communicates the Telemetry Decoder * Concurrent queue that communicates the Telemetry Decoder
* to the Observables modules * to the Observables modules
*/ */
concurrent_queue<gps_navigation_message> global_gps_nav_msg_queue; concurrent_queue<Gps_Navigation_Message> global_gps_nav_msg_queue;
int main(int argc, char** argv) int main(int argc, char** argv)
{ {