DUNE: Uniform Navigational Environment
2019.02.0
|
USBL tools node (that actively requests fixes from USBL modem).
Classes | |
struct | Arguments |
Public Member Functions | |
Node (Tasks::Task *task, const Arguments *args) | |
bool | run (std::vector< uint8_t > &data) |
void | parse (uint16_t imc_src, const IMC::UamRxFrame *msg) |
void | consume (const IMC::UsblConfig *msg) |
|
inline |
Constructor.
References DUNE::Navigation::UsblTools::c_max_comm_timeout, DUNE::Navigation::UsblTools::c_requests_interval, DUNE::Navigation::UsblTools::Node::Arguments::fix, DUNE::Navigation::UsblTools::Node::Arguments::no_range, DUNE::Navigation::UsblTools::Node::Arguments::period, and DUNE::Time::Counter< T >::setTop().
|
inline |
Consume a USBL configuration message.
param[in] msg The UsblConfig message with a list of UsblModem messages.
References DUNE::Tasks::Task::dispatchReply(), DUNE::Tasks::Task::getEntityId(), DUNE::Tasks::Task::getSystemId(), DUNE::IMC::UsblConfig::op, DUNE::IMC::UsblConfig::OP_CUR_CFG, DUNE::IMC::UsblConfig::OP_GET_CFG, DUNE::IMC::UsblConfig::OP_SET_CFG, DUNE::IMC::Message::setSource(), and DUNE::IMC::Message::setSourceEntity().
|
inline |
Parse incoming frame.
[in] | msg | received acoustic frame. |
References DUNE::Navigation::UsblTools::Fix::accuracy, DUNE::Navigation::UsblTools::Position::accuracy, DUNE::Navigation::UsblTools::Angles::accuracy, DUNE::IMC::UsblAnglesExtended::accuracy, DUNE::IMC::UsblPositionExtended::accuracy, DUNE::IMC::UsblFixExtended::accuracy, DUNE::Navigation::UsblTools::Angles::bearing, DUNE::IMC::UsblAnglesExtended::bearing, DUNE::Navigation::UsblTools::c_code, DUNE::Navigation::UsblTools::c_mask_fix, DUNE::Navigation::UsblTools::c_mask_start, DUNE::Navigation::UsblTools::c_max_comm_timeout, DUNE::Navigation::UsblTools::CODE_ANG, DUNE::Navigation::UsblTools::CODE_FIX, DUNE::Navigation::UsblTools::CODE_POS, DUNE::Navigation::UsblTools::CODE_RPL, DUNE::Navigation::UsblTools::Position::d, DUNE::IMC::UsblPositionExtended::d, DUNE::IMC::UamRxFrame::data, DUNE::Navigation::UsblTools::Fix::decode(), DUNE::Navigation::UsblTools::Position::decode(), DUNE::Navigation::UsblTools::Angles::decode(), DUNE::Tasks::Task::dispatch(), DUNE::Navigation::UsblTools::Position::e, DUNE::IMC::UsblPositionExtended::e, DUNE::Navigation::UsblTools::Angles::elevation, DUNE::IMC::UsblAnglesExtended::elevation, DUNE::Tasks::Task::getSystemName(), DUNE::Navigation::UsblTools::Fix::lat, DUNE::IMC::UsblFixExtended::lat, DUNE::Navigation::UsblTools::Angles::lbearing, DUNE::IMC::UsblAnglesExtended::lbearing, DUNE::Navigation::UsblTools::Angles::lelevation, DUNE::IMC::UsblAnglesExtended::lelevation, DUNE::Navigation::UsblTools::Fix::lon, DUNE::IMC::UsblFixExtended::lon, DUNE::Navigation::UsblTools::Position::n, DUNE::IMC::UsblPositionExtended::n, DUNE::Navigation::UsblTools::REQ_PERIOD, DUNE::Navigation::UsblTools::REQ_START, DUNE::Time::Counter< T >::reset(), DUNE::IMC::Message::setSource(), DUNE::Time::Counter< T >::setTop(), DUNE::IMC::UamRxFrame::sys_dst, DUNE::IMC::UamRxFrame::sys_src, DUNE::IMC::UsblAnglesExtended::target, DUNE::IMC::UsblPositionExtended::target, DUNE::IMC::UsblFixExtended::target, DUNE::Navigation::UsblTools::Position::x, DUNE::IMC::UsblPositionExtended::x, DUNE::Navigation::UsblTools::Position::y, DUNE::IMC::UsblPositionExtended::y, DUNE::Navigation::UsblTools::Fix::z, DUNE::Navigation::UsblTools::Position::z, DUNE::IMC::UsblPositionExtended::z, DUNE::IMC::UsblFixExtended::z, DUNE::Navigation::UsblTools::Fix::z_units, and DUNE::IMC::UsblFixExtended::z_units.
|
inline |
Check if node has anything to request.
[out] | data | frame to be send. |
References DUNE::Navigation::UsblTools::c_requests_interval, DUNE::Navigation::UsblTools::Node::Arguments::enabled, DUNE::Navigation::UsblTools::Node::Arguments::fix, DUNE::Navigation::UsblTools::Node::Arguments::no_range, DUNE::Time::Counter< T >::overflow(), DUNE::Navigation::UsblTools::Node::Arguments::period, and DUNE::Time::Counter< T >::setTop().