@ -289,6 +289,7 @@ bool AP_Mission::verify_command(const Mission_Command& cmd)
case MAV_CMD_DO_DIGICAM_CONTROL :
case MAV_CMD_DO_DIGICAM_CONTROL :
case MAV_CMD_DO_SET_CAM_TRIGG_DIST :
case MAV_CMD_DO_SET_CAM_TRIGG_DIST :
case MAV_CMD_DO_PARACHUTE :
case MAV_CMD_DO_PARACHUTE :
case MAV_CMD_DO_GIMBAL_CONTROL :
return true ;
return true ;
default :
default :
return _cmd_verify_fn ( cmd ) ;
return _cmd_verify_fn ( cmd ) ;
@ -310,6 +311,7 @@ bool AP_Mission::start_command(const Mission_Command& cmd)
case MAV_CMD_DO_DIGICAM_CONFIGURE :
case MAV_CMD_DO_DIGICAM_CONFIGURE :
case MAV_CMD_DO_DIGICAM_CONTROL :
case MAV_CMD_DO_DIGICAM_CONTROL :
case MAV_CMD_DO_SET_CAM_TRIGG_DIST :
case MAV_CMD_DO_SET_CAM_TRIGG_DIST :
case MAV_CMD_DO_GIMBAL_CONTROL :
return start_command_camera ( cmd ) ;
return start_command_camera ( cmd ) ;
case MAV_CMD_DO_PARACHUTE :
case MAV_CMD_DO_PARACHUTE :
return start_command_parachute ( cmd ) ;
return start_command_parachute ( cmd ) ;
@ -927,6 +929,13 @@ MAV_MISSION_RESULT AP_Mission::mavlink_int_to_mission_cmd(const mavlink_mission_
cmd . content . mount_control . yaw = packet . param3 ;
cmd . content . mount_control . yaw = packet . param3 ;
break ;
break ;
case MAV_CMD_DO_GIMBAL_CONTROL : // MAV ID: 225
cmd . content . gimbal_control . pitch = packet . param1 ;
cmd . content . gimbal_control . roll = packet . param2 ;
cmd . content . gimbal_control . yaw = packet . param3 ;
cmd . content . gimbal_control . shooting_cmd = packet . param4 ;
break ;
case MAV_CMD_DO_SET_CAM_TRIGG_DIST : // MAV ID: 206
case MAV_CMD_DO_SET_CAM_TRIGG_DIST : // MAV ID: 206
cmd . content . cam_trigg_dist . meters = packet . param1 ; // distance between camera shots in meters
cmd . content . cam_trigg_dist . meters = packet . param1 ; // distance between camera shots in meters
break ;
break ;
@ -1363,6 +1372,13 @@ bool AP_Mission::mission_cmd_to_mavlink_int(const AP_Mission::Mission_Command& c
packet . param3 = cmd . content . mount_control . yaw ;
packet . param3 = cmd . content . mount_control . yaw ;
break ;
break ;
case MAV_CMD_DO_GIMBAL_CONTROL : // MAV ID: 225
packet . param1 = cmd . content . gimbal_control . pitch ;
packet . param2 = cmd . content . gimbal_control . roll ;
packet . param3 = cmd . content . gimbal_control . yaw ;
packet . param4 = cmd . content . gimbal_control . shooting_cmd ;
break ;
case MAV_CMD_DO_SET_CAM_TRIGG_DIST : // MAV ID: 206
case MAV_CMD_DO_SET_CAM_TRIGG_DIST : // MAV ID: 206
packet . param1 = cmd . content . cam_trigg_dist . meters ; // distance between camera shots in meters
packet . param1 = cmd . content . cam_trigg_dist . meters ; // distance between camera shots in meters
break ;
break ;
@ -1936,6 +1952,8 @@ const char *AP_Mission::Mission_Command::type() const {
return " DigiCamCfg " ;
return " DigiCamCfg " ;
case MAV_CMD_DO_DIGICAM_CONTROL :
case MAV_CMD_DO_DIGICAM_CONTROL :
return " DigiCamCtrl " ;
return " DigiCamCtrl " ;
case MAV_CMD_DO_GIMBAL_CONTROL :
return " GimbalCamCtrl " ;
case MAV_CMD_DO_SET_CAM_TRIGG_DIST :
case MAV_CMD_DO_SET_CAM_TRIGG_DIST :
return " SetCamTrigDst " ;
return " SetCamTrigDst " ;
case MAV_CMD_DO_SET_ROI :
case MAV_CMD_DO_SET_ROI :