mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-24 17:33:33 +08:00
New ROI commands implementation
This commit is contained in:
committed by
Lorenz Meier
parent
ae52f74e78
commit
342509b3ab
@@ -86,6 +86,9 @@ MissionBlock::is_mission_item_reached()
|
||||
case NAV_CMD_DO_MOUNT_CONFIGURE:
|
||||
case NAV_CMD_DO_MOUNT_CONTROL:
|
||||
case NAV_CMD_DO_SET_ROI:
|
||||
case NAV_CMD_DO_SET_ROI_LOCATION:
|
||||
case NAV_CMD_DO_SET_ROI_WPNEXT_OFFSET:
|
||||
case NAV_CMD_DO_SET_ROI_NONE:
|
||||
case NAV_CMD_DO_SET_CAM_TRIGG_DIST:
|
||||
case NAV_CMD_DO_SET_CAM_TRIGG_INTERVAL:
|
||||
case NAV_CMD_SET_CAMERA_MODE:
|
||||
|
||||
@@ -268,6 +268,9 @@ MissionFeasibilityChecker::checkMissionItemValidity(const mission_s &mission)
|
||||
missionitem.nav_cmd != NAV_CMD_DO_MOUNT_CONFIGURE &&
|
||||
missionitem.nav_cmd != NAV_CMD_DO_MOUNT_CONTROL &&
|
||||
missionitem.nav_cmd != NAV_CMD_DO_SET_ROI &&
|
||||
missionitem.nav_cmd != NAV_CMD_DO_SET_ROI_LOCATION &&
|
||||
missionitem.nav_cmd != NAV_CMD_DO_SET_ROI_WPNEXT_OFFSET &&
|
||||
missionitem.nav_cmd != NAV_CMD_DO_SET_ROI_NONE &&
|
||||
missionitem.nav_cmd != NAV_CMD_DO_SET_CAM_TRIGG_DIST &&
|
||||
missionitem.nav_cmd != NAV_CMD_DO_SET_CAM_TRIGG_INTERVAL &&
|
||||
missionitem.nav_cmd != NAV_CMD_SET_CAMERA_MODE &&
|
||||
|
||||
@@ -74,6 +74,9 @@ enum NAV_CMD {
|
||||
NAV_CMD_DO_SET_HOME = 179,
|
||||
NAV_CMD_DO_SET_SERVO = 183,
|
||||
NAV_CMD_DO_LAND_START = 189,
|
||||
NAV_CMD_DO_SET_ROI_LOCATION = 195,
|
||||
NAV_CMD_DO_SET_ROI_WPNEXT_OFFSET = 196,
|
||||
NAV_CMD_DO_SET_ROI_NONE = 197,
|
||||
NAV_CMD_DO_SET_ROI = 201,
|
||||
NAV_CMD_DO_DIGICAM_CONTROL = 203,
|
||||
NAV_CMD_DO_MOUNT_CONFIGURE = 204,
|
||||
|
||||
@@ -525,9 +525,33 @@ Navigator::task_main()
|
||||
publish_vehicle_command_ack(cmd, vehicle_command_s::VEHICLE_CMD_RESULT_ACCEPTED);
|
||||
|
||||
} else if (cmd.command == vehicle_command_s::VEHICLE_CMD_DO_SET_ROI
|
||||
|| cmd.command == vehicle_command_s::VEHICLE_CMD_NAV_ROI) {
|
||||
|| cmd.command == vehicle_command_s::VEHICLE_CMD_NAV_ROI
|
||||
|| cmd.command == vehicle_command_s::VEHICLE_CMD_DO_SET_ROI_LOCATION
|
||||
|| cmd.command == vehicle_command_s::VEHICLE_CMD_DO_SET_ROI_WPNEXT_OFFSET
|
||||
|| cmd.command == vehicle_command_s::VEHICLE_CMD_DO_SET_ROI_NONE) {
|
||||
_vroi = {};
|
||||
_vroi.mode = cmd.param1;
|
||||
|
||||
switch (cmd.command) {
|
||||
case vehicle_command_s::VEHICLE_CMD_DO_SET_ROI:
|
||||
case vehicle_command_s::VEHICLE_CMD_NAV_ROI:
|
||||
_vroi.mode = cmd.param1;
|
||||
break;
|
||||
|
||||
case vehicle_command_s::VEHICLE_CMD_DO_SET_ROI_LOCATION:
|
||||
_vroi.mode = vehicle_command_s::VEHICLE_ROI_LOCATION;
|
||||
break;
|
||||
|
||||
case vehicle_command_s::VEHICLE_CMD_DO_SET_ROI_WPNEXT_OFFSET:
|
||||
_vroi.mode = vehicle_command_s::VEHICLE_ROI_WPNEXT;
|
||||
_vroi.pitchOffset = cmd.param5;
|
||||
_vroi.rollOffset = cmd.param6;
|
||||
_vroi.yawOffset = cmd.param7;
|
||||
break;
|
||||
|
||||
case vehicle_command_s::VEHICLE_CMD_DO_SET_ROI_NONE:
|
||||
_vroi.mode = vehicle_command_s::VEHICLE_ROI_NONE;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (_vroi.mode) {
|
||||
case vehicle_command_s::VEHICLE_ROI_NONE:
|
||||
|
||||
Reference in New Issue
Block a user