40 waypoints.push_back(mav_to_msg<WP_ITEM_INT>(wpi));
80 waypoints.push_back(mav_to_msg<WP_ITEM>(wpi));
234 auto ack_type =
static_cast<MRES>(mack.type);
242 && (ack_type == MRES::ACCEPTED)) {
269 if (ack_type != MRES::ACCEPTED) {
void timeout_cb(const ros::TimerEvent &event)
Act on a timeout Resend the message that may have been lost.
void mission_request_list()
void mission_request_int(uint16_t seq)
bool sequence_mismatch(const uint16_t &seq)
checks for a sequence mismatch between a MISSION_REQUEST(_INT) sequence and the current waypoint that...
#define ROS_INFO_NAMED(name,...)
#define ROS_ERROR_STREAM_NAMED(name, args)
#define ROS_WARN_NAMED(name,...)
void mission_request(uint16_t seq)
std::recursive_mutex mutex
void restart_timeout_timer(void)
void handle_mission_item_int(const mavlink::mavlink_message_t *msg, WP_ITEM_INT &wpi)
handle MISSION_ITEM_INT mavlink msg handles and stores mission items when pulling waypoints ...
virtual void publish_waypoints()=0
publish the updated waypoint list after operation
#define ROS_INFO_STREAM_NAMED(name, args)
void handle_mission_count(const mavlink::mavlink_message_t *msg, mavlink::common::msg::MISSION_COUNT &mcnt)
handle MISSION_COUNT mavlink msg Handles a mission count from FCU in a Waypoint Pull Triggers a pull ...
void mission_set_current(uint16_t seq)
void request_mission_done(void)
Send ACK back to FCU after pull.
#define ROS_DEBUG_NAMED(name,...)
mavlink::common::msg::MISSION_ITEM WP_ITEM
const ros::Duration WP_TIMEOUT_DT
std::lock_guard< std::recursive_mutex > lock_guard
mavlink::common::msg::MISSION_ITEM_INT WP_ITEM_INT
bool mission_item_int_support_confirmed
std::string to_string(timesync_mode e)
std::vector< mavros_msgs::Waypoint > send_waypoints
void mission_write_partial_list(uint16_t start_index, uint16_t end_index)
std::unique_lock< std::recursive_mutex > unique_lock
std::condition_variable list_receiving
std::condition_variable list_sending
void handle_mission_request_int(const mavlink::mavlink_message_t *msg, mavlink::common::msg::MISSION_REQUEST_INT &mreq)
handle MISSION_REQUEST_INT mavlink msg handles and acts on misison request from FCU ...
mavlink::common::MAV_MISSION_RESULT MRES
void handle_mission_item(const mavlink::mavlink_message_t *msg, WP_ITEM &wpi)
handle MISSION_ITEM mavlink msg handles and stores mission items when pulling waypoints ...
#define ROS_ERROR_NAMED(name,...)
void handle_mission_ack(const mavlink::mavlink_message_t *msg, mavlink::common::msg::MISSION_ACK &mack)
handle MISSION_ACK mavlink msg Handles a MISSION_ACK which marks the end of a push, or a failure
void schedule_pull(const ros::Duration &dt)
bool use_mission_item_int
void restart_timeout_timer_int(void)
void handle_mission_request(const mavlink::mavlink_message_t *msg, mavlink::common::msg::MISSION_REQUEST &mreq)
handle MISSION_REQUEST mavlink msg handles and acts on misison request from FCU
std::vector< mavros_msgs::Waypoint > waypoints
const ros::Duration RESCHEDULE_DT
void mission_count(uint16_t cnt)
constexpr std::underlying_type< _T >::type enum_value(_T e)