DUNE: Uniform Navigational Environment  2019.02.1
DUNE::Navigation::UsblTools::Node Class Reference

Detailed Description

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)
 

Constructor & Destructor Documentation

DUNE::Navigation::UsblTools::Node::Node ( Tasks::Task task,
const Arguments args 
)
inline

Constructor.

Member Function Documentation

void DUNE::Navigation::UsblTools::Node::parse ( uint16_t  imc_src,
const IMC::UamRxFrame msg 
)
inline

Parse incoming frame.

Parameters
[in]msgreceived 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_mask_fix, 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::Navigation::UsblTools::Position::e, DUNE::IMC::UsblPositionExtended::e, DUNE::Navigation::UsblTools::Angles::elevation, DUNE::IMC::UsblAnglesExtended::elevation, 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::IMC::Message::setSource(), 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.

bool DUNE::Navigation::UsblTools::Node::run ( std::vector< uint8_t > &  data)
inline

Check if node has anything to request.

Parameters
[out]dataframe to be send.
Returns
true if there's data to be sent, false otherwise.

References DUNE::Navigation::UsblTools::Fix::encode().

Collaboration diagram for DUNE::Navigation::UsblTools::Node:
Collaboration graph