DUNE: Uniform Navigational Environment
2020.01.0
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | onUpdateParameters (void) |
void | onResourceRelease (void) |
void | onResourceInitialization (void) |
void | queueState (StateMachineStates state) |
bool | hasQueuedStates (void) const |
StateMachineStates | getCurrentState (void) const |
StateMachineStates | dequeueState (void) |
void | onRequestActivation (void) |
bool | connect (void) |
void | failActivation (const std::string &message) |
void | onRequestDeactivation (void) |
void | disconnect (void) |
void | onDeactivation (void) |
void | onActivation (void) |
void | requestLogName (void) |
void | consume (const IMC::PowerChannelState *msg) |
void | consume (const IMC::EstimatedState *msg) |
void | consume (const IMC::LoggingControl *msg) |
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 | readData (void) |
void | estimateTimeDelta (Counter< double > &reference_timer) |
void | openLog (const Path &path) |
void | logPacket (void) |
void | closeLog (void) |
void | controlPower (IMC::PowerChannelControl::OperationEnum op) |
void | turnPowerOn (void) |
void | turnPowerOff (void) |
bool | isPowered (void) |
void | updateStateMachine (void) |
void | onMain (void) |
Public Attributes | |
TCPSocket * | m_sock_dat |
std::vector< uint8_t > | m_bfr |
Parser | m_parser |
CommandLink * | m_cmd |
Log * | m_log |
Counter< double > | m_wdog |
Counter< double > | m_time_delta_timer |
SubsystemData | m_subsys_data [c_subsys_count] |
StateMachineStates | m_sm_state |
std::queue< StateMachineStates > | m_sm_state_queue |
bool | m_powered |
Packet * | m_packet |
Arguments | m_args |
Static Public Attributes | |
static const unsigned | c_buffer_size |
|
inline |
References Sensors::Edgetech2205::Arguments::addr, Sensors::Edgetech2205::Arguments::autosel_mode, Sensors::Edgetech2205::Arguments::channels_hf, Sensors::Edgetech2205::Arguments::channels_lf, Sensors::Edgetech2205::Arguments::ignored_sample_count, Sensors::Edgetech2205::Arguments::port_cmd, Sensors::Edgetech2205::Arguments::port_dat, Sensors::Edgetech2205::Arguments::power_channel, Sensors::Edgetech2205::Arguments::range_hf, Sensors::Edgetech2205::Arguments::range_lf, Sensors::Edgetech2205::Arguments::time_delta_init_samples, Sensors::Edgetech2205::Arguments::time_delta_init_tout, Sensors::Edgetech2205::Arguments::time_delta_max_latency, Sensors::Edgetech2205::Arguments::time_delta_periodicity, and Sensors::Edgetech2205::Arguments::trg_div.
|
inline |
References Sensors::Edgetech2205::Log::getPath().
|
inline |
|
inline |
References Sensors::Edgetech2205::Arguments::power_channel.
|
inline |
|
inline |
|
inline |
References Sensors::Edgetech2205::Arguments::power_channel.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References Sensors::Edgetech2205::SUBSYS_SSH, and Sensors::Edgetech2205::SUBSYS_SSL.
|
inline |
|
inline |
References Sensors::Edgetech2205::Packet::get(), Sensors::Edgetech2205::Packet::getSubsystemNumber(), Sensors::Edgetech2205::Arguments::ignored_sample_count, Sensors::Edgetech2205::SubsystemData::ping_count, Sensors::Edgetech2205::SubsystemData::ping_number, and Sensors::Edgetech2205::SDATA_IDX_PING_NUMBER.
|
inline |
Test if state queue has pending state transitions.
|
inline |
Initialize sidescan configuration.
References Sensors::Edgetech2205::Arguments::channels_hf, Sensors::Edgetech2205::Arguments::channels_lf, Sensors::Edgetech2205::Arguments::range_hf, Sensors::Edgetech2205::Arguments::range_lf, Sensors::Edgetech2205::CommandLink::setPingRange(), Sensors::Edgetech2205::SUBSYS_SSH, and Sensors::Edgetech2205::SUBSYS_SSL.
|
inline |
Test if power channel is on.
|
inline |
References Sensors::Edgetech2205::Log::get(), and Sensors::Edgetech2205::Log::put().
|
inline |
|
inline |
|
inline |
|
inline |
References Sensors::Edgetech2205::SM_ACT_BEGIN.
|
inline |
References Sensors::Edgetech2205::SM_DEACT_BEGIN.
|
inline |
|
inline |
|
inline |
References Sensors::Edgetech2205::Arguments::addr, Sensors::Edgetech2205::Arguments::autosel_mode, Sensors::Edgetech2205::Arguments::channels_hf, Sensors::Edgetech2205::Arguments::channels_lf, Sensors::Edgetech2205::Arguments::port_cmd, Sensors::Edgetech2205::Arguments::port_dat, Sensors::Edgetech2205::Arguments::power_channel, Sensors::Edgetech2205::Arguments::range_hf, Sensors::Edgetech2205::Arguments::range_lf, Sensors::Edgetech2205::CommandLink::setPingRange(), Sensors::Edgetech2205::SUBSYS_SSH, and Sensors::Edgetech2205::SUBSYS_SSL.
|
inline |
References Sensors::Edgetech2205::Log::get(), and Sensors::Edgetech2205::Log::getPath().
|
inline |
Push a new state to the state queue.
[in] | state | state machine state. |
|
inline |
References Sensors::Edgetech2205::Parser::parse().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References Sensors::Edgetech2205::Arguments::channels_hf, Sensors::Edgetech2205::Arguments::channels_lf, Sensors::Edgetech2205::CommandLink::setPingCoupling(), Sensors::Edgetech2205::CommandLink::setPingTrigger(), Sensors::Edgetech2205::SUBSYS_SSH, Sensors::Edgetech2205::SUBSYS_SSL, Sensors::Edgetech2205::Arguments::trg_div, Sensors::Edgetech2205::TRIG_MODE_COUPLED, and Sensors::Edgetech2205::TRIG_MODE_INTERNAL.
|
inline |
|
inline |
|
inline |
References Sensors::Edgetech2205::CommandLink::estimateTimeDelta(), Sensors::Edgetech2205::SM_ACT_BEGIN, Sensors::Edgetech2205::SM_ACT_DONE, Sensors::Edgetech2205::SM_ACT_LOG_REQUEST, Sensors::Edgetech2205::SM_ACT_LOG_WAIT, Sensors::Edgetech2205::SM_ACT_POWER_ON, Sensors::Edgetech2205::SM_ACT_POWER_WAIT, Sensors::Edgetech2205::SM_ACT_SAMPLE, Sensors::Edgetech2205::SM_ACT_SS_SYNC, Sensors::Edgetech2205::SM_ACT_SS_WAIT, Sensors::Edgetech2205::SM_DEACT_BEGIN, Sensors::Edgetech2205::SM_DEACT_DISCONNECT, Sensors::Edgetech2205::SM_DEACT_DONE, Sensors::Edgetech2205::SM_DEACT_POWER_OFF, Sensors::Edgetech2205::SM_DEACT_POWER_WAIT, Sensors::Edgetech2205::SM_IDLE, and Sensors::Edgetech2205::Arguments::time_delta_max_latency.
|
inline |
References Sensors::Edgetech2205::SubsystemData::altitude, Sensors::Edgetech2205::SubsystemData::course, Sensors::Edgetech2205::SubsystemData::depth, Sensors::Edgetech2205::SubsystemData::estates, Sensors::Edgetech2205::EstimatedStateList::find(), Sensors::Edgetech2205::Packet::get(), Sensors::Edgetech2205::CommandLink::getEstimatedTimeDelta(), Sensors::Edgetech2205::Packet::getSubsystemNumber(), Sensors::Edgetech2205::Packet::getTimeStamp(), 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::msec_cpu, Sensors::Edgetech2205::SubsystemData::ping_count, Sensors::Edgetech2205::SubsystemData::ping_number, Sensors::Edgetech2205::SubsystemData::pitch, Sensors::Edgetech2205::SubsystemData::roll, Sensors::Edgetech2205::SDATA_IDX_MILLISECOND_TODAY, Sensors::Edgetech2205::SDATA_IDX_TIME, 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.
|
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.
|
static |
Buffer size.
Arguments Sensors::Edgetech2205::Task::m_args |
Configuration parameters.
std::vector<uint8_t> Sensors::Edgetech2205::Task::m_bfr |
Read buffer.
CommandLink* Sensors::Edgetech2205::Task::m_cmd |
Command link.
Packet* Sensors::Edgetech2205::Task::m_packet |
Current packet being parsed.
bool Sensors::Edgetech2205::Task::m_powered |
True if device is powered on.
StateMachineStates Sensors::Edgetech2205::Task::m_sm_state |
Current state machine state.
std::queue<StateMachineStates> Sensors::Edgetech2205::Task::m_sm_state_queue |
State machine state queue.
TCPSocket* Sensors::Edgetech2205::Task::m_sock_dat |
Data socket.
SubsystemData Sensors::Edgetech2205::Task::m_subsys_data[c_subsys_count] |
Subsystem specific data.
Counter<double> Sensors::Edgetech2205::Task::m_time_delta_timer |
Timer for time delta estimation.
Counter<double> Sensors::Edgetech2205::Task::m_wdog |
Watchdog timer.