Example #1
0
int inflight_waypoint_modify(frame_wait_confirm *frame_wait_confirm)
{
    uint16 waypoint_id;
    int ret = -1;
    waypoint_id = frame_wait_confirm->data[CTRL_FRAME_MASK_WP_ID+1] << 8| frame_wait_confirm->data[CTRL_FRAME_MASK_WP_ID];
 	if (frame_wait_confirm->data[0] == WAYPOINT_INSERT)
 		ret=waypoint_insert(frame_wait_confirm->data + CTRL_FRAME_MASK_WP_ID, waypoint_id);
 	else if (frame_wait_confirm->data[0] == WAYPOINT_MODIFY)
 		ret=waypoint_modify(frame_wait_confirm->data + CTRL_FRAME_MASK_WP_ID, waypoint_id);
 	else if (frame_wait_confirm->data[0] == WAYPOINT_DELETE)
 		ret=waypoint_delete(frame_wait_confirm->data + CTRL_FRAME_MASK_WP_ID, waypoint_id);

 	return ret;
}
Example #2
0
int inflight_waypoint_modify(frame_wait_confirm *frame_wait_confirm)
{
    uint16 waypoint_id;
    int ret = -1;
    waypoint_id = frame_wait_confirm->data[CTRL_FRAME_MASK_WP_ID+1] << 8| frame_wait_confirm->data[CTRL_FRAME_MASK_WP_ID];
    waypoint_id ++; //way point from ground start from 0 which is the second waypoint,not current wp
 	if (frame_wait_confirm->data[0] == WAYPOINT_INSERT)
 		ret=waypoint_insert(frame_wait_confirm->data + CTRL_FRAME_MASK_WP_ID, waypoint_id);
 	else if (frame_wait_confirm->data[0] == WAYPOINT_MODIFY)
 		ret=waypoint_modify(frame_wait_confirm->data + CTRL_FRAME_MASK_WP_ID, waypoint_id);
 	else if (frame_wait_confirm->data[0] == WAYPOINT_DELETE)
 		ret=waypoint_delete(frame_wait_confirm->data + CTRL_FRAME_MASK_WP_ID, waypoint_id);

 	return ret;
}