![]() |
DUNE: Uniform Navigational Environment
2022.04.0
|
Public Member Functions | |
| BasicDeviceDriver (const std::string &name, DUNE::Tasks::Context &ctx) | |
| void | consume (const IMC::EstimatedState *msg) |
| void | consume (const IMC::LoggingControl *msg) |
| void | consume (const IMC::SoundSpeed *msg) |
| void | consume (const IMC::PowerChannelState *msg) |
Public Member Functions inherited from DUNE::Tasks::Task | |
| Task (const std::string &name, Context &context) | |
| virtual | ~Task (void) |
| 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) |
Protected Member Functions | |
| IO::Handle * | openDeviceHandle (const std::string &uri) |
| IO::Handle * | openUART (const std::string &uri) |
| IO::Handle * | openSocketTCP (const std::string &uri) |
| void | setPowerOnDelay (double value) |
| void | setPowerOffDelay (double value) |
| void | setPostPowerOnDelay (double value) |
| void | clearPowerChannelNames (void) |
| void | addPowerChannelName (const std::string &name) |
| virtual void | onIdle (void) |
| virtual bool | onConnect (void)=0 |
| virtual void | onDisconnect (void)=0 |
| virtual bool | enableLogControl (void) |
| virtual bool | onReadData (void)=0 |
| virtual bool | onSynchronize (void) |
| virtual void | onEstimatedState (const DUNE::IMC::EstimatedState &msg) |
| virtual void | onSoundSpeed (double value) |
| virtual void | onOpenLog (const DUNE::FileSystem::Path &path) |
| virtual void | onCloseLog (void) |
| FileSystem::Path | getUnusedLogPath (const FileSystem::Path &path, const std::string &extension) |
| virtual void | onInitializeDevice (void)=0 |
| virtual bool | discardEstimatedState (const IMC::EstimatedState *msg) |
| void | clearFaultCount (void) |
| void | clearTimeoutCount (void) |
| void | wait (double duration) |
| void | setRestartDelay (double seconds) |
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 | bind (unsigned int message_id, AbstractConsumer *consumer) |
| 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 | onResourceAcquisition (void) |
| virtual void | onUpdateParameters (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) |
Additional Inherited Members | |
Public Types inherited from DUNE::Concurrency::Runnable | |
| enum | State { StateStarting, StateRunning, StateStopping, StateDead, StateUnknown } |
Protected Attributes inherited from DUNE::Tasks::Task | |
| Context & | m_ctx |
| std::vector< Entities::BasicEntity * > | m_entities |
| DUNE::Hardware::BasicDeviceDriver::BasicDeviceDriver | ( | const std::string & | name, |
| DUNE::Tasks::Context & | ctx | ||
| ) |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
References wait().
| void DUNE::Hardware::BasicDeviceDriver::consume | ( | const IMC::EstimatedState * | msg | ) |
Consume estimated state messages.
| [in] | msg | EstimatedState message. |
References discardEstimatedState(), DUNE::Tasks::Task::isActive(), and onEstimatedState().
| void DUNE::Hardware::BasicDeviceDriver::consume | ( | const IMC::LoggingControl * | msg | ) |
Consume logging control messages.
| [in] | msg | LoggingControl message. |
References DUNE::IMC::LoggingControl::COP_CURRENT_NAME, DUNE::IMC::LoggingControl::COP_STARTED, DUNE::IMC::LoggingControl::COP_STOPPED, enableLogControl(), DUNE::IMC::LoggingControl::name, and DUNE::IMC::LoggingControl::op.
| void DUNE::Hardware::BasicDeviceDriver::consume | ( | const IMC::SoundSpeed * | msg | ) |
Consume sound speed messages.
| [in] | msg | SoundSpeed message. |
References DUNE::Tasks::Task::debug(), enableLogControl(), DUNE::Tasks::Task::isActivating(), DUNE::Tasks::Task::isActive(), onCloseLog(), onOpenLog(), onReadData(), onSoundSpeed(), and DUNE::IMC::SoundSpeed::value.
| void DUNE::Hardware::BasicDeviceDriver::consume | ( | const IMC::PowerChannelState * | msg | ) |
Consume power channel state messages.
| [in] | msg | PowerChannelState message. |
| [in] | msg | power channel state. |
References DUNE::Tasks::Task::activate(), DUNE::Tasks::Task::activationFailed(), DUNE::Status::CODE_ACTIVATING, DUNE::Status::CODE_DEACTIVATING, DUNE::Tasks::Task::deactivate(), DUNE::Tasks::Task::debug(), DUNE::Tasks::Task::dispatch(), enableLogControl(), DUNE::Tasks::Task::err(), DUNE::IMC::EntityState::ESTA_NORMAL, DUNE::Tasks::Task::getActivationTime(), DUNE::Tasks::Task::getDeactivationTime(), DUNE::IMC::PowerChannelControl::name, DUNE::IMC::PowerChannelState::name, onSynchronize(), DUNE::IMC::PowerChannelControl::op, DUNE::Time::Counter< T >::overflow(), DUNE::IMC::PowerChannelControl::PCC_OP_TURN_OFF, DUNE::IMC::PowerChannelControl::PCC_OP_TURN_ON, DUNE::IMC::PowerChannelState::PCS_ON, DUNE::Tasks::Task::requestActivation(), DUNE::Tasks::Task::setEntityState(), DUNE::Time::Counter< T >::setTop(), DUNE::Tasks::Task::spew(), DUNE::IMC::PowerChannelState::state, and DUNE::Tasks::Task::trace().
|
inlineprotectedvirtual |
Test if the estimated state message should be discarded.
| [in] | msg | estimated state message. |
References DUNE::IMC::Message::getSource(), and DUNE::Tasks::Task::getSystemId().
Referenced by consume().
|
inlineprotectedvirtual |
References getUnusedLogPath(), onCloseLog(), onEstimatedState(), onInitializeDevice(), onOpenLog(), onReadData(), onSoundSpeed(), and onSynchronize().
Referenced by consume(), and openSocketTCP().
|
protected |
References DUNE::Tasks::Context::dir_log, and DUNE::Tasks::Task::m_ctx.
Referenced by enableLogControl().
|
protectedvirtual |
References DUNE::Tasks::Task::trace().
Referenced by consume(), and enableLogControl().
|
protectedpure virtual |
Referenced by onIdle(), and openSocketTCP().
|
protectedpure virtual |
Referenced by onIdle(), and openSocketTCP().
|
protectedvirtual |
Referenced by consume(), and enableLogControl().
|
inlineprotectedvirtual |
References onConnect(), and onDisconnect().
Referenced by setRestartDelay().
|
protectedpure virtual |
Referenced by enableLogControl(), and openSocketTCP().
|
protectedvirtual |
References DUNE::FileSystem::Path::c_str(), and DUNE::Tasks::Task::trace().
Referenced by consume(), and enableLogControl().
|
protectedpure virtual |
Referenced by consume(), and enableLogControl().
|
protectedvirtual |
Referenced by consume(), and enableLogControl().
|
protectedvirtual |
Referenced by consume(), and enableLogControl().
|
protected |
Create an I/O handle given an URI.
| [in] | uri | URI. |
References DUNE::IO::Handle::flush(), openSocketTCP(), and openUART().
|
protected |
Create an I/O handle given a TCP port URI.
| [in] | uri | URI of the form: tcp://HOST:PORT |
References DUNE::Tasks::Task::activationFailed(), DUNE::Memory::clear(), DUNE::Status::CODE_ACTIVE, DUNE::Status::CODE_IDLE, DUNE::IMC::LoggingControl::COP_REQUEST_CURRENT_NAME, DUNE::Tasks::Task::debug(), DUNE::Tasks::Task::dispatch(), enableLogControl(), DUNE::IMC::EntityState::ESTA_NORMAL, DUNE::Time::Counter< T >::getElapsed(), onConnect(), onDisconnect(), onInitializeDevice(), DUNE::IMC::LoggingControl::op, DUNE::Tasks::Task::setEntityState(), and DUNE::Tasks::Task::trace().
Referenced by openDeviceHandle().
|
protected |
Create an I/O handle given a serial port URI.
| [in] | uri | URI of the form: uart://DEVICE:BAUD |
References DUNE::Hardware::SerialPort.
Referenced by openDeviceHandle().
|
inlineprotected |
Set post power-on delay.
| [in] | value | delay in second. |
|
inlineprotected |
Set the amount of time to wait before powering down the device.
| [in] | value | delay in second. |
|
inlineprotected |
Set the amount of time to wait before powering up the device.
| [in] | value | delay in second. |
|
inlineprotected |
References onIdle().
|
protected |
Suspend execution for a given amount of time while only consume messages.
| [in] | duration | amount of time to wait in second. |
References DUNE::Tasks::Task::consumeMessages(), DUNE::IMC::EntityState::ESTA_NORMAL, DUNE::Tasks::Task::isActivating(), DUNE::Tasks::Task::isActive(), DUNE::Tasks::Task::requestDeactivation(), DUNE::Tasks::Task::setEntityState(), DUNE::Tasks::Task::stopping(), DUNE::Tasks::Task::waitForMessages(), and DUNE::Tasks::Task::war().
Referenced by clearTimeoutCount().
