DUNE: Uniform Navigational Environment
2017.01.0
|
Classes | |
struct | LError |
Public Types | |
typedef std::map< uint8_t, LError > | LErrorMap |
Public Types inherited from DUNE::Concurrency::Runnable | |
enum | State { StateStarting, StateRunning, StateStopping, StateDead, StateUnknown } |
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | init (fp32_t &v, fp32_t dfl, uint8_t mask) |
void | setMaxDepth (void) |
void | onUpdateParameters (void) |
void | reset (void) |
void | consume (const IMC::OperationalLimits *msg) |
void | setError (uint8_t lmask, const char *ldesc, double v1, double v2) |
void | clearError (uint8_t lmask, const char *ldesc, double v1, double v2) |
bool | test (uint8_t lmask, const char *ldesc, double v1, double v2, double hyst=0.0) |
void | consume (const IMC::EstimatedState *msg) |
void | consume (const IMC::GetOperationalLimits *msg) |
void | updateState (void) |
void | task (void) |
Public Member Functions inherited from DUNE::Tasks::Periodic | |
Periodic (const std::string &name, Context &ctx) | |
virtual | ~Periodic (void) |
void | setFrequency (double freq) |
double | getFrequency (void) const |
double | getRunTime (void) const |
unsigned | getRunCount (void) const |
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) |
Public Attributes | |
Arguments | m_args |
LErrorMap | m_errs |
IMC::OperationalLimits | m_ol |
IMC::EstimatedState | m_estate |
uint8_t | m_emask |
IMC::CacheControl | m_cc |
double | m_atest_time |
bool | m_use_cfg |
float | m_max_depth |
Additional Inherited Members | |
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 > | |
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 | onResourceAcquisition (void) |
virtual void | onResourceRelease (void) |
virtual void | onResourceInitialization (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 |
typedef std::map<uint8_t, LError> Monitors::OperationalLimits::Task::LErrorMap |
Mapping of error bitmask to op limits error.
|
inline |
References DUNE::Tasks::Context::config, DUNE::Tasks::Parameter::defaultValue(), DUNE::Parsers::Config::get(), Monitors::OperationalLimits::Arguments::h_max_depth, Monitors::OperationalLimits::Arguments::h_min_altitude, Monitors::OperationalLimits::Arguments::i_max_altitude, Monitors::OperationalLimits::Arguments::i_max_depth, Monitors::OperationalLimits::Arguments::i_max_speed, Monitors::OperationalLimits::Arguments::i_max_vrate, Monitors::OperationalLimits::Arguments::i_min_altitude, Monitors::OperationalLimits::Arguments::i_min_speed, m_args, DUNE::Tasks::Task::m_ctx, m_max_depth, Monitors::OperationalLimits::Arguments::min_depth, DUNE::Tasks::Parameter::minimumValue(), DUNE::Tasks::Task::param(), and DUNE::Tasks::Parameter::units().
|
inline |
Clear an op limit from error state.
[in] | lmask | new error bitmask |
[in] | ldesc | error description |
[in] | v1 | current value |
[in] | v2 | limit value |
References m_emask, m_errs, and DUNE::Tasks::Task::war().
Referenced by test().
|
inline |
|
inline |
References DUNE::Tasks::Task::getSystemId(), and m_estate.
|
inline |
References DUNE::Tasks::Task::dispatch(), and m_ol.
|
inline |
Initialize op limits mask.
[out] | v | value of the limit |
[in] | dfl | value for the limit |
[in] | mask | initial mask |
References m_ol.
Referenced by onUpdateParameters().
|
inlinevirtual |
Called when the task is instructed to update its run-time parameters.
Derived classes that need to compute auxiliary values based on run-time parameters should override this function.
Reimplemented from DUNE::Tasks::Task.
References Monitors::OperationalLimits::Arguments::i_max_altitude, Monitors::OperationalLimits::Arguments::i_max_depth, Monitors::OperationalLimits::Arguments::i_max_speed, Monitors::OperationalLimits::Arguments::i_max_vrate, Monitors::OperationalLimits::Arguments::i_min_altitude, Monitors::OperationalLimits::Arguments::i_min_speed, init(), m_args, m_ol, m_use_cfg, reset(), and setMaxDepth().
|
inline |
Reset task to initial state.
References m_atest_time, m_emask, m_errs, m_ol, and DUNE::Tasks::Task::setEntityState().
Referenced by consume(), and onUpdateParameters().
|
inline |
Set an op limit to error mode.
[in] | lmask | new error bitmask |
[in] | ldesc | error description |
[in] | v1 | current value |
[in] | v2 | limit value |
References Monitors::OperationalLimits::Task::LError::desc, DUNE::Tasks::Task::err(), m_emask, m_errs, Monitors::OperationalLimits::Task::LError::v1, and Monitors::OperationalLimits::Task::LError::v2.
Referenced by test().
|
inline |
There's an absolute maximum depth rating, limit the "operational limit".
References m_max_depth, and m_ol.
Referenced by consume(), and onUpdateParameters().
|
inlinevirtual |
The task to be executed on each cycle.
Implements DUNE::Tasks::Periodic.
References Monitors::OperationalLimits::Arguments::h_max_depth, Monitors::OperationalLimits::Arguments::h_min_altitude, m_args, m_atest_time, m_emask, m_errs, m_estate, m_ol, Monitors::OperationalLimits::Arguments::min_depth, test(), and updateState().
|
inline |
Clear an op limit from error state.
[in] | lmask | new error bitmask |
[in] | ldesc | error description |
[in] | v1 | current value |
[in] | v2 | limit value |
[in] | hyst | hysteresis factor to avoid chattering |
References clearError(), m_emask, m_ol, and setError().
Referenced by task().
|
inline |
Update state of the system.
References m_emask, m_errs, and DUNE::Tasks::Task::setEntityState().
Referenced by task().
Arguments Monitors::OperationalLimits::Task::m_args |
Task arguments.
Referenced by onUpdateParameters(), Task(), and task().
double Monitors::OperationalLimits::Task::m_atest_time |
IMC::CacheControl Monitors::OperationalLimits::Task::m_cc |
Cache control message.
Referenced by consume().
uint8_t Monitors::OperationalLimits::Task::m_emask |
Error mask.
Referenced by clearError(), reset(), setError(), task(), test(), and updateState().
LErrorMap Monitors::OperationalLimits::Task::m_errs |
Error map.
Referenced by clearError(), reset(), setError(), task(), and updateState().
IMC::EstimatedState Monitors::OperationalLimits::Task::m_estate |
float Monitors::OperationalLimits::Task::m_max_depth |
Absolute maximum depth.
Referenced by setMaxDepth(), and Task().
IMC::OperationalLimits Monitors::OperationalLimits::Task::m_ol |
Limits in use.
Referenced by consume(), init(), onUpdateParameters(), reset(), setMaxDepth(), task(), and test().
bool Monitors::OperationalLimits::Task::m_use_cfg |
Use configuration flag.
Referenced by consume(), and onUpdateParameters().