![]() |
DUNE: Uniform Navigational Environment
2019.02.0
|
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) |
| unsigned | getPriority (void) |
| State | getState (void) |
| bool | isCreated (void) |
| bool | isStopping (void) |
| bool | isRunning (void) |
| bool | isStarting (void) |
| bool | isDead (void) |
Public Attributes | |
| SerialPort * | m_uart |
| Driver * | m_driver |
| std::list< TxRequest * > | m_tx_requests |
| unsigned | m_queued_mt |
| Counter< double > | m_mbox_check_timer |
| Arguments | m_args |
| TxRequest * | m_tx_request |
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 | 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) |
| 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, Transports::IridiumSBD::Arguments::max_tx_rate, Transports::IridiumSBD::Arguments::mbox_check_per, DUNE::Tasks::Task::param(), DUNE::Tasks::Task::paramActive(), DUNE::Tasks::Parameter::scope(), Transports::IridiumSBD::Arguments::uart_baud, Transports::IridiumSBD::Arguments::uart_dev, DUNE::Tasks::Parameter::units(), and DUNE::Tasks::Parameter::visibility().
|
inlinevirtual |
Destructor.
Reimplemented from DUNE::Tasks::Task.
References m_tx_request, m_tx_requests, and sendTxRequestStatus().
|
inline |
References m_tx_requests, sendTxRequestStatus(), and DUNE::Tasks::Task::spew().
Referenced by processQueue().
|
inline |
References DUNE::Tasks::Task::getEntityId(), and DUNE::Tasks::Task::getSystemId().
|
inline |
References DUNE::Tasks::Task::debug(), enqueueTxRequest(), and sendTxRequestStatus().
|
inline |
|
inline |
References Transports::IridiumSBD::TxRequest::getExpiration(), and m_tx_requests.
Referenced by consume(), and invalidateTxRequest().
|
inline |
References DUNE::Tasks::Task::dispatch(), DUNE::Tasks::Task::err(), DUNE::Tasks::Task::getSystemId(), m_driver, and Transports::IridiumSBD::Driver::readBufferMT().
Referenced by handleSessionResult().
|
inline |
References Transports::IridiumSBD::Driver::clearRingAlert(), dequeueTxRequest(), Transports::IridiumSBD::SessionResult::getSequenceMO(), Transports::IridiumSBD::Driver::getSessionResult(), Transports::IridiumSBD::SessionResult::getStatusMO(), Transports::IridiumSBD::SessionResult::getStatusMT(), handleSBD(), Transports::IridiumSBD::Driver::hasRingAlert(), invalidateTxRequest(), Transports::IridiumSBD::SessionResult::isSuccessMO(), m_driver, m_mbox_check_timer, DUNE::Time::Counter< T >::reset(), Transports::IridiumSBD::SessionResultCode::translate(), and DUNE::Tasks::Task::war().
Referenced by processQueue().
|
inline |
|
inlinevirtual |
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().
|
inlinevirtual |
Called when the task stops normal execution and enters an idleness state.
Reimplemented from DUNE::Tasks::Task.
References DUNE::Tasks::Task::setEntityState().
|
inlinevirtual |
Main loop.
Implements DUNE::Tasks::Task.
References processQueue(), DUNE::Tasks::Task::stopping(), and DUNE::Tasks::Task::waitForMessages().
|
inlinevirtual |
Acquire resources.
Reimplemented from DUNE::Tasks::Task.
References DUNE::Tasks::Task::debug(), m_args, m_driver, m_uart, Transports::IridiumSBD::Arguments::max_tx_rate, Transports::IridiumSBD::Arguments::uart_baud, and Transports::IridiumSBD::Arguments::uart_dev.
|
inlinevirtual |
Initialize resources.
Reimplemented from DUNE::Tasks::Task.
References DUNE::Tasks::Task::setEntityState().
|
inlinevirtual |
|
inlinevirtual |
Update internal state with new parameter values.
Reimplemented from DUNE::Tasks::Task.
References m_args, m_driver, m_mbox_check_timer, Transports::IridiumSBD::Arguments::max_tx_rate, Transports::IridiumSBD::Arguments::mbox_check_per, DUNE::Tasks::Task::paramChanged(), and DUNE::Time::Counter< T >::setTop().
|
inline |
References Transports::IridiumSBD::Driver::checkMailBox(), Transports::IridiumSBD::Driver::checkMailBoxAlert(), cleanExpired(), DUNE::Tasks::Task::debug(), Transports::IridiumSBD::TxRequest::getData(), DUNE::Tasks::Task::getEntityId(), Transports::IridiumSBD::Driver::getMOMSN(), Transports::IridiumSBD::Driver::getQueuedMT(), DUNE::Tasks::Task::getSystemId(), handleSessionResult(), Transports::IridiumSBD::Driver::hasRingAlert(), Transports::IridiumSBD::Driver::hasSessionResult(), DUNE::Tasks::Task::isActive(), m_driver, m_mbox_check_timer, m_tx_request, m_tx_requests, DUNE::Time::Counter< T >::overflow(), DUNE::Time::Counter< T >::reset(), Transports::IridiumSBD::Driver::sendSBD(), sendTxRequestStatus(), and Transports::IridiumSBD::TxRequest::setMSN().
Referenced by onMain().
|
inline |
References DUNE::Tasks::Task::dispatch(), Transports::IridiumSBD::TxRequest::getId(), Transports::IridiumSBD::TxRequest::getSource(), and Transports::IridiumSBD::TxRequest::getSourceEntity().
Referenced by cleanExpired(), consume(), dequeueTxRequest(), invalidateTxRequest(), processQueue(), and ~Task().
| Arguments Transports::IridiumSBD::Task::m_args |
Task arguments.
Referenced by onResourceAcquisition(), onUpdateParameters(), and Task().
| Driver* Transports::IridiumSBD::Task::m_driver |
Driver handler.
Referenced by dequeueTxRequest(), handleSBD(), handleSessionResult(), onResourceAcquisition(), onResourceRelease(), onUpdateParameters(), and processQueue().
| 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().
