DUNE: Uniform Navigational Environment
2019.02.0
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | consume (const IMC::FollowReference *msg) |
void | consume (const IMC::Reference *msg) |
void | consume (const IMC::EstimatedState *msg) |
void | onPathControlState (const IMC::PathControlState *pcs) |
bool | sameReference (const IMC::Reference *msg1, const IMC::Reference *msg2) |
IMC::SpeedUnits | parseSpeedUnitsStr (std::string sunits_str) |
void | processDesiredPath (void) |
void | enableMovement (bool enable) |
void | updateEndLoc (void) |
void | updateSpeed (void) |
void | updateRadius (void) |
void | updateEndZ (void) |
int | initializeEndZ (void) |
void | updateCoordinates (void) |
void | dispatchDesiredPath (void) |
void | updateFollowRefStateFlags (void) |
void | checkTimeout (void) |
bool | offlineOrWaiting (void) |
void | onDeactivation (void) |
Public Member Functions inherited from DUNE::IMC::Message | |
Message (void) | |
virtual | ~Message (void) |
virtual Message * | clone (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::FollowReference | m_spec |
IMC::Reference | m_cur_ref |
double | m_last_ref_time |
IMC::EstimatedState | m_estate |
IMC::PathControlState | m_pcs |
IMC::FollowRefState | m_fref_state |
IMC::DesiredPath | m_desired_path |
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 |
|
inline |
|
inline |
|
inline |
|
inline |
References m_cur_ref, m_fref_state, m_last_ref_time, m_spec, processDesiredPath(), and sameReference().
|
inline |
References checkTimeout(), and m_estate.
|
inline |
Dispatch desired path message.
References enableMovement(), m_desired_path, and m_fref_state.
Referenced by processDesiredPath().
|
inline |
Function for enabling and disabling the control loops.
Referenced by dispatchDesiredPath().
|
inline |
Initialize end z.
References Maneuver::FollowReference::UAV::Arguments::default_z, m_args, and m_estate.
Referenced by updateEndZ().
|
inline |
Check if follow reference state has either timed out or is waiting.
References m_fref_state.
Referenced by updateFollowRefStateFlags().
|
inline |
References m_fref_state.
|
inline |
References m_fref_state, m_pcs, and updateFollowRefStateFlags().
|
inline |
Parse speed units string.
[in] | sunits_str | speed units string. |
Referenced by updateSpeed().
|
inline |
Generate and dispatch a DesiredPath based on the received reference.
References dispatchDesiredPath(), m_cur_ref, updateCoordinates(), updateEndLoc(), updateEndZ(), updateRadius(), and updateSpeed().
Referenced by consume().
|
inline |
Check if references are equal.
[in] | msg1 | reference message. |
[in] | msg2 | reference message. |
Referenced by consume().
|
inline |
Update desired path's coordinates.
References m_cur_ref, and m_desired_path.
Referenced by processDesiredPath().
|
inline |
Update desired path's end location.
References m_cur_ref, and m_desired_path.
Referenced by processDesiredPath().
|
inline |
Update desired path's end z.
References initializeEndZ(), m_cur_ref, and m_desired_path.
Referenced by processDesiredPath().
|
inline |
Update follow reference state flags.
References m_fref_state, m_pcs, and offlineOrWaiting().
Referenced by onPathControlState().
|
inline |
Update desired path's radius.
References Maneuver::FollowReference::UAV::Arguments::loitering_radius, m_args, m_cur_ref, and m_desired_path.
Referenced by processDesiredPath().
|
inline |
Update desired path's speed.
References Maneuver::FollowReference::UAV::Arguments::default_speed, Maneuver::FollowReference::UAV::Arguments::default_speed_units, m_args, m_cur_ref, m_desired_path, and parseSpeedUnitsStr().
Referenced by processDesiredPath().
Arguments Maneuver::FollowReference::UAV::Task::m_args |
Task arguments.
Referenced by consume(), initializeEndZ(), Task(), updateRadius(), and updateSpeed().
IMC::Reference Maneuver::FollowReference::UAV::Task::m_cur_ref |
Store latest received reference and the one before that.
Referenced by consume(), processDesiredPath(), updateCoordinates(), updateEndLoc(), updateEndZ(), updateRadius(), and updateSpeed().
IMC::DesiredPath Maneuver::FollowReference::UAV::Task::m_desired_path |
Desired path message.
Referenced by dispatchDesiredPath(), updateCoordinates(), updateEndLoc(), updateEndZ(), updateRadius(), and updateSpeed().
IMC::EstimatedState Maneuver::FollowReference::UAV::Task::m_estate |
Estimated state.
Referenced by consume(), and initializeEndZ().
IMC::FollowRefState Maneuver::FollowReference::UAV::Task::m_fref_state |
Follow Reference state.
Referenced by checkTimeout(), consume(), dispatchDesiredPath(), offlineOrWaiting(), onDeactivation(), onPathControlState(), and updateFollowRefStateFlags().
double Maneuver::FollowReference::UAV::Task::m_last_ref_time |
Store last timestamp when reference was received.
Referenced by checkTimeout(), consume(), and Task().
IMC::PathControlState Maneuver::FollowReference::UAV::Task::m_pcs |
Path Control state.
Referenced by onPathControlState(), and updateFollowRefStateFlags().
IMC::FollowReference Maneuver::FollowReference::UAV::Task::m_spec |
Store maneuver specification.
Referenced by checkTimeout(), and consume().