DUNE: Uniform Navigational Environment  2019.02.0
Maneuver::Multiplexer::StationKeepingExtended Class Reference

Detailed Description

Public Member Functions

 StationKeepingExtended (Maneuvers::Maneuver *task, StationKeepingExtendedArgs *args)
 
 ~StationKeepingExtended (void)
 
void onStart (const IMC::StationKeepingExtended *maneuver)
 
void onEstimatedState (const IMC::EstimatedState *msg)
 
void onPathControlState (const IMC::PathControlState *pcs)
 
void onStateReport (void)
 
bool keepSafe (void)
 
void startLoiter (void)
 
void doPopUp (void)
 
- Public Member Functions inherited from Maneuver::Multiplexer::MuxedManeuver< IMC::StationKeepingExtended, StationKeepingExtendedArgs >
 MuxedManeuver (Maneuvers::Maneuver *task, StationKeepingExtendedArgs *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)
 
virtual void onVehicleMedium (const IMC::VehicleMedium *msg)
 
virtual void onThrottle (const IMC::Throttle *msg)
 
virtual void onGpsFix (const IMC::GpsFix *msg)
 

Additional Inherited Members

- Protected Attributes inherited from Maneuver::Multiplexer::MuxedManeuver< IMC::StationKeepingExtended, StationKeepingExtendedArgs >
StationKeepingExtendedArgsm_args
 
- Protected Attributes inherited from Maneuver::Multiplexer::AbstractMux
Maneuvers::Maneuver * m_task
 

Constructor & Destructor Documentation

Maneuver::Multiplexer::StationKeepingExtended::StationKeepingExtended ( Maneuvers::Maneuver *  task,
StationKeepingExtendedArgs args 
)
inline

Default constructor.

Parameters
[in]taskpointer to Maneuver task
[in]argsstationkeepingextended arguments
Maneuver::Multiplexer::StationKeepingExtended::~StationKeepingExtended ( void  )
inline

Member Function Documentation

void Maneuver::Multiplexer::StationKeepingExtended::doPopUp ( void  )
inline

Surfaces to report position.

References Maneuver::Multiplexer::AbstractMux::m_task.

Referenced by onStateReport().

bool Maneuver::Multiplexer::StationKeepingExtended::keepSafe ( void  )
inline

Must adopt safe behavior (loiter underwater and popup periodically to report position)

Returns
true if KEEP_SAFE option is enabled

Referenced by onEstimatedState(), onStart(), and onStateReport().

void Maneuver::Multiplexer::StationKeepingExtended::onEstimatedState ( const IMC::EstimatedState *  msg)
inlinevirtual

On EstimatedState message.

Parameters
[in]msgEstimatedState message

Reimplemented from Maneuver::Multiplexer::AbstractMux.

References keepSafe(), and startLoiter().

void Maneuver::Multiplexer::StationKeepingExtended::onPathControlState ( const IMC::PathControlState *  pcs)
inlinevirtual

On PathControlState message.

Parameters
[in]pcsPathControlState message

Reimplemented from Maneuver::Multiplexer::AbstractMux.

References Maneuver::Multiplexer::AbstractMux::m_task.

void Maneuver::Multiplexer::StationKeepingExtended::onStart ( const IMC::StationKeepingExtended *  maneuver)
inlinevirtual
void Maneuver::Multiplexer::StationKeepingExtended::onStateReport ( void  )
inlinevirtual
void Maneuver::Multiplexer::StationKeepingExtended::startLoiter ( void  )
inline

Starts Loiter on current position.

References Maneuver::Multiplexer::AbstractMux::m_task.

Referenced by onEstimatedState(), and onStateReport().

Collaboration diagram for Maneuver::Multiplexer::StationKeepingExtended:
Collaboration graph