APM:Libraries
libraries
AP_JSButton
AP_JSButton.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
AP_Param/AP_Param.h
>
4
5
class
JSButton
{
6
public
:
7
JSButton
();
8
9
// Button functions
10
typedef
enum
{
11
k_none
= 0,
12
k_shift
= 1,
13
k_arm_toggle
= 2,
14
k_arm
= 3,
15
k_disarm
= 4,
16
17
k_mode_manual
= 5,
18
k_mode_stabilize
= 6,
19
k_mode_depth_hold
= 7,
20
k_mode_poshold
= 8,
21
k_mode_auto
= 9,
22
k_mode_circle
= 10,
23
k_mode_guided
= 11,
24
k_mode_acro
= 12,
25
26
// 12-20 reserved for future mode functions
27
k_mount_center
= 21,
28
k_mount_tilt_up
= 22,
29
k_mount_tilt_down
= 23,
30
k_camera_trigger
= 24,
31
k_camera_source_toggle
= 25,
32
k_mount_pan_right
= 26,
33
k_mount_pan_left
= 27,
34
// 26-30 reserved for future camera functions
35
k_lights1_cycle
= 31,
36
k_lights1_brighter
= 32,
37
k_lights1_dimmer
= 33,
38
k_lights2_cycle
= 34,
39
k_lights2_brighter
= 35,
40
k_lights2_dimmer
= 36,
41
// 37-40 reserved for future light functions
42
k_gain_toggle
= 41,
43
k_gain_inc
= 42,
44
k_gain_dec
= 43,
45
k_trim_roll_inc
= 44,
46
k_trim_roll_dec
= 45,
47
k_trim_pitch_inc
= 46,
48
k_trim_pitch_dec
= 47,
49
k_input_hold_set
= 48,
50
k_roll_pitch_toggle
= 49,
51
52
// 50 reserved for future function
53
54
k_relay_1_on
= 51,
55
k_relay_1_off
= 52,
56
k_relay_1_toggle
= 53,
57
k_relay_2_on
= 54,
58
k_relay_2_off
= 55,
59
k_relay_2_toggle
= 56,
60
k_relay_3_on
= 57,
61
k_relay_3_off
= 58,
62
k_relay_3_toggle
= 59,
63
64
// 60 reserved for future function
65
k_servo_1_inc
= 61,
66
k_servo_1_dec
= 62,
67
k_servo_1_min
= 63,
68
k_servo_1_max
= 64,
69
k_servo_1_center
= 65,
70
71
k_servo_2_inc
= 66,
72
k_servo_2_dec
= 67,
73
k_servo_2_min
= 68,
74
k_servo_2_max
= 69,
75
k_servo_2_center
= 70,
76
77
k_servo_3_inc
= 71,
78
k_servo_3_dec
= 72,
79
k_servo_3_min
= 73,
80
k_servo_3_max
= 74,
81
k_servo_3_center
= 75,
82
83
k_servo_1_min_momentary
= 76,
84
k_servo_1_max_momentary
= 77,
85
k_servo_1_min_toggle
= 78,
86
k_servo_1_max_toggle
= 79,
87
88
k_servo_2_min_momentary
= 80,
89
k_servo_2_max_momentary
= 81,
90
k_servo_2_min_toggle
= 82,
91
k_servo_2_max_toggle
= 83,
92
93
k_servo_3_min_momentary
= 84,
94
k_servo_3_max_momentary
= 85,
95
k_servo_3_min_toggle
= 86,
96
k_servo_3_max_toggle
= 87,
97
98
// 88-90 reserved for future functions
99
k_custom_1
= 91,
100
k_custom_2
= 92,
101
k_custom_3
= 93,
102
k_custom_4
= 94,
103
k_custom_5
= 95,
104
k_custom_6
= 96,
105
// 97-100 reserved for future functions
106
k_relay_4_on
= 101,
107
k_relay_4_off
= 102,
108
k_relay_4_toggle
= 103,
109
110
k_relay_1_momentary
= 104,
111
k_relay_2_momentary
= 105,
112
k_relay_3_momentary
= 106,
113
k_relay_4_momentary
= 107,
114
115
// 108+ reserved for future functions
116
k_nr_btn_functions
117
}
button_function_t
;
118
119
// If shift is false, returns the function assigned to this button
120
// If shift is true, returns the shift function assigned to this button
121
uint8_t
function
(
bool
shift =
false
)
const
;
122
123
// Sets the default function and shift function parameter values for this button
124
void
set_default
(button_function_t
f
, button_function_t sf);
125
126
static
const
struct
AP_Param::GroupInfo
var_info
[];
127
128
private
:
129
// Button mappings
130
AP_Int8
_function
;
131
AP_Int8
_sfunction
;
132
};
JSButton::k_nr_btn_functions
This must be the last enum value (only add new values before this one)
Definition:
AP_JSButton.h:116
JSButton::k_relay_2_on
trigger relay on
Definition:
AP_JSButton.h:57
JSButton::k_relay_4_off
trigger relay off
Definition:
AP_JSButton.h:107
JSButton::k_custom_4
custom user button 4
Definition:
AP_JSButton.h:102
JSButton::_sfunction
AP_Int8 _sfunction
Definition:
AP_JSButton.h:131
JSButton::k_servo_3_min
Definition:
AP_JSButton.h:79
JSButton::k_mount_center
move mount to center
Definition:
AP_JSButton.h:27
JSButton::k_trim_roll_inc
increase roll trim
Definition:
AP_JSButton.h:45
JSButton::k_input_hold_set
toggle input hold (trim to current controls)
Definition:
AP_JSButton.h:49
JSButton::k_relay_4_toggle
trigger relay toggle
Definition:
AP_JSButton.h:108
JSButton::k_servo_3_inc
Definition:
AP_JSButton.h:77
JSButton::k_mode_auto
enter auto mode
Definition:
AP_JSButton.h:21
JSButton::k_mount_pan_right
pan mount right
Definition:
AP_JSButton.h:32
JSButton::k_servo_2_max_momentary
Definition:
AP_JSButton.h:89
JSButton::k_custom_6
custom user button 6
Definition:
AP_JSButton.h:104
JSButton::k_mode_circle
enter circle mode
Definition:
AP_JSButton.h:22
JSButton::k_mount_tilt_up
tilt mount up
Definition:
AP_JSButton.h:28
JSButton::k_relay_2_off
trigger relay off
Definition:
AP_JSButton.h:58
JSButton::k_arm
arm vehicle
Definition:
AP_JSButton.h:14
JSButton::k_servo_2_inc
Definition:
AP_JSButton.h:71
JSButton::k_servo_2_center
Definition:
AP_JSButton.h:75
JSButton::k_servo_1_max_momentary
set servo output to minimum (SERVOn_MAX) until released
Definition:
AP_JSButton.h:84
JSButton::k_servo_3_max_momentary
Definition:
AP_JSButton.h:94
JSButton::k_lights1_cycle
lights 1 cycle
Definition:
AP_JSButton.h:35
AP_Param.h
A system for managing and storing variables that are of general interest to the system.
JSButton::button_function_t
button_function_t
Definition:
AP_JSButton.h:10
JSButton
Definition:
AP_JSButton.h:5
JSButton::k_servo_2_min
Definition:
AP_JSButton.h:73
JSButton::k_servo_1_inc
increase servo output
Definition:
AP_JSButton.h:65
JSButton::k_camera_trigger
trigger camera shutter
Definition:
AP_JSButton.h:30
JSButton::k_lights1_brighter
lights 1 up
Definition:
AP_JSButton.h:36
JSButton::k_lights2_brighter
lights 2 up
Definition:
AP_JSButton.h:39
JSButton::k_lights1_dimmer
lights 1 down
Definition:
AP_JSButton.h:37
JSButton::k_servo_1_max_toggle
toggle servo output btwn trim (SERVOn_TRIM) and max (SERVOn_MAX)
Definition:
AP_JSButton.h:86
JSButton::k_custom_3
custom user button 3
Definition:
AP_JSButton.h:101
JSButton::k_relay_3_momentary
Definition:
AP_JSButton.h:112
JSButton::k_lights2_cycle
lights 2 cycle
Definition:
AP_JSButton.h:38
JSButton::k_relay_4_on
trigger relay on
Definition:
AP_JSButton.h:106
JSButton::k_servo_1_min_toggle
toggle servo output btwn trim (SERVOn_TRIM) and min (SERVOn_MIN)
Definition:
AP_JSButton.h:85
JSButton::k_none
disabled
Definition:
AP_JSButton.h:11
JSButton::k_servo_2_max_toggle
Definition:
AP_JSButton.h:91
JSButton::k_servo_2_min_momentary
Definition:
AP_JSButton.h:88
f
#define f(i)
JSButton::k_servo_3_min_momentary
Definition:
AP_JSButton.h:93
AP_Param::GroupInfo
Definition:
AP_Param.h:145
JSButton::k_relay_1_off
trigger relay off
Definition:
AP_JSButton.h:55
JSButton::k_relay_1_toggle
trigger relay toggle
Definition:
AP_JSButton.h:56
JSButton::k_relay_3_off
trigger relay off
Definition:
AP_JSButton.h:61
JSButton::k_gain_inc
increase control gain
Definition:
AP_JSButton.h:43
JSButton::k_servo_3_dec
Definition:
AP_JSButton.h:78
JSButton::k_mount_tilt_down
tilt mount down
Definition:
AP_JSButton.h:29
JSButton::k_roll_pitch_toggle
adjust roll/pitch input instead of forward/lateral
Definition:
AP_JSButton.h:50
JSButton::k_mode_acro
enter acro mode
Definition:
AP_JSButton.h:24
JSButton::k_relay_3_on
trigger relay on
Definition:
AP_JSButton.h:60
JSButton::JSButton
JSButton()
Definition:
AP_JSButton.cpp:22
JSButton::k_servo_3_center
Definition:
AP_JSButton.h:81
JSButton::set_default
void set_default(button_function_t f, button_function_t sf)
Definition:
AP_JSButton.cpp:35
JSButton::k_custom_1
custom user button 1
Definition:
AP_JSButton.h:99
JSButton::k_gain_toggle
toggle different gain settings
Definition:
AP_JSButton.h:42
JSButton::k_mode_poshold
enter poshold mode
Definition:
AP_JSButton.h:20
JSButton::k_servo_2_max
Definition:
AP_JSButton.h:74
JSButton::k_mode_manual
enter enter manual mode
Definition:
AP_JSButton.h:17
JSButton::k_servo_3_min_toggle
Definition:
AP_JSButton.h:95
JSButton::k_relay_2_toggle
trigger relay toggle
Definition:
AP_JSButton.h:59
JSButton::k_disarm
disarm vehicle
Definition:
AP_JSButton.h:15
JSButton::k_servo_1_center
set servo output to maximum (SERVOn_MAX)
Definition:
AP_JSButton.h:69
JSButton::k_relay_4_momentary
Definition:
AP_JSButton.h:113
JSButton::k_relay_2_momentary
Definition:
AP_JSButton.h:111
JSButton::k_mode_stabilize
enter stabilize mode
Definition:
AP_JSButton.h:18
JSButton::k_relay_3_toggle
trigger relay toggle
Definition:
AP_JSButton.h:62
JSButton::var_info
static const struct AP_Param::GroupInfo var_info[]
Definition:
AP_JSButton.h:126
JSButton::k_servo_1_max
set servo output to minimum (SERVOn_MIN)
Definition:
AP_JSButton.h:68
JSButton::k_trim_pitch_inc
increase pitch trim
Definition:
AP_JSButton.h:47
JSButton::k_camera_source_toggle
toggle camera source
Definition:
AP_JSButton.h:31
JSButton::k_mode_guided
enter guided mode
Definition:
AP_JSButton.h:23
JSButton::_function
AP_Int8 _function
Definition:
AP_JSButton.h:130
JSButton::k_servo_3_max
Definition:
AP_JSButton.h:80
JSButton::k_trim_roll_dec
decrease roll trim
Definition:
AP_JSButton.h:46
JSButton::k_trim_pitch_dec
decrease pitch trim
Definition:
AP_JSButton.h:48
JSButton::k_gain_dec
decrease control gain
Definition:
AP_JSButton.h:44
JSButton::k_servo_3_max_toggle
Definition:
AP_JSButton.h:96
JSButton::k_custom_2
custom user button 2
Definition:
AP_JSButton.h:100
JSButton::k_mount_pan_left
pan mount left
Definition:
AP_JSButton.h:33
JSButton::k_shift
"shift" buttons to allow more functions
Definition:
AP_JSButton.h:12
JSButton::k_custom_5
custom user button 5
Definition:
AP_JSButton.h:103
JSButton::k_mode_depth_hold
enter depth hold mode
Definition:
AP_JSButton.h:19
JSButton::k_servo_1_min_momentary
set servo output to minimum (SERVOn_MIN) until released
Definition:
AP_JSButton.h:83
JSButton::k_servo_2_min_toggle
Definition:
AP_JSButton.h:90
JSButton::k_servo_2_dec
Definition:
AP_JSButton.h:72
JSButton::k_arm_toggle
arm/disarm vehicle toggle
Definition:
AP_JSButton.h:13
JSButton::k_servo_1_dec
decrease servo output
Definition:
AP_JSButton.h:66
JSButton::k_servo_1_min
center servo
Definition:
AP_JSButton.h:67
JSButton::k_lights2_dimmer
lights 2 down
Definition:
AP_JSButton.h:40
JSButton::k_relay_1_on
trigger relay on
Definition:
AP_JSButton.h:54
JSButton::k_relay_1_momentary
relay toggle when button is pushed, and again when released
Definition:
AP_JSButton.h:110
Generated on Sun Jun 17 2018 14:18:50 for APM:Libraries by
1.8.13