DUNE: Uniform Navigational Environment  2024.09.0
Sensors::WaterLinkedDVL::Task Struct Reference

Detailed Description

Device driver for the Water Linked DVL-A50 and DVL-A125.

Author
Maria Costa

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 
void onUpdateParameters (void)
 
void onEntityReservation (void)
 
void onIdle (void) override
 
bool onConnect () override
 
void onDisconnect () override
 
void onInitializeDevice () override
 
void consume (const IMC::VehicleMedium *msg)
 
void checkStatus ()
 
void onSoundSpeed (const double sound_speed) override
 
bool onReadData () override
 
void displayConfig (void)
 

Public Attributes

std::unique_ptr< Driverm_driver
 
std::unique_ptr< IO::Handle > m_io
 
IMC::Distance m_alt_dvl
 
IMC::Distance m_alt_flt
 
Navigation::BeamFilter * m_filter
 
std::vector< unsigned > m_entities
 
DUNE::Monitors::MediumHandler m_hand
 
Counter< double > m_wdog
 
Counter< double > m_out_water_wdog
 
double m_last_sspeed
 
Arguments m_args
 

Constructor & Destructor Documentation

◆ Task()

Member Function Documentation

◆ checkStatus()

void Sensors::WaterLinkedDVL::Task::checkStatus ( )
inline

Check for device faults.

Parameters
[in]statusdevice status (0 -> OK; 1 -> fault).

◆ consume()

◆ displayConfig()

void Sensors::WaterLinkedDVL::Task::displayConfig ( void  )
inline

◆ onConnect()

bool Sensors::WaterLinkedDVL::Task::onConnect ( void  )
inlineoverride

Try to connect to the device.

Returns
true if connection was established, false otherwise.

References Sensors::WaterLinkedDVL::Arguments::io_dev.

◆ onDisconnect()

void Sensors::WaterLinkedDVL::Task::onDisconnect ( void  )
inlineoverride

Disconnect from device.

◆ onEntityReservation()

void Sensors::WaterLinkedDVL::Task::onEntityReservation ( void  )
inline

Reserve entity identifiers.

◆ onIdle()

void Sensors::WaterLinkedDVL::Task::onIdle ( void  )
inlineoverride

Restart device when idle.

References DUNE::Monitors::MediumHandler::inWater().

◆ onInitializeDevice()

◆ onReadData()

bool Sensors::WaterLinkedDVL::Task::onReadData ( void  )
inlineoverride

Get data from device.

Returns
true if data was received, false otherwise.

◆ onSoundSpeed()

void Sensors::WaterLinkedDVL::Task::onSoundSpeed ( const double  sound_speed)
inlineoverride

Set device sound speed.

Parameters
[in]sound_speedsound speed in m/s.

References DUNE::Math::abs().

◆ onUpdateParameters()

void Sensors::WaterLinkedDVL::Task::onUpdateParameters ( void  )
inline

Member Data Documentation

◆ m_alt_dvl

IMC::Distance Sensors::WaterLinkedDVL::Task::m_alt_dvl

DVL altitude estimate.

◆ m_alt_flt

IMC::Distance Sensors::WaterLinkedDVL::Task::m_alt_flt

Filtered Altitude.

◆ m_args

Arguments Sensors::WaterLinkedDVL::Task::m_args

Task arguments.

◆ m_driver

std::unique_ptr<Driver> Sensors::WaterLinkedDVL::Task::m_driver

◆ m_entities

std::vector<unsigned> Sensors::WaterLinkedDVL::Task::m_entities

List of entities.

◆ m_filter

Navigation::BeamFilter* Sensors::WaterLinkedDVL::Task::m_filter

Beam Filter.

◆ m_hand

DUNE::Monitors::MediumHandler Sensors::WaterLinkedDVL::Task::m_hand

Medium handler.

◆ m_io

std::unique_ptr<IO::Handle> Sensors::WaterLinkedDVL::Task::m_io

IO Handle.

◆ m_last_sspeed

double Sensors::WaterLinkedDVL::Task::m_last_sspeed

Last sound speed.

◆ m_out_water_wdog

Counter<double> Sensors::WaterLinkedDVL::Task::m_out_water_wdog

Out of water watchdog.

◆ m_wdog

Counter<double> Sensors::WaterLinkedDVL::Task::m_wdog

Communication watchdog.

Collaboration diagram for Sensors::WaterLinkedDVL::Task:
Collaboration graph