1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-26 15:54:15 +01:00

Merged in mindnever/librepilot/LP-549_aswa_fix (pull request #462)

LP-549 aswa fix

Approved-by: Vladimir Zidar <mr_w@mindnever.org>
Approved-by: Alessio Morale <alessiomorale@gmail.com>
Approved-by: Mateusz Kaduk <mateusz.kaduk@gmail.com>
Approved-by: Paul Jewell <teulupaul@gmail.com>
Approved-by: Philippe Renon <philippe_renon@yahoo.fr>
Approved-by: Lalanne Laurent <f5soh@free.fr>
Approved-by: Jan NIJS <dr.oblivium@gmail.com>
This commit is contained in:
Vladimir Zidar 2017-09-18 19:55:58 +00:00 committed by Philippe Renon
commit 9d05ed3fc6
3 changed files with 9 additions and 2 deletions

View File

@ -499,7 +499,8 @@ static void manualControlTask(void)
if (alwaysStabilizedSwitch) {
if (acc.AccessoryVal <= -ALWAYSTABILIZEACCESSORY_THRESHOLD) {
newAlwaysStabilized = FLIGHTSTATUS_ALWAYSSTABILIZEWHENARMED_FALSE;
} else if (acc.AccessoryVal >= ALWAYSTABILIZEACCESSORY_THRESHOLD) {
} else if ((acc.AccessoryVal >= ALWAYSTABILIZEACCESSORY_THRESHOLD) &&
(cmd.Throttle >= modeSettings.AlwaysStabilizeWhenArmedThrottleThreshold)) {
newAlwaysStabilized = FLIGHTSTATUS_ALWAYSSTABILIZEWHENARMED_TRUE;
}
} else {

View File

@ -449,10 +449,15 @@ static void stabilizationInnerloopTask()
{
FlightStatusArmedOptions armed;
FlightStatusArmedGet(&armed);
FlightStatusAlwaysStabilizeWhenArmedOptions alwaysStabilizeWhenArmed;
FlightStatusAlwaysStabilizeWhenArmedGet(&alwaysStabilizeWhenArmed);
float throttleDesired;
ManualControlCommandThrottleGet(&throttleDesired);
if (armed != FLIGHTSTATUS_ARMED_ARMED ||
((stabSettings.settings.LowThrottleZeroIntegral == STABILIZATIONSETTINGS_LOWTHROTTLEZEROINTEGRAL_TRUE) && throttleDesired < 0)) {
((stabSettings.settings.LowThrottleZeroIntegral == STABILIZATIONSETTINGS_LOWTHROTTLEZEROINTEGRAL_TRUE) &&
(throttleDesired < 0) &&
(alwaysStabilizeWhenArmed != FLIGHTSTATUS_ALWAYSSTABILIZEWHENARMED_TRUE))) {
// Force all axes to reinitialize when engaged
for (t = 0; t < AXES; t++) {
previous_mode[t] = 255;

View File

@ -82,6 +82,7 @@
options="Disabled,Accessory 0,Accessory 1,Accessory 2,Accessory 3"
defaultvalue="Disabled"
description="For Multirotors. Always stabilize no matter the throttle setting when vehicle is armed. Does not work when vehicle is set to Always Armed."/>
<field name="AlwaysStabilizeWhenArmedThrottleThreshold" units="%" type="float" elements="1" defaultvalue="0.2"/>
<field name="ArmedTimeout" units="ms" type="uint16" elements="1" defaultvalue="30000"/>
<field name="ArmingSequenceTime" units="ms" type="uint16" elements="1" defaultvalue="1000"/>