DUNE: Uniform Navigational Environment
2.4.0
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | onResourceAcquisition (void) |
bool | openSocket (void) |
void | onResourceRelease (void) |
void | onResourceInitialization (void) |
void | consume (const IMC::DevDataText *msg) |
void | consume (const IMC::IoEvent *msg) |
void | clearMessages (void) |
bool | waitInitReply (const std::string &stn) |
bool | readTime (const std::string &str, float &dst) |
bool | readLatitude (const std::string &str, const std::string &h, double &dst) |
double | readLongitude (const std::string &str, const std::string &h, double &dst) |
template<typename T > | |
bool | readDecimal (const std::string &str, T &dst) |
template<typename T > | |
bool | readNumber (const std::string &str, T &dst) |
void | processSentence (const std::string &line) |
void | interpretSentence (std::vector< std::string > &parts) |
void | interpretGPZDA (const std::vector< std::string > &parts) |
void | interpretGPGGA (const std::vector< std::string > &parts) |
void | interpretPUBX00 (const std::vector< std::string > &parts) |
void | interpretGPVTG (const std::vector< std::string > &parts) |
void | interpretGPHDT (const std::vector< std::string > &parts) |
void | interpretGPHDM (const std::vector< std::string > &parts) |
void | interpretGPROT (const std::vector< std::string > &parts) |
void | interpretPSATHPR (const std::vector< std::string > &parts) |
void | onMain (void) |
Public Attributes | |
IO::Handle * | m_handle |
IMC::GpsFix | m_fix |
IMC::EulerAngles | m_euler |
IMC::AngularVelocity | m_agvel |
Arguments | m_args |
Time::Counter< float > | m_wdog |
bool | m_has_agvel |
bool | m_has_euler |
std::string | m_init_line |
Reader * | m_reader |
|
inline |
|
inline |
References m_agvel, m_euler, and m_fix.
Referenced by interpretSentence(), and Task().
|
inline |
References m_init_line, and processSentence().
|
inline |
|
inline |
Interpret GPGGA sentence (GPS fix data).
[in] | parts | vector of strings from sentence. |
References m_fix, readDecimal(), readLatitude(), readLongitude(), and readNumber().
Referenced by interpretSentence().
|
inline |
Interpret GPHDM sentence (Magnetic heading of the vessel derived from the true heading calculated).
[in] | parts | vector of strings from sentence. |
References m_euler, m_has_euler, and readNumber().
Referenced by interpretSentence().
|
inline |
Interpret GPVTG sentence (true heading).
[in] | parts | vector of strings from sentence. |
References m_euler, and readNumber().
Referenced by interpretSentence().
|
inline |
Interpret GPROT sentence (rate of turn).
[in] | parts | vector of strings from sentence. |
References m_agvel, m_has_agvel, and readNumber().
Referenced by interpretSentence().
|
inline |
Interpret GPVTG sentence (course over ground).
[in] | parts | vector of strings from sentence. |
References m_fix, and readNumber().
Referenced by interpretSentence().
|
inline |
Interpret GPZDA sentence (UTC date and time).
[in] | parts | vector of strings from sentence. |
References m_fix, readDecimal(), and readTime().
Referenced by interpretSentence().
|
inline |
Interpret PSATHPR sentence (Proprietary NMEA message that provides the heading, pitch, roll, and time in a single message).
[in] | parts | vector of strings from sentence. |
References m_euler, m_has_euler, and readNumber().
Referenced by interpretSentence().
|
inline |
Interpret PUBX00 sentence (navstar position).
[in] | parts | vector of strings from sentence. |
References m_fix, readDecimal(), readLatitude(), readLongitude(), and readNumber().
Referenced by interpretSentence().
|
inline |
Interpret given sentence.
[in] | parts | vector of strings from sentence. |
References clearMessages(), interpretGPGGA(), interpretGPHDM(), interpretGPHDT(), interpretGPROT(), interpretGPVTG(), interpretGPZDA(), interpretPSATHPR(), interpretPUBX00(), m_agvel, m_args, m_euler, m_fix, m_has_agvel, m_has_euler, m_wdog, and Sensors::GPS::Arguments::stn_order.
Referenced by processSentence().
|
inline |
References m_wdog.
|
inline |
|
inline |
|
inline |
References m_args, m_handle, and Sensors::GPS::Arguments::uart_dev.
Referenced by onResourceAcquisition().
|
inline |
Process sentence.
[in] | line | line. |
References interpretSentence(), m_args, and Sensors::GPS::Arguments::stn_order.
Referenced by consume().
|
inline |
Read decimal from input string.
[in] | str | input string. |
[out] | dst | decimal. |
Referenced by interpretGPGGA(), interpretGPZDA(), and interpretPUBX00().
|
inline |
Read latitude from string.
[in] | str | input string. |
[in] | h | either North (N) or South (S). |
[out] | dst | latitude. |
Referenced by interpretGPGGA(), and interpretPUBX00().
|
inline |
Read longitude from string.
[in] | str | input string. |
[in] | h | either West (W) or East (E). |
[out] | dst | longitude. |
Referenced by interpretGPGGA(), and interpretPUBX00().
|
inline |
Read number from input string.
[in] | str | input string. |
[out] | dst | number. |
Referenced by interpretGPGGA(), interpretGPHDM(), interpretGPHDT(), interpretGPROT(), interpretGPVTG(), interpretPSATHPR(), and interpretPUBX00().
|
inline |
Read time from string.
[in] | str | string. |
[out] | dst | time. |
Referenced by interpretGPZDA().
|
inline |
Wait reply to initialization command.
[in] | stn | string to compare. |
References m_init_line.
Referenced by onResourceInitialization().
IMC::AngularVelocity Sensors::GPS::Task::m_agvel |
Angular velocity message.
Referenced by clearMessages(), interpretGPROT(), and interpretSentence().
Arguments Sensors::GPS::Task::m_args |
Task arguments.
Referenced by interpretSentence(), onResourceAcquisition(), onResourceInitialization(), openSocket(), processSentence(), and Task().
IMC::EulerAngles Sensors::GPS::Task::m_euler |
Euler angles message.
Referenced by clearMessages(), interpretGPHDM(), interpretGPHDT(), interpretPSATHPR(), and interpretSentence().
IMC::GpsFix Sensors::GPS::Task::m_fix |
GPS Fix message.
Referenced by clearMessages(), interpretGPGGA(), interpretGPVTG(), interpretGPZDA(), interpretPUBX00(), and interpretSentence().
IO::Handle* Sensors::GPS::Task::m_handle |
Serial port handle.
Referenced by onResourceAcquisition(), onResourceInitialization(), onResourceRelease(), and openSocket().
bool Sensors::GPS::Task::m_has_agvel |
True if we have angular velocity.
Referenced by interpretGPROT(), and interpretSentence().
bool Sensors::GPS::Task::m_has_euler |
True if we have euler angles.
Referenced by interpretGPHDM(), interpretPSATHPR(), and interpretSentence().
std::string Sensors::GPS::Task::m_init_line |
Last initialization line read.
Referenced by consume(), and waitInitReply().
Reader* Sensors::GPS::Task::m_reader |
Reader thread.
Referenced by onResourceAcquisition(), and onResourceRelease().
Time::Counter<float> Sensors::GPS::Task::m_wdog |
Input watchdog.
Referenced by interpretSentence(), onMain(), and onResourceInitialization().