mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
85 lines
6.5 KiB
Markdown
85 lines
6.5 KiB
Markdown
---
|
|
pageClass: is-wide-page
|
|
---
|
|
|
|
# ActionRequest (UORB message)
|
|
|
|
Action request for the vehicle's main state.
|
|
|
|
Message represents actions requested by a PX4 internal component towards the main state machine such as a request to arm or switch mode.
|
|
It allows mapping triggers from various external interfaces like RC channels or MAVLink to cause an action.
|
|
Request are published by `manual_control` and subscribed by the `commander` and `vtol_att_control` modules.
|
|
|
|
**TOPICS:** action_request
|
|
|
|
## Fields
|
|
|
|
| Name | Type | Unit [Frame] | Range/Enum | Description |
|
|
| --------- | -------- | ------------ | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| timestamp | `uint64` | us | | Time since system start |
|
|
| action | `uint8` | | [ACTION](#ACTION) | Requested action |
|
|
| source | `uint8` | | [SOURCE](#SOURCE) | Request trigger type, such as a switch, button or gesture |
|
|
| mode | `uint8` | | | Requested mode. Only applies when `action` is `ACTION_SWITCH_MODE`. Values for this field are defined by the `vehicle_status_s::NAVIGATION_STATE_*` enumeration. |
|
|
|
|
## Enums
|
|
|
|
### ACTION {#ACTION}
|
|
|
|
| Name | Type | Value | Description |
|
|
| ----------------------------------------------------------------------------------------- | ------- | ----- | --------------------------------------------------------------------- |
|
|
| <a id="#ACTION_DISARM"></a> ACTION_DISARM | `uint8` | 0 | Disarm vehicle |
|
|
| <a id="#ACTION_ARM"></a> ACTION_ARM | `uint8` | 1 | Arm vehicle |
|
|
| <a id="#ACTION_TOGGLE_ARMING"></a> ACTION_TOGGLE_ARMING | `uint8` | 2 | Toggle arming |
|
|
| <a id="#ACTION_UNKILL"></a> ACTION_UNKILL | `uint8` | 3 | Revert a kill action |
|
|
| <a id="#ACTION_KILL"></a> ACTION_KILL | `uint8` | 4 | Kill vehicle (instantly stop the motors) |
|
|
| <a id="#ACTION_SWITCH_MODE"></a> ACTION_SWITCH_MODE | `uint8` | 5 | Switch mode. The target mode is set in the `mode` field. |
|
|
| <a id="#ACTION_VTOL_TRANSITION_TO_MULTICOPTER"></a> ACTION_VTOL_TRANSITION_TO_MULTICOPTER | `uint8` | 6 | Transition to hover flight |
|
|
| <a id="#ACTION_VTOL_TRANSITION_TO_FIXEDWING"></a> ACTION_VTOL_TRANSITION_TO_FIXEDWING | `uint8` | 7 | Transition to fast forward flight |
|
|
| <a id="#ACTION_TERMINATION"></a> ACTION_TERMINATION | `uint8` | 8 | Irreversibly output failsafe values on all outputs, trigger parachute |
|
|
|
|
### SOURCE {#SOURCE}
|
|
|
|
| Name | Type | Value | Description |
|
|
| ------------------------------------------------------- | ------- | ----- | --------------------------------------------------------------- |
|
|
| <a id="#SOURCE_STICK_GESTURE"></a> SOURCE_STICK_GESTURE | `uint8` | 0 | Triggered by holding the sticks in a certain position |
|
|
| <a id="#SOURCE_RC_SWITCH"></a> SOURCE_RC_SWITCH | `uint8` | 1 | Triggered by an RC switch moving into a certain position |
|
|
| <a id="#SOURCE_RC_BUTTON"></a> SOURCE_RC_BUTTON | `uint8` | 2 | Triggered by a momentary button on the RC being pressed or held |
|
|
| <a id="#SOURCE_RC_MODE_SLOT"></a> SOURCE_RC_MODE_SLOT | `uint8` | 3 | Mode change through the RC mode selection mechanism |
|
|
|
|
## Source Message
|
|
|
|
[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActionRequest.msg)
|
|
|
|
::: details Click here to see original file
|
|
|
|
```c
|
|
# Action request for the vehicle's main state
|
|
#
|
|
# Message represents actions requested by a PX4 internal component towards the main state machine such as a request to arm or switch mode.
|
|
# It allows mapping triggers from various external interfaces like RC channels or MAVLink to cause an action.
|
|
# Request are published by `manual_control` and subscribed by the `commander` and `vtol_att_control` modules.
|
|
|
|
uint64 timestamp # [us] Time since system start
|
|
|
|
uint8 action # [@enum ACTION] Requested action
|
|
uint8 ACTION_DISARM = 0 # Disarm vehicle
|
|
uint8 ACTION_ARM = 1 # Arm vehicle
|
|
uint8 ACTION_TOGGLE_ARMING = 2 # Toggle arming
|
|
uint8 ACTION_UNKILL = 3 # Revert a kill action
|
|
uint8 ACTION_KILL = 4 # Kill vehicle (instantly stop the motors)
|
|
uint8 ACTION_SWITCH_MODE = 5 # Switch mode. The target mode is set in the `mode` field.
|
|
uint8 ACTION_VTOL_TRANSITION_TO_MULTICOPTER = 6 # Transition to hover flight
|
|
uint8 ACTION_VTOL_TRANSITION_TO_FIXEDWING = 7 # Transition to fast forward flight
|
|
uint8 ACTION_TERMINATION = 8 # Irreversibly output failsafe values on all outputs, trigger parachute
|
|
|
|
uint8 source # [@enum SOURCE] Request trigger type, such as a switch, button or gesture
|
|
uint8 SOURCE_STICK_GESTURE = 0 # Triggered by holding the sticks in a certain position
|
|
uint8 SOURCE_RC_SWITCH = 1 # Triggered by an RC switch moving into a certain position
|
|
uint8 SOURCE_RC_BUTTON = 2 # Triggered by a momentary button on the RC being pressed or held
|
|
uint8 SOURCE_RC_MODE_SLOT = 3 # Mode change through the RC mode selection mechanism
|
|
|
|
uint8 mode # Requested mode. Only applies when `action` is `ACTION_SWITCH_MODE`. Values for this field are defined by the `vehicle_status_s::NAVIGATION_STATE_*` enumeration.
|
|
```
|
|
|
|
:::
|