mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-09 20:31:35 +08:00
navigator: add ability to process custom action waypoints
A custom action waypoint is an action defined in a waypoint that is scripted and processed outside the flight controller, usually in a mission computer process. The ability to process that action in the mission computer should be coded by the user, or instead using the MAVSDK custom_action plugin implementation (a full-scale example can be seen in the integration tests directory). The custom action command associated, for now, is the MAV_CMD_WAYPOINT_USER_1 but will eventually be replaced with an appropriate MAV_CMD to the purpose. The modifications in the navigator module allow to block the navigator for an amount of time defined on param3 of the MAV_CMD_WAYPONT_USER_1 mission item. The navigator expects to receive a progress status of the action being process, which in the case of not received, will result on the mission continuing to the next waypoint, and a COMMAND_CANCEL to be broadcasted to cancel that same command. The mission will continue to the next waypoint as soon as an ACCEPTED ACK gets sent from the component processing the custom action.
This commit is contained in:
@@ -86,6 +86,7 @@ uint16 VEHICLE_CMD_DO_VTOL_TRANSITION = 3000 # Command VTOL transition
|
||||
uint16 VEHICLE_CMD_ARM_AUTHORIZATION_REQUEST = 3001 # Request arm authorization
|
||||
uint16 VEHICLE_CMD_PAYLOAD_PREPARE_DEPLOY = 30001 # Prepare a payload deployment in the flight plan
|
||||
uint16 VEHICLE_CMD_PAYLOAD_CONTROL_DEPLOY = 30002 # Control a pre-programmed payload deployment
|
||||
uint16 VEHICLE_CMD_NAV_WAYPOINT_USER_1 = 31000 # Currently used for processing custom action waypoints on component outside the FMU
|
||||
uint16 VEHICLE_CMD_FIXED_MAG_CAL_YAW = 42006 # Magnetometer calibration based on provided known yaw. This allows for fast calibration using WMM field tables in the vehicle, given only the known yaw of the vehicle. If Latitude and longitude are both zero then use the current vehicle location.
|
||||
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ uint8 VEHICLE_RESULT_DENIED = 2
|
||||
uint8 VEHICLE_RESULT_UNSUPPORTED = 3
|
||||
uint8 VEHICLE_RESULT_FAILED = 4
|
||||
uint8 VEHICLE_RESULT_IN_PROGRESS = 5
|
||||
uint8 VEHICLE_RESULT_CANCELLED = 6
|
||||
|
||||
uint16 ARM_AUTH_DENIED_REASON_GENERIC = 0
|
||||
uint16 ARM_AUTH_DENIED_REASON_NONE = 1
|
||||
|
||||
Reference in New Issue
Block a user