Skip to content

Commit e5a37d2

Browse files
committed
sub: add Actuator details
1 parent 1ec7abc commit e5a37d2

2 files changed

Lines changed: 37 additions & 0 deletions

File tree

common/source/docs/common-advanced-configuration.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ tuning options for the vehicle.
3636
[site wiki="sub"]
3737
Autopilot Output Mapping <common-rcoutput-mapping>
3838
Auxiliary Functions <common-auxiliary-functions>
39+
Actuators <actuators>
3940
Bootloader Update <common-bootloader-update>
4041
[/site]
4142
BLHeli ESCs <common-blheli32-passthru>

sub/source/docs/actuators.rst

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
.. _actuators:
2+
3+
===============
4+
Actuators (PWM)
5+
===============
6+
7+
A generic PWM-controlled device can be added by connecting it to a pin on the autopilot's servo rail, and assigning that pin's ``SERVOx_FUNCTION`` parameter as one of ``Actuator 1..6`` as desired. Limits and direction are configured using the pin's ``SERVOx_MIN``/``MAX``/``REVERSED`` parameters.
8+
9+
.. note: Where possible it is preferable to use dedicated output functions for the device type (e.g. :ref:`lights`, :ref:`grippers`, etc). Actuators serve as a convenience feature for controlling devices that have no dedicated configuration options, or where the options are insufficient for the device being controlled.
10+
11+
12+
Joystick/Gamepad Control
13+
========================
14+
15+
Actuator outputs can be controlled using the ``actuator_n_*`` :ref:`Button Functions <buttons>`, with options for:
16+
17+
.. csv-table:: Actuator Button Functions
18+
:header: "Function", "Description"
19+
20+
"``actuator_n_min``", "Set the servo output channel assigned to Actuator N to its minimum value"
21+
"``actuator_n_max``", "Set the servo output channel assigned to Actuator N to its maximum value"
22+
"``actuator_n_center``", "Set the servo output channel assigned to Actuator N to its center value"
23+
"``actuator_n_inc``", "Increase Actuator N by the ``ACTUATORn_INC`` parameter value"
24+
"``actuator_n_dec``", "Decrease Actuator N by the ``ACTUATORn_INC`` parameter value"
25+
"``actuator_n_min_momentary``", "Set Actuator N to its minimum value while the button is held, then to its center value on release"
26+
"``actuator_n_max_momentary``", "Set Actuator N to its maximum value while the button is held, then to its center value on release"
27+
"``actuator_n_min_toggle``", "Toggle Actuator N between its minimum and center values"
28+
"``actuator_n_max_toggle``", "Toggle Actuator N between its maximum and center values"
29+
30+
31+
Programmatic Control
32+
====================
33+
34+
Support for MAVLink-based control (via `MAV_CMD_DO_SET_ACTUATOR <https://mavlink.io/en/messages/common.html#MAV_CMD_DO_SET_ACTUATOR>`__) is `underway <https://github.com/ArduPilot/ardupilot/pull/32033>`__, but not yet available.
35+
36+
Lua script control is not supported.

0 commit comments

Comments
 (0)