Browse Source

AP_MotorsTri: YAW_SV_REV values -1 or +1

Also resolve parameter conflict with TradHeli
mission-4.1.18
Randy Mackay 10 years ago
parent
commit
8dc7cf7fa8
  1. 18
      libraries/AP_Motors/AP_MotorsTri.cpp

18
libraries/AP_Motors/AP_MotorsTri.cpp

@ -29,12 +29,16 @@ const AP_Param::GroupInfo AP_MotorsTri::var_info[] PROGMEM = { @@ -29,12 +29,16 @@ const AP_Param::GroupInfo AP_MotorsTri::var_info[] PROGMEM = {
// variables from parent vehicle
AP_NESTEDGROUPINFO(AP_Motors, 0),
// parameters 1 ~ 29 reserved for tradheli
// parameters 30 ~ 39 reserved for tricopter
// parameters 40 ~ 49 for single copter and coax copter (these have identical parameter files)
// @Param: YAW_SV_REV
// @DisplayName: Yaw Servo Reverse
// @Description: Yaw servo signal reversing
// @Range: 0, 1
// @Description: Yaw servo reversing. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel.
// @Values: -1:Reversed,1:Normal
// @User: Standard
AP_GROUPINFO("YAW_SV_REV", 1, AP_MotorsTri, _yaw_servo_reverse, 0),
AP_GROUPINFO("YAW_SV_REV", 31, AP_MotorsTri, _yaw_servo_reverse, 1),
// @Param: YAW_SV_TRIM
// @DisplayName: Yaw Servo Trim/Center
@ -43,7 +47,7 @@ const AP_Param::GroupInfo AP_MotorsTri::var_info[] PROGMEM = { @@ -43,7 +47,7 @@ const AP_Param::GroupInfo AP_MotorsTri::var_info[] PROGMEM = {
// @Units: PWM
// @Increment: 1
// @User: Standard
AP_GROUPINFO("YAW_SV_TRIM", 2, AP_MotorsTri, _yaw_servo_trim, 1500),
AP_GROUPINFO("YAW_SV_TRIM", 32, AP_MotorsTri, _yaw_servo_trim, 1500),
// @Param: YAW_SV_MIN
// @DisplayName: Yaw Servo Min Position
@ -52,7 +56,7 @@ const AP_Param::GroupInfo AP_MotorsTri::var_info[] PROGMEM = { @@ -52,7 +56,7 @@ const AP_Param::GroupInfo AP_MotorsTri::var_info[] PROGMEM = {
// @Units: PWM
// @Increment: 1
// @User: Standard
AP_GROUPINFO("YAW_SV_MIN", 3, AP_MotorsTri, _yaw_servo_min, 1250),
AP_GROUPINFO("YAW_SV_MIN", 33, AP_MotorsTri, _yaw_servo_min, 1250),
// @Param: YAW_SV_MAX
// @DisplayName: Yaw Servo Max Position
@ -61,7 +65,7 @@ const AP_Param::GroupInfo AP_MotorsTri::var_info[] PROGMEM = { @@ -61,7 +65,7 @@ const AP_Param::GroupInfo AP_MotorsTri::var_info[] PROGMEM = {
// @Units: PWM
// @Increment: 1
// @User: Standard
AP_GROUPINFO("YAW_SV_MAX", 4, AP_MotorsTri, _yaw_servo_max, 1750),
AP_GROUPINFO("YAW_SV_MAX", 34, AP_MotorsTri, _yaw_servo_max, 1750),
AP_GROUPEND
@ -338,7 +342,7 @@ int16_t AP_MotorsTri::calc_yaw_radio_output() @@ -338,7 +342,7 @@ int16_t AP_MotorsTri::calc_yaw_radio_output()
{
int16_t ret;
if (_yaw_servo_reverse){
if (_yaw_servo_reverse < 0) {
if (_yaw_control_input >= 0){
ret = (_yaw_servo_trim - (_yaw_control_input/4500 * (_yaw_servo_trim - _yaw_servo_min)));
} else {

Loading…
Cancel
Save