DUNE: Uniform Navigational Environment  2.6.0-rc1
Transports::UAN::Task Struct Reference

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 
 ~Task (void)
 
void onUpdateParameters (void)
 
void onResourceInitialization (void)
 
void onActivation (void)
 
void onDeactivation (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 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 (const IMC::UamRxFrame *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 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
 
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
 
- 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

IMC::EstimatedState m_estate
 
Counter< double > m_report_timer
 
float m_progress
 
float m_fuel_level
 
float m_fuel_conf
 
IMC::PlanControl * m_pc
 
Counter< double > m_rep_timer
 
uint16_t m_seq
 
IMC::AcousticOperation * m_last_acop
 
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
const char * getEntityLabel (void) const
 
void setEntityLabel (const std::string &label)
 
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)
 
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 >
Parameterparam (const std::string &name, T &var)
 
template<typename Y , typename T >
Parameterparam (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 void onEntityReservation (void)
 
virtual void onEntityResolution (void)
 
virtual void onReportEntityState (void)
 
virtual void onResourceAcquisition (void)
 
virtual void onRequestActivation (void)
 
virtual void onRequestDeactivation (void)
 
- 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
Contextm_ctx
 

Constructor & Destructor Documentation

Transports::UAN::Task::Task ( const std::string &  name,
Tasks::Context &  ctx 
)
inline
Transports::UAN::Task::~Task ( void  )
inlinevirtual

Destructor.

Reimplemented from DUNE::Tasks::Task.

References onResourceRelease().

Member Function Documentation

void Transports::UAN::Task::clearLastOp ( void  )
inline

References m_last_acop.

Referenced by onResourceRelease(), and replaceLastOp().

void Transports::UAN::Task::consume ( const IMC::EstimatedState *  msg)
inline
void Transports::UAN::Task::consume ( const IMC::PlanControlState *  msg)
inline

References m_progress.

void Transports::UAN::Task::consume ( const IMC::FuelLevel *  msg)
inline

References m_fuel_conf, and m_fuel_level.

void Transports::UAN::Task::consume ( const IMC::AcousticOperation *  msg)
inline
void Transports::UAN::Task::consume ( const IMC::UamTxStatus *  msg)
inline
void Transports::UAN::Task::consume ( const IMC::UamRxRange *  msg)
inline
void Transports::UAN::Task::onActivation ( void  )
inlinevirtual

Called when the task starts/resumes normal execution.

Reimplemented from DUNE::Tasks::Task.

References m_rep_timer, DUNE::Time::Counter< T >::reset(), and DUNE::Tasks::Task::setEntityState().

void Transports::UAN::Task::onDeactivation ( void  )
inlinevirtual

Called when the task stops normal execution and enters an idleness state.

Reimplemented from DUNE::Tasks::Task.

References DUNE::Tasks::Task::setEntityState().

void Transports::UAN::Task::onResourceInitialization ( void  )
inlinevirtual
void Transports::UAN::Task::onResourceRelease ( void  )
inlinevirtual

Release resources.

Reimplemented from DUNE::Tasks::Task.

References clearLastOp().

Referenced by ~Task().

void Transports::UAN::Task::onUpdateParameters ( void  )
inlinevirtual

Update internal state with new parameter values.

Reimplemented from DUNE::Tasks::Task.

References m_args, m_rep_timer, Transports::UAN::Arguments::report_period, and DUNE::Time::Counter< T >::setTop().

void Transports::UAN::Task::recvAbort ( uint16_t  imc_src,
uint16_t  imc_dst,
const IMC::UamRxFrame *  msg 
)
inline
void Transports::UAN::Task::recvMessage ( const IMC::UamRxFrame *  msg)
inline
void Transports::UAN::Task::recvPlanControl ( uint16_t  imc_src,
uint16_t  imc_dst,
const IMC::UamRxFrame *  msg 
)
inline
void Transports::UAN::Task::recvRange ( uint16_t  imc_src,
uint16_t  imc_dst,
const IMC::UamRxFrame *  msg 
)
inline

Referenced by consume().

void Transports::UAN::Task::recvRestartSystem ( uint16_t  imc_src,
uint16_t  imc_dst,
const IMC::UamRxFrame *  msg 
)
inline
void Transports::UAN::Task::replaceLastOp ( const IMC::AcousticOperation *  msg)
inline
void Transports::UAN::Task::sendAbort ( const std::string &  sys)
inline

References Transports::UAN::CODE_ABORT, and sendFrame().

Referenced by consume().

void Transports::UAN::Task::sendFrame ( const std::string &  sys,
Codes  code,
bool  ack 
)
inline
void Transports::UAN::Task::sendFrame ( const std::string &  sys,
const std::vector< uint8_t > &  data,
bool  ack 
)
inline
void Transports::UAN::Task::sendMessage ( const std::string &  sys,
const InlineMessage< IMC::Message > &  imsg 
)
inline

References sendPlanControl().

Referenced by consume().

void Transports::UAN::Task::sendPlanControl ( const std::string &  sys,
const IMC::PlanControl *  msg 
)
inline

References Transports::UAN::CODE_PLAN, and sendFrame().

Referenced by sendMessage().

void Transports::UAN::Task::sendRange ( const std::string &  sys)
inline
void Transports::UAN::Task::sendRestartSystem ( const std::string &  sys,
const IMC::RestartSystem *  msg 
)
inline

Member Data Documentation

Arguments Transports::UAN::Task::m_args

Task arguments.

Referenced by onMain(), onUpdateParameters(), 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().

IMC::PlanControl* Transports::UAN::Task::m_pc

Saved plan control.

float Transports::UAN::Task::m_progress

Last progress.

Referenced by consume(), and sendReport().

Counter<double> Transports::UAN::Task::m_rep_timer
Counter<double> Transports::UAN::Task::m_report_timer

Report timer.

uint16_t Transports::UAN::Task::m_seq

Sequence number.

Referenced by sendFrame().

Collaboration diagram for Transports::UAN::Task:
Collaboration graph