DUNE: Uniform Navigational Environment  2022.04.1
DUNE::Navigation::UsblTools Class Reference

Detailed Description

UsblTools provides converter methods for IMC's USBL messages.

Author
José Braga.

Classes

struct  Angles
 
class  Filter
 
struct  Fix
 
struct  Gps
 
class  Modem
 
class  Node
 
struct  Position
 
class  Target
 

Public Types

enum  Codes {
  CODE_REQ, CODE_RPL, CODE_FIX, CODE_POS,
  CODE_ANG, CODE_INV, CODE_ORG
}
 
enum  RequestIndexes { REQ_START, REQ_PERIOD }
 

Static Public Member Functions

static bool toNode (uint8_t code)
 
static IMC::UsblFixExtended toFix (const IMC::UsblPositionExtended &usbl, const IMC::GpsFix &gps, bool inverted=false)
 
static IMC::UsblFixExtended toFix (const IMC::UsblPositionExtended &usbl, const IMC::EstimatedState &state, bool inverted=false)
 
static IMC::UsblFixExtended toFix (const IMC::UsblPositionExtended &usbl, double lat, double lon, float z, IMC::ZUnits z_units, bool inverted=false)
 

Static Public Attributes

static const uint8_t c_mask_start
 
static const uint8_t c_mask_fix
 
static const uint8_t c_mask_inverted
 
static const uint8_t c_fsize_req
 
static const uint8_t c_target_mask
 
static const uint8_t c_code
 
static const uint16_t c_requests_interval
 
static const uint8_t c_max_comm_timeout
 
static const uint8_t c_origin_timeout
 

Member Enumeration Documentation

◆ Codes

Enumerator
CODE_REQ 
CODE_RPL 
CODE_FIX 
CODE_POS 
CODE_ANG 
CODE_INV 
CODE_ORG 

◆ RequestIndexes

Enumerator
REQ_START 
REQ_PERIOD 

Member Function Documentation

◆ toFix() [1/3]

static IMC::UsblFixExtended DUNE::Navigation::UsblTools::toFix ( const IMC::UsblPositionExtended usbl,
const IMC::GpsFix gps,
bool  inverted = false 
)
inlinestatic

◆ toFix() [2/3]

static IMC::UsblFixExtended DUNE::Navigation::UsblTools::toFix ( const IMC::UsblPositionExtended usbl,
const IMC::EstimatedState state,
bool  inverted = false 
)
inlinestatic

◆ toFix() [3/3]

◆ toNode()

static bool DUNE::Navigation::UsblTools::toNode ( uint8_t  code)
inlinestatic

This method checks if code is intended for nodes or USBL modem.

Parameters
[in]codemessage code identifier.
Returns
true if message is for node, false if it's for modem.

Member Data Documentation

◆ c_code

const uint8_t DUNE::Navigation::UsblTools::c_code
static

Code placement in received frame messages.

◆ c_fsize_req

const uint8_t DUNE::Navigation::UsblTools::c_fsize_req
static

Request frame: size of frame.Size of frame: request.

◆ c_mask_fix

const uint8_t DUNE::Navigation::UsblTools::c_mask_fix
static

◆ c_mask_inverted

const uint8_t DUNE::Navigation::UsblTools::c_mask_inverted
static

◆ c_mask_start

const uint8_t DUNE::Navigation::UsblTools::c_mask_start
static

Request frame: start/stop mask.

Referenced by DUNE::Navigation::UsblTools::Node::consume().

◆ c_max_comm_timeout

const uint8_t DUNE::Navigation::UsblTools::c_max_comm_timeout
static

Number of communication timeouts before considering that a system has failed.

◆ c_origin_timeout

const uint8_t DUNE::Navigation::UsblTools::c_origin_timeout
static

Origin validity timeout.

◆ c_requests_interval

const uint16_t DUNE::Navigation::UsblTools::c_requests_interval
static

Minimum time interval between consecutive requests from node.

◆ c_target_mask

const uint8_t DUNE::Navigation::UsblTools::c_target_mask
static

Node or modem destination identifier mask.

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