DUNE: Uniform Navigational Environment  2.4.1
Maneuver::PopUp::Task Struct Reference

Detailed Description

PopUp task.

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 
void onResourceRelease (void)
 
void elevate (float z_value, unsigned z_units, bool current)
 
void goUp (void)
 
void goDown (void)
 
void consume (const IMC::PopUp *maneuver)
 
void consume (const IMC::VehicleMedium *msg)
 
void consume (const IMC::GpsFix *msg)
 
void consume (const IMC::EstimatedState *state)
 
void consume (const IMC::PathControlState *pcs)
 
void onStateReport (void)
 
void computeETA (void)
 
bool useCurr (void)
 
bool mustWait (void)
 
bool mustKeep (void)
 
- Public Member Functions inherited from DUNE::IMC::Message
 Message (void)
 
virtual ~Message (void)
 
virtual Messageclone (void) const =0
 
virtual void clear (void)=0
 
virtual int validate (void) const =0
 
virtual const char * getName (void) const =0
 
virtual uint16_t getId (void) const =0
 
double setTimeStamp (double ts)
 
double setTimeStamp (void)
 
double getTimeStamp (void) const
 
uint16_t getSource (void) const
 
void setSource (uint16_t src)
 
uint8_t getSourceEntity (void) const
 
void setSourceEntity (uint8_t src_ent)
 
uint16_t getDestination (void) const
 
void setDestination (uint16_t dst)
 
uint8_t getDestinationEntity (void) const
 
void setDestinationEntity (uint8_t dst_ent)
 
virtual uint16_t getSubId (void) const
 
virtual void setSubId (uint16_t subid)
 
virtual fp64_t getValueFP (void) const
 
virtual void setValueFP (fp64_t val)
 
unsigned getSerializationSize (void) const
 
unsigned getPayloadSerializationSize (void) const
 
virtual unsigned getFixedSerializationSize (void) const
 
virtual unsigned getVariableSerializationSize (void) const
 
void toJSON (std::ostream &os) const
 
void toText (std::ostream &os) const
 
virtual uint8_t * serializeFields (uint8_t *bfr) const =0
 
virtual uint16_t deserializeFields (const uint8_t *bfr, uint16_t len)=0
 
virtual uint16_t reverseDeserializeFields (const uint8_t *bfr, uint16_t len)=0
 
virtual void fieldsToJSON (std::ostream &os, unsigned indent_level) const
 
bool operator== (const Message &other) const
 
bool operator!= (const Message &other) const
 

Public Attributes

IMC::DesiredPath m_path
 
IMC::EstimatedState m_state
 
IMC::PopUp m_maneuver
 
double m_gps_lat
 
double m_gps_lon
 
bool m_got_fix
 
bool m_matched_criteria
 
bool m_at_surface
 
unsigned m_path_eta
 
Maneuvers::StationKeep * m_skeep
 
Maneuvers::Elevate * m_elevate
 
Time::Counter< float > m_dur_timer
 
PopUpState m_pstate
 
Arguments m_args
 

Additional Inherited Members

- Protected Member Functions inherited from DUNE::IMC::Message
virtual void setTimeStampNested (double value)
 
virtual void setSourceNested (uint16_t value)
 
virtual void setSourceEntityNested (uint8_t value)
 
virtual void setDestinationNested (uint16_t value)
 
virtual void setDestinationEntityNested (uint8_t value)
 
virtual bool fieldsEqual (const Message &other) const
 
- Protected Attributes inherited from DUNE::IMC::Message
Header m_header
 

Constructor & Destructor Documentation

Maneuver::PopUp::Task::Task ( const std::string &  name,
Tasks::Context &  ctx 
)
inline

Member Function Documentation

void Maneuver::PopUp::Task::computeETA ( void  )
inline
void Maneuver::PopUp::Task::consume ( const IMC::PopUp *  maneuver)
inline
void Maneuver::PopUp::Task::consume ( const IMC::VehicleMedium *  msg)
inline
void Maneuver::PopUp::Task::consume ( const IMC::GpsFix *  msg)
inline
void Maneuver::PopUp::Task::consume ( const IMC::EstimatedState *  state)
inline
void Maneuver::PopUp::Task::elevate ( float  z_value,
unsigned  z_units,
bool  current 
)
inline
void Maneuver::PopUp::Task::goDown ( void  )
inline

References elevate(), and m_maneuver.

Referenced by consume().

void Maneuver::PopUp::Task::goUp ( void  )
inline

References elevate().

Referenced by consume().

bool Maneuver::PopUp::Task::mustKeep ( void  )
inline

Must station keep while at surface.

Returns
true if position must be kept at surface

References m_maneuver.

Referenced by consume().

bool Maneuver::PopUp::Task::mustWait ( void  )
inline

Must wait some time at surface.

Returns
true if must wait when surface has been reached

References m_maneuver.

Referenced by consume().

void Maneuver::PopUp::Task::onResourceRelease ( void  )
inline

References m_elevate, and m_skeep.

void Maneuver::PopUp::Task::onStateReport ( void  )
inline

References computeETA().

bool Maneuver::PopUp::Task::useCurr ( void  )
inline

Will use current position.

Returns
true if must use current waypoint

References m_maneuver.

Referenced by consume().

Member Data Documentation

Arguments Maneuver::PopUp::Task::m_args

Task arguments.

Referenced by consume(), elevate(), and Task().

bool Maneuver::PopUp::Task::m_at_surface

Vehicle is not underwater.

Time::Counter<float> Maneuver::PopUp::Task::m_dur_timer

Timer counter for duration.

Referenced by computeETA(), and consume().

Maneuvers::Elevate* Maneuver::PopUp::Task::m_elevate

Elevator behavior.

Referenced by consume(), elevate(), and onResourceRelease().

bool Maneuver::PopUp::Task::m_got_fix

True if a fix has been received yet.

double Maneuver::PopUp::Task::m_gps_lat

Last GpsFix latitude.

double Maneuver::PopUp::Task::m_gps_lon

Last GpsFix longitude.

IMC::PopUp Maneuver::PopUp::Task::m_maneuver

PopUp maneuver message.

Referenced by consume(), elevate(), goDown(), mustKeep(), mustWait(), and useCurr().

bool Maneuver::PopUp::Task::m_matched_criteria

Matched criteria for popping up.

IMC::DesiredPath Maneuver::PopUp::Task::m_path

DesiredPath message.

unsigned Maneuver::PopUp::Task::m_path_eta

Estimated time of arrival from PathControlState.

PopUpState Maneuver::PopUp::Task::m_pstate

PopUp maneuver state.

Referenced by computeETA(), and consume().

Maneuvers::StationKeep* Maneuver::PopUp::Task::m_skeep

Station keeping behavior in case it is necessary.

Referenced by consume(), and onResourceRelease().

IMC::EstimatedState Maneuver::PopUp::Task::m_state

EstimatedState message.

Referenced by consume().

Collaboration diagram for Maneuver::PopUp::Task:
Collaboration graph