ArduCopter - increased firmware version to 118. Removed nearly all heli parameters as these are all created by the AP_MotorHeli class now.

Note: we cannot move the heli_servos to the AP_MotorHeli class yet because of a small issue in the parameters class.
This commit is contained in:
rmackay9 2012-04-04 22:55:07 +09:00
parent acc24291f3
commit 929e933b69
2 changed files with 14 additions and 65 deletions

View File

@ -17,7 +17,7 @@ public:
// The increment will prevent old parameters from being used incorrectly
// by newer code.
//
static const uint16_t k_format_version = 117;
static const uint16_t k_format_version = 118;
// The parameter software_type is set up solely for ground station use
// and identifies the software type (eg ArduPilotMega versus ArduCopterMega)
@ -65,23 +65,13 @@ public:
k_param_heli_servo_2,
k_param_heli_servo_3,
k_param_heli_servo_4,
k_param_heli_servo1_pos ,
k_param_heli_servo2_pos,
k_param_heli_servo3_pos,
k_param_heli_roll_max,
k_param_heli_pitch_max,
k_param_heli_collective_min,
k_param_heli_collective_max,
k_param_heli_collective_mid,
k_param_heli_ext_gyro_enabled,
k_param_heli_ext_gyro_gain,
k_param_heli_servo_averaging,
k_param_heli_servo_manual,
k_param_heli_phase_angle,
k_param_heli_collective_yaw_effect,
k_param_heli_h1_swash_enabled, //98
#endif
//
// 90: Motors
//
k_param_motors = 90,
// 110: Telemetry control
//
k_param_gcs0 = 110,
@ -103,15 +93,14 @@ public:
k_param_compass,
k_param_sonar_enabled,
k_param_frame_orientation,
k_param_top_bottom_ratio,
k_param_optflow_enabled,
k_param_low_voltage,
k_param_ch7_option,
k_param_auto_slew_rate,
k_param_sonar_type,
k_param_super_simple, //155
k_param_super_simple,
k_param_rtl_land_enabled,
k_param_axis_enabled,
k_param_axis_enabled, //157
//
// 160: Navigation parameters
@ -266,23 +255,12 @@ public:
AP_Int16 radio_tuning_high;
AP_Int16 radio_tuning_low;
AP_Int8 frame_orientation;
AP_Float top_bottom_ratio;
AP_Int8 ch7_option;
AP_Int16 auto_slew_rate;
#if FRAME_CONFIG == HELI_FRAME
// Heli
RC_Channel heli_servo_1, heli_servo_2, heli_servo_3, heli_servo_4; // servos for swash plate and tail
AP_Int16 heli_servo1_pos, heli_servo2_pos, heli_servo3_pos; // servo positions (3 because we don't need pos for tail servo)
AP_Int16 heli_roll_max, heli_pitch_max; // maximum allowed roll and pitch of swashplate
AP_Int16 heli_collective_min, heli_collective_max, heli_collective_mid; // min and max collective. mid = main blades at zero pitch
AP_Int8 heli_ext_gyro_enabled; // 0 = no external tail gyro, 1 = external tail gyro
AP_Int16 heli_ext_gyro_gain; // radio output 1000~2000 (value output on CH_7)
AP_Int8 heli_servo_averaging; // 0 or 1 = no averaging (250hz) for **digital servos**, 2=average of two samples (125hz), 3=three samples (83.3hz) **analog servos**, 4=four samples (62.5hz), 5=5 samples(50hz)
AP_Int8 heli_servo_manual; // 0 = normal mode, 1 = radio inputs directly control swash. required for swash set-up
AP_Int16 heli_phase_angle; // 0 to 360 degrees. specifies mixing between roll and pitch for helis
AP_Float heli_collective_yaw_effect; // -5.0 ~ 5.0. Feed forward control from collective to yaw. 1.0 = move rudder right 1% for every 1% of collective above the mid point
AP_Int8 heli_h1_swash_enabled; // 0 = CCPM swashplate, 1 = H1 swashplate (no servo mixing)
#endif
// RC channels
@ -384,28 +362,9 @@ public:
radio_tuning_high (1000),
radio_tuning_low (0),
frame_orientation (FRAME_ORIENTATION),
top_bottom_ratio (TOP_BOTTOM_RATIO),
ch7_option (CH7_OPTION),
auto_slew_rate (AUTO_SLEW_RATE),
#if FRAME_CONFIG == HELI_FRAME
heli_servo1_pos (-60),
heli_servo2_pos (60),
heli_servo3_pos (180),
heli_roll_max (4500),
heli_pitch_max (4500),
heli_collective_min (1250),
heli_collective_max (1750),
heli_collective_mid (1500),
heli_ext_gyro_enabled (0),
heli_ext_gyro_gain (1350),
heli_servo_averaging (0),
heli_servo_manual (0),
heli_phase_angle (0),
heli_collective_yaw_effect (0),
heli_h1_swash_enabled (0),
#endif
rc_speed(RC_FAST_SPEED),
camera_pitch_gain (CAM_PITCH_GAIN),

View File

@ -67,7 +67,6 @@ static const AP_Param::Info var_info[] PROGMEM = {
GSCALAR(radio_tuning_low, "TUNE_LOW"),
GSCALAR(radio_tuning_high, "TUNE_HIGH"),
GSCALAR(frame_orientation, "FRAME"),
GSCALAR(top_bottom_ratio, "TB_RATIO"),
GSCALAR(ch7_option, "CH7_OPT"),
GSCALAR(auto_slew_rate, "AUTO_SLEW"),
@ -76,21 +75,6 @@ static const AP_Param::Info var_info[] PROGMEM = {
GGROUP(heli_servo_2, "HS2_", RC_Channel),
GGROUP(heli_servo_3, "HS3_", RC_Channel),
GGROUP(heli_servo_4, "HS4_", RC_Channel),
GSCALAR(heli_servo1_pos, "SV1_POS"),
GSCALAR(heli_servo2_pos, "SV2_POS"),
GSCALAR(heli_servo3_pos, "SV3_POS"),
GSCALAR(heli_roll_max, "ROL_MAX"),
GSCALAR(heli_pitch_max, "PIT_MAX"),
GSCALAR(heli_collective_min, "COL_MIN"),
GSCALAR(heli_collective_max, "COL_MAX"),
GSCALAR(heli_collective_mid, "COL_MID"),
GSCALAR(heli_ext_gyro_enabled, "GYR_ENABLE"),
GSCALAR(heli_h1_swash_enabled, "H1_ENABLE"),
GSCALAR(heli_ext_gyro_gain, "GYR_GAIN"),
GSCALAR(heli_servo_averaging, "SV_AVG"),
GSCALAR(heli_servo_manual, "HSV_MAN"),
GSCALAR(heli_phase_angle, "H_PHANG"),
GSCALAR(heli_collective_yaw_effect, "H_COLYAW"),
#endif
// RC channel
@ -151,6 +135,12 @@ static const AP_Param::Info var_info[] PROGMEM = {
GOBJECT(gcs0, "SR0_", GCS_MAVLINK),
GOBJECT(gcs3, "SR3_", GCS_MAVLINK),
GOBJECT(imu, "IMU_", IMU)
#if FRAME_CONFIG == HELI_FRAME
,GOBJECT(motors, "H_", AP_MotorsHeli)
#else
,GOBJECT(motors, "MOT_", AP_Motors)
#endif
};