Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Ardupilot
GitHub Repository: Ardupilot/ardupilot
Path: blob/master/AntennaTracker/Parameters.h
9649 views
1
#pragma once
2
3
#define AP_PARAM_VEHICLE_NAME tracker
4
5
#include <AC_PID/AC_PID.h>
6
#include <AP_Param/AP_Param.h>
7
8
// Global parameter class.
9
//
10
class Parameters {
11
public:
12
13
/*
14
* The value of k_format_version determines whether the existing
15
* eeprom data is considered valid. You should only change this
16
* value under the following circumstances:
17
*
18
* 1) the meaning of an existing eeprom parameter changes
19
*
20
* 2) the value of an existing k_param_* enum value changes
21
*
22
* Adding a new parameter should _not_ require a change to
23
* k_format_version except under special circumstances. If you
24
* change it anyway then all ArduPlane users will need to reload all
25
* their parameters. We want that to be an extremely rare
26
* thing. Please do not just change it "just in case".
27
*
28
* To determine if a k_param_* value has changed, use the rules of
29
* C++ enums to work out the value of the neighboring enum
30
* values. If you don't know the C++ enum rules then please ask for
31
* help.
32
*/
33
34
//////////////////////////////////////////////////////////////////
35
// STOP!!! DO NOT CHANGE THIS VALUE UNTIL YOU FULLY UNDERSTAND THE
36
// COMMENTS ABOVE. IF UNSURE, ASK ANOTHER DEVELOPER!!!
37
static const uint16_t k_format_version = 1;
38
//////////////////////////////////////////////////////////////////
39
40
41
enum {
42
// Layout version number, always key zero.
43
//
44
k_param_format_version = 0,
45
k_param_software_type, // deprecated
46
47
k_param_gcs0_unused = 100, // unused in ArduPilot-4.7
48
k_param_gcs1_unused, // unused in ArduPilot-4.7
49
k_param_sysid_this_mav_old,
50
k_param_sysid_my_gcs_old,
51
k_param_serial0_baud, // deprecated
52
k_param_serial1_baud, // deprecated
53
k_param_imu,
54
k_param_compass_enabled_deprecated,
55
k_param_compass,
56
k_param_ahrs, // AHRS group
57
k_param_barometer,
58
k_param_scheduler,
59
k_param_ins,
60
k_param_sitl,
61
k_param_pidPitch_old, // deprecated
62
k_param_pidYaw_old, // deprecated
63
k_param_gcs2_unused, // unused in ArduPilot-4.7
64
k_param_serial2_baud, // deprecated
65
66
k_param_yaw_slew_time,
67
k_param_pitch_slew_time,
68
k_param_min_reverse_time,
69
70
k_param_start_latitude,
71
k_param_start_longitude,
72
k_param_startup_delay,
73
k_param_BoardConfig,
74
k_param_gps,
75
k_param_scan_speed_unused, // deprecated
76
k_param_proxy_mode_unused, // deprecated
77
k_param_servo_pitch_type,
78
k_param_onoff_yaw_rate,
79
k_param_onoff_pitch_rate,
80
k_param_onoff_yaw_mintime,
81
k_param_onoff_pitch_mintime,
82
k_param_yaw_trim,
83
k_param_pitch_trim,
84
k_param_yaw_range,
85
k_param_pitch_range, //deprecated
86
k_param_distance_min,
87
k_param_sysid_target, // 138
88
k_param_gcs3_unused, // unused in ArduPilot-4.7
89
k_param_log_bitmask, // 140
90
k_param_notify,
91
k_param_can_mgr,
92
k_param_battery,
93
94
k_param_serial_manager_old = 144, // serial manager library
95
k_param_servo_yaw_type,
96
k_param_alt_source,
97
k_param_mavlink_update_rate,
98
k_param_pitch_min,
99
k_param_pitch_max,
100
k_param_gcs4_unused, // unused in ArduPilot-4.7
101
k_param_gcs5_unused, // unused in ArduPilot-4.7
102
k_param_gcs6_unused, // unused in ArduPilot-4.7
103
104
//
105
// 200 : Radio settings
106
//
107
k_param_channel_yaw_old = 200,
108
k_param_channel_pitch_old,
109
k_param_pidPitch2Srv,
110
k_param_pidYaw2Srv,
111
k_param_rc_channels,
112
k_param_servo_channels,
113
114
k_param_stats_old = 218,
115
k_param_scripting_old = 219,
116
117
//
118
// 220: Waypoint data
119
//
120
k_param_command_total = 220,
121
122
// 254,255: reserved
123
k_param_gcs_pid_mask = 225,
124
k_param_scan_speed_yaw,
125
k_param_scan_speed_pitch,
126
k_param_initial_mode,
127
k_param_disarm_pwm,
128
129
k_param_auto_opts,
130
k_param_NavEKF2,
131
k_param_NavEKF3,
132
133
k_param_logger = 253, // 253 - Logging Group
134
135
k_param_vehicle = 257, // vehicle common block of parameters
136
k_param__gcs = 258,
137
};
138
139
AP_Int16 format_version;
140
141
// Telemetry control
142
//
143
AP_Int16 sysid_target;
144
145
AP_Float yaw_slew_time;
146
AP_Float pitch_slew_time;
147
AP_Float min_reverse_time;
148
AP_Int16 scan_speed_yaw;
149
AP_Int16 scan_speed_pitch;
150
151
AP_Float start_latitude;
152
AP_Float start_longitude;
153
154
AP_Float startup_delay;
155
AP_Int8 servo_pitch_type;
156
AP_Int8 servo_yaw_type;
157
AP_Int8 alt_source;
158
AP_Int8 mavlink_update_rate;
159
AP_Float onoff_yaw_rate;
160
AP_Float onoff_pitch_rate;
161
AP_Float onoff_yaw_mintime;
162
AP_Float onoff_pitch_mintime;
163
AP_Float yaw_trim;
164
AP_Float pitch_trim;
165
AP_Int16 yaw_range; // yaw axis total range of motion in degrees
166
AP_Int16 distance_min; // target's must be at least this distance from tracker to be tracked
167
AP_Int16 pitch_min;
168
AP_Int16 pitch_max;
169
AP_Int16 gcs_pid_mask;
170
AP_Int8 initial_mode;
171
AP_Int8 disarm_pwm;
172
AP_Int8 auto_opts;
173
174
// Waypoints
175
//
176
AP_Int8 command_total; // 1 if HOME is set
177
178
AP_Int32 log_bitmask;
179
180
// AC_PID controllers
181
AC_PID pidPitch2Srv;
182
AC_PID pidYaw2Srv;
183
184
Parameters() :
185
pidPitch2Srv(0.2, 0.0f, 0.05f, 0.02f, 4000.0f, 0.0f, 0.0f, 0.0f, 0.1f),
186
pidYaw2Srv (0.2, 0.0f, 0.05f, 0.02f, 4000.0f, 0.0f, 0.0f, 0.0f, 0.1f)
187
{}
188
};
189
190
extern const AP_Param::Info var_info[];
191
192