1 #ifndef MAGELLAN_MB500_H 2 #define MAGELLAN_MB500_H 8 #include <iodrivers_base/Driver.hpp> 16 class MB500 :
public iodrivers_base::Driver {
21 bool openSerial(std::string
const& device_name);
22 bool open(
const std::string& device_name);
23 bool openBase(
const std::string& device_name);
24 bool openRover(
const std::string& device_name);
50 void reset(
bool cold_start);
78 bool setKnownPointInit(
double, std::string,
double, std::string,
double,
double,
double,
double, std::string);
86 bool setPosition(
double latitude,
double longitude,
double height);
108 bool setNMEA(std::string, std::string,
bool,
double = 1);
181 static std::pair<base::Time, base::Time>
interpretDateTime(std::string
const& msg);
186 static double interpretAngle(std::string
const& value,
bool positive);
191 std::string
read(
int timeout);
192 void write(
const std::string&,
int timeout);
193 int extractPacket(uint8_t
const* buffer,
size_t buffer_size)
const;
198 static std::ostream&
display(std::ostream& io,
MB500 const& driver);
CORRELATOR_MODE
Definition: mb500.hh:40
bool verifyAcknowledge(std::string const &cmd="")
Definition: mb500.cc:626
bool setCodeMeasurementSmoothing(int, int, int)
Definition: mb500.cc:453
bool setFastRTK(bool enable)
Definition: mb500.cc:307
double processing_latency
Definition: mb500.hh:152
gps::Errors errors
Definition: mb500.hh:146
MB500()
Definition: mb500.cc:57
Definition: gps_types.hh:10
void write(const std::string &, int timeout)
Definition: mb500.cc:260
bool setGNSSMode(MB500_GNSS_MODE mode)
Definition: mb500.cc:433
bool openBase(const std::string &device_name)
Definition: mb500.cc:90
static bool interpretSatelliteInfo(gps::SatelliteInfo &data, std::string const &msg)
Definition: mb500.cc:768
void writeCorrectionData(char const *data, size_t size, int timeout)
Definition: mb500.cc:251
int m_acq_timeout
Definition: mb500.hh:168
Definition: gps_types.hh:106
bool resetStoredPosition()
Definition: mb500.cc:394
void dumpSatellites()
Definition: mb500.cc:240
bool enableNtpdShm(int unit)
Definition: mb500.cc:541
bool interpretQuality(std::string const &message)
Definition: mb500.cc:715
gps::SolutionQuality tempSolutionQuality
Definition: mb500.hh:177
gps::Position getGGA(std::string msg)
Definition: mb500.cc:664
static std::ostream & display(std::ostream &io, gps::Position const &pos, gps::Errors const &errors, gps::SatelliteInfo const &info, gps::SolutionQuality const &quality)
Definition: mb500.cc:903
static gps::Position interpretInfo(std::string const &msg)
Definition: mb500.cc:807
MB500_GNSS_MODE
Definition: mb500_types.hh:46
static double interpretLatency(std::string const &message)
Definition: mb500.cc:839
bool setFixThreshold(MB500_AMBIGUITY_THRESHOLD threshold)
Definition: mb500.cc:510
bool waitForBoardReset()
Definition: mb500.cc:104
static std::pair< base::Time, base::Time > interpretDateTime(std::string const &msg)
Definition: mb500.cc:701
bool setProcessingRate(int rate)
Definition: mb500.cc:195
bool setPeriodicData(std::string const &port, double rate)
Definition: mb500.cc:524
bool setRTKReset()
Definition: mb500.cc:368
bool openSerial(std::string const &device_name)
Definition: mb500.cc:68
bool stopPeriodicData()
Definition: mb500.cc:167
bool setKnownPointInit(double, std::string, double, std::string, double, double, double, double, std::string)
Definition: mb500.cc:425
float m_period
Definition: mb500.hh:167
bool setSBASTracking(bool)
Definition: mb500.cc:446
static std::ostream & displayHeader(std::ostream &io)
Definition: mb500.cc:897
void disableAllOutputs()
Definition: mb500.cc:98
gps::SatelliteInfo satellites
Definition: mb500.hh:147
bool openRover(const std::string &device_name)
Definition: mb500.cc:138
MB500_AMBIGUITY_THRESHOLD
Definition: mb500_types.hh:38
gps::Position position
Definition: mb500.hh:145
Definition: gps_types.hh:69
void collectPeriodicData()
Definition: mb500.cc:580
int extractPacket(uint8_t const *buffer, size_t buffer_size) const
Definition: mb500.cc:271
bool setRTKInputPort(std::string const &port)
Definition: mb500.cc:180
bool setCodeCorrelatorMode(CORRELATOR_MODE mode)
Definition: mb500.cc:374
base::Time real_time
Definition: mb500.hh:151
void * ntp_shm
Definition: mb500.hh:171
MB500_DYNAMICS_MODEL
Definition: mb500_types.hh:25
bool setRTKBase(std::string port_name)
Definition: mb500.cc:339
std::string read(int timeout)
Definition: mb500.cc:188
base::Time cpu_time
Definition: mb500.hh:150
void dumpAlmanac()
Definition: mb500.cc:227
Special
Definition: mb500.hh:104
int ntp_shmid
Definition: mb500.hh:170
static base::Time interpretTime(std::string const &time)
Definition: mb500.cc:859
bool setPosition(double latitude, double longitude, double height)
Definition: mb500.cc:413
void updateNtpdShm()
Definition: mb500.cc:557
bool setUserDynamics(int h_vel, int h_acc, int v_vec, int v_acc)
Definition: mb500.cc:146
Definition: gps_types.hh:62
bool setPositionFromCurrent()
Definition: mb500.cc:400
void close()
Definition: mb500.cc:175
std::string getBoardID()
Definition: mb500.cc:123
gps::SatelliteInfo tempSatellites
Definition: mb500.hh:176
void stopRTKBase()
Definition: mb500.cc:352
bool setReceiverDynamics(MB500_DYNAMICS_MODEL mode)
Definition: mb500.cc:386
bool setGLONASSTracking(bool)
Definition: mb500.cc:439
gps::SolutionQuality solutionQuality
Definition: mb500.hh:148
gps::SatelliteInfo getGSV(std::string msg)
Definition: mb500.cc:679
void dumpStatus()
Definition: mb500.cc:212
bool setNMEALL(std::string, bool)
Definition: mb500.cc:617
static gps::Errors interpretErrors(std::string const &msg)
Definition: mb500.cc:752
~MB500()
Definition: mb500.cc:62
Definition: gps_types.hh:47
gps::Errors getGST(std::string msg)
Definition: mb500.cc:651
void reset(bool cold_start)
Definition: mb500.cc:156
bool setNMEA(std::string, std::string, bool, double=1)
Definition: mb500.cc:490
static double interpretAngle(std::string const &value, bool positive)
Definition: mb500.cc:849
bool open(const std::string &device_name)
Definition: mb500.cc:81