DUNE: Uniform Navigational Environment
2019.02.0
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
~Task (void) | |
void | onResourceAcquisition (void) |
void | onResourceInitialization (void) |
void | onResourceRelease (void) |
void | consume (const IMC::EstimatedState *msg) |
void | consume (const IMC::PlanControlState *msg) |
void | consume (const IMC::FuelLevel *msg) |
void | consume (const IMC::AcousticOperation *msg) |
void | consume (const IMC::UamRxFrame *msg) |
void | consume (const IMC::UamTxStatus *msg) |
void | consume (const IMC::UamRxRange *msg) |
void | consume (const IMC::UsblPositionExtended *msg) |
void | consume (const IMC::UsblAnglesExtended *msg) |
void | consume (const IMC::UsblConfig *msg) |
void | consume (const IMC::ReportControl *msg) |
void | announceUSBL (void) |
void | clearLastOp (void) |
void | sendFrame (const std::string &sys, Codes code, bool ack) |
void | sendFrame (const std::string &sys, const std::vector< uint8_t > &data, bool ack) |
void | replaceLastOp (const IMC::AcousticOperation *msg) |
void | sendAbort (const std::string &sys) |
void | recvAbort (uint16_t imc_src, uint16_t imc_dst, const IMC::UamRxFrame *msg) |
void | sendRange (const std::string &sys) |
void | recvRange (uint16_t imc_src, uint16_t imc_dst, const IMC::UamRxFrame *msg) |
void | sendMessage (const std::string &sys, const InlineMessage< IMC::Message > &imsg) |
void | recvMessage (uint16_t imc_src, uint16_t imc_dst, const IMC::UamRxFrame *msg) |
void | sendRawMessage (const std::string &sys, const IMC::Message *msg) |
void | sendPlanControl (const std::string &sys, const IMC::PlanControl *msg) |
void | recvPlanControl (uint16_t imc_src, uint16_t imc_dst, const IMC::UamRxFrame *msg) |
void | sendRestartSystem (const std::string &sys, const IMC::RestartSystem *msg) |
void | recvRestartSystem (uint16_t imc_src, uint16_t imc_dst, const IMC::UamRxFrame *msg) |
void | sendReport (void) |
void | recvReport (uint16_t imc_src, uint16_t imc_dst, const IMC::UamRxFrame *msg) |
void | onUsblModem (void) |
void | onUsblNode (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) |
unsigned | getPriority (void) |
State | getState (void) |
bool | isCreated (void) |
bool | isStopping (void) |
bool | isRunning (void) |
bool | isStarting (void) |
bool | isDead (void) |
Public Attributes | |
IMC::EstimatedState | m_estate |
float | m_progress |
float | m_fuel_level |
float | m_fuel_conf |
uint16_t | m_seq |
IMC::AcousticOperation * | m_last_acop |
std::vector< const IMC::AcousticOperation * > | m_msg_requests |
Counter< double > | m_msg_send_timer |
bool | m_send_next |
Supervisors::Reporter::Client * | m_reporter |
UsblTools::Node::Arguments | m_node_args |
UsblTools::Node * | m_usbl_node |
UsblTools::Modem * | m_usbl_modem |
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) |
Entities::BasicEntity * | getLocalEntity (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 | onUpdateParameters (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) |
unsigned | getPriorityImpl (void) |
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 DUNE::Tasks::Parameter::defaultValue(), m_args, m_node_args, DUNE::Tasks::Task::param(), Transports::UAN::Arguments::report_enable, Transports::UAN::Arguments::usbl_announce, and Transports::UAN::Arguments::usbl_max_wait.
|
inlinevirtual |
|
inline |
Announce USBL service.
References DUNE::Tasks::Task::dispatch(), and DUNE::Tasks::Task::getEntityLabel().
Referenced by consume(), and onResourceInitialization().
|
inline |
Clear last operation.
References m_last_acop.
Referenced by onResourceRelease(), and replaceLastOp().
|
inline |
References DUNE::Tasks::Task::getSystemId(), and m_estate.
|
inline |
References m_progress.
|
inline |
References m_fuel_conf, and m_fuel_level.
|
inline |
|
inline |
References Transports::UAN::CODE_ABORT, Transports::UAN::CODE_PLAN, Transports::UAN::CODE_RANGE, Transports::UAN::CODE_RAW, Transports::UAN::CODE_REPORT, Transports::UAN::CODE_USBL, DUNE::Tasks::Task::debug(), m_usbl_modem, m_usbl_node, recvAbort(), recvMessage(), recvPlanControl(), recvRange(), recvReport(), DUNE::Tasks::Task::resolveSystemName(), and sendFrame().
|
inline |
|
inline |
References DUNE::Tasks::Task::dispatch(), and m_last_acop.
|
inline |
References announceUSBL(), Transports::UAN::CODE_USBL, m_estate, m_usbl_modem, and sendFrame().
|
inline |
References announceUSBL(), Transports::UAN::CODE_USBL, m_usbl_modem, and sendFrame().
|
inline |
References m_usbl_node.
|
inline |
References Supervisors::Reporter::Client::consume(), and m_reporter.
|
inlinevirtual |
Main loop.
Implements DUNE::Tasks::Task.
References m_args, m_msg_requests, m_msg_send_timer, m_reporter, m_send_next, onUsblModem(), onUsblNode(), DUNE::Time::Counter< T >::overflow(), replaceLastOp(), Transports::UAN::Arguments::report_enable, sendMessage(), sendReport(), DUNE::Tasks::Task::stopping(), Supervisors::Reporter::Client::trigger(), and DUNE::Tasks::Task::waitForMessages().
|
inlinevirtual |
Called when the task is instructed to acquire resources whose configuration is defined by run-time parameters.
Reimplemented from DUNE::Tasks::Task.
References Supervisors::Reporter::IS_ACOUSTIC, m_node_args, m_reporter, and m_usbl_node.
|
inlinevirtual |
Initialize resources.
Reimplemented from DUNE::Tasks::Task.
References announceUSBL(), DUNE::Tasks::Task::dispatch(), DUNE::Tasks::Task::getEntityLabel(), m_args, DUNE::Tasks::Task::setEntityState(), and Transports::UAN::Arguments::usbl_announce.
|
inlinevirtual |
Release resources.
Reimplemented from DUNE::Tasks::Task.
References clearLastOp(), m_reporter, m_usbl_modem, and m_usbl_node.
Referenced by ~Task().
|
inline |
Main loop of USBL modem.
References m_args, m_usbl_modem, sendRange(), and Transports::UAN::Arguments::usbl_max_wait.
Referenced by onMain().
|
inline |
Main loop of USBL node.
References Transports::UAN::CODE_USBL, m_usbl_node, and sendFrame().
Referenced by onMain().
|
inline |
References DUNE::Tasks::Task::dispatch(), DUNE::Tasks::Task::getSystemId(), DUNE::Tasks::Task::inf(), and DUNE::Tasks::Task::war().
Referenced by consume().
|
inline |
References DUNE::Tasks::Task::debug(), DUNE::Tasks::Task::dispatch(), and DUNE::Tasks::Task::err().
Referenced by consume().
|
inline |
References DUNE::Tasks::Task::dispatch(), and DUNE::Tasks::Task::war().
Referenced by consume().
|
inline |
Referenced by consume().
|
inline |
References Transports::UAN::Report::alt, Transports::UAN::Report::depth, DUNE::Tasks::Task::dispatch(), Transports::UAN::Report::fuel_conf, Transports::UAN::Report::fuel_level, Transports::UAN::Report::lat, Transports::UAN::Report::lon, Transports::UAN::Report::progress, and Transports::UAN::Report::yaw.
Referenced by consume().
|
inline |
References DUNE::Tasks::Task::dispatch().
|
inline |
References clearLastOp(), DUNE::Tasks::Task::getEntityId(), DUNE::Tasks::Task::getSystemId(), and m_last_acop.
|
inline |
References Transports::UAN::CODE_ABORT, and sendFrame().
Referenced by consume().
|
inline |
Referenced by consume(), onUsblNode(), sendAbort(), sendPlanControl(), sendRange(), sendRawMessage(), sendReport(), and sendRestartSystem().
|
inline |
References DUNE::Tasks::Task::dispatch(), DUNE::Tasks::Task::getSystemId(), and m_seq.
|
inline |
References sendPlanControl(), and sendRawMessage().
|
inline |
References Transports::UAN::CODE_PLAN, and sendFrame().
Referenced by sendMessage().
|
inline |
References Transports::UAN::CODE_RANGE, sendFrame(), and DUNE::Tasks::Task::spew().
Referenced by consume(), and onUsblModem().
|
inline |
References Transports::UAN::CODE_RAW, and sendFrame().
Referenced by sendMessage().
|
inline |
References Transports::UAN::Report::alt, Transports::UAN::CODE_REPORT, Transports::UAN::Report::depth, Transports::UAN::Report::fuel_conf, Transports::UAN::Report::fuel_level, Transports::UAN::Report::lat, Transports::UAN::Report::lon, m_estate, m_fuel_conf, m_fuel_level, m_progress, Transports::UAN::Report::progress, sendFrame(), and Transports::UAN::Report::yaw.
Referenced by onMain().
|
inline |
References Transports::UAN::CODE_RESTART, and sendFrame().
Arguments Transports::UAN::Task::m_args |
Task arguments.
Referenced by onMain(), onResourceInitialization(), onUsblModem(), and Task().
IMC::EstimatedState Transports::UAN::Task::m_estate |
Estimated state.
Referenced by consume(), and sendReport().
float Transports::UAN::Task::m_fuel_conf |
Last fuel level confidence.
Referenced by consume(), and sendReport().
float Transports::UAN::Task::m_fuel_level |
Last fuel level.
Referenced by consume(), and sendReport().
IMC::AcousticOperation* Transports::UAN::Task::m_last_acop |
Last acoustic operation.
Referenced by clearLastOp(), consume(), and replaceLastOp().
std::vector<const IMC::AcousticOperation*> Transports::UAN::Task::m_msg_requests |
Counter<double> Transports::UAN::Task::m_msg_send_timer |
UsblTools::Node::Arguments Transports::UAN::Task::m_node_args |
USBL Node arguments.
Referenced by onResourceAcquisition(), and Task().
float Transports::UAN::Task::m_progress |
Last progress.
Referenced by consume(), and sendReport().
Supervisors::Reporter::Client* Transports::UAN::Task::m_reporter |
Reporter API.
Referenced by consume(), onMain(), onResourceAcquisition(), and onResourceRelease().
bool Transports::UAN::Task::m_send_next |
uint16_t Transports::UAN::Task::m_seq |
Sequence number.
Referenced by sendFrame().
UsblTools::Modem* Transports::UAN::Task::m_usbl_modem |
USBL Modem.
Referenced by consume(), onResourceRelease(), and onUsblModem().
UsblTools::Node* Transports::UAN::Task::m_usbl_node |
USBL Node.
Referenced by consume(), onResourceAcquisition(), onResourceRelease(), and onUsblNode().