![]() |
DUNE: Uniform Navigational Environment
2017.01.0
|
Public Member Functions | |
| Task (const std::string &name, Tasks::Context &ctx) | |
| void | onResourceRelease (void) |
| void | consume (const IMC::Announce *msg) |
| void | consume (const IMC::EstimatedState *msg) |
| void | consume (const IMC::LblConfig *msg) |
| void | consume (const IMC::PlanGeneration *msg) |
| void | onMain (void) |
| bool | getCurrentPosition (double *lat, double *lon, double *depth) |
| void | sequentialPlan (std::string plan_id, const IMC::MessageList< IMC::Maneuver > *maneuvers, IMC::PlanSpecification &result) |
| void | updatePositionFromBeacon (const std::string &match, const IMC::LblBeacon *msg, double *lat, double *lon) |
| bool | generate (const std::string &plan_id, TupleList ¶ms, IMC::PlanSpecification &result) |
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 |
| IMC::EstimatedState * | m_estate |
| IMC::LblConfig * | m_last_lbl_config |
| std::map< unsigned int, IMC::Announce > | m_last_announces |
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) |
| 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 | onResourceInitialization (void) |
| virtual void | onUpdateParameters (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 |
|
inline |
Class constructor.
References DUNE::Tasks::Context::config, DUNE::Tasks::Parameter::description(), Plan::Generator::Arguments::dive_depth, Plan::Generator::Arguments::dive_time, Plan::Generator::Arguments::generate_at_boot, DUNE::Parsers::Config::get(), m_args, DUNE::Tasks::Task::m_ctx, Plan::Generator::Arguments::max_rpms, DUNE::Tasks::Task::param(), Plan::Generator::Arguments::radius, Plan::Generator::Arguments::recovery_plan, Plan::Generator::Arguments::speed_rpms, and Plan::Generator::Arguments::travel_depth.
|
inline |
Stores the announce in the map (one announce per system id).
References m_last_announces.
|
inline |
Stores the last received EstimatedState message.
References DUNE::Tasks::Task::getSystemId(), m_estate, and DUNE::Tasks::Task::setEntityState().
|
inline |
Stores the last received LblConfig message.
References m_last_lbl_config.
|
inline |
Handles a PlanGeneration message.
According to the 'plan_id' may result in the generation of different plans: go_home:
surface:
dive:
go:
sk:
dislodge:
References DUNE::Tasks::Task::dispatch(), generate(), and DUNE::Tasks::Task::inf().
|
inline |
This method parses a string and a list of parameters and eventually generates a corresponding plan.
| [in] | plan_id | the string to be parsed (command). |
| [in] | params | a tuple list with parameters to be used in the generation. |
| [out] | result | where to store the resulting plan specification. |
References Plan::Generator::Arguments::dive_depth, Plan::Generator::Arguments::dive_time, getCurrentPosition(), DUNE::Tasks::Task::inf(), m_args, m_estate, m_last_announces, m_last_lbl_config, Plan::Generator::Arguments::max_rpms, Plan::Generator::Arguments::radius, Plan::Generator::Arguments::recovery_plan, sequentialPlan(), Plan::Generator::Arguments::speed_rpms, Plan::Generator::Arguments::travel_depth, and updatePositionFromBeacon().
Referenced by consume().
|
inline |
This (utilitary) method calculates the current position using the last received state.
| [out] | lat | where the current latitude will be stored |
| [out] | lon | where the current longitude will be stored |
| [out] | depth | where the current depth will be stored |
References m_estate.
Referenced by generate().
|
inlinevirtual |
|
inlinevirtual |
Frees memory associated with stored messages.
Reimplemented from DUNE::Tasks::Task.
References m_estate, and m_last_lbl_config.
|
inline |
This (utility) method generates a PlanSpecification consisting in the given maneuver sequence.
| [in] | plan_id | The name of the plan to be generated |
| [in] | maneuvers | A vector with maneuvers (order of the resulting plan will correspond to the order of this vector). |
| [out] | result | The resulting PlanSpecification will be stored here. |
Referenced by generate().
|
inline |
This (utility) method updates a position if the name of the beacon found in the given message matches the string we are looking for (match parameter).
| [in] | match | the string we are looking for. |
| [in] | msg | inline message with beacon position. |
| [out] | lat | where the latitude will be updated |
| [out] | lon | where the longitude will be updated |
Referenced by generate().
| Arguments Plan::Generator::Task::m_args |
Task arguments.
Referenced by generate(), onMain(), and Task().
| IMC::EstimatedState* Plan::Generator::Task::m_estate |
Stores the last estimated state;.
Referenced by consume(), generate(), getCurrentPosition(), and onResourceRelease().
| std::map<unsigned int, IMC::Announce> Plan::Generator::Task::m_last_announces |
map for storing last received announces
Referenced by consume(), and generate().
| IMC::LblConfig* Plan::Generator::Task::m_last_lbl_config |
Stores the last LblConfig message.
Referenced by consume(), generate(), and onResourceRelease().
