Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Ardupilot
GitHub Repository: Ardupilot/ardupilot
Path: blob/master/ArduCopter/Parameters.h
9698 views
1
#pragma once
2
3
#define AP_PARAM_VEHICLE_NAME copter
4
5
#include <AP_Common/AP_Common.h>
6
#include "RC_Channel_Copter.h"
7
#include <AP_Proximity/AP_Proximity.h>
8
9
class ModeRTL;
10
11
#if MODE_FOLLOW_ENABLED
12
# include <AP_Follow/AP_Follow.h>
13
#endif
14
#if WEATHERVANE_ENABLED
15
#include <AC_AttitudeControl/AC_WeatherVane.h>
16
#endif
17
18
// Global parameter class.
19
//
20
class Parameters {
21
public:
22
// The version of the layout as described by the parameter enum.
23
//
24
// When changing the parameter enum in an incompatible fashion, this
25
// value should be incremented by one.
26
//
27
// The increment will prevent old parameters from being used incorrectly
28
// by newer code.
29
//
30
static const uint16_t k_format_version = 120;
31
32
// Parameter identities.
33
//
34
// The enumeration defined here is used to ensure that every parameter
35
// or parameter group has a unique ID number. This number is used by
36
// AP_Param to store and locate parameters in EEPROM.
37
//
38
// Note that entries without a number are assigned the next number after
39
// the entry preceding them. When adding new entries, ensure that they
40
// don't overlap.
41
//
42
// Try to group related variables together, and assign them a set
43
// range in the enumeration. Place these groups in numerical order
44
// at the end of the enumeration.
45
//
46
// WARNING: Care should be taken when editing this enumeration as the
47
// AP_Param load/save code depends on the values here to identify
48
// variables saved in EEPROM.
49
//
50
//
51
enum {
52
// Layout version number, always key zero.
53
//
54
k_param_format_version = 0,
55
k_param_software_type, // deprecated
56
k_param_ins_old, // *** Deprecated, remove with next eeprom number change
57
k_param_ins, // libraries/AP_InertialSensor variables
58
k_param_NavEKF2_old, // deprecated - remove
59
k_param_NavEKF2,
60
k_param_g2, // 2nd block of parameters
61
k_param_NavEKF3,
62
k_param_can_mgr,
63
k_param_osd,
64
65
// simulation
66
k_param_sitl = 10,
67
68
// barometer object (needed for SITL)
69
k_param_barometer,
70
71
// scheduler object (for debugging)
72
k_param_scheduler,
73
74
// relay object
75
k_param_relay,
76
77
// (old) EPM object
78
k_param_epm_unused,
79
80
// BoardConfig object
81
k_param_BoardConfig,
82
83
// GPS object
84
k_param_gps,
85
86
// Parachute object
87
k_param_parachute,
88
89
// Landing gear object
90
k_param_landinggear, // 18
91
92
// Input Management object
93
k_param_input_manager, // 19
94
95
// Misc
96
//
97
k_param_log_bitmask_old = 20, // Deprecated
98
k_param_log_last_filenumber, // *** Deprecated - remove
99
// with next eeprom number
100
// change
101
k_param_toy_yaw_rate, // deprecated - remove
102
k_param_crosstrack_min_distance, // deprecated - remove with next eeprom number change
103
k_param_rssi_pin, // unused, replaced by rssi_ library parameters
104
k_param_throttle_accel_enabled, // deprecated - remove
105
k_param_wp_yaw_behavior,
106
k_param_acro_trainer,
107
k_param_pilot_speed_up_cms, // renamed from k_param_pilot_velocity_z_max
108
k_param_circle_rate, // deprecated - remove
109
k_param_rangefinder_gain, // deprecated - remove
110
k_param_ch8_option_old, // deprecated
111
k_param_arming_check_old, // deprecated - remove
112
k_param_sprayer,
113
k_param_angle_max, // remove
114
k_param_gps_hdop_good,
115
k_param_battery,
116
k_param_fs_batt_mah, // unused - moved to AP_BattMonitor
117
k_param_angle_rate_max, // remove
118
k_param_rssi_range, // unused, replaced by rssi_ library parameters
119
k_param_rc_feel_rp, // deprecated
120
k_param_NavEKF, // deprecated - remove
121
k_param_mission, // mission library
122
k_param_rc_13_old,
123
k_param_rc_14_old,
124
k_param_rally,
125
k_param_poshold_brake_rate_degs,
126
k_param_poshold_brake_angle_max,
127
k_param_pilot_accel_d_cmss,
128
k_param_serial0_baud, // deprecated - remove
129
k_param_serial1_baud, // deprecated - remove
130
k_param_serial2_baud, // deprecated - remove
131
k_param_land_repositioning,
132
k_param_rangefinder, // rangefinder object
133
k_param_fs_ekf_thresh,
134
k_param_terrain,
135
k_param_acro_rp_expo, // deprecated - remove
136
k_param_throttle_deadzone,
137
k_param_optflow,
138
k_param_dcmcheck_thresh, // deprecated - remove
139
k_param_log_bitmask,
140
k_param_cli_enabled_old, // deprecated - remove
141
k_param_throttle_filt,
142
k_param_throttle_behavior,
143
k_param_pilot_takeoff_alt_cm, // 64
144
145
// 65: AP_Limits Library
146
k_param_limits = 65, // deprecated - remove
147
k_param_gpslock_limit, // deprecated - remove
148
k_param_geofence_limit, // deprecated - remove
149
k_param_altitude_limit, // deprecated - remove
150
k_param_fence_old, // only used for conversion
151
k_param_gps_glitch, // deprecated
152
k_param_baro_glitch, // 71 - deprecated
153
154
// AP_ADSB Library
155
k_param_adsb, // 72
156
k_param_notify, // 73
157
158
// 74: precision landing object
159
k_param_precland = 74,
160
161
//
162
// 75: Singlecopter, CoaxCopter
163
//
164
k_param_single_servo_1 = 75, // remove
165
k_param_single_servo_2, // remove
166
k_param_single_servo_3, // remove
167
k_param_single_servo_4, // 78 - remove
168
169
//
170
// 80: Heli
171
//
172
k_param_heli_servo_1 = 80, // remove
173
k_param_heli_servo_2, // remove
174
k_param_heli_servo_3, // remove
175
k_param_heli_servo_4, // remove
176
k_param_heli_pitch_ff, // remove
177
k_param_heli_roll_ff, // remove
178
k_param_heli_yaw_ff, // remove
179
k_param_heli_stab_col_min, // remove
180
k_param_heli_stab_col_max, // remove
181
k_param_heli_servo_rsc, // 89 = full! - remove
182
183
//
184
// 90: misc2
185
//
186
k_param_motors = 90,
187
k_param_disarm_delay,
188
k_param_fs_crash_check,
189
k_param_throw_motor_start,
190
k_param_rtl_alt_type,
191
k_param_avoid,
192
k_param_avoidance_adsb,
193
194
// 97: RSSI
195
k_param_rssi = 97,
196
197
//
198
// 100: Inertial Nav
199
//
200
k_param_inertial_nav = 100, // deprecated
201
k_param_wp_nav,
202
k_param_attitude_control,
203
k_param_pos_control,
204
k_param_circle_nav,
205
k_param_loiter_nav, // 105
206
k_param_custom_control,
207
208
// 110: Telemetry control
209
//
210
k_param_gcs0_unused = 110, // unused in ArduPilot-4.7
211
k_param_gcs1_unused, // unused in ArduPilot-4.7
212
k_param_sysid_this_mav_old,
213
k_param_sysid_my_gcs_old,
214
k_param_serial1_baud_old, // deprecated
215
k_param_telem_delay_old, // used for conversion in ArduPilot-4.7
216
k_param_gcs2_unused, // unused in ArduPilot-4.7
217
k_param_serial2_baud_old, // deprecated
218
k_param_serial2_protocol, // deprecated
219
k_param_serial_manager_old,
220
k_param_ch9_option_old,
221
k_param_ch10_option_old,
222
k_param_ch11_option_old,
223
k_param_ch12_option_old,
224
k_param_takeoff_trigger_dz_old,
225
k_param_gcs3_unused, // unused in ArduPilot-4.7
226
k_param_gcs_pid_mask, // 126
227
k_param_gcs4_unused, // unused in ArduPilot-4.7
228
k_param_gcs5_unused, // unused in ArduPilot-4.7
229
k_param_gcs6_unused, // unused in ArduPilot-4.7
230
231
//
232
// 135 : reserved for Solo until features merged with master
233
//
234
k_param_rtl_speed_cms = 135, // remove
235
k_param_fs_batt_curr_rtl,
236
k_param_rtl_cone_slope, // 137
237
238
//
239
// 140: Sensor parameters
240
//
241
k_param_imu = 140, // deprecated - can be deleted
242
k_param_battery_monitoring = 141, // deprecated - can be deleted
243
k_param_volt_div_ratio, // deprecated - can be deleted
244
k_param_curr_amp_per_volt, // deprecated - can be deleted
245
k_param_input_voltage, // deprecated - can be deleted
246
k_param_pack_capacity, // deprecated - can be deleted
247
k_param_compass_enabled_deprecated,
248
k_param_compass,
249
k_param_rangefinder_enabled_old, // deprecated
250
k_param_frame_type,
251
k_param_optflow_enabled, // deprecated
252
k_param_fs_batt_voltage, // unused - moved to AP_BattMonitor
253
k_param_ch7_option_old,
254
k_param_auto_slew_rate, // deprecated - can be deleted
255
k_param_rangefinder_type_old, // deprecated
256
k_param_super_simple = 155,
257
k_param_axis_enabled = 157, // deprecated - remove with next eeprom number change
258
k_param_copter_leds_mode, // deprecated - remove with next eeprom number change
259
k_param_ahrs, // AHRS group // 159
260
261
//
262
// 160: Navigation parameters
263
//
264
k_param_rtl_altitude_cm = 160, // remove
265
k_param_crosstrack_gain, // deprecated - remove with next eeprom number change
266
k_param_rtl_loiter_time,
267
k_param_rtl_alt_final_cm, // remove
268
k_param_tilt_comp, // 164 deprecated - remove with next eeprom number change
269
270
271
//
272
// Camera and mount parameters
273
//
274
k_param_camera = 165,
275
k_param_camera_mount,
276
k_param_camera_mount2, // deprecated
277
278
//
279
// Battery monitoring parameters
280
//
281
k_param_battery_volt_pin = 168, // deprecated - can be deleted
282
k_param_battery_curr_pin, // 169 deprecated - can be deleted
283
284
//
285
// 170: Radio settings
286
//
287
k_param_rc_1_old = 170,
288
k_param_rc_2_old,
289
k_param_rc_3_old,
290
k_param_rc_4_old,
291
k_param_rc_5_old,
292
k_param_rc_6_old,
293
k_param_rc_7_old,
294
k_param_rc_8_old,
295
k_param_rc_10_old,
296
k_param_rc_11_old,
297
k_param_throttle_min, // remove
298
k_param_throttle_max, // remove
299
k_param_failsafe_throttle,
300
k_param_throttle_fs_action, // remove
301
k_param_failsafe_throttle_value,
302
k_param_throttle_trim, // remove
303
k_param_esc_calibrate,
304
k_param_rc_tuning_param,
305
k_param_rc_tuning_param_high_old, // unused
306
k_param_rc_tuning_param_low_old, // unused
307
k_param_rc_speed = 192,
308
k_param_failsafe_battery_enabled, // unused - moved to AP_BattMonitor
309
k_param_throttle_mid, // remove
310
k_param_failsafe_gps_enabled, // remove
311
k_param_rc_9_old,
312
k_param_rc_12_old,
313
k_param_failsafe_gcs,
314
k_param_rcmap, // 199
315
316
//
317
// 200: flight modes
318
//
319
k_param_flight_mode1 = 200,
320
k_param_flight_mode2,
321
k_param_flight_mode3,
322
k_param_flight_mode4,
323
k_param_flight_mode5,
324
k_param_flight_mode6,
325
k_param_simple_modes,
326
k_param_flight_mode_chan,
327
k_param_initial_mode,
328
329
//
330
// 210: Waypoint data
331
//
332
k_param_waypoint_mode = 210, // remove
333
k_param_command_total, // remove
334
k_param_command_index, // remove
335
k_param_command_nav_index, // remove
336
k_param_waypoint_radius, // remove
337
k_param_circle_radius, // remove
338
k_param_waypoint_speed_max, // remove
339
k_param_land_speed_cms, // remove
340
k_param_auto_velocity_z_min, // remove
341
k_param_auto_velocity_z_max, // remove - 219
342
k_param_land_speed_high_cms, // remove
343
344
//
345
// 220: PI/D Controllers
346
//
347
k_param_acro_rp_p = 221, // remove
348
k_param_axis_lock_p, // remove
349
k_param_pid_rate_roll, // remove
350
k_param_pid_rate_pitch, // remove
351
k_param_pid_rate_yaw, // remove
352
k_param_p_stabilize_roll, // remove
353
k_param_p_stabilize_pitch, // remove
354
k_param_p_stabilize_yaw, // remove
355
k_param_p_pos_xy, // remove
356
k_param_p_loiter_lon, // remove
357
k_param_pid_loiter_rate_lat, // remove
358
k_param_pid_loiter_rate_lon, // remove
359
k_param_pid_nav_lat, // remove
360
k_param_pid_nav_lon, // remove
361
k_param_p_alt_hold, // remove
362
k_param_p_vel_z, // remove
363
k_param_pid_optflow_roll, // remove
364
k_param_pid_optflow_pitch, // remove
365
k_param_acro_balance_roll_old, // remove
366
k_param_acro_balance_pitch_old, // remove
367
k_param_pid_accel_z, // remove
368
k_param_acro_balance_roll,
369
k_param_acro_balance_pitch,
370
k_param_acro_yaw_p, // remove
371
k_param_autotune_axis_bitmask, // remove
372
k_param_autotune_aggressiveness, // remove
373
k_param_pi_vel_xy, // remove
374
k_param_fs_ekf_action,
375
k_param_rtl_climb_min_cm, // remove
376
k_param_rpm_sensor_old, // remove
377
k_param_autotune_min_d, // remove
378
k_param_arming, // 252 - AP_Arming
379
k_param_logger = 253, // 253 - Logging Group
380
381
// 254,255: reserved
382
383
k_param_vehicle = 257, // vehicle common block of parameters
384
k_param_throw_altitude_min,
385
k_param_throw_altitude_max,
386
k_param__gcs,
387
k_param_throw_altitude_descend,
388
k_param_throw_altitude_ascend,
389
390
// the k_param_* space is 9-bits in size
391
// 511: reserved
392
};
393
394
AP_Int16 format_version;
395
396
AP_Float throttle_filt;
397
AP_Int16 throttle_behavior;
398
AP_Float pilot_takeoff_alt_cm;
399
400
#if MODE_RTL_ENABLED
401
AP_Float rtl_cone_slope;
402
AP_Int32 rtl_loiter_time;
403
AP_Enum<ModeRTL::RTLAltType> rtl_alt_type;
404
#endif
405
406
AP_Int8 failsafe_gcs; // ground station failsafe behavior
407
AP_Int16 gps_hdop_good; // GPS Hdop value at or below this value represent a good position
408
409
AP_Int8 super_simple;
410
411
AP_Int8 wp_yaw_behavior; // controls how the autopilot controls yaw during missions
412
413
#if MODE_POSHOLD_ENABLED
414
AP_Int16 poshold_brake_rate_degs; // PosHold flight mode's rotation rate during braking in deg/sec
415
AP_Int16 poshold_brake_angle_max; // PosHold flight mode's max lean angle during braking in centi-degrees
416
#endif
417
418
// Waypoints
419
//
420
AP_Int16 pilot_speed_up_cms; // maximum vertical ascending velocity the pilot may request
421
AP_Int16 pilot_accel_d_cmss; // vertical acceleration the pilot may request
422
423
// Throttle
424
//
425
AP_Int8 failsafe_throttle;
426
AP_Int16 failsafe_throttle_value;
427
AP_Int16 throttle_deadzone;
428
429
// Flight modes
430
//
431
AP_Int8 flight_mode1;
432
AP_Int8 flight_mode2;
433
AP_Int8 flight_mode3;
434
AP_Int8 flight_mode4;
435
AP_Int8 flight_mode5;
436
AP_Int8 flight_mode6;
437
AP_Int8 simple_modes;
438
AP_Int8 flight_mode_chan;
439
AP_Int8 initial_mode;
440
441
// Misc
442
//
443
AP_Int32 log_bitmask;
444
AP_Int8 esc_calibrate;
445
#if AP_RC_TRANSMITTER_TUNING_ENABLED
446
AP_Int8 rc_tuning_param;
447
#endif // AP_RC_TRANSMITTER_TUNING_ENABLED
448
AP_Int8 frame_type;
449
AP_Int8 disarm_delay;
450
451
AP_Int8 land_repositioning;
452
AP_Int8 fs_ekf_action;
453
AP_Int8 fs_crash_check;
454
AP_Float fs_ekf_thresh;
455
AP_Int16 gcs_pid_mask;
456
457
#if MODE_THROW_ENABLED
458
AP_Enum<ModeThrow::PreThrowMotorState> throw_motor_start;
459
AP_Int16 throw_altitude_min; // minimum altitude in m above which a throw can be detected
460
AP_Int16 throw_altitude_max; // maximum altitude in m below which a throw can be detected
461
462
AP_Float throw_altitude_descend; // target altitude (meters) to descend during a drop, (must be positive)
463
AP_Float throw_altitude_ascend; // target altitude (meters) to ascend during a throw upwards, (must be positive)
464
#endif
465
466
AP_Int16 rc_speed; // speed of fast RC Channels in Hz
467
468
#if MODE_ACRO_ENABLED || MODE_SPORT_ENABLED
469
// Acro parameters
470
AP_Float acro_balance_roll;
471
AP_Float acro_balance_pitch;
472
#endif
473
474
#if MODE_ACRO_ENABLED
475
// Acro parameters
476
AP_Int8 acro_trainer;
477
#endif
478
479
// Note: keep initializers here in the same order as they are declared
480
// above.
481
Parameters()
482
{
483
}
484
};
485
486
/*
487
2nd block of parameters, to avoid going past 256 top level keys
488
*/
489
class ParametersG2 {
490
public:
491
ParametersG2(void);
492
493
// var_info for holding Parameter information
494
static const struct AP_Param::GroupInfo var_info[];
495
static const struct AP_Param::GroupInfo var_info2[];
496
497
// altitude at which nav control can start in takeoff
498
AP_Float wp_navalt_min_m;
499
500
// unused_integer simply exists so that the constructor for
501
// ParametersG2 can be created with a relatively easy syntax in
502
// the face of many #ifs:
503
uint8_t unused_integer;
504
505
// button checking
506
#if HAL_BUTTON_ENABLED
507
AP_Button *button_ptr;
508
#endif
509
510
#if MODE_THROW_ENABLED
511
// Throw mode parameters
512
AP_Int8 throw_nextmode;
513
AP_Enum<ModeThrow::ThrowType> throw_type;
514
#endif
515
516
// ground effect compensation enable/disable
517
AP_Int8 gndeffect_comp_enabled;
518
519
#if AP_TEMPCALIBRATION_ENABLED
520
// temperature calibration handling
521
AP_TempCalibration temp_calibration;
522
#endif
523
524
#if AP_BEACON_ENABLED
525
// beacon (non-GPS positioning) library
526
AP_Beacon beacon;
527
#endif
528
529
#if HAL_PROXIMITY_ENABLED
530
// proximity (aka object avoidance) library
531
AP_Proximity proximity;
532
#endif
533
534
#if AP_COPTER_ADVANCED_FAILSAFE_ENABLED
535
// advanced failsafe library
536
AP_AdvancedFailsafe_Copter afs;
537
#endif
538
539
// developer options
540
AP_Int32 dev_options;
541
542
#if MODE_ACRO_ENABLED
543
AP_Float acro_thr_mid;
544
#endif
545
546
// frame class
547
AP_Int8 frame_class;
548
549
// RC input channels
550
RC_Channels_Copter rc_channels;
551
552
// control over servo output ranges
553
SRV_Channels servo_channels;
554
555
#if MODE_SMARTRTL_ENABLED
556
// Safe RTL library
557
AP_SmartRTL smart_rtl;
558
#endif
559
560
// wheel encoder and winch
561
#if AP_WINCH_ENABLED
562
AP_Winch winch;
563
#endif
564
565
// Additional pilot velocity items
566
AP_Int16 pilot_speed_dn_cms;
567
568
#if TOY_MODE_ENABLED
569
ToyMode toy_mode;
570
#endif
571
572
#if MODE_FLOWHOLD_ENABLED
573
// we need a pointer to the mode for the G2 table
574
void *mode_flowhold_ptr;
575
#endif
576
577
#if MODE_FOLLOW_ENABLED
578
// follow
579
AP_Follow follow;
580
#endif
581
582
#if USER_PARAMS_ENABLED
583
// User custom parameters
584
UserParameters user_parameters;
585
#endif
586
587
#if AUTOTUNE_ENABLED
588
// we need a pointer to autotune for the G2 table
589
void *autotune_ptr;
590
#endif
591
592
#if AP_RC_TRANSMITTER_TUNING_ENABLED
593
AP_Float rc_tuning_min;
594
AP_Float rc_tuning_max;
595
#endif // AP_RC_TRANSMITTER_TUNING_ENABLED
596
597
#if AP_OAPATHPLANNER_ENABLED
598
// object avoidance path planning
599
AP_OAPathPlanner oa;
600
#endif
601
602
#if MODE_SYSTEMID_ENABLED
603
// we need a pointer to the mode for the G2 table
604
void *mode_systemid_ptr;
605
#endif
606
607
// vibration failsafe enable/disable
608
AP_Int8 fs_vibe_enabled;
609
610
// Failsafe options bitmask #36
611
AP_Int32 fs_options;
612
613
#if MODE_AUTOROTATE_ENABLED
614
// Autonmous autorotation
615
AC_Autorotation arot;
616
#endif
617
618
#if MODE_ZIGZAG_ENABLED
619
// we need a pointer to the mode for the G2 table
620
void *mode_zigzag_ptr;
621
#endif
622
623
// command model parameters
624
#if MODE_ACRO_ENABLED || MODE_SPORT_ENABLED
625
AC_CommandModel command_model_acro_rp;
626
#endif
627
628
#if MODE_ACRO_ENABLED || MODE_DRIFT_ENABLED
629
AC_CommandModel command_model_acro_y;
630
#endif
631
632
AC_CommandModel command_model_pilot_y;
633
634
#if MODE_ACRO_ENABLED
635
AP_Int8 acro_options;
636
#endif
637
638
#if MODE_AUTO_ENABLED
639
AP_Int32 auto_options;
640
#endif
641
642
#if MODE_GUIDED_ENABLED
643
AP_Int32 guided_options;
644
#endif
645
646
AP_Float fs_gcs_timeout;
647
648
#if MODE_RTL_ENABLED
649
AP_Int32 rtl_options;
650
#endif
651
652
AP_Int32 flight_options;
653
654
#if AP_RANGEFINDER_ENABLED
655
AP_Float rangefinder_filt;
656
#endif
657
658
#if MODE_GUIDED_ENABLED
659
AP_Float guided_timeout;
660
#endif
661
662
AP_Int8 surftrak_mode;
663
AP_Int8 failsafe_dr_enable;
664
AP_Int16 failsafe_dr_timeout;
665
AP_Float surftrak_tc;
666
667
// ramp time of throttle during take-off
668
AP_Float takeoff_throttle_slew_time;
669
AP_Float takeoff_throttle_max;
670
#if HAL_WITH_ESC_TELEM && FRAME_CONFIG != HELI_FRAME
671
AP_Int16 takeoff_rpm_min;
672
AP_Int16 takeoff_rpm_max;
673
#endif
674
675
// EKF variance filter cutoff
676
AP_Float fs_ekf_filt_hz;
677
678
#if WEATHERVANE_ENABLED
679
AC_WeatherVane weathervane;
680
#endif
681
682
#if AC_PAYLOAD_PLACE_ENABLED
683
// payload place parameters
684
AP_Float pldp_thrust_placed_fraction;
685
AP_Float pldp_range_finder_maximum_m;
686
AP_Float pldp_delay_s;
687
AP_Float pldp_descent_speed_ms;
688
#endif // AC_PAYLOAD_PLACE_ENABLED
689
690
AP_Int8 att_enable;
691
AP_Int8 att_decimation;
692
693
#if AP_RC_TRANSMITTER_TUNING_ENABLED
694
// second transmitter channel for tuning:
695
AP_Int8 rc_tuning2_param;
696
AP_Float rc_tuning2_min;
697
AP_Float rc_tuning2_max;
698
#endif // AP_RC_TRANSMITTER_TUNING_ENABLED
699
700
#if MODE_RTL_ENABLED
701
void *mode_rtl_ptr;
702
#endif
703
704
void *mode_land_ptr;
705
};
706
707
extern const AP_Param::Info var_info[];
708
709