Button Inputs in Sub¶
Unlike other vehicles, Sub has its own specialized button functionality. Other vehicles include hardware buttons as described in the Buttons hardware section.
Instead, Sub uses “joystick” buttons associated with the GCS or GCS attached Joystick. The GCS sends the button activation events in frequent MAVLink MANUAL CONTROL messages, which include both motion-axis commands and button states.
Up to 32 buttons can be configured with a host of functions. In addition, by assigning a “shift” button function, each button can execute a “shifted” function, so up to 63 functions can be implemented.
Each button has two parameters:
BTNx_FUNCTION
BTNx_SFUNCTION
The possible values for the function or shifted function are:
Value |
Meaning |
0 |
Disabled |
1 |
shift |
2 |
arm_toggle |
3 |
arm |
4 |
disarm |
5 |
mode_manual |
6 |
mode_stabilize |
7 |
mode_depth_hold |
8 |
mode_poshold |
9 |
mode_auto |
10 |
mode_circle |
11 |
mode_guided |
12 |
mode_acro |
13 |
mode_surftrak |
21 |
mount_center |
22 |
mount_tilt_up |
23 |
mount_tilt_down |
24 |
camera_trigger |
25 |
camera_source_toggle |
26 |
mount_pan_right |
27 |
mount_pan_left |
31 |
lights1_cycle |
32 |
lights1_brighter |
33 |
lights1_dimmer |
34 |
lights2_cycle |
35 |
lights2_brighter |
36 |
lights2_dimmer |
41 |
gain_toggle |
42 |
gain_inc |
43 |
gain_dec |
44 |
trim_roll_inc |
45 |
trim_roll_dec |
46 |
trim_pitch_inc |
47 |
trim_pitch_dec |
48 |
input_hold_set |
49 |
roll_pitch_toggle |
51 |
relay_1_on |
52 |
relay_1_off |
53 |
relay_1_toggle |
54 |
relay_2_on |
55 |
relay_2_off |
56 |
relay_2_toggle |
57 |
relay_3_on |
58 |
relay_3_off |
59 |
relay_3_toggle |
61 |
servo_1_inc |
62 |
servo_1_dec |
63 |
servo_1_min |
64 |
servo_1_max |
65 |
servo_1_center |
66 |
servo_2_inc |
67 |
servo_2_dec |
68 |
servo_2_min |
69 |
servo_2_max |
70 |
servo_2_center |
71 |
servo_3_inc |
72 |
servo_3_dec |
73 |
servo_3_min |
74 |
servo_3_max |
75 |
servo_3_center |
76 |
servo_1_min_momentary |
77 |
servo_1_max_momentary |
78 |
servo_1_min_toggle |
79 |
servo_1_max_toggle |
80 |
servo_2_min_momentary |
81 |
servo_2_max_momentary |
82 |
servo_2_min_toggle |
83 |
servo_2_max_toggle |
84 |
servo_3_min_momentary |
85 |
servo_3_max_momentary |
86 |
servo_3_min_toggle |
87 |
servo_3_max_toggle |
91 |
custom_1 |
92 |
custom_2 |
93 |
custom_3 |
94 |
custom_4 |
95 |
custom_5 |
96 |
custom_6 |
101 |
relay_4_on |
102 |
relay_4_off |
103 |
relay_4_toggle |
104 |
relay_1_momentary |
105 |
relay_2_momentary |
106 |
relay_3_momentary |
107 |
relay_4_momentary |
108 |
script_1 |
109 |
script_2 |
110 |
script_3 |
111 |
script_4 |
See Default Sub Hardware Configuration for the default assignments of button functions.