DUNE: Uniform Navigational Environment
2016.05.0
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
~Task (void) | |
void | createNavigationOffsetsMarker (void) |
void | onUpdateParameters (void) |
void | onResourceInitialization (void) |
void | onResourceRelease (void) |
void | onRequestActivation (void) |
void | onActivation (void) |
void | onRequestDeactivation (void) |
void | onDeactivation (void) |
void | consume (const IMC::PowerChannelState *msg) |
void | consume (const IMC::EstimatedState *msg) |
void | consume (const IMC::LoggingControl *msg) |
void | consume (const IMC::SoundSpeed *msg) |
bool | getPing (BVTPing &ping) |
bool | queryRangeWindow (float &start_range, float &stop_range) |
bool | setRange (float start_range, float stop_range) |
void | controlPower (IMC::PowerChannelControl::OperationEnum op) |
void | turnPowerOn (void) |
void | turnPowerOff (void) |
bool | isPowered (void) |
bool | hasPowerChannel (void) |
bool | connect (void) |
void | disconnect (void) |
bool | setup (void) |
Path | getLogPath (const Path &prefix) |
bool | logIsOpen (void) |
void | openLog (const std::string &prefix, bool force) |
void | closeLog (void) |
void | putInLog (BVTPing ping) |
void | requestLogName (void) |
bool | isSynched (void) |
void | setSoundSpeed (int value) |
void | updateStateMachine (void) |
void | onMain (void) |
Public Member Functions inherited from DUNE::Tasks::Task | |
Task (const std::string &name, Context &context) | |
const char * | getName (void) const |
const char * | getSystemName (void) const |
unsigned int | getSystemId (void) const |
unsigned int | getEntityId (void) const |
unsigned int | resolveEntity (const std::string &label) const |
std::string | resolveEntity (unsigned int id) const |
DebugLevel | getDebugLevel (void) const |
uint16_t | getActivationTime (void) const |
uint16_t | getDeactivationTime (void) const |
unsigned int | resolveSystemName (const std::string &name) const |
const char * | resolveSystemId (unsigned int id) const |
void | loadConfig (void) |
void | setPriority (unsigned int value) |
unsigned int | getPriority (void) const |
void | inf (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void | war (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void | err (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void | cri (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void | debug (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void | trace (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void void | spew (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void void void | dispatch (IMC::Message *msg, unsigned int flags=0) |
void | dispatch (IMC::Message &msg, unsigned int flags=0) |
void | dispatchReply (const IMC::Message &original, IMC::Message &msg, unsigned int flags=0) |
void | receive (const IMC::Message *msg) |
void | reserveEntities (void) |
void | resolveEntities (void) |
void | acquireResources (void) |
void | releaseResources (void) |
void | initializeResources (void) |
void | updateParameters (bool act_deact=true) |
void | writeParamsXML (std::ostream &os) const |
const char * | getEntityLabel (void) const |
void | setEntityLabel (const std::string &label) |
Public Member Functions inherited from DUNE::Tasks::AbstractTask | |
AbstractTask (void) | |
virtual | ~AbstractTask (void) |
Public Member Functions inherited from DUNE::Concurrency::Thread | |
Thread (void) | |
virtual | ~Thread (void) |
int | getProcessorUsage (void) |
Public Member Functions inherited from DUNE::Concurrency::Runnable | |
Runnable (void) | |
virtual | ~Runnable (void) |
void | start (void) |
void | stop (void) |
void | join (void) |
void | stopAndJoin (void) |
void | setPriority (Scheduler::Policy policy, unsigned priority) |
State | getState (void) |
bool | isCreated (void) |
bool | isStopping (void) |
bool | isRunning (void) |
bool | isStarting (void) |
bool | isDead (void) |
Public Attributes | |
BVTSonar | m_sonar |
BVTHead | m_sonar_head |
BVTPing | m_ping |
BVTNavData | m_nav_data |
std::string | m_log_name |
StateMachineState | m_sm_state |
bool | m_powered |
Log * | m_log |
int | m_sound_speed |
double | m_sound_speed_full_res |
std::string | m_nav_offsets_marker |
Arguments | m_args |
Additional Inherited Members | |
Public Types inherited from DUNE::Concurrency::Runnable | |
enum | State { StateStarting, StateRunning, StateStopping, StateDead, StateUnknown } |
Protected Member Functions inherited from DUNE::Tasks::Task | |
void | setEntityState (IMC::EntityState::StateEnum state, Status::Code code) |
void | setEntityState (IMC::EntityState::StateEnum state, const std::string &description) |
IMC::EntityState::StateEnum | getEntityState (void) const |
unsigned int | reserveEntity (const std::string &label) |
template<typename E > | |
E * | reserveEntity (const std::string &label) |
bool | stopping (void) |
bool | isActive (void) const |
bool | isActivating (void) const |
bool | isDeactivating (void) const |
void | waitForMessages (double timeout) |
void | consumeMessages (void) |
template<typename T > | |
Parameter & | param (const std::string &name, T &var) |
template<typename Y , typename T > | |
Parameter & | param (const std::string &name, T &var) |
template<typename T > | |
bool | paramChanged (T &var) |
void | paramActive (Parameter::Scope def_scope, Parameter::Visibility def_visibility, bool def_value=false) |
void | setParamSectionEditor (const std::string &name) |
template<typename M , typename T > | |
void | bind (T *task_obj, void(T::*consumer)(const M *)=&T::consume) |
template<typename T > | |
void | bind (T *task_obj, const std::vector< uint32_t > &list) |
template<typename T , typename M > | |
void | bind (T *task_obj, const std::vector< uint32_t > &list, void(T::*consumer)(const M *)=&T::consume) |
template<typename T > | |
void | bind (T *task_obj, const std::vector< std::string > &list) |
void | requestActivation (void) |
void | requestDeactivation (void) |
void | activate (void) |
void | activationFailed (const std::string &reason) |
void | deactivate (void) |
void | deactivationFailed (const std::string &reason) |
virtual bool | onWriteParamsXML (std::ostream &os) const |
virtual void | onEntityReservation (void) |
virtual void | onEntityResolution (void) |
virtual void | onReportEntityState (void) |
virtual void | onResourceAcquisition (void) |
virtual void | onQueryEntityParameters (const IMC::QueryEntityParameters *msg) |
virtual void | onSetEntityParameters (const IMC::SetEntityParameters *msg) |
virtual void | onPushEntityParameters (const IMC::PushEntityParameters *msg) |
virtual void | onPopEntityParameters (const IMC::PopEntityParameters *msg) |
Protected Member Functions inherited from DUNE::Concurrency::Thread | |
void | startImpl (void) |
void | stopImpl (void) |
void | joinImpl (void) |
void | setPriorityImpl (Scheduler::Policy policy, unsigned priority) |
Protected Attributes inherited from DUNE::Tasks::Task | |
Context & | m_ctx |
std::vector < Entities::BasicEntity * > | m_entities |
|
inline |
Constructor.
[in] | name | task name. |
[in] | ctx | context. |
References Sensors::BlueView4::Arguments::addr, DUNE::Tasks::Parameter::defaultValue(), Sensors::BlueView4::Arguments::log_prefix, m_args, m_nav_data, Sensors::BlueView4::Arguments::master_system_name, Sensors::BlueView4::Arguments::nav_offset_altitude, Sensors::BlueView4::Arguments::nav_offset_depth, Sensors::BlueView4::Arguments::nav_offset_fore_aft, Sensors::BlueView4::Arguments::nav_offset_heading, Sensors::BlueView4::Arguments::nav_offset_pitch, Sensors::BlueView4::Arguments::nav_offset_roll, DUNE::Tasks::Task::param(), DUNE::Tasks::Task::paramActive(), Sensors::BlueView4::Arguments::pings_per_file, Sensors::BlueView4::Arguments::power_channel, Sensors::BlueView4::Arguments::sound_speed_def, and Sensors::BlueView4::Arguments::sound_speed_tolerance.
|
inlinevirtual |
|
inline |
References Sensors::BlueView4::Log::getPath(), logIsOpen(), m_log, and DUNE::Tasks::Task::trace().
Referenced by consume(), openLog(), and updateStateMachine().
|
inline |
References Sensors::BlueView4::Arguments::addr, m_args, m_sonar, m_sonar_head, and DUNE::Tasks::Task::trace().
Referenced by updateStateMachine().
|
inline |
References DUNE::Tasks::Task::debug(), m_args, m_powered, and Sensors::BlueView4::Arguments::power_channel.
|
inline |
References m_nav_data, and m_sound_speed_full_res.
|
inline |
|
inline |
References m_sonar_head, m_sound_speed_full_res, and setSoundSpeed().
|
inline |
References DUNE::Tasks::Task::dispatch(), hasPowerChannel(), m_args, Sensors::BlueView4::Arguments::power_channel, and DUNE::Tasks::Task::trace().
Referenced by turnPowerOff(), and turnPowerOn().
|
inline |
References m_args, m_nav_offsets_marker, Sensors::BlueView4::Arguments::nav_offset_altitude, Sensors::BlueView4::Arguments::nav_offset_depth, Sensors::BlueView4::Arguments::nav_offset_fore_aft, Sensors::BlueView4::Arguments::nav_offset_heading, Sensors::BlueView4::Arguments::nav_offset_pitch, and Sensors::BlueView4::Arguments::nav_offset_roll.
Referenced by onUpdateParameters().
|
inline |
References m_sonar, m_sonar_head, and DUNE::Tasks::Task::trace().
Referenced by updateStateMachine().
|
inline |
References DUNE::Tasks::Context::dir_log, Sensors::BlueView4::Arguments::log_prefix, m_args, and DUNE::Tasks::Task::m_ctx.
Referenced by openLog().
|
inline |
References m_nav_data, and m_sonar_head.
Referenced by isSynched(), and updateStateMachine().
|
inline |
References m_args, and Sensors::BlueView4::Arguments::power_channel.
Referenced by controlPower(), onUpdateParameters(), and updateStateMachine().
|
inline |
References m_powered.
Referenced by updateStateMachine().
|
inline |
References getPing(), and m_ping.
Referenced by updateStateMachine().
|
inline |
References m_log.
Referenced by closeLog(), openLog(), putInLog(), setSoundSpeed(), and updateStateMachine().
|
inlinevirtual |
Called when the task starts/resumes normal execution.
Reimplemented from DUNE::Tasks::Task.
References DUNE::Tasks::Task::inf(), and DUNE::Tasks::Task::setEntityState().
|
inlinevirtual |
Called when the task stops normal execution and enters an idleness state.
Reimplemented from DUNE::Tasks::Task.
References DUNE::Tasks::Task::inf(), m_sonar, and DUNE::Tasks::Task::setEntityState().
|
inlinevirtual |
Main loop.
Implements DUNE::Tasks::Task.
References DUNE::Tasks::Task::consumeMessages(), DUNE::Tasks::Task::stopping(), and updateStateMachine().
|
inlinevirtual |
Called when an external activation request is received.
Derived classes that need to perform extra steps to prepare normal execution should replace the default behaviour of immediate activation with calls to activate() when the request is completed or activationFailed() if the request cannot be honoured.
Reimplemented from DUNE::Tasks::Task.
References m_sm_state, and Sensors::BlueView4::SM_ACT_BEGIN.
|
inlinevirtual |
Called when an external deactivation request is received.
Derived classes that need to perform extra steps to prepare normal execution should replace the default behaviour of immediate deactivation with calls to deactivate() when the request is completed or deactivationFailed() if the request cannot be honoured.
Reimplemented from DUNE::Tasks::Task.
References m_sm_state, and Sensors::BlueView4::SM_DEACT_BEGIN.
|
inlinevirtual |
Initialize task resources.
Reimplemented from DUNE::Tasks::Task.
References DUNE::Tasks::Task::setEntityState().
|
inlinevirtual |
Release task resources.
Reimplemented from DUNE::Tasks::Task.
|
inlinevirtual |
Update task parameters.
Reimplemented from DUNE::Tasks::Task.
References createNavigationOffsetsMarker(), hasPowerChannel(), m_args, m_powered, m_sound_speed_full_res, DUNE::Tasks::Task::paramChanged(), setSoundSpeed(), and Sensors::BlueView4::Arguments::sound_speed_def.
|
inline |
References closeLog(), getLogPath(), Sensors::BlueView4::Log::getPrefix(), logIsOpen(), m_log, m_nav_offsets_marker, m_sonar, and m_sound_speed.
Referenced by consume(), putInLog(), and setSoundSpeed().
|
inline |
|
inline |
References DUNE::Tasks::Task::debug(), and m_sonar_head.
Referenced by setup().
|
inline |
References DUNE::Tasks::Task::debug(), and DUNE::Tasks::Task::dispatch().
Referenced by updateStateMachine().
|
inline |
References m_sonar_head, DUNE::Tasks::Task::trace(), and DUNE::Tasks::Task::war().
Referenced by setup().
|
inline |
References Sensors::BlueView4::Log::getPrefix(), logIsOpen(), m_args, m_log, m_sound_speed, openLog(), and Sensors::BlueView4::Arguments::sound_speed_tolerance.
Referenced by consume(), and onUpdateParameters().
|
inline |
References m_sonar, queryRangeWindow(), setRange(), and DUNE::Tasks::Task::trace().
Referenced by updateStateMachine().
|
inline |
References controlPower(), and DUNE::Tasks::Task::trace().
Referenced by updateStateMachine().
|
inline |
References controlPower(), and DUNE::Tasks::Task::trace().
Referenced by updateStateMachine().
|
inline |
References DUNE::Tasks::Task::activate(), closeLog(), connect(), DUNE::Tasks::Task::deactivate(), disconnect(), getPing(), hasPowerChannel(), isPowered(), isSynched(), logIsOpen(), m_ping, m_sm_state, putInLog(), requestLogName(), DUNE::Tasks::Task::setEntityState(), setup(), Sensors::BlueView4::SM_ACT_BEGIN, Sensors::BlueView4::SM_ACT_CONNECT, Sensors::BlueView4::SM_ACT_LOG_GET, Sensors::BlueView4::SM_ACT_LOG_WAIT, Sensors::BlueView4::SM_ACT_PING, Sensors::BlueView4::SM_ACT_POWER_ON, Sensors::BlueView4::SM_ACT_POWER_WAIT, Sensors::BlueView4::SM_ACT_SETUP, Sensors::BlueView4::SM_ACT_SYNC_WAIT, Sensors::BlueView4::SM_DEACT_BEGIN, Sensors::BlueView4::SM_DEACT_DISCONNECT, Sensors::BlueView4::SM_DEACT_LOG_CLOSE, Sensors::BlueView4::SM_DEACT_POWER_OFF, Sensors::BlueView4::SM_DEACT_POWER_WAIT, Sensors::BlueView4::SM_IDLE, DUNE::Tasks::Task::trace(), turnPowerOff(), turnPowerOn(), and DUNE::Tasks::Task::waitForMessages().
Referenced by onMain().
Arguments Sensors::BlueView4::Task::m_args |
Configuration parameters.
Referenced by connect(), consume(), controlPower(), createNavigationOffsetsMarker(), getLogPath(), hasPowerChannel(), onUpdateParameters(), putInLog(), setSoundSpeed(), and Task().
Log* Sensors::BlueView4::Task::m_log |
Current log file.
Referenced by closeLog(), logIsOpen(), openLog(), putInLog(), and setSoundSpeed().
std::string Sensors::BlueView4::Task::m_log_name |
Log folder name.
BVTNavData Sensors::BlueView4::Task::m_nav_data |
Navigation data.
std::string Sensors::BlueView4::Task::m_nav_offsets_marker |
Navigation offsets.
Referenced by createNavigationOffsetsMarker(), and openLog().
BVTPing Sensors::BlueView4::Task::m_ping |
Sonar ping.
Referenced by isSynched(), and updateStateMachine().
bool Sensors::BlueView4::Task::m_powered |
True if power channel is on.
Referenced by consume(), isPowered(), and onUpdateParameters().
StateMachineState Sensors::BlueView4::Task::m_sm_state |
Current state machine state.
Referenced by consume(), onRequestActivation(), onRequestDeactivation(), and updateStateMachine().
BVTSonar Sensors::BlueView4::Task::m_sonar |
Sonar device.
Referenced by connect(), disconnect(), onDeactivation(), openLog(), and setup().
BVTHead Sensors::BlueView4::Task::m_sonar_head |
Sonar device head.
Referenced by connect(), consume(), disconnect(), getPing(), queryRangeWindow(), and setRange().
int Sensors::BlueView4::Task::m_sound_speed |
Last sound speed value.
Referenced by openLog(), and setSoundSpeed().
double Sensors::BlueView4::Task::m_sound_speed_full_res |
Last sound speed value with full resolution.
Referenced by consume(), and onUpdateParameters().