DUNE: Uniform Navigational Environment  2019.02.0
DUNE::Navigation::BeamFilter Class Reference

Detailed Description

BeamFilter is responsible to gather beam distance values from a DVL unit and compute one local distance output.

Author
José Braga

Public Types

enum  Spacing { STANDARD, CROSSED }
 

Public Member Functions

 BeamFilter (Tasks::Task *task)
 
 BeamFilter (Tasks::Task *task, size_t size)
 
 BeamFilter (Tasks::Task *task, size_t size, float width, float offset, float off_ang, std::vector< float > &pos, std::vector< float > &ang, Spacing type)
 
void update (size_t index, float value)
 
float get (void)
 
void setValidity (size_t index, IMC::Distance::ValidityEnum val)
 
void setSourceEntities (std::vector< unsigned > &entities)
 
void dispatch (void)
 
void dispatch (double tstamp)
 
IMC::DistancegetAltitude (size_t index)
 

Member Enumeration Documentation

Filter spacing.

Enumerator
STANDARD 
CROSSED 

Constructor & Destructor Documentation

DUNE::Navigation::BeamFilter::BeamFilter ( Tasks::Task task)
inline

Constructor.

Parameters
[in]taskpointer to parent task.
DUNE::Navigation::BeamFilter::BeamFilter ( Tasks::Task task,
size_t  size 
)
inline

Constructor.

Parameters
[in]taskpointer to parent task.
[in]sizenumber of device beams.
DUNE::Navigation::BeamFilter::BeamFilter ( Tasks::Task task,
size_t  size,
float  width,
float  offset,
float  off_ang,
std::vector< float > &  pos,
std::vector< float > &  ang,
Spacing  type 
)
inline

Constructor.

Parameters
[in]taskpointer to parent task.
[in]sizenumber of device beams.
[in]widthbeam width.
[in]offsetbeam offset from center of device.
[in]off_angbeam angle offset.
[in]posdevice position.
[in]angdevice orientation.
[in]typetype of beam disposition.

Member Function Documentation

void DUNE::Navigation::BeamFilter::dispatch ( void  )
inline

Dispatch Distance messages to bus.

References DUNE::Tasks::DF_KEEP_TIME, and DUNE::Tasks::Task::dispatch().

void DUNE::Navigation::BeamFilter::dispatch ( double  tstamp)
inline

Set timestamp and dispatch Distance messages to bus.

Parameters
[in]tstamptimestamp value.

References DUNE::Tasks::DF_KEEP_TIME, and DUNE::Tasks::Task::dispatch().

float DUNE::Navigation::BeamFilter::get ( void  )
inline

Get distance using current beam data.

Returns
distance.

References DUNE::IMC::Distance::DV_VALID.

IMC::Distance& DUNE::Navigation::BeamFilter::getAltitude ( size_t  index)
inline

Get reference to distance message.

Parameters
[in]indexbeam index.
Returns
reference to distance.
void DUNE::Navigation::BeamFilter::setSourceEntities ( std::vector< unsigned > &  entities)
inline

Set source entities ids.

Parameters
[in]entitieslist of entity ids.
void DUNE::Navigation::BeamFilter::setValidity ( size_t  index,
IMC::Distance::ValidityEnum  val 
)
inline

Set beam distance validity.

Parameters
[in]indexbeam index.
[in]valdistance validity.
void DUNE::Navigation::BeamFilter::update ( size_t  index,
float  value 
)
inline

Update beam index with new measurement.

Parameters
[in]indexbeam index.
[in]valuedistance measurement.
Collaboration diagram for DUNE::Navigation::BeamFilter:
Collaboration graph