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

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 
void onUpdateParameters (void)
 
void onIdle (void) override
 
bool onConnect () override
 
void onDisconnect () override
 
bool onSynchronize () override
 
void onInitializeDevice () override
 
bool enableLogControl (void) override
 
void onOpenLog (const Path &path) override
 
void logPacket (void)
 
void onCloseLog (void) override
 
void onEstimatedState (const IMC::EstimatedState &msg) override
 
void setPingAutoSelectMode (void)
 
void setTriggerCoupling (void)
 
void initConfig (void)
 
void setDataActive (SubsystemId subsys, const std::string &channels)
 
void setPing (SubsystemId subsys, const std::string &channels)
 
int getSubsysIndex (int subsys)
 
void dispatchDebugData (const std::string &text)
 
void handleSonarData (void)
 
void writeSubsystemData (SubsystemData *data)
 
void updateSubsystemData (SubsystemData *data)
 
void handlePacket (void)
 
bool onReadData (void) override
 
void estimateTimeDelta (Counter< double > &reference_timer)
 

Public Attributes

TCPSocket * m_sock_dat
 
std::vector< uint8_t > m_bfr
 
Parser m_parser
 
CommandLinkm_cmd
 
Logm_log
 
Counter< double > m_start_timer
 
Counter< double > m_time_delta_timer
 
SubsystemData m_subsys_data [c_subsys_count]
 
Packetm_packet
 
Arguments m_args
 

Static Public Attributes

static const unsigned c_buffer_size
 

Constructor & Destructor Documentation

◆ Task()

Member Function Documentation

◆ dispatchDebugData()

void Sensors::Edgetech2205::Task::dispatchDebugData ( const std::string &  text)
inline

◆ enableLogControl()

bool Sensors::Edgetech2205::Task::enableLogControl ( void  )
inlineoverride

Enable log control.

◆ estimateTimeDelta()

◆ getSubsysIndex()

int Sensors::Edgetech2205::Task::getSubsysIndex ( int  subsys)
inline

◆ handlePacket()

void Sensors::Edgetech2205::Task::handlePacket ( void  )
inline

◆ handleSonarData()

◆ initConfig()

◆ logPacket()

void Sensors::Edgetech2205::Task::logPacket ( void  )
inline

◆ onCloseLog()

void Sensors::Edgetech2205::Task::onCloseLog ( void  )
inlineoverride

◆ onConnect()

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

Try to connect to the device.

Returns
true if connection was established, false otherwise.

References Sensors::Edgetech2205::Arguments::addr, and Sensors::Edgetech2205::Arguments::port_cmd.

◆ onDisconnect()

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

◆ onEstimatedState()

void Sensors::Edgetech2205::Task::onEstimatedState ( const IMC::EstimatedState &  msg)
inlineoverride

◆ onIdle()

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

◆ onInitializeDevice()

◆ onOpenLog()

void Sensors::Edgetech2205::Task::onOpenLog ( const Path &  path)
inlineoverride

◆ onReadData()

◆ onSynchronize()

bool Sensors::Edgetech2205::Task::onSynchronize ( void  )
inlineoverride

Synchronize with device.

◆ onUpdateParameters()

◆ setDataActive()

void Sensors::Edgetech2205::Task::setDataActive ( SubsystemId  subsys,
const std::string &  channels 
)
inline

◆ setPing()

void Sensors::Edgetech2205::Task::setPing ( SubsystemId  subsys,
const std::string &  channels 
)
inline

◆ setPingAutoSelectMode()

◆ setTriggerCoupling()

◆ updateSubsystemData()

◆ writeSubsystemData()

void Sensors::Edgetech2205::Task::writeSubsystemData ( SubsystemData data)
inline

References Sensors::Edgetech2205::SubsystemData::altitude, Sensors::Edgetech2205::SubsystemData::course, Sensors::Edgetech2205::SubsystemData::depth, Sensors::Edgetech2205::Packet::getMessageData(), Sensors::Edgetech2205::SubsystemData::heading, Sensors::Edgetech2205::SubsystemData::latitude, Sensors::Edgetech2205::SubsystemData::latitude_rad, Sensors::Edgetech2205::SubsystemData::longitude, Sensors::Edgetech2205::SubsystemData::longitude_rad, Sensors::Edgetech2205::SubsystemData::pitch, Sensors::Edgetech2205::SubsystemData::roll, Sensors::Edgetech2205::SDATA_IDX_ALTITUDE, Sensors::Edgetech2205::SDATA_IDX_ANNOTATION_STRING, Sensors::Edgetech2205::SDATA_IDX_COORDINATE_UNITS, Sensors::Edgetech2205::SDATA_IDX_COURSE, Sensors::Edgetech2205::SDATA_IDX_CPU_DAY, Sensors::Edgetech2205::SDATA_IDX_CPU_HOUR, Sensors::Edgetech2205::SDATA_IDX_CPU_MINUTES, Sensors::Edgetech2205::SDATA_IDX_CPU_SECONDS, Sensors::Edgetech2205::SDATA_IDX_CPU_TIME_BASIS, Sensors::Edgetech2205::SDATA_IDX_CPU_YEAR, Sensors::Edgetech2205::SDATA_IDX_DEPTH, Sensors::Edgetech2205::SDATA_IDX_HEADING, Sensors::Edgetech2205::SDATA_IDX_LATITUDE, Sensors::Edgetech2205::SDATA_IDX_LONGITUDE, Sensors::Edgetech2205::SDATA_IDX_MILLISECOND_TODAY, Sensors::Edgetech2205::SDATA_IDX_NMEA_HOUR, Sensors::Edgetech2205::SDATA_IDX_NMEA_MINUTES, Sensors::Edgetech2205::SDATA_IDX_NMEA_SECONDS, Sensors::Edgetech2205::SDATA_IDX_PITCH, Sensors::Edgetech2205::SDATA_IDX_ROLL, Sensors::Edgetech2205::SDATA_IDX_SPEED, Sensors::Edgetech2205::SDATA_IDX_TIME, Sensors::Edgetech2205::SDATA_IDX_VALIDITY, Sensors::Edgetech2205::Packet::set(), Sensors::Edgetech2205::SubsystemData::speed, Sensors::Edgetech2205::SubsystemData::time_bdt, Sensors::Edgetech2205::SubsystemData::time_epoch, Sensors::Edgetech2205::SubsystemData::time_msec_today, and Sensors::Edgetech2205::SubsystemData::validity.

Member Data Documentation

◆ c_buffer_size

const unsigned Sensors::Edgetech2205::Task::c_buffer_size
static

Buffer size.

◆ m_args

Arguments Sensors::Edgetech2205::Task::m_args

Configuration parameters.

◆ m_bfr

std::vector<uint8_t> Sensors::Edgetech2205::Task::m_bfr

Read buffer.

◆ m_cmd

CommandLink* Sensors::Edgetech2205::Task::m_cmd

Command link.

◆ m_log

Log* Sensors::Edgetech2205::Task::m_log

Log file.

◆ m_packet

Packet* Sensors::Edgetech2205::Task::m_packet

Current packet being parsed.

◆ m_parser

Parser Sensors::Edgetech2205::Task::m_parser

◆ m_sock_dat

TCPSocket* Sensors::Edgetech2205::Task::m_sock_dat

Data socket.

◆ m_start_timer

Counter<double> Sensors::Edgetech2205::Task::m_start_timer

Start timer.

◆ m_subsys_data

SubsystemData Sensors::Edgetech2205::Task::m_subsys_data[c_subsys_count]

Subsystem specific data.

◆ m_time_delta_timer

Counter<double> Sensors::Edgetech2205::Task::m_time_delta_timer

Timer for time delta estimation.

Collaboration diagram for Sensors::Edgetech2205::Task:
Collaboration graph