DUNE: Uniform Navigational Environment
2017.01.0
|
PopUp maneuver.
Public Member Functions | |
PopUp (Maneuvers::Maneuver *task, PopUpArgs *args) | |
~PopUp (void) | |
void | elevate (float z_value, unsigned z_units) |
void | goUp (void) |
void | goDown (void) |
void | startStationKeeping (void) |
bool | isSKeepTooFar (const IMC::EstimatedState *state) |
void | onStart (const IMC::PopUp *maneuver) |
void | onVehicleMedium (const IMC::VehicleMedium *msg) |
void | onGpsFix (const IMC::GpsFix *msg) |
void | onEstimatedState (const IMC::EstimatedState *msg) |
void | onPathControlState (const IMC::PathControlState *pcs) |
void | onStateReport (void) |
void | computeETA (void) |
bool | useCurr (void) |
bool | mustWait (void) |
bool | mustKeep (void) |
Public Member Functions inherited from Maneuver::Multiplexer::MuxedManeuver< IMC::PopUp, PopUpArgs > | |
MuxedManeuver (Maneuvers::Maneuver *task, PopUpArgs *args) | |
MuxedManeuver (Maneuvers::Maneuver *task) | |
virtual | ~MuxedManeuver (void) |
void | start (const IMC::Maneuver *maneuver) |
Public Member Functions inherited from Maneuver::Multiplexer::AbstractMux | |
AbstractMux (Maneuvers::Maneuver *task) | |
virtual | ~AbstractMux (void) |
virtual void | onBrake (const IMC::Brake *msg) |
Additional Inherited Members | |
Protected Attributes inherited from Maneuver::Multiplexer::MuxedManeuver< IMC::PopUp, PopUpArgs > | |
PopUpArgs * | m_args |
Protected Attributes inherited from Maneuver::Multiplexer::AbstractMux | |
Maneuvers::Maneuver * | m_task |
|
inline |
Default constructor.
[in] | task | pointer to Maneuver task |
[in] | args | popup arguments |
|
inline |
Destructor.
|
inline |
|
inline |
Start elevating up or down.
[in] | z_value | value of z to where we're elevating |
[in] | z_units | units for the z reference |
References Maneuver::Multiplexer::PopUpArgs::elev_radius, Maneuver::Multiplexer::MuxedManeuver< IMC::PopUp, PopUpArgs >::m_args, and Maneuver::Multiplexer::AbstractMux::m_task.
|
inline |
Go down to the maneuver's z reference.
References elevate().
Referenced by onEstimatedState(), and onGpsFix().
|
inline |
|
inline |
Check if the station keeping maneuver's center is too far.
[in] | state | pointer to EstimatedState message |
References Maneuver::Multiplexer::PopUpArgs::elev_radius, Maneuver::Multiplexer::MuxedManeuver< IMC::PopUp, PopUpArgs >::m_args, and Maneuver::Multiplexer::PopUpArgs::max_sk_dist.
Referenced by onEstimatedState().
|
inline |
Must station keep while at surface.
Referenced by onStart(), and onVehicleMedium().
|
inline |
Must wait some time at surface.
Referenced by onGpsFix(), and onStart().
|
inlinevirtual |
On message EstimatedState.
[in] | msg | pointer to EstimatedState message |
Reimplemented from Maneuver::Multiplexer::AbstractMux.
References goDown(), isSKeepTooFar(), Maneuver::Multiplexer::AbstractMux::m_task, and startStationKeeping().
|
inlinevirtual |
On message GpsFix.
[in] | msg | pointer to GpsFix message |
Reimplemented from Maneuver::Multiplexer::AbstractMux.
References goDown(), Maneuver::Multiplexer::MuxedManeuver< IMC::PopUp, PopUpArgs >::m_args, Maneuver::Multiplexer::PopUpArgs::min_sats, and mustWait().
|
inlinevirtual |
On PathControlState message.
[in] | pcs | pointer to PathControlState message |
Reimplemented from Maneuver::Multiplexer::AbstractMux.
References goUp(), and Maneuver::Multiplexer::AbstractMux::m_task.
|
inlinevirtual |
Start maneuver function.
[in] | maneuver | rows maneuver message |
Implements Maneuver::Multiplexer::MuxedManeuver< IMC::PopUp, PopUpArgs >.
References goUp(), Maneuver::Multiplexer::AbstractMux::m_task, mustKeep(), mustWait(), and useCurr().
|
inlinevirtual |
|
inlinevirtual |
On message VehicleMedium.
[in] | msg | pointer to VehicleMedium message |
Reimplemented from Maneuver::Multiplexer::AbstractMux.
References Maneuver::Multiplexer::MuxedManeuver< IMC::PopUp, PopUpArgs >::m_args, Maneuver::Multiplexer::AbstractMux::m_task, mustKeep(), Maneuver::Multiplexer::PopUpArgs::report, and startStationKeeping().
|
inline |
Start station keeping.
References Maneuver::Multiplexer::PopUpArgs::elev_radius, Maneuver::Multiplexer::MuxedManeuver< IMC::PopUp, PopUpArgs >::m_args, and Maneuver::Multiplexer::AbstractMux::m_task.
Referenced by onEstimatedState(), and onVehicleMedium().
|
inline |