AP_Motors: Tradheli servo_test fix

This commit is contained in:
Josh Welsh 2020-08-03 19:38:11 -07:00 committed by Randy Mackay
parent d70e75b34e
commit 69d97abb88
2 changed files with 11 additions and 0 deletions

View File

@ -176,6 +176,9 @@ void AP_MotorsHeli::output()
output_logic();
if (_flags.armed) {
//block servo_test from happening at disarm
_servo_test_cycle_counter = 0;
calculate_armed_scalars();
if (!_flags.interlock) {
output_armed_zero_throttle();
@ -216,9 +219,13 @@ void AP_MotorsHeli::output_armed_zero_throttle()
void AP_MotorsHeli::output_disarmed()
{
if (_servo_test_cycle_counter > 0){
//set servo_test_flag
_heliflags.servo_test_running = true;
// perform boot-up servo test cycle if enabled
servo_test();
} else {
//set servo_test flag
_heliflags.servo_test_running = false;
// manual override (i.e. when setting up swash)
switch (_servo_mode) {
case SERVO_CONTROL_MODE_MANUAL_PASSTHROUGH:

View File

@ -130,6 +130,9 @@ public:
// set_enable_bailout - allows main code to set when RSC can immediately ramp engine instantly
void set_enable_bailout(bool bailout) { _heliflags.enable_bailout = bailout; }
// return true if the servo test is still running/pending
bool servo_test_running() const { return _heliflags.servo_test_running; }
// var_info for holding Parameter information
static const struct AP_Param::GroupInfo var_info[];
@ -199,6 +202,7 @@ protected:
uint8_t save_rsc_mode : 1; // used to determine the rsc mode needs to be saved while disarmed
uint8_t in_autorotation : 1; // true if aircraft is in autorotation
uint8_t enable_bailout : 1; // true if allowing RSC to quickly ramp up engine
uint8_t servo_test_running : 1; // true if servo_test is running
} _heliflags;
// parameters