MRPT  2.0.4
gnss_messages_topcon.cpp
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | https://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2020, Individual contributors, see AUTHORS file |
6  | See: https://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See: https://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 
10 #include "obs-precomp.h" // Precompiled headers
11 
12 #include <mrpt/math/matrix_serialization.h> // for << of matrices
14 
15 #include <ostream>
16 
17 using namespace std;
18 using namespace mrpt::obs::gnss;
19 
20 Message_TOPCON_PZS::Message_TOPCON_PZS() : gnss_message(TOPCON_PZS) {}
21 
22 void Message_TOPCON_PZS::dumpToStream(std::ostream& out) const
23 {
24  out << "\n[TopCon PZS datum]\n";
25  out << mrpt::format(
26  " Longitude: %.09f deg Latitude: %.09f deg Height: %.03f m (%.03f m "
27  "without NBeam) \n",
29 
30  out << mrpt::format(
31  " PZL-ID: %i Angle trans: %.05f deg\n ", (int)nId, angle_transmitter);
32 
33  out << mrpt::format(" Fix: %i ", (int)Fix);
34  out << mrpt::format(" Error: %i ", (int)error);
35  out << mrpt::format(
36  " Battery levels: TX=%i RX=%i\n ", TXBattery, RXBattery);
37 
38  out << mrpt::format(
39  " hasCartesianPosVel= %s", hasCartesianPosVel ? "YES -> " : "NO\n");
41  {
42  out << mrpt::format(
43  " x=%f y=%f z=%f\n", cartesian_x, cartesian_y, cartesian_z);
44  out << mrpt::format(
45  " vx=%f vy=%f vz=%f\n", cartesian_vx, cartesian_vy, cartesian_vz);
46  }
47  out << mrpt::format("hasPosCov = %s", hasPosCov ? "YES\n" : "NO\n");
48  if (hasPosCov)
49  out << mrpt::format("%s\n", pos_covariance.inMatlabFormat().c_str());
50 
51  out << mrpt::format("hasVelCov = %s", hasVelCov ? "YES\n" : "NO\n");
52  if (hasVelCov)
53  out << mrpt::format("%s\n", vel_covariance.inMatlabFormat().c_str());
54 
55  out << mrpt::format("hasStats = %s", hasStats ? "YES: " : "NO\n");
56  if (hasStats)
57  out << mrpt::format(
58  "GPS sats used: %i GLONASS sats used: %i RTK Fix progress:%i%%\n",
61 }
62 
65 {
73 }
74 
77 {
85 }
86 
87 // -------------
89 void Message_TOPCON_SATS::dumpToStream(std::ostream& out) const
90 {
91  out << "\n[TopCon SATS datum]\n";
92  out << mrpt::format(
93  " USI ELEV AZIM (%u entries) \n",
94  static_cast<unsigned int>(USIs.size()));
95 
96  ASSERT_(USIs.size() == AZs.size() && USIs.size() == ELs.size());
97  for (size_t i = 0; i < USIs.size(); i++)
98  out << mrpt::format(
99  " %03i %02i %03i\n", (int)USIs[i], (int)ELs[i], (int)AZs[i]);
100 }
101 
104 {
105  out << USIs << ELs << AZs;
106 }
107 
110 {
111  in >> USIs >> ELs >> AZs;
112 }
mrpt::obs::gnss::Message_TOPCON_SATS::internal_readFromStream
void internal_readFromStream(mrpt::serialization::CArchive &in) override
Save to binary stream.
Definition: gnss_messages_topcon.cpp:108
matrix_serialization.h
mrpt::obs::gnss::Message_TOPCON_PZS::hasPosCov
bool hasPosCov
Definition: gnss_messages_topcon.h:53
mrpt::obs::gnss::TOPCON_SATS
@ TOPCON_SATS
Definition: gnss_messages_type_list.h:36
mrpt::obs::gnss::Message_TOPCON_PZS::error
uint8_t error
Definition: gnss_messages_topcon.h:45
mrpt::obs::gnss::Message_TOPCON_PZS::TXBattery
uint8_t TXBattery
battery level on transmitter
Definition: gnss_messages_topcon.h:42
mrpt::obs::gnss::Message_TOPCON_PZS::hasCartesianPosVel
bool hasCartesianPosVel
system error indicator
Definition: gnss_messages_topcon.h:47
mrpt::math::MatrixVectorBase::inMatlabFormat
std::string inMatlabFormat(const std::size_t decimal_digits=6) const
Exports the matrix as a string compatible with Matlab/Octave.
Definition: MatrixVectorBase_impl.h:141
mrpt::obs::gnss::Message_TOPCON_PZS::vel_covariance
mrpt::math::CMatrixFloat44 vel_covariance
Only if hasPosCov is true.
Definition: gnss_messages_topcon.h:59
out
mrpt::vision::TStereoCalibResults out
Definition: chessboard_stereo_camera_calib_unittest.cpp:25
obs-precomp.h
ASSERT_
#define ASSERT_(f)
Defines an assertion mechanism.
Definition: exceptions.h:120
mrpt::obs::gnss::Message_TOPCON_PZS::cartesian_vx
double cartesian_vx
Only if hasCartesianPosVel is true.
Definition: gnss_messages_topcon.h:51
mrpt::serialization::CArchive
Virtual base class for "archives": classes abstracting I/O streams.
Definition: CArchive.h:54
mrpt::obs::gnss::Message_TOPCON_PZS::stats_rtk_fix_progress
uint8_t stats_rtk_fix_progress
[0,100] %, only in modes other than RTK FIXED.
Definition: gnss_messages_topcon.h:65
mrpt::obs::gnss::Message_TOPCON_PZS::cartesian_vy
double cartesian_vy
Definition: gnss_messages_topcon.h:51
mrpt::obs::gnss::Message_TOPCON_PZS::cartesian_x
double cartesian_x
Only if hasCartesianPosVel is true.
Definition: gnss_messages_topcon.h:49
mrpt::obs::gnss::Message_TOPCON_PZS::stats_GLONASS_sats_used
uint8_t stats_GLONASS_sats_used
Definition: gnss_messages_topcon.h:63
mrpt::obs::gnss::Message_TOPCON_PZS::dumpToStream
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
Definition: gnss_messages_topcon.cpp:22
mrpt::obs::gnss::Message_TOPCON_PZS::angle_transmitter
double angle_transmitter
Vertical angle of N-beam.
Definition: gnss_messages_topcon.h:36
mrpt::obs::gnss::Message_TOPCON_SATS::internal_writeToStream
void internal_writeToStream(mrpt::serialization::CArchive &out) const override
Save to binary stream.
Definition: gnss_messages_topcon.cpp:102
mrpt::obs::gnss::Message_TOPCON_PZS::internal_readFromStream
void internal_readFromStream(mrpt::serialization::CArchive &in) override
Save to binary stream.
Definition: gnss_messages_topcon.cpp:75
mrpt::obs::gnss::Message_TOPCON_PZS::hasVelCov
bool hasVelCov
Definition: gnss_messages_topcon.h:57
mrpt::obs::gnss::Message_TOPCON_SATS::ELs
std::vector< int8_t > ELs
Elevation (in degrees, 0-90) for each satellite in USIs.
Definition: gnss_messages_topcon.h:103
mrpt::obs::gnss::Message_TOPCON_PZS::nId
uint8_t nId
ID of the transmitter [1-4], 0 if none.
Definition: gnss_messages_topcon.h:38
mrpt::obs::gnss::Message_TOPCON_PZS::latitude_degrees
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
Definition: gnss_messages_topcon.h:26
mrpt::obs::gnss::Message_TOPCON_PZS::longitude_degrees
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
Definition: gnss_messages_topcon.h:28
mrpt::obs::gnss::Message_TOPCON_PZS::RTK_height_meters
double RTK_height_meters
ellipsoidal height [m] without N-beam correction
Definition: gnss_messages_topcon.h:32
mrpt::obs::gnss::Message_TOPCON_PZS::cartesian_y
double cartesian_y
Definition: gnss_messages_topcon.h:49
mrpt::obs::gnss::Message_TOPCON_PZS::stats_GPS_sats_used
uint8_t stats_GPS_sats_used
Definition: gnss_messages_topcon.h:62
mrpt::obs::gnss::Message_TOPCON_PZS::cartesian_vz
double cartesian_vz
Definition: gnss_messages_topcon.h:51
mrpt::obs::gnss::Message_TOPCON_PZS::internal_writeToStream
void internal_writeToStream(mrpt::serialization::CArchive &out) const override
Save to binary stream.
Definition: gnss_messages_topcon.cpp:63
mrpt::obs::gnss
GNSS (GPS) data structures, mainly for use within mrpt::obs::CObservationGPS.
Definition: gnss_messages_ascii_nmea.h:13
mrpt::obs::gnss::Message_TOPCON_PZS::cartesian_z
double cartesian_z
Definition: gnss_messages_topcon.h:49
mrpt::obs::gnss::Message_TOPCON_PZS::RXBattery
uint8_t RXBattery
battery level on receiver
Definition: gnss_messages_topcon.h:44
mrpt::obs::gnss::Message_TOPCON_SATS::USIs
std::vector< uint8_t > USIs
The list of USI (Universal Sat ID) for the detected sats (See GRIL Manual, pag 4-31).
Definition: gnss_messages_topcon.h:101
mrpt::obs::gnss::Message_TOPCON_PZS::hasStats
bool hasStats
Definition: gnss_messages_topcon.h:61
mrpt::obs::gnss::Message_TOPCON_PZS::PSigma
float PSigma
position SEP [m]
Definition: gnss_messages_topcon.h:34
mrpt::obs::gnss::gnss_message
Pure virtual base for all message types.
Definition: gnss_messages_common.h:26
mrpt::obs::gnss::Message_TOPCON_PZS::pos_covariance
mrpt::math::CMatrixFloat44 pos_covariance
Only if hasPosCov is true.
Definition: gnss_messages_topcon.h:55
mrpt::obs::gnss::Message_TOPCON_PZS::height_meters
double height_meters
ellipsoidal height from N-beam [m] perhaps weighted with regular gps
Definition: gnss_messages_topcon.h:30
mrpt::obs::gnss::Message_TOPCON_SATS::dumpToStream
void dumpToStream(std::ostream &out) const override
Dumps the contents of the observation in a human-readable form to a given output stream.
Definition: gnss_messages_topcon.cpp:89
gnss_messages_topcon.h
mrpt::obs::gnss::TOPCON_PZS
@ TOPCON_PZS
Definition: gnss_messages_type_list.h:35
mrpt::obs::gnss::Message_TOPCON_PZS::Fix
uint8_t Fix
1: GPS, 2: mmGPS
Definition: gnss_messages_topcon.h:40
mrpt::obs::gnss::Message_TOPCON_SATS::Message_TOPCON_SATS
Message_TOPCON_SATS()
Definition: gnss_messages_topcon.cpp:88
mrpt::format
std::string std::string format(std::string_view fmt, ARGS &&... args)
Definition: format.h:26
mrpt::obs::gnss::Message_TOPCON_SATS::AZs
std::vector< int16_t > AZs
Azimuth (in degrees, 0-360) for each satellite in USIs.
Definition: gnss_messages_topcon.h:105



Page generated by Doxygen 1.8.17 for MRPT 2.0.4 at Sun Jul 19 15:15:43 UTC 2020