DUNE: Uniform Navigational Environment
2016.05.0
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
~Task (void) | |
void | variablesInitializer () |
void | consume (const IMC::EstimatedState *msg) |
void | onUpdateParameters (void) |
void | onEntityReservation (void) |
void | onResourceAcquisition (void) |
void | onResourceRelease (void) |
void | onResourceInitialization (void) |
void | startMonitoring (void) |
void | stopMonitoring (void) |
void | turnOffChannels (void) |
void | configureInternalChannels (void) |
void | checkDigitalSensors (void) |
bool | sendCommand (const char *cmd, const char *reply) |
void | dispatchSensValues (IMC::Message *message, double value, std::string label, double factor) |
void | dispatchDepth (std::string label, double value, double factor) |
int | digAndAnalogActive (void) |
int | allActive (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 | |
SerialPort * | m_uart |
IMC::Message * | m_digs [c_digs_count] |
IMC::Message * | m_analogs [c_analogs_count] |
IMC::Message * | m_internals [c_internals_count] |
IMC::Depth | m_depth |
Arguments | m_args |
Counter< double > | m_wdog |
int | m_active_slots_array [c_digs_count+c_analogs_count+c_internals_count] |
int | m_dig_active |
int | m_analog_active |
int | m_internal_active |
double | m_lat |
int | m_bit_flag |
bool | m_param_chang |
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 | onEntityResolution (void) |
virtual void | onReportEntityState (void) |
virtual void | onRequestActivation (void) |
virtual void | onRequestDeactivation (void) |
virtual void | onActivation (void) |
virtual void | onDeactivation (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::MetrecX::Arguments::analog_elabels, Sensors::MetrecX::Arguments::analog_factors, Sensors::MetrecX::Arguments::analog_messages, DUNE::Tasks::Parameter::defaultValue(), Sensors::MetrecX::Arguments::dig_elabels, Sensors::MetrecX::Arguments::dig_factors, Sensors::MetrecX::Arguments::dig_messages, Sensors::MetrecX::Arguments::geop_anomaly, Sensors::MetrecX::Arguments::input_timeout, Sensors::MetrecX::Arguments::internal_elabels, Sensors::MetrecX::Arguments::internal_factors, Sensors::MetrecX::Arguments::internal_messages, m_args, DUNE::Tasks::Task::param(), DUNE::Tasks::Parameter::size(), Sensors::MetrecX::Arguments::uart_baud, Sensors::MetrecX::Arguments::uart_dev, and variablesInitializer().
|
inlinevirtual |
Destructor.
Reimplemented from DUNE::Tasks::Task.
References m_analogs, m_digs, m_internals, and onResourceRelease().
|
inline |
References m_analog_active, m_dig_active, and m_internal_active.
Referenced by onMain(), and onUpdateParameters().
|
inline |
Cross check of what internal channels may be turned on and what channels the user want turned on.
References Sensors::MetrecX::Arguments::dig_messages, m_args, m_bit_flag, m_internal_active, and Sensors::MetrecX::TI_TOTAL.
Referenced by onMain(), and onResourceInitialization().
|
inline |
References Sensors::MetrecX::DSF_CONDUCTIVITY, Sensors::MetrecX::DSF_PRESSURE, Sensors::MetrecX::DSF_SV, Sensors::MetrecX::DSF_TEMPERATURE, Sensors::MetrecX::ICM_SV, Sensors::MetrecX::Arguments::internal_messages, m_args, m_bit_flag, m_internal_active, sendCommand(), turnOffChannels(), and DUNE::Tasks::Task::war().
Referenced by onMain(), and onResourceInitialization().
|
inline |
References m_lat.
|
inline |
References m_analog_active, and m_dig_active.
Referenced by onMain(), and onUpdateParameters().
|
inline |
References DUNE::Tasks::Task::dispatch(), Sensors::MetrecX::Arguments::geop_anomaly, m_args, m_depth, m_lat, and DUNE::Tasks::Task::resolveEntity().
Referenced by dispatchSensValues().
|
inline |
References DUNE::Tasks::Task::dispatch(), dispatchDepth(), and Sensors::MetrecX::TI_PRESSURE.
Referenced by onMain().
|
inlinevirtual |
Reserve entities.
Reimplemented from DUNE::Tasks::Task.
References Sensors::MetrecX::Arguments::analog_elabels, Sensors::MetrecX::Arguments::dig_elabels, Sensors::MetrecX::Arguments::internal_elabels, m_args, onUpdateParameters(), DUNE::Tasks::Task::reserveEntity(), and DUNE::Tasks::Task::resolveEntity().
|
inlinevirtual |
Main loop.
Implements DUNE::Tasks::Task.
References allActive(), Sensors::MetrecX::Arguments::analog_elabels, Sensors::MetrecX::Arguments::analog_factors, checkDigitalSensors(), configureInternalChannels(), DUNE::Tasks::Task::consumeMessages(), Sensors::MetrecX::Arguments::dig_elabels, Sensors::MetrecX::Arguments::dig_factors, digAndAnalogActive(), dispatchSensValues(), Sensors::MetrecX::Arguments::internal_elabels, m_active_slots_array, m_analogs, m_args, m_bit_flag, m_dig_active, m_digs, m_internals, m_param_chang, m_uart, m_wdog, DUNE::Time::Counter< T >::overflow(), DUNE::Time::Counter< T >::reset(), DUNE::Tasks::Task::setEntityState(), startMonitoring(), stopMonitoring(), DUNE::Tasks::Task::stopping(), turnOffChannels(), and DUNE::Tasks::Task::war().
|
inlinevirtual |
Acquire resources.
Reimplemented from DUNE::Tasks::Task.
References m_args, m_uart, DUNE::Tasks::Task::setEntityState(), Sensors::MetrecX::Arguments::uart_baud, and Sensors::MetrecX::Arguments::uart_dev.
|
inlinevirtual |
Called when the task is instructed to initialize resources acquired previously or whose initialization depends on run-time parameters.
Reimplemented from DUNE::Tasks::Task.
References checkDigitalSensors(), configureInternalChannels(), Sensors::MetrecX::Arguments::input_timeout, m_args, m_param_chang, m_uart, m_wdog, sendCommand(), DUNE::Time::Counter< T >::setTop(), startMonitoring(), and turnOffChannels().
|
inlinevirtual |
|
inlinevirtual |
Update internal state with new parameter values.
Reimplemented from DUNE::Tasks::Task.
References allActive(), Sensors::MetrecX::Arguments::analog_elabels, Sensors::MetrecX::Arguments::analog_messages, Sensors::MetrecX::Arguments::dig_elabels, Sensors::MetrecX::Arguments::dig_messages, digAndAnalogActive(), Sensors::MetrecX::Arguments::internal_elabels, Sensors::MetrecX::Arguments::internal_messages, m_active_slots_array, m_analog_active, m_analogs, m_args, m_dig_active, m_digs, m_internal_active, m_internals, m_param_chang, and DUNE::Tasks::Task::resolveEntity().
Referenced by onEntityReservation().
|
inline |
References m_uart.
Referenced by configureInternalChannels(), onResourceInitialization(), startMonitoring(), stopMonitoring(), and turnOffChannels().
|
inline |
References sendCommand().
Referenced by onMain(), and onResourceInitialization().
|
inline |
References sendCommand().
Referenced by onMain().
|
inline |
References sendCommand().
Referenced by configureInternalChannels(), onMain(), and onResourceInitialization().
|
inline |
References m_active_slots_array, m_analog_active, m_analogs, m_bit_flag, m_dig_active, m_digs, m_internal_active, m_internals, m_lat, and m_param_chang.
Referenced by Task().
int Sensors::MetrecX::Task::m_active_slots_array[c_digs_count+c_analogs_count+c_internals_count] |
Array of active slots.
Referenced by onMain(), onUpdateParameters(), and variablesInitializer().
int Sensors::MetrecX::Task::m_analog_active |
Number of analog active channels.
Referenced by allActive(), digAndAnalogActive(), onUpdateParameters(), and variablesInitializer().
IMC::Message* Sensors::MetrecX::Task::m_analogs[c_analogs_count] |
Analog messages.
Referenced by onMain(), onUpdateParameters(), variablesInitializer(), and ~Task().
Arguments Sensors::MetrecX::Task::m_args |
Task arguments.
Referenced by checkDigitalSensors(), configureInternalChannels(), dispatchDepth(), onEntityReservation(), onMain(), onResourceAcquisition(), onResourceInitialization(), onUpdateParameters(), and Task().
int Sensors::MetrecX::Task::m_bit_flag |
Bitmask flag for digital sensors.
Referenced by checkDigitalSensors(), configureInternalChannels(), onMain(), and variablesInitializer().
IMC::Depth Sensors::MetrecX::Task::m_depth |
Depth Messages.
Referenced by dispatchDepth().
int Sensors::MetrecX::Task::m_dig_active |
Number of dig active channels.
Referenced by allActive(), digAndAnalogActive(), onMain(), onUpdateParameters(), and variablesInitializer().
IMC::Message* Sensors::MetrecX::Task::m_digs[c_digs_count] |
Dig messages.
Referenced by onMain(), onUpdateParameters(), variablesInitializer(), and ~Task().
int Sensors::MetrecX::Task::m_internal_active |
Number of internal active channels.
Referenced by allActive(), checkDigitalSensors(), configureInternalChannels(), onUpdateParameters(), and variablesInitializer().
IMC::Message* Sensors::MetrecX::Task::m_internals[c_internals_count] |
Internal messages.
Referenced by onMain(), onUpdateParameters(), variablesInitializer(), and ~Task().
double Sensors::MetrecX::Task::m_lat |
Vehicle Latitude.
Referenced by consume(), dispatchDepth(), and variablesInitializer().
bool Sensors::MetrecX::Task::m_param_chang |
Parameter has changed.
Referenced by onMain(), onResourceInitialization(), onUpdateParameters(), and variablesInitializer().
SerialPort* Sensors::MetrecX::Task::m_uart |
Serial port handle.
Referenced by onMain(), onResourceAcquisition(), onResourceInitialization(), onResourceRelease(), and sendCommand().
Counter<double> Sensors::MetrecX::Task::m_wdog |
Task Watchdog.
Referenced by onMain(), and onResourceInitialization().