You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue details
User experienced an unexpected motor restart after landing in Autotune (for heli, motor interlock disables once land complete flag is true). Here is the User's Post on this event
It was determined that Autotune does not handle the spool state similar to other non-manual throttle flight modes that are not intended for takeoff (like Brake mode). For heli's, once the aircraft lands, the spool state is set to GROUND_IDLE. This disables motor interlock in the code while the user's switch still has it enabled.
Here is the lines of code in Mode_Autotune responsible for this behavior if (target_climb_rate < 0.0f) { copter.motors->set_desired_spool_state(AP_Motors::DesiredSpoolState::GROUND_IDLE); } else { copter.motors->set_desired_spool_state(AP_Motors::DesiredSpoolState::THROTTLE_UNLIMITED); }
Thus when the user accidentally raised the throttle above center which triggered a positive commanded climb rate, then the motor interlock was enabled again and the motor started.
I will start a PR with the solution that I think will work for multi and heli. Just wanted to document this issue.
Bug report
Issue details
User experienced an unexpected motor restart after landing in Autotune (for heli, motor interlock disables once land complete flag is true). Here is the User's Post on this event
It was determined that Autotune does not handle the spool state similar to other non-manual throttle flight modes that are not intended for takeoff (like Brake mode). For heli's, once the aircraft lands, the spool state is set to GROUND_IDLE. This disables motor interlock in the code while the user's switch still has it enabled.
Here is the lines of code in Mode_Autotune responsible for this behavior
if (target_climb_rate < 0.0f) {
copter.motors->set_desired_spool_state(AP_Motors::DesiredSpoolState::GROUND_IDLE);
} else {
copter.motors->set_desired_spool_state(AP_Motors::DesiredSpoolState::THROTTLE_UNLIMITED);
}
Thus when the user accidentally raised the throttle above center which triggered a positive commanded climb rate, then the motor interlock was enabled again and the motor started.
I will start a PR with the solution that I think will work for multi and heli. Just wanted to document this issue.
Version
ArduCopter 4.5.1
Platform
[ ] All
[ ] AntennaTracker
[X] Copter
[ ] Plane
[ ] Rover
[ ] Submarine
Airframe type
Helicopter - Single
Hardware type
CUAV Nora
Logs
Link to relevant log is provided in discuss post
The text was updated successfully, but these errors were encountered: