mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-21 02:43:33 +08:00
navigator / mission item: Compress fields into bitfield
This commit is contained in:
committed by
Lorenz Meier
parent
5899ce715d
commit
9821499113
@@ -912,16 +912,14 @@ MavlinkMissionManager::parse_mavlink_mission_item(const mavlink_mission_item_t *
|
||||
|
||||
case MAV_CMD_NAV_LOITER_UNLIM:
|
||||
mission_item->nav_cmd = NAV_CMD_LOITER_UNLIMITED;
|
||||
mission_item->loiter_radius = fabsf(mavlink_mission_item->param3);
|
||||
mission_item->loiter_direction = (mavlink_mission_item->param3 > 0) ? 1 : -1; /* 1 if positive CW, -1 if negative CCW */
|
||||
mission_item->loiter_radius = mavlink_mission_item->param3;
|
||||
mission_item->yaw = _wrap_pi(mavlink_mission_item->param4 * M_DEG_TO_RAD_F);
|
||||
break;
|
||||
|
||||
case MAV_CMD_NAV_LOITER_TIME:
|
||||
mission_item->nav_cmd = NAV_CMD_LOITER_TIME_LIMIT;
|
||||
mission_item->time_inside = mavlink_mission_item->param1;
|
||||
mission_item->loiter_radius = fabsf(mavlink_mission_item->param3);
|
||||
mission_item->loiter_direction = (mavlink_mission_item->param3 > 0) ? 1 : -1; /* 1 if positive CW, -1 if negative CCW */
|
||||
mission_item->loiter_radius = mavlink_mission_item->param3;
|
||||
mission_item->loiter_exit_xtrack = (mavlink_mission_item->param4 > 0) ? true : false;
|
||||
break;
|
||||
|
||||
@@ -940,8 +938,7 @@ MavlinkMissionManager::parse_mavlink_mission_item(const mavlink_mission_item_t *
|
||||
case MAV_CMD_NAV_LOITER_TO_ALT:
|
||||
mission_item->nav_cmd = NAV_CMD_LOITER_TO_ALT;
|
||||
mission_item->force_heading = (mavlink_mission_item->param1 > 0) ? true : false;
|
||||
mission_item->loiter_radius = fabsf(mavlink_mission_item->param2);
|
||||
mission_item->loiter_direction = (mavlink_mission_item->param2 > 0) ? 1 : -1; /* 1 if positive CW, -1 if negative CCW */
|
||||
mission_item->loiter_radius = mavlink_mission_item->param2;
|
||||
mission_item->loiter_exit_xtrack = (mavlink_mission_item->param4 > 0) ? true : false;
|
||||
break;
|
||||
|
||||
@@ -1097,13 +1094,13 @@ MavlinkMissionManager::format_mavlink_mission_item(const struct mission_item_s *
|
||||
break;
|
||||
|
||||
case NAV_CMD_LOITER_UNLIMITED:
|
||||
mavlink_mission_item->param3 = mission_item->loiter_radius * (float)mission_item->loiter_direction;
|
||||
mavlink_mission_item->param3 = mission_item->loiter_radius;
|
||||
mavlink_mission_item->param4 = mission_item->yaw * M_RAD_TO_DEG_F;
|
||||
break;
|
||||
|
||||
case NAV_CMD_LOITER_TIME_LIMIT:
|
||||
mavlink_mission_item->param1 = mission_item->time_inside;
|
||||
mavlink_mission_item->param3 = mission_item->loiter_radius * (float)mission_item->loiter_direction;
|
||||
mavlink_mission_item->param3 = mission_item->loiter_radius;
|
||||
mavlink_mission_item->param4 = mission_item->loiter_exit_xtrack;
|
||||
break;
|
||||
|
||||
@@ -1119,7 +1116,7 @@ MavlinkMissionManager::format_mavlink_mission_item(const struct mission_item_s *
|
||||
|
||||
case NAV_CMD_LOITER_TO_ALT:
|
||||
mavlink_mission_item->param1 = mission_item->force_heading;
|
||||
mavlink_mission_item->param2 = mission_item->loiter_radius * (float)mission_item->loiter_direction;
|
||||
mavlink_mission_item->param2 = mission_item->loiter_radius;
|
||||
mavlink_mission_item->param4 = mission_item->loiter_exit_xtrack;
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user