use raw parameter floats if mission item is a mission command

This commit is contained in:
Andreas Antener
2016-01-11 08:19:00 +01:00
parent b0333e3e95
commit 7e7b21cbdc
3 changed files with 17 additions and 9 deletions
+7
View File
@@ -780,6 +780,13 @@ MavlinkMissionManager::parse_mavlink_mission_item(const mavlink_mission_item_t *
case MAV_FRAME_MISSION:
// This is a mission item with no coordinate
mission_item->params[0] = mavlink_mission_item->param1;
mission_item->params[1] = mavlink_mission_item->param2;
mission_item->params[2] = mavlink_mission_item->param3;
mission_item->params[3] = mavlink_mission_item->param4;
mission_item->params[4] = mavlink_mission_item->x;
mission_item->params[5] = mavlink_mission_item->y;
mission_item->params[6] = mavlink_mission_item->z;
break;
default:
+9 -9
View File
@@ -236,15 +236,15 @@ MissionBlock::reset_mission_item_reached()
void
MissionBlock::mission_item_to_vehicle_command(const struct mission_item_s *item, struct vehicle_command_s *cmd)
{
// Assignment based on MAVLink spec for param enumeration:
// http://mavlink.org/messages/common#MAV_CMD_NAV_WAYPOINT
cmd->param1 = item->time_inside;
cmd->param2 = item->acceptance_radius;
cmd->param3 = item->loiter_radius;
cmd->param4 = item->yaw;
cmd->param5 = item->lat;
cmd->param6 = item->lon;
cmd->param7 = item->altitude;
// we're expecting a mission command item here so assign the "raw" inputs to the command
// (MAV_FRAME_MISSION mission item)
cmd->param1 = item->params[0];
cmd->param2 = item->params[1];
cmd->param3 = item->params[2];
cmd->param4 = item->params[3];
cmd->param5 = item->params[4];
cmd->param6 = item->params[5];
cmd->param7 = item->params[6];
cmd->target_system = _navigator->get_vstatus()->system_id;
cmd->target_component = _navigator->get_vstatus()->component_id;
+1
View File
@@ -103,6 +103,7 @@ struct mission_item_s {
unsigned do_jump_current_count; /**< count how many times the jump has been done */
int actuator_num; /**< actuator number to be set 0..5 ( corresponds to AUX outputs 1..6 */
int actuator_value; /**< new value for selected actuator in ms 900...2000 */
float params[7]; /**< array to store mission command values for MAV_FRAME_MISSION ***/
};
#pragma pack(pop)
#include <uORB/topics/mission.h>