DUNE: Uniform Navigational Environment
2019.02.1
|
Motor simulator task
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | onResourceRelease (void) |
void | onResourceAcquisition (void) |
void | onResourceInitialization (void) |
void | onActivation (void) |
void | onDeactivation (void) |
void | reset (void) |
void | consume (const IMC::Brake *msg) |
void | consume (const IMC::Rpm *msg) |
void | consume (const IMC::EstimatedState *msg) |
void | consume (const IMC::DesiredSpeed *msg) |
void | consume (const IMC::DesiredZ *msg) |
void | consume (const IMC::ControlLoops *msg) |
void | task (void) |
void | onIdle (void) |
void | onChecking (void) |
void | onSubmerged (void) |
void | onForcing (void) |
bool | increaseSpeed (void) |
bool | hasZReference (void) |
Public Attributes | |
uint32_t | m_aloops |
MachineStates | m_mstate |
IMC::DesiredSpeed | m_forced_speed |
IMC::DesiredSpeed | m_dspeed |
IMC::DesiredZ | m_z_ref |
unsigned | m_incs |
float | m_speed_inc |
Time::Counter< float > * | m_counter_solo |
Time::Counter< float > * | m_counter_step |
float | m_rpm |
float | m_depth |
float | m_alt |
bool | m_got_data |
bool | m_last_try |
bool | m_braking |
uint32_t | m_scope_ref |
Arguments | m_args |
|
inline |
|
inline |
References Control::AUV::Diving::SM_FORCING, and Control::AUV::Diving::SM_IDLE.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Check if we have depth/altitude reference.
References Control::AUV::Diving::Arguments::depth_threshold.
|
inline |
Increase desired speed.
References Control::AUV::Diving::Arguments::max_increase, and Control::AUV::Diving::Arguments::speed_step.
|
inline |
On activation.
|
inline |
Checking state machine routine.
References Control::AUV::Diving::Arguments::depth_threshold, Control::AUV::Diving::SM_FORCING, Control::AUV::Diving::SM_IDLE, and Control::AUV::Diving::SM_SUBMERGED.
|
inline |
On deactivation.
|
inline |
Forcing state machine routine.
References Control::AUV::Diving::Arguments::depth_threshold, Control::AUV::Diving::SM_IDLE, and Control::AUV::Diving::SM_SUBMERGED.
|
inline |
Idle state machine routine.
References Control::AUV::Diving::Arguments::depth_threshold, Control::AUV::Diving::SM_CHECKING, and Control::AUV::Diving::Arguments::speed_tol.
|
inline |
Acquire resources.
References Control::AUV::Diving::Arguments::time_solo, and Control::AUV::Diving::Arguments::time_step.
|
inline |
Initialize resources.
|
inline |
Release resources.
|
inline |
Submerged state machine routine.
References Control::AUV::Diving::Arguments::depth_threshold, Control::AUV::Diving::SM_CHECKING, and Control::AUV::Diving::SM_IDLE.
|
inline |
Reset all variables.
References Control::AUV::Diving::SM_IDLE.
|
inline |
uint32_t Control::AUV::Diving::Task::m_aloops |
Active loops.
float Control::AUV::Diving::Task::m_alt |
Vehicle's altitude (if any)
bool Control::AUV::Diving::Task::m_braking |
Braking flag.
Time::Counter<float>* Control::AUV::Diving::Task::m_counter_solo |
Timer counter for solo attempt.
Time::Counter<float>* Control::AUV::Diving::Task::m_counter_step |
Timer counter for each speed increase step.
float Control::AUV::Diving::Task::m_depth |
Vehicle's depth.
IMC::DesiredSpeed Control::AUV::Diving::Task::m_dspeed |
Last received desired speed.
IMC::DesiredSpeed Control::AUV::Diving::Task::m_forced_speed |
Forced desired speed.
bool Control::AUV::Diving::Task::m_got_data |
Got necessary data to proceed.
unsigned Control::AUV::Diving::Task::m_incs |
Number of speed increases.
bool Control::AUV::Diving::Task::m_last_try |
On last attempt.
MachineStates Control::AUV::Diving::Task::m_mstate |
State machine state.
float Control::AUV::Diving::Task::m_rpm |
Motor's rpms.
uint32_t Control::AUV::Diving::Task::m_scope_ref |
Control loops last reference.
float Control::AUV::Diving::Task::m_speed_inc |
Speed amount to increase.
IMC::DesiredZ Control::AUV::Diving::Task::m_z_ref |
Last received desired z.