DUNE: Uniform Navigational Environment  2016.05.0
Transports::IridiumSBD::Task Struct Reference

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 ~Task (void)
void onUpdateParameters (void)
void onResourceAcquisition (void)
void onResourceInitialization (void)
void onActivation (void)
void onDeactivation (void)
void onResourceRelease (void)
void consume (const IMC::IoEvent *msg)
void consume (const IMC::IridiumMsgTx *msg)
void sendTxRequestStatus (const TxRequest *request, IMC::IridiumTxStatus::StatusCodeEnum code, const std::string &text="")
void enqueueTxRequest (TxRequest *request)
void dequeueTxRequest (unsigned msn)
void invalidateTxRequest (unsigned msn, unsigned err_code)
void handleSBD (void)
void handleSessionResult (void)
void cleanExpired (void)
void processQueue (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
std::list< TxRequest * > m_tx_requests
unsigned m_queued_mt
Counter< double > m_mbox_check_timer
Arguments m_args

Additional Inherited Members

- Public Types inherited from DUNE::Concurrency::Runnable
enum  State {
  StateStarting, StateRunning, StateStopping, StateDead,
- 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 >
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 bool onWriteParamsXML (std::ostream &os) const
virtual void onEntityReservation (void)
virtual void onEntityResolution (void)
virtual void onReportEntityState (void)
virtual void onRequestActivation (void)
virtual void onRequestDeactivation (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
< Entities::BasicEntity * > 

Constructor & Destructor Documentation

Transports::IridiumSBD::Task::~Task ( void  )


Reimplemented from DUNE::Tasks::Task.

References m_tx_request, m_tx_requests, and sendTxRequestStatus().

Member Function Documentation

void Transports::IridiumSBD::Task::cleanExpired ( void  )
void Transports::IridiumSBD::Task::consume ( const IMC::IoEvent *  msg)
void Transports::IridiumSBD::Task::consume ( const IMC::IridiumMsgTx *  msg)
void Transports::IridiumSBD::Task::enqueueTxRequest ( TxRequest request)
void Transports::IridiumSBD::Task::onActivation ( void  )

Called when the task starts/resumes normal execution.

Reimplemented from DUNE::Tasks::Task.

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

void Transports::IridiumSBD::Task::onDeactivation ( void  )

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

Reimplemented from DUNE::Tasks::Task.

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

void Transports::IridiumSBD::Task::onMain ( void  )
void Transports::IridiumSBD::Task::onResourceAcquisition ( void  )
void Transports::IridiumSBD::Task::onResourceInitialization ( void  )

Initialize resources.

Reimplemented from DUNE::Tasks::Task.

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

void Transports::IridiumSBD::Task::onResourceRelease ( void  )

Release resources.

Reimplemented from DUNE::Tasks::Task.

References m_driver, and m_uart.

void Transports::IridiumSBD::Task::onUpdateParameters ( void  )
void Transports::IridiumSBD::Task::sendTxRequestStatus ( const TxRequest request,
IMC::IridiumTxStatus::StatusCodeEnum  code,
const std::string &  text = "" 

Member Data Documentation

Arguments Transports::IridiumSBD::Task::m_args

Task arguments.

Referenced by onResourceAcquisition(), onUpdateParameters(), and Task().

Counter<double> Transports::IridiumSBD::Task::m_mbox_check_timer

Mailbox check timer.

Referenced by handleSessionResult(), onActivation(), onUpdateParameters(), and processQueue().

unsigned Transports::IridiumSBD::Task::m_queued_mt

Number of MT messages queued at the GSS.

TxRequest* Transports::IridiumSBD::Task::m_tx_request

Active transmission request.

Referenced by dequeueTxRequest(), invalidateTxRequest(), processQueue(), and ~Task().

std::list<TxRequest*> Transports::IridiumSBD::Task::m_tx_requests

List of transmission requests.

Referenced by cleanExpired(), enqueueTxRequest(), processQueue(), and ~Task().

SerialPort* Transports::IridiumSBD::Task::m_uart

Serial port handle.

Referenced by onResourceAcquisition(), and onResourceRelease().

Collaboration diagram for Transports::IridiumSBD::Task:
Collaboration graph