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

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 
bool onConnect () override
 
void onDisconnect () override
 
void onInitializeDevice () override
 
bool sendCommand (const char *cmd, const char *reply)
 
bool onReadData () override
 

Public Attributes

IMC::SoundSpeed m_sspeed
 
IO::Handle * m_handle
 
Arguments m_args
 
Counter< double > m_wdog
 
bool m_uart
 
char m_bfr [32]
 

Constructor & Destructor Documentation

◆ Task()

Sensors::XchangeSV::Task::Task ( const std::string &  name,
Tasks::Context &  ctx 
)
inline

Member Function Documentation

◆ onConnect()

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

Try to connect to the device.

Returns
true if connection was established, false otherwise.

References Sensors::XchangeSV::Arguments::io_dev, and Sensors::XchangeSV::Arguments::pwr_on_delay.

◆ onDisconnect()

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

Disconnect from device.

◆ onInitializeDevice()

void Sensors::XchangeSV::Task::onInitializeDevice ( void  )
inlineoverride

Device may be initialized.

References Sensors::XchangeSV::Arguments::input_timeout.

◆ onReadData()

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

Get data from device.

Returns
true if data was received, false otherwise.

◆ sendCommand()

bool Sensors::XchangeSV::Task::sendCommand ( const char *  cmd,
const char *  reply 
)
inline

Member Data Documentation

◆ m_args

Arguments Sensors::XchangeSV::Task::m_args

Task arguments.

◆ m_bfr

char Sensors::XchangeSV::Task::m_bfr[32]

Read buffer.

◆ m_handle

IO::Handle* Sensors::XchangeSV::Task::m_handle

Serial port handle.

◆ m_sspeed

IMC::SoundSpeed Sensors::XchangeSV::Task::m_sspeed

Sound speed message.

◆ m_uart

bool Sensors::XchangeSV::Task::m_uart

True if IO handle is a SerialPort.

◆ m_wdog

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

Watchdog.

Collaboration diagram for Sensors::XchangeSV::Task:
Collaboration graph