DUNE: Uniform Navigational Environment  2017.01.0
Maneuver::CommsRelay::Task Struct Reference

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 
void onManeuverDeactivation (void)
 
void onUpdateParameters (void)
 
void consume (const IMC::CommsRelay *maneuver)
 
void consume (const IMC::EstimatedState *msg)
 
void consume (const IMC::Announce *msg)
 
void onPathControlState (const IMC::PathControlState *pcs)
 
void step (void)
 
bool updatePosition (uint16_t system, double lat, double lon)
 
void updateDesiredPath ()
 
- 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::CommsRelay m_maneuver
 
IMC::DesiredPath m_path
 
CRMODE m_mode
 
double m_lat_a
 
double m_lat_b
 
double m_lon_a
 
double m_lon_b
 
double m_cur_lat
 
double m_cur_lon
 
double m_lat_center
 
double m_lon_center
 
double m_start_time
 
uint32_t m_control
 
bool m_near
 
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

Member Function Documentation

void Maneuver::CommsRelay::Task::consume ( const IMC::CommsRelay *  maneuver)
inline
void Maneuver::CommsRelay::Task::consume ( const IMC::EstimatedState *  msg)
inline
void Maneuver::CommsRelay::Task::consume ( const IMC::Announce *  msg)
inline

References updatePosition().

void Maneuver::CommsRelay::Task::onManeuverDeactivation ( void  )
inline
void Maneuver::CommsRelay::Task::onPathControlState ( const IMC::PathControlState *  pcs)
inline

References m_maneuver, m_near, m_start_time, and step().

void Maneuver::CommsRelay::Task::onUpdateParameters ( void  )
inline
void Maneuver::CommsRelay::Task::updateDesiredPath ( )
inline
bool Maneuver::CommsRelay::Task::updatePosition ( uint16_t  system,
double  lat,
double  lon 
)
inline

Update position of a system given its coordinates.

References Maneuver::CommsRelay::GOING, m_lat_a, m_lat_b, m_lat_center, m_lon_a, m_lon_b, m_lon_center, m_maneuver, m_mode, m_path, step(), and updateDesiredPath().

Referenced by consume().

Member Data Documentation

Arguments Maneuver::CommsRelay::Task::m_args
uint32_t Maneuver::CommsRelay::Task::m_control
double Maneuver::CommsRelay::Task::m_cur_lat

Referenced by consume(), step(), Task(), and updateDesiredPath().

double Maneuver::CommsRelay::Task::m_cur_lon

Referenced by consume(), step(), Task(), and updateDesiredPath().

double Maneuver::CommsRelay::Task::m_lat_a

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

double Maneuver::CommsRelay::Task::m_lat_b

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

double Maneuver::CommsRelay::Task::m_lat_center
double Maneuver::CommsRelay::Task::m_lon_a

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

double Maneuver::CommsRelay::Task::m_lon_b

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

double Maneuver::CommsRelay::Task::m_lon_center
IMC::CommsRelay Maneuver::CommsRelay::Task::m_maneuver
CRMODE Maneuver::CommsRelay::Task::m_mode
bool Maneuver::CommsRelay::Task::m_near

Referenced by onPathControlState(), step(), and Task().

IMC::DesiredPath Maneuver::CommsRelay::Task::m_path
double Maneuver::CommsRelay::Task::m_start_time

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

Collaboration diagram for Maneuver::CommsRelay::Task:
Collaboration graph