diff --git a/conf/airframes/ENAC/fixed-wing/firestorm.xml b/conf/airframes/ENAC/fixed-wing/firestorm.xml
index 2cb951e510..395b801370 100644
--- a/conf/airframes/ENAC/fixed-wing/firestorm.xml
+++ b/conf/airframes/ENAC/fixed-wing/firestorm.xml
@@ -190,7 +190,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/funjet2_nc.xml b/conf/airframes/ENAC/fixed-wing/funjet2_nc.xml
index bd247962e0..1c5326bf94 100644
--- a/conf/airframes/ENAC/fixed-wing/funjet2_nc.xml
+++ b/conf/airframes/ENAC/fixed-wing/funjet2_nc.xml
@@ -197,7 +197,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/funjet2_new.xml b/conf/airframes/ENAC/fixed-wing/funjet2_new.xml
index 9defd25e66..e2ae1b5c18 100644
--- a/conf/airframes/ENAC/fixed-wing/funjet2_new.xml
+++ b/conf/airframes/ENAC/fixed-wing/funjet2_new.xml
@@ -197,7 +197,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/funjet3.xml b/conf/airframes/ENAC/fixed-wing/funjet3.xml
index 029ac2a5af..591cd03a9c 100644
--- a/conf/airframes/ENAC/fixed-wing/funjet3.xml
+++ b/conf/airframes/ENAC/fixed-wing/funjet3.xml
@@ -174,7 +174,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/merlin.xml b/conf/airframes/ENAC/fixed-wing/merlin.xml
index 3272494d7b..c23c7a37e5 100644
--- a/conf/airframes/ENAC/fixed-wing/merlin.xml
+++ b/conf/airframes/ENAC/fixed-wing/merlin.xml
@@ -158,7 +158,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/drops.xml b/conf/airframes/ENAC/fixed-wing/obsolete/drops.xml
index f2c08433ad..f25bebc0c8 100644
--- a/conf/airframes/ENAC/fixed-wing/obsolete/drops.xml
+++ b/conf/airframes/ENAC/fixed-wing/obsolete/drops.xml
@@ -174,7 +174,7 @@ on
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/funjet1.xml b/conf/airframes/ENAC/fixed-wing/obsolete/funjet1.xml
index 5422b9349a..99b364a0e1 100644
--- a/conf/airframes/ENAC/fixed-wing/obsolete/funjet1.xml
+++ b/conf/airframes/ENAC/fixed-wing/obsolete/funjet1.xml
@@ -157,7 +157,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/malolo_sim.xml b/conf/airframes/ENAC/fixed-wing/obsolete/malolo_sim.xml
index 03a7a582a7..4484dc92dc 100644
--- a/conf/airframes/ENAC/fixed-wing/obsolete/malolo_sim.xml
+++ b/conf/airframes/ENAC/fixed-wing/obsolete/malolo_sim.xml
@@ -155,7 +155,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/solarstorm.xml b/conf/airframes/ENAC/fixed-wing/obsolete/solarstorm.xml
index c894c27b90..b809b311f9 100644
--- a/conf/airframes/ENAC/fixed-wing/obsolete/solarstorm.xml
+++ b/conf/airframes/ENAC/fixed-wing/obsolete/solarstorm.xml
@@ -159,7 +159,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/spocII.xml b/conf/airframes/ENAC/fixed-wing/obsolete/spocII.xml
index 95faccdb10..a341979ffe 100644
--- a/conf/airframes/ENAC/fixed-wing/obsolete/spocII.xml
+++ b/conf/airframes/ENAC/fixed-wing/obsolete/spocII.xml
@@ -161,7 +161,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/spocIII-1.xml b/conf/airframes/ENAC/fixed-wing/spocIII-1.xml
index 2dc022036e..376e08dfbb 100644
--- a/conf/airframes/ENAC/fixed-wing/spocIII-1.xml
+++ b/conf/airframes/ENAC/fixed-wing/spocIII-1.xml
@@ -162,7 +162,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/spocIII-2.xml b/conf/airframes/ENAC/fixed-wing/spocIII-2.xml
index b10aa94644..30c186605b 100644
--- a/conf/airframes/ENAC/fixed-wing/spocIII-2.xml
+++ b/conf/airframes/ENAC/fixed-wing/spocIII-2.xml
@@ -182,7 +182,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/spocIII-3.xml b/conf/airframes/ENAC/fixed-wing/spocIII-3.xml
index 06dbb849fd..636fcf74e5 100644
--- a/conf/airframes/ENAC/fixed-wing/spocIII-3.xml
+++ b/conf/airframes/ENAC/fixed-wing/spocIII-3.xml
@@ -185,7 +185,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/twinjet2.xml b/conf/airframes/ENAC/fixed-wing/twinjet2.xml
index c478048637..81e727c907 100644
--- a/conf/airframes/ENAC/fixed-wing/twinjet2.xml
+++ b/conf/airframes/ENAC/fixed-wing/twinjet2.xml
@@ -172,7 +172,7 @@
-
+
diff --git a/conf/airframes/ENAC/fixed-wing/weasel.xml b/conf/airframes/ENAC/fixed-wing/weasel.xml
index d410fb0b4e..116ba8483c 100644
--- a/conf/airframes/ENAC/fixed-wing/weasel.xml
+++ b/conf/airframes/ENAC/fixed-wing/weasel.xml
@@ -198,7 +198,7 @@
-
+
diff --git a/conf/airframes/flixr_discovery.xml b/conf/airframes/flixr_discovery.xml
index 40728091c7..f1b886777a 100644
--- a/conf/airframes/flixr_discovery.xml
+++ b/conf/airframes/flixr_discovery.xml
@@ -315,7 +315,7 @@ http://paparazzi.enac.fr/w/index.php?title=Theory_of_Operation
-
+
diff --git a/conf/airframes/mm/fixed-wing/drops.xml b/conf/airframes/mm/fixed-wing/drops.xml
index f66f9ed971..704efc3951 100644
--- a/conf/airframes/mm/fixed-wing/drops.xml
+++ b/conf/airframes/mm/fixed-wing/drops.xml
@@ -189,7 +189,7 @@
-
+
diff --git a/conf/airframes/mm/hangar/lila.xml b/conf/airframes/mm/hangar/lila.xml
index ef3f729366..ec7257b5fc 100644
--- a/conf/airframes/mm/hangar/lila.xml
+++ b/conf/airframes/mm/hangar/lila.xml
@@ -156,7 +156,7 @@
-
+
diff --git a/conf/settings/fw_h_ctl_a_settings.xml b/conf/settings/fw_h_ctl_a_settings.xml
index 4defb5ded3..29321bb462 100644
--- a/conf/settings/fw_h_ctl_a_settings.xml
+++ b/conf/settings/fw_h_ctl_a_settings.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/conf/settings/tuning_ctl_adaptive.xml b/conf/settings/tuning_ctl_adaptive.xml
index 122621608a..3ecf4da4ff 100644
--- a/conf/settings/tuning_ctl_adaptive.xml
+++ b/conf/settings/tuning_ctl_adaptive.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/conf/settings/tuning_ctl_new.xml b/conf/settings/tuning_ctl_new.xml
index 319c7ed3c3..f3a16c0e0e 100644
--- a/conf/settings/tuning_ctl_new.xml
+++ b/conf/settings/tuning_ctl_new.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/sw/airborne/firmwares/fixedwing/stabilization/stabilization_adaptive.c b/sw/airborne/firmwares/fixedwing/stabilization/stabilization_adaptive.c
index a41a8b29cc..dc0786f559 100644
--- a/sw/airborne/firmwares/fixedwing/stabilization/stabilization_adaptive.c
+++ b/sw/airborne/firmwares/fixedwing/stabilization/stabilization_adaptive.c
@@ -159,7 +159,7 @@ void h_ctl_init( void ) {
h_ctl_roll_setpoint = 0.;
h_ctl_roll_attitude_gain = ABS(H_CTL_ROLL_ATTITUDE_GAIN);
h_ctl_roll_rate_gain = ABS(H_CTL_ROLL_RATE_GAIN);
- h_ctl_roll_igain = H_CTL_ROLL_IGAIN;
+ h_ctl_roll_igain = ABS(H_CTL_ROLL_IGAIN);
h_ctl_roll_sum_err = 0;
h_ctl_roll_Kffa = H_CTL_ROLL_KFFA;
h_ctl_roll_Kffd = H_CTL_ROLL_KFFD;
@@ -299,9 +299,9 @@ inline static void h_ctl_roll_loop( void ) {
h_ctl_roll_sum_err = 0.;
}
else {
- if (h_ctl_roll_igain < 0.) {
+ if (h_ctl_roll_igain > 0.) {
h_ctl_roll_sum_err += err * H_CTL_REF_DT;
- BoundAbs(h_ctl_roll_sum_err, (- H_CTL_ROLL_SUM_ERR_MAX / h_ctl_roll_igain));
+ BoundAbs(h_ctl_roll_sum_err, H_CTL_ROLL_SUM_ERR_MAX / h_ctl_roll_igain);
} else {
h_ctl_roll_sum_err = 0.;
}
@@ -312,13 +312,13 @@ inline static void h_ctl_roll_loop( void ) {
+ h_ctl_roll_Kffd * h_ctl_ref_roll_rate
- cmd_fb
+ h_ctl_roll_rate_gain * d_err
- - h_ctl_roll_igain * h_ctl_roll_sum_err
+ + h_ctl_roll_igain * h_ctl_roll_sum_err
+ v_ctl_throttle_setpoint * h_ctl_aileron_of_throttle;
// float cmd = h_ctl_roll_Kffa * h_ctl_ref_roll_accel
// + h_ctl_roll_Kffd * h_ctl_ref_roll_rate
// + h_ctl_roll_attitude_gain * err
// + h_ctl_roll_rate_gain * d_err
-// - h_ctl_roll_igain * h_ctl_roll_sum_err
+// + h_ctl_roll_igain * h_ctl_roll_sum_err
// + v_ctl_throttle_setpoint * h_ctl_aileron_of_throttle;
//
cmd /= airspeed_ratio2;