diff --git a/conf/airframes/CDW/ChimuLisaFw.xml b/conf/airframes/CDW/ChimuLisaFw.xml index 49bb81b77a..c41fbb30a9 100644 --- a/conf/airframes/CDW/ChimuLisaFw.xml +++ b/conf/airframes/CDW/ChimuLisaFw.xml @@ -66,7 +66,7 @@
- + @@ -77,7 +77,7 @@ - + @@ -85,21 +85,21 @@
- + - + - - + +
diff --git a/conf/airframes/CDW/ChimuTinyFw.xml b/conf/airframes/CDW/ChimuTinyFw.xml index 8bb3dc7a19..75af2eac19 100644 --- a/conf/airframes/CDW/ChimuTinyFw.xml +++ b/conf/airframes/CDW/ChimuTinyFw.xml @@ -90,7 +90,7 @@
- + @@ -101,7 +101,7 @@ - + @@ -109,7 +109,7 @@
- + @@ -117,13 +117,13 @@ - + - - + +
diff --git a/conf/airframes/CDW/ChimuTinyFwSpi.xml b/conf/airframes/CDW/ChimuTinyFwSpi.xml index 530b6bc7f4..fd896e3c2a 100644 --- a/conf/airframes/CDW/ChimuTinyFwSpi.xml +++ b/conf/airframes/CDW/ChimuTinyFwSpi.xml @@ -90,7 +90,7 @@
- + @@ -101,7 +101,7 @@ - + @@ -109,7 +109,7 @@
- + @@ -117,13 +117,13 @@ - + - - + +
diff --git a/conf/airframes/CDW/debug_i2c.xml b/conf/airframes/CDW/debug_i2c.xml index ecb9ae64f1..33919cb9ea 100644 --- a/conf/airframes/CDW/debug_i2c.xml +++ b/conf/airframes/CDW/debug_i2c.xml @@ -84,9 +84,9 @@ - - - + + +
@@ -115,17 +115,17 @@ - - - + + + - - - + + + - - - + + + @@ -172,12 +172,12 @@ - - + + @@ -189,10 +189,10 @@
- - - - + + + +
diff --git a/conf/airframes/ENAC/fixed-wing/firestorm.xml b/conf/airframes/ENAC/fixed-wing/firestorm.xml index c281de4dc1..8f1f2e60a9 100644 --- a/conf/airframes/ENAC/fixed-wing/firestorm.xml +++ b/conf/airframes/ENAC/fixed-wing/firestorm.xml @@ -149,7 +149,7 @@ - + @@ -160,12 +160,12 @@ - + - + @@ -175,23 +175,23 @@
- + - + - - + + - - + +
diff --git a/conf/airframes/ENAC/fixed-wing/funjet2.xml b/conf/airframes/ENAC/fixed-wing/funjet2.xml index 40ed286e60..fc1eea3acf 100644 --- a/conf/airframes/ENAC/fixed-wing/funjet2.xml +++ b/conf/airframes/ENAC/fixed-wing/funjet2.xml @@ -144,7 +144,7 @@
- + @@ -155,12 +155,12 @@ - + - + @@ -170,15 +170,15 @@
- + - - + + - + diff --git a/conf/airframes/ENAC/fixed-wing/funjet2_nc.xml b/conf/airframes/ENAC/fixed-wing/funjet2_nc.xml index c37c57e674..b81515dc1d 100644 --- a/conf/airframes/ENAC/fixed-wing/funjet2_nc.xml +++ b/conf/airframes/ENAC/fixed-wing/funjet2_nc.xml @@ -149,7 +149,7 @@
- + @@ -160,14 +160,14 @@ - + - - - + + + @@ -190,20 +190,20 @@
- + - - - - - + + + + + - + - + diff --git a/conf/airframes/ENAC/fixed-wing/funjet2_new.xml b/conf/airframes/ENAC/fixed-wing/funjet2_new.xml index 1b8c04bc0d..34c951909d 100644 --- a/conf/airframes/ENAC/fixed-wing/funjet2_new.xml +++ b/conf/airframes/ENAC/fixed-wing/funjet2_new.xml @@ -149,7 +149,7 @@
- + @@ -160,14 +160,14 @@ - - + + - - - + + + @@ -190,20 +190,20 @@
- + - - - + + + - - - + + + diff --git a/conf/airframes/ENAC/fixed-wing/funjet3.xml b/conf/airframes/ENAC/fixed-wing/funjet3.xml index 7994869e47..4474096979 100644 --- a/conf/airframes/ENAC/fixed-wing/funjet3.xml +++ b/conf/airframes/ENAC/fixed-wing/funjet3.xml @@ -120,7 +120,7 @@
- + @@ -133,15 +133,15 @@ - - - + + + - - - + + + @@ -167,20 +167,20 @@
- + - - - + + + - + - + diff --git a/conf/airframes/ENAC/fixed-wing/merlin.xml b/conf/airframes/ENAC/fixed-wing/merlin.xml index aff770ec3b..42b93e31db 100644 --- a/conf/airframes/ENAC/fixed-wing/merlin.xml +++ b/conf/airframes/ENAC/fixed-wing/merlin.xml @@ -119,7 +119,7 @@
- + @@ -130,14 +130,14 @@ - + - - - + + + @@ -151,20 +151,20 @@
- + - - - - - + + + + + - + - + diff --git a/conf/airframes/ENAC/fixed-wing/minimag1.xml b/conf/airframes/ENAC/fixed-wing/minimag1.xml index 98be9ac59d..a416db1dc2 100644 --- a/conf/airframes/ENAC/fixed-wing/minimag1.xml +++ b/conf/airframes/ENAC/fixed-wing/minimag1.xml @@ -131,7 +131,7 @@
- + @@ -142,12 +142,12 @@ - + - + @@ -156,7 +156,7 @@
- + @@ -164,7 +164,7 @@ - +
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/drops.xml b/conf/airframes/ENAC/fixed-wing/obsolete/drops.xml index d31460909d..558226830c 100644 --- a/conf/airframes/ENAC/fixed-wing/obsolete/drops.xml +++ b/conf/airframes/ENAC/fixed-wing/obsolete/drops.xml @@ -132,7 +132,7 @@ on - + @@ -143,12 +143,12 @@ on - + - + @@ -158,23 +158,23 @@ on
- + - - + + - - + + - +
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/funjet1.xml b/conf/airframes/ENAC/fixed-wing/obsolete/funjet1.xml index 6b13ce095a..8d1e2ca662 100644 --- a/conf/airframes/ENAC/fixed-wing/obsolete/funjet1.xml +++ b/conf/airframes/ENAC/fixed-wing/obsolete/funjet1.xml @@ -115,7 +115,7 @@ - + @@ -126,12 +126,12 @@ - + - + @@ -142,23 +142,23 @@
- + - + - - + + - - + +
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/malolo_sim.xml b/conf/airframes/ENAC/fixed-wing/obsolete/malolo_sim.xml index f85500fd6a..daddc4fc3a 100644 --- a/conf/airframes/ENAC/fixed-wing/obsolete/malolo_sim.xml +++ b/conf/airframes/ENAC/fixed-wing/obsolete/malolo_sim.xml @@ -113,7 +113,7 @@ - + @@ -124,12 +124,12 @@ - + - + @@ -139,23 +139,23 @@
- + - + - + - +
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/slayer2.xml b/conf/airframes/ENAC/fixed-wing/obsolete/slayer2.xml index 05f6d33121..454e24bb65 100644 --- a/conf/airframes/ENAC/fixed-wing/obsolete/slayer2.xml +++ b/conf/airframes/ENAC/fixed-wing/obsolete/slayer2.xml @@ -113,7 +113,7 @@
- + @@ -124,13 +124,13 @@ - + - + @@ -140,21 +140,21 @@
- + - + - - + +
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/solarstorm.xml b/conf/airframes/ENAC/fixed-wing/obsolete/solarstorm.xml index 2db888b270..cf30dd8658 100644 --- a/conf/airframes/ENAC/fixed-wing/obsolete/solarstorm.xml +++ b/conf/airframes/ENAC/fixed-wing/obsolete/solarstorm.xml @@ -118,7 +118,7 @@ - + @@ -129,12 +129,12 @@ - + - + @@ -144,29 +144,29 @@
- + - + - - + + - - + +
- +
diff --git a/conf/airframes/ENAC/fixed-wing/obsolete/spocII.xml b/conf/airframes/ENAC/fixed-wing/obsolete/spocII.xml index dccb44c269..a36cb2fa2f 100644 --- a/conf/airframes/ENAC/fixed-wing/obsolete/spocII.xml +++ b/conf/airframes/ENAC/fixed-wing/obsolete/spocII.xml @@ -120,7 +120,7 @@ - + @@ -131,12 +131,12 @@ - + - + @@ -146,23 +146,23 @@
- + - + - - + + - - + +
diff --git a/conf/airframes/ENAC/fixed-wing/overview.xml b/conf/airframes/ENAC/fixed-wing/overview.xml index eb26eb4613..d98916856e 100644 --- a/conf/airframes/ENAC/fixed-wing/overview.xml +++ b/conf/airframes/ENAC/fixed-wing/overview.xml @@ -119,7 +119,7 @@
- + @@ -130,12 +130,12 @@ - + - + @@ -145,15 +145,15 @@
- + - - + + - + diff --git a/conf/airframes/ENAC/fixed-wing/soarzi.xml b/conf/airframes/ENAC/fixed-wing/soarzi.xml index fc8011f4aa..9766aaf447 100644 --- a/conf/airframes/ENAC/fixed-wing/soarzi.xml +++ b/conf/airframes/ENAC/fixed-wing/soarzi.xml @@ -110,7 +110,7 @@ - + @@ -121,12 +121,12 @@ - + - + @@ -136,7 +136,7 @@
- + @@ -144,7 +144,7 @@ - + diff --git a/conf/airframes/ENAC/fixed-wing/spocIII-1.xml b/conf/airframes/ENAC/fixed-wing/spocIII-1.xml index 30477c3b21..5feea6c8a7 100644 --- a/conf/airframes/ENAC/fixed-wing/spocIII-1.xml +++ b/conf/airframes/ENAC/fixed-wing/spocIII-1.xml @@ -121,7 +121,7 @@ - + @@ -132,12 +132,12 @@ - + - + @@ -147,23 +147,23 @@
- + - + - - + + - - + +
diff --git a/conf/airframes/ENAC/fixed-wing/spocIII-2.xml b/conf/airframes/ENAC/fixed-wing/spocIII-2.xml index 8ca2f3ebe7..872c679760 100644 --- a/conf/airframes/ENAC/fixed-wing/spocIII-2.xml +++ b/conf/airframes/ENAC/fixed-wing/spocIII-2.xml @@ -124,7 +124,7 @@
- + @@ -139,15 +139,15 @@ - - - + + + - - - + + + @@ -174,21 +174,21 @@
- + - - - + + + - - - + + + diff --git a/conf/airframes/ENAC/fixed-wing/spocIII-3.xml b/conf/airframes/ENAC/fixed-wing/spocIII-3.xml index 631d75a1f0..61c1e445c5 100644 --- a/conf/airframes/ENAC/fixed-wing/spocIII-3.xml +++ b/conf/airframes/ENAC/fixed-wing/spocIII-3.xml @@ -127,7 +127,7 @@
- + @@ -142,15 +142,15 @@ - - - + + + - - - + + + @@ -177,21 +177,21 @@
- + - - - + + + - - - + + + diff --git a/conf/airframes/ENAC/fixed-wing/twinjet2.xml b/conf/airframes/ENAC/fixed-wing/twinjet2.xml index 91cf90a9cb..187f4f4f92 100644 --- a/conf/airframes/ENAC/fixed-wing/twinjet2.xml +++ b/conf/airframes/ENAC/fixed-wing/twinjet2.xml @@ -131,7 +131,7 @@ - + @@ -142,15 +142,15 @@ - - - + + + - - - + + + @@ -164,21 +164,21 @@
- + - + - - - + + + - - - + + + diff --git a/conf/airframes/ENAC/fixed-wing/weasel.xml b/conf/airframes/ENAC/fixed-wing/weasel.xml index 655d81553d..6fc2dbab9d 100644 --- a/conf/airframes/ENAC/fixed-wing/weasel.xml +++ b/conf/airframes/ENAC/fixed-wing/weasel.xml @@ -144,7 +144,7 @@
- + @@ -157,15 +157,15 @@ - - - + + + - - - + + + @@ -191,20 +191,20 @@
- + - - - + + + - + - + diff --git a/conf/airframes/ENAC/quadrotor/blender.xml b/conf/airframes/ENAC/quadrotor/blender.xml index e6a47257d5..44e4371d67 100644 --- a/conf/airframes/ENAC/quadrotor/blender.xml +++ b/conf/airframes/ENAC/quadrotor/blender.xml @@ -142,9 +142,9 @@ - - - + + +
@@ -173,17 +173,17 @@ - - - + + + - - - + + + - - - + + + @@ -208,8 +208,8 @@ - - + + @@ -218,10 +218,10 @@
- - - - + + + +
diff --git a/conf/airframes/ENAC/quadrotor/booz2_g1.xml b/conf/airframes/ENAC/quadrotor/booz2_g1.xml index 3232d17180..2c55323d36 100644 --- a/conf/airframes/ENAC/quadrotor/booz2_g1.xml +++ b/conf/airframes/ENAC/quadrotor/booz2_g1.xml @@ -105,9 +105,9 @@ - - - + + +
@@ -136,17 +136,17 @@ - - - + + + - - - + + + - - - + + + @@ -170,8 +170,8 @@ - - + + @@ -182,10 +182,10 @@
- - - - + + + +
diff --git a/conf/airframes/ENAC/quadrotor/g1_vision.xml b/conf/airframes/ENAC/quadrotor/g1_vision.xml index b346f87f90..1a9fd10b02 100644 --- a/conf/airframes/ENAC/quadrotor/g1_vision.xml +++ b/conf/airframes/ENAC/quadrotor/g1_vision.xml @@ -79,9 +79,9 @@ - - - + + +
@@ -110,17 +110,17 @@ - - - + + + - - - + + + - - - + + + @@ -152,8 +152,8 @@ - - + + @@ -164,10 +164,10 @@
- - - - + + + +
diff --git a/conf/airframes/ENAC/quadrotor/mkk1-vision.xml b/conf/airframes/ENAC/quadrotor/mkk1-vision.xml index d67ba5f0be..653ae0fafe 100644 --- a/conf/airframes/ENAC/quadrotor/mkk1-vision.xml +++ b/conf/airframes/ENAC/quadrotor/mkk1-vision.xml @@ -99,9 +99,9 @@ - - - + + +
@@ -111,9 +111,9 @@ - - - + + +
@@ -143,17 +143,17 @@ - - - + + + - - - + + + - - - + + + @@ -186,8 +186,8 @@ - - + + @@ -197,10 +197,10 @@
- - - - + + + +
diff --git a/conf/airframes/ENAC/quadrotor/mkk1.xml b/conf/airframes/ENAC/quadrotor/mkk1.xml index 5ea9bfa549..752a5d2aa5 100644 --- a/conf/airframes/ENAC/quadrotor/mkk1.xml +++ b/conf/airframes/ENAC/quadrotor/mkk1.xml @@ -129,9 +129,9 @@ - - - + + +
@@ -141,9 +141,9 @@ - - - + + +
@@ -173,17 +173,17 @@ - - - + + + - - - + + + - - - + + + @@ -206,8 +206,8 @@ - - + + @@ -217,10 +217,10 @@
- - - - + + + +
diff --git a/conf/airframes/ENAC/quadrotor/navgo.xml b/conf/airframes/ENAC/quadrotor/navgo.xml index 745662131c..5b898ba78f 100644 --- a/conf/airframes/ENAC/quadrotor/navgo.xml +++ b/conf/airframes/ENAC/quadrotor/navgo.xml @@ -158,9 +158,9 @@ - - - + + +
@@ -189,17 +189,17 @@ - - - + + + - - - + + + - - - + + + @@ -219,8 +219,8 @@ - - + + @@ -229,10 +229,10 @@
- - - - + + + +
diff --git a/conf/airframes/ENAC/quadrotor/nova1.xml b/conf/airframes/ENAC/quadrotor/nova1.xml index 545c1038e8..6b7a49cf36 100644 --- a/conf/airframes/ENAC/quadrotor/nova1.xml +++ b/conf/airframes/ENAC/quadrotor/nova1.xml @@ -100,9 +100,9 @@ - - - + + +
@@ -112,9 +112,9 @@ - - - + + +
@@ -144,17 +144,17 @@ - - - + + + - - - + + + - - - + + + @@ -177,8 +177,8 @@ - - + + @@ -188,10 +188,10 @@
- - - - + + + +
diff --git a/conf/airframes/LAAS/mmlaas_N1.xml b/conf/airframes/LAAS/mmlaas_N1.xml index 795c167978..d56a35d931 100644 --- a/conf/airframes/LAAS/mmlaas_N1.xml +++ b/conf/airframes/LAAS/mmlaas_N1.xml @@ -140,7 +140,7 @@ - + @@ -151,12 +151,12 @@ - + - + @@ -166,15 +166,15 @@
- + - + - +
@@ -182,7 +182,7 @@
- +
diff --git a/conf/airframes/LAAS/mmlaas_N2.xml b/conf/airframes/LAAS/mmlaas_N2.xml index d2804f4425..d5f35f384d 100644 --- a/conf/airframes/LAAS/mmlaas_N2.xml +++ b/conf/airframes/LAAS/mmlaas_N2.xml @@ -136,7 +136,7 @@ - + @@ -147,12 +147,12 @@ - + - + @@ -162,15 +162,15 @@
- + - + - +
@@ -178,7 +178,7 @@
- +
diff --git a/conf/airframes/LAAS/mmlaas_N3.xml b/conf/airframes/LAAS/mmlaas_N3.xml index 4c3654119e..8eb4d5dde1 100644 --- a/conf/airframes/LAAS/mmlaas_N3.xml +++ b/conf/airframes/LAAS/mmlaas_N3.xml @@ -136,7 +136,7 @@ - + @@ -147,12 +147,12 @@ - + - + @@ -162,15 +162,15 @@
- + - + - +
@@ -178,7 +178,7 @@
- +
diff --git a/conf/airframes/NoVa_L.xml b/conf/airframes/NoVa_L.xml index 6a995299f0..09e9ba1a0e 100644 --- a/conf/airframes/NoVa_L.xml +++ b/conf/airframes/NoVa_L.xml @@ -112,9 +112,9 @@ - - - + + + @@ -143,17 +143,17 @@ - - - + + + - - - + + + - - - + + + @@ -200,12 +200,12 @@ - - + + @@ -217,10 +217,10 @@
- - - - + + + +
diff --git a/conf/airframes/PPZUAV/fixed-wing/ppzimu_tiny.xml b/conf/airframes/PPZUAV/fixed-wing/ppzimu_tiny.xml index b2aa803eda..602b5dd20d 100644 --- a/conf/airframes/PPZUAV/fixed-wing/ppzimu_tiny.xml +++ b/conf/airframes/PPZUAV/fixed-wing/ppzimu_tiny.xml @@ -127,7 +127,7 @@
- + @@ -138,7 +138,7 @@ - + @@ -146,7 +146,7 @@
- + @@ -154,14 +154,14 @@ - + - +
diff --git a/conf/airframes/PPZUAV/quadrotor/ppzuav_booz2_asctec_example.xml b/conf/airframes/PPZUAV/quadrotor/ppzuav_booz2_asctec_example.xml index 8e8f29094a..039210f933 100644 --- a/conf/airframes/PPZUAV/quadrotor/ppzuav_booz2_asctec_example.xml +++ b/conf/airframes/PPZUAV/quadrotor/ppzuav_booz2_asctec_example.xml @@ -76,9 +76,9 @@ - - - + + +
@@ -108,30 +108,30 @@ - - - + + + - - - + + + - - - + + + @@ -160,9 +160,9 @@ - - - + + + @@ -171,9 +171,9 @@
- - - + + +
diff --git a/conf/airframes/PPZUAV/quadrotor/ppzuav_booz2_mkk_example.xml b/conf/airframes/PPZUAV/quadrotor/ppzuav_booz2_mkk_example.xml index 378aa2f8ea..9dcfcbfb62 100644 --- a/conf/airframes/PPZUAV/quadrotor/ppzuav_booz2_mkk_example.xml +++ b/conf/airframes/PPZUAV/quadrotor/ppzuav_booz2_mkk_example.xml @@ -76,9 +76,9 @@ - - - + + + @@ -109,31 +109,31 @@ - - - + + + - - - + + + - - - + + + @@ -178,9 +178,9 @@ - - - + + + @@ -189,9 +189,9 @@
- - - + + +
diff --git a/conf/airframes/Poine/booz2_a1.xml b/conf/airframes/Poine/booz2_a1.xml index 493d489ba4..994704b005 100644 --- a/conf/airframes/Poine/booz2_a1.xml +++ b/conf/airframes/Poine/booz2_a1.xml @@ -90,9 +90,9 @@ - - - + + + @@ -122,17 +122,17 @@ - - - + + + - - - + + + - - - + + + @@ -151,9 +151,9 @@ - - - + + + @@ -163,9 +163,9 @@
- - - + + +
diff --git a/conf/airframes/Poine/booz2_a1p.xml b/conf/airframes/Poine/booz2_a1p.xml index 097c2993de..b400829f6e 100644 --- a/conf/airframes/Poine/booz2_a1p.xml +++ b/conf/airframes/Poine/booz2_a1p.xml @@ -88,9 +88,9 @@ - - - + + +
@@ -120,17 +120,17 @@ - - - + + + - - - + + + - - - + + + @@ -155,9 +155,9 @@ - - - + + + @@ -167,9 +167,9 @@
- - - + + +
diff --git a/conf/airframes/Poine/booz2_a7.xml b/conf/airframes/Poine/booz2_a7.xml index 9faac66fac..aee822cb0a 100644 --- a/conf/airframes/Poine/booz2_a7.xml +++ b/conf/airframes/Poine/booz2_a7.xml @@ -84,9 +84,9 @@ - - - + + +
@@ -115,17 +115,17 @@ - - - + + + - - - + + + - - - + + + @@ -172,12 +172,12 @@ - - + + @@ -189,10 +189,10 @@
- - - - + + + +
diff --git a/conf/airframes/Poine/easy_glider1.xml b/conf/airframes/Poine/easy_glider1.xml index 3bd44a7ea7..6c489be107 100644 --- a/conf/airframes/Poine/easy_glider1.xml +++ b/conf/airframes/Poine/easy_glider1.xml @@ -94,7 +94,7 @@ - + @@ -105,7 +105,7 @@ - + @@ -113,21 +113,21 @@
- + - + - - + +
diff --git a/conf/airframes/Poine/funjet42.xml b/conf/airframes/Poine/funjet42.xml index 5d97a1cb11..bd61934340 100644 --- a/conf/airframes/Poine/funjet42.xml +++ b/conf/airframes/Poine/funjet42.xml @@ -118,7 +118,7 @@
- + @@ -127,12 +127,12 @@ - + - + @@ -141,14 +141,14 @@
- + - + diff --git a/conf/airframes/Poine/h_hex.xml b/conf/airframes/Poine/h_hex.xml index 255f460a26..2026f69d02 100644 --- a/conf/airframes/Poine/h_hex.xml +++ b/conf/airframes/Poine/h_hex.xml @@ -86,9 +86,9 @@ - - - + + +
@@ -117,17 +117,17 @@ - - - + + + - - - + + + - - - + + + @@ -146,9 +146,9 @@ - - - + + + @@ -158,9 +158,9 @@
- - - + + +
diff --git a/conf/airframes/Poine/swift_1.xml b/conf/airframes/Poine/swift_1.xml index 3d34bdc37a..970c7cf8e4 100644 --- a/conf/airframes/Poine/swift_1.xml +++ b/conf/airframes/Poine/swift_1.xml @@ -112,7 +112,7 @@
- + @@ -121,12 +121,12 @@ - + - + @@ -135,14 +135,14 @@
- + - + diff --git a/conf/airframes/TU_Delft/EasyStartPanTiltCHIMU_SPI.xml b/conf/airframes/TU_Delft/EasyStartPanTiltCHIMU_SPI.xml index 7f6f6ea37c..ba06b1beed 100644 --- a/conf/airframes/TU_Delft/EasyStartPanTiltCHIMU_SPI.xml +++ b/conf/airframes/TU_Delft/EasyStartPanTiltCHIMU_SPI.xml @@ -91,7 +91,7 @@
- + @@ -102,7 +102,7 @@ - + @@ -110,7 +110,7 @@
- + @@ -118,13 +118,13 @@ - + - - + +
diff --git a/conf/airframes/TU_Delft/MicrojetBR.xml b/conf/airframes/TU_Delft/MicrojetBR.xml index ddf94c4484..1f8f270954 100644 --- a/conf/airframes/TU_Delft/MicrojetBR.xml +++ b/conf/airframes/TU_Delft/MicrojetBR.xml @@ -109,7 +109,7 @@ - + @@ -120,12 +120,12 @@ - + - + @@ -135,18 +135,18 @@
- + - + - - + + @@ -167,7 +167,7 @@
-
diff --git a/conf/airframes/TU_Delft/MicrojetBRimu.xml b/conf/airframes/TU_Delft/MicrojetBRimu.xml index b952175c80..45f61c2641 100644 --- a/conf/airframes/TU_Delft/MicrojetBRimu.xml +++ b/conf/airframes/TU_Delft/MicrojetBRimu.xml @@ -144,7 +144,7 @@ - + @@ -160,7 +160,7 @@ - + @@ -170,7 +170,7 @@
- + @@ -178,11 +178,11 @@ - + - - + + @@ -203,7 +203,7 @@
-
diff --git a/conf/airframes/TU_Delft/MicrojetCDW.xml b/conf/airframes/TU_Delft/MicrojetCDW.xml index b3f56673cf..3ae16b42a4 100644 --- a/conf/airframes/TU_Delft/MicrojetCDW.xml +++ b/conf/airframes/TU_Delft/MicrojetCDW.xml @@ -128,7 +128,7 @@
- + @@ -146,19 +146,19 @@
- + - + - - + +
diff --git a/conf/airframes/TU_Delft/Trip50A.xml b/conf/airframes/TU_Delft/Trip50A.xml index 500f836d4f..994f0b9d40 100644 --- a/conf/airframes/TU_Delft/Trip50A.xml +++ b/conf/airframes/TU_Delft/Trip50A.xml @@ -112,19 +112,19 @@ - + + - + - - + + - + @@ -136,7 +136,7 @@ - + @@ -144,7 +144,7 @@
- + @@ -152,15 +152,15 @@ - + - - + +
diff --git a/conf/airframes/TU_Delft/skywalkerfiber.xml b/conf/airframes/TU_Delft/skywalkerfiber.xml index daaef74cfe..8c3adb94f7 100644 --- a/conf/airframes/TU_Delft/skywalkerfiber.xml +++ b/conf/airframes/TU_Delft/skywalkerfiber.xml @@ -251,7 +251,7 @@
- + @@ -262,7 +262,7 @@ - + @@ -272,7 +272,7 @@
- + @@ -280,15 +280,15 @@ - + - - + +
diff --git a/conf/airframes/UofAdelaide/A1000_BOOZ.xml b/conf/airframes/UofAdelaide/A1000_BOOZ.xml index a1de5fec40..aab64eeeab 100644 --- a/conf/airframes/UofAdelaide/A1000_BOOZ.xml +++ b/conf/airframes/UofAdelaide/A1000_BOOZ.xml @@ -152,13 +152,13 @@ second attempt - - - + + + - - - + + + @@ -166,9 +166,9 @@ second attempt + + + -->
@@ -196,17 +196,17 @@ second attempt - - - + + + - - - + + + - - - + + + @@ -225,9 +225,9 @@ second attempt - - - + + + @@ -236,9 +236,9 @@ second attempt
- - - + + +
diff --git a/conf/airframes/UofAdelaide/A1000_LISA.xml b/conf/airframes/UofAdelaide/A1000_LISA.xml index 54ab42de05..ebd6bd5bbe 100644 --- a/conf/airframes/UofAdelaide/A1000_LISA.xml +++ b/conf/airframes/UofAdelaide/A1000_LISA.xml @@ -84,9 +84,9 @@ - - - + + +
@@ -115,13 +115,13 @@ + --> - - - + + + - - - + + + - - - + + + @@ -162,9 +162,9 @@ - - - + + + @@ -174,9 +174,9 @@
- - - + + +
diff --git a/conf/airframes/UofAdelaide/A1000_NOVA.xml b/conf/airframes/UofAdelaide/A1000_NOVA.xml index f6da7f4fcc..5bc4f2fbc9 100644 --- a/conf/airframes/UofAdelaide/A1000_NOVA.xml +++ b/conf/airframes/UofAdelaide/A1000_NOVA.xml @@ -79,13 +79,13 @@ - - - + + + - - - + + + @@ -119,30 +119,30 @@ - - - + + + - - - + + + - - - + + + @@ -185,8 +185,8 @@ - - + + @@ -196,11 +196,11 @@
- - - - - + + + + +
diff --git a/conf/airframes/UofAdelaide/booz2_NoVa_001_1000.xml b/conf/airframes/UofAdelaide/booz2_NoVa_001_1000.xml index 550ef036c3..062a08ed32 100644 --- a/conf/airframes/UofAdelaide/booz2_NoVa_001_1000.xml +++ b/conf/airframes/UofAdelaide/booz2_NoVa_001_1000.xml @@ -79,13 +79,13 @@ - - - + + + - - - + + + @@ -119,30 +119,30 @@ - - - + + + - - - + + + - - - + + + @@ -185,8 +185,8 @@ - - + + @@ -196,11 +196,11 @@
- - - - - + + + + +
diff --git a/conf/airframes/UofAdelaide/booz2_a1000.xml b/conf/airframes/UofAdelaide/booz2_a1000.xml index f46a9fbbe9..b42cb89a90 100755 --- a/conf/airframes/UofAdelaide/booz2_a1000.xml +++ b/conf/airframes/UofAdelaide/booz2_a1000.xml @@ -151,13 +151,13 @@ second attempt - - - + + + - - - + + + @@ -165,9 +165,9 @@ second attempt + + + -->
@@ -196,17 +196,17 @@ second attempt - - - + + + - - - + + + - - - + + + @@ -226,9 +226,9 @@ second attempt - - - + + + @@ -238,9 +238,9 @@ second attempt
- - - + + +
diff --git a/conf/airframes/UofAdelaide/lisa_a1000.xml b/conf/airframes/UofAdelaide/lisa_a1000.xml index ac45acf0c9..50be06bc31 100644 --- a/conf/airframes/UofAdelaide/lisa_a1000.xml +++ b/conf/airframes/UofAdelaide/lisa_a1000.xml @@ -81,9 +81,9 @@ - - - + + +
@@ -112,17 +112,17 @@ - - - + + + - - - + + + - - - + + + @@ -141,9 +141,9 @@ - - - + + + @@ -153,9 +153,9 @@
- - - + + +
diff --git a/conf/airframes/booz2_flixr.xml b/conf/airframes/booz2_flixr.xml index d36ddb88d5..6f381ae18c 100644 --- a/conf/airframes/booz2_flixr.xml +++ b/conf/airframes/booz2_flixr.xml @@ -125,13 +125,13 @@ - - - + + + - - - + + + @@ -165,17 +165,17 @@ - - - + + + - - - + + + - - - + + + @@ -194,9 +194,9 @@ - - - + + + @@ -205,9 +205,9 @@
- - - + + +
diff --git a/conf/airframes/booz2_ppzuav.xml b/conf/airframes/booz2_ppzuav.xml index 09f4cfc87c..602e744aa7 100644 --- a/conf/airframes/booz2_ppzuav.xml +++ b/conf/airframes/booz2_ppzuav.xml @@ -64,13 +64,13 @@ - - - + + + - - - + + + @@ -104,30 +104,30 @@ - - - + + + - - - + + + - - - + + + @@ -160,8 +160,8 @@ - - + + @@ -171,11 +171,11 @@
- - - - - + + + + +
diff --git a/conf/airframes/delta_wing_minimal_example.xml b/conf/airframes/delta_wing_minimal_example.xml index 927b9e7864..d9d1ce0dab 100644 --- a/conf/airframes/delta_wing_minimal_example.xml +++ b/conf/airframes/delta_wing_minimal_example.xml @@ -101,7 +101,7 @@
- + @@ -110,12 +110,12 @@ - + - + @@ -124,14 +124,14 @@
- + - + diff --git a/conf/airframes/demo_module.xml b/conf/airframes/demo_module.xml index e43fc6cfb6..a4ee7bea79 100644 --- a/conf/airframes/demo_module.xml +++ b/conf/airframes/demo_module.xml @@ -93,7 +93,7 @@
- + @@ -103,12 +103,12 @@ - + - + @@ -116,19 +116,19 @@
- + - + - - + +
diff --git a/conf/airframes/easy_glider_example.xml b/conf/airframes/easy_glider_example.xml index 8fde61a734..c5e961ff91 100644 --- a/conf/airframes/easy_glider_example.xml +++ b/conf/airframes/easy_glider_example.xml @@ -87,7 +87,7 @@ - + @@ -98,7 +98,7 @@ - + @@ -106,21 +106,21 @@
- + - + - - + +
diff --git a/conf/airframes/easystar_ets_example.xml b/conf/airframes/easystar_ets_example.xml index 754e80baee..7fcba768ea 100644 --- a/conf/airframes/easystar_ets_example.xml +++ b/conf/airframes/easystar_ets_example.xml @@ -115,7 +115,7 @@
- + @@ -124,7 +124,7 @@ - + @@ -134,7 +134,7 @@ - + @@ -142,15 +142,15 @@
- + - + - - + +
diff --git a/conf/airframes/easystar_example.xml b/conf/airframes/easystar_example.xml index 6763ad6666..7a8a513af7 100644 --- a/conf/airframes/easystar_example.xml +++ b/conf/airframes/easystar_example.xml @@ -109,7 +109,7 @@
- + @@ -118,10 +118,10 @@ - + - + @@ -129,15 +129,15 @@
- + - + - - + +
diff --git a/conf/airframes/esden/jt_lisam.xml b/conf/airframes/esden/jt_lisam.xml index ea97bc4dfa..86b1693f8a 100644 --- a/conf/airframes/esden/jt_lisam.xml +++ b/conf/airframes/esden/jt_lisam.xml @@ -75,9 +75,9 @@ - - - + + +
@@ -108,17 +108,17 @@ - - - + + + - - - + + + - - - + + + @@ -137,9 +137,9 @@ - - - + + + @@ -157,9 +157,9 @@
- - - + + +
diff --git a/conf/airframes/esden/lisa_asctec.xml b/conf/airframes/esden/lisa_asctec.xml index 29e07554de..00857bc39a 100644 --- a/conf/airframes/esden/lisa_asctec.xml +++ b/conf/airframes/esden/lisa_asctec.xml @@ -91,9 +91,9 @@ - - - + + +
@@ -122,17 +122,17 @@ - - - + + + - - - + + + - - - + + + @@ -151,9 +151,9 @@ - - - + + + @@ -163,9 +163,9 @@
- - - + + +
diff --git a/conf/airframes/esden/lisa_asctec_aspirin.xml b/conf/airframes/esden/lisa_asctec_aspirin.xml index 010fddb963..ae66c2ab02 100644 --- a/conf/airframes/esden/lisa_asctec_aspirin.xml +++ b/conf/airframes/esden/lisa_asctec_aspirin.xml @@ -91,9 +91,9 @@ - - - + + +
@@ -122,17 +122,17 @@ - - - + + + - - - + + + - - - + + + @@ -151,9 +151,9 @@ - - - + + + @@ -163,9 +163,9 @@
- - - + + +
diff --git a/conf/airframes/esden/lisa_m_pwm.xml b/conf/airframes/esden/lisa_m_pwm.xml index 2d927048d0..7d12fe3094 100644 --- a/conf/airframes/esden/lisa_m_pwm.xml +++ b/conf/airframes/esden/lisa_m_pwm.xml @@ -105,9 +105,9 @@ - - - + + +
@@ -136,17 +136,17 @@ - - - + + + - - - + + + - - - + + + @@ -165,9 +165,9 @@ - - - + + + @@ -183,9 +183,9 @@
- - - + + +
diff --git a/conf/airframes/esden/lisa_pwm_aspirin.xml b/conf/airframes/esden/lisa_pwm_aspirin.xml index 214b5a246c..8f1250065d 100644 --- a/conf/airframes/esden/lisa_pwm_aspirin.xml +++ b/conf/airframes/esden/lisa_pwm_aspirin.xml @@ -79,9 +79,9 @@ - - - + + +
@@ -110,17 +110,17 @@ - - - + + + - - - + + + - - - + + + @@ -146,9 +146,9 @@ - - - + + + @@ -158,9 +158,9 @@
- - - + + +
diff --git a/conf/airframes/esden/synerani_4B.xml b/conf/airframes/esden/synerani_4B.xml index 455243644f..fdd7b1a817 100644 --- a/conf/airframes/esden/synerani_4B.xml +++ b/conf/airframes/esden/synerani_4B.xml @@ -82,9 +82,9 @@ - - - + + +
@@ -113,17 +113,17 @@ - - - + + + - - - + + + - - - + + + @@ -149,9 +149,9 @@ - - - + + + @@ -161,9 +161,9 @@
- - - + + +
diff --git a/conf/airframes/example_twog_analogimu.xml b/conf/airframes/example_twog_analogimu.xml index 606c0d78d1..5d07183008 100644 --- a/conf/airframes/example_twog_analogimu.xml +++ b/conf/airframes/example_twog_analogimu.xml @@ -117,7 +117,7 @@ - + @@ -128,12 +128,12 @@ - + - + @@ -143,7 +143,7 @@
- + @@ -151,7 +151,7 @@ - + diff --git a/conf/airframes/flixr_discovery.xml b/conf/airframes/flixr_discovery.xml index f0c9ca7613..36a3dd6528 100644 --- a/conf/airframes/flixr_discovery.xml +++ b/conf/airframes/flixr_discovery.xml @@ -252,7 +252,7 @@ http://paparazzi.enac.fr/w/index.php?title=Theory_of_Operation - + @@ -267,18 +267,18 @@ http://paparazzi.enac.fr/w/index.php?title=Theory_of_Operation - - - + + + - - - - + + + + @@ -308,7 +308,7 @@ http://paparazzi.enac.fr/w/index.php?title=Theory_of_Operation
- + @@ -321,11 +321,11 @@ http://paparazzi.enac.fr/w/index.php?title=Theory_of_Operation - - + + - + @@ -333,11 +333,11 @@ http://paparazzi.enac.fr/w/index.php?title=Theory_of_Operation - + - - + + diff --git a/conf/airframes/funjet_cam_example.xml b/conf/airframes/funjet_cam_example.xml index d9f9421b92..3857117f77 100644 --- a/conf/airframes/funjet_cam_example.xml +++ b/conf/airframes/funjet_cam_example.xml @@ -130,7 +130,7 @@
- + @@ -141,12 +141,12 @@ - + - + @@ -155,14 +155,14 @@
- + - + diff --git a/conf/airframes/funjet_example.xml b/conf/airframes/funjet_example.xml index b8035a41c2..04a48470ca 100644 --- a/conf/airframes/funjet_example.xml +++ b/conf/airframes/funjet_example.xml @@ -121,7 +121,7 @@
- + @@ -132,12 +132,12 @@ - + - + @@ -146,14 +146,14 @@
- + - + diff --git a/conf/airframes/jsbsim.xml b/conf/airframes/jsbsim.xml index 1706dacc79..afbd4bdac3 100644 --- a/conf/airframes/jsbsim.xml +++ b/conf/airframes/jsbsim.xml @@ -103,7 +103,7 @@ - + @@ -114,12 +114,12 @@ - + - + @@ -129,19 +129,19 @@
- + - + - - + +
diff --git a/conf/airframes/mentor_tum.xml b/conf/airframes/mentor_tum.xml index 6a2907fc34..3965ca9ada 100644 --- a/conf/airframes/mentor_tum.xml +++ b/conf/airframes/mentor_tum.xml @@ -143,7 +143,7 @@
- + @@ -154,12 +154,12 @@ - + - + @@ -168,20 +168,20 @@
- + - + - - + +
diff --git a/conf/airframes/microjet_example.xml b/conf/airframes/microjet_example.xml index 676fa7bc54..6ce9c7e8f0 100644 --- a/conf/airframes/microjet_example.xml +++ b/conf/airframes/microjet_example.xml @@ -101,7 +101,7 @@
- + @@ -112,7 +112,7 @@ - + @@ -120,22 +120,22 @@
- + - + - - + +
diff --git a/conf/airframes/mm/extra/press_t.xml b/conf/airframes/mm/extra/press_t.xml index 62011a757b..fbc2bf3f31 100644 --- a/conf/airframes/mm/extra/press_t.xml +++ b/conf/airframes/mm/extra/press_t.xml @@ -109,7 +109,7 @@ - + @@ -120,12 +120,12 @@ - + - + @@ -135,20 +135,20 @@
- + - + - +
diff --git a/conf/airframes/mm/extra/probe_t.xml b/conf/airframes/mm/extra/probe_t.xml index 5abe57d195..3a825469f9 100644 --- a/conf/airframes/mm/extra/probe_t.xml +++ b/conf/airframes/mm/extra/probe_t.xml @@ -129,7 +129,7 @@ - + @@ -140,12 +140,12 @@ - + - + @@ -155,20 +155,20 @@
- + - + - +
diff --git a/conf/airframes/mm/extra/turbine_trigger.xml b/conf/airframes/mm/extra/turbine_trigger.xml index d213fd0fdf..962034a273 100644 --- a/conf/airframes/mm/extra/turbine_trigger.xml +++ b/conf/airframes/mm/extra/turbine_trigger.xml @@ -114,7 +114,7 @@
- + @@ -122,10 +122,10 @@ - + - + @@ -133,13 +133,13 @@
- + - +
diff --git a/conf/airframes/mm/fixed-wing/drops.xml b/conf/airframes/mm/fixed-wing/drops.xml index 03dedd2394..fcd566968e 100644 --- a/conf/airframes/mm/fixed-wing/drops.xml +++ b/conf/airframes/mm/fixed-wing/drops.xml @@ -148,7 +148,7 @@ - + @@ -159,12 +159,12 @@ - + - + @@ -174,22 +174,22 @@
- + - - + + - - - + + + diff --git a/conf/airframes/mm/fixed-wing/funjet43.xml b/conf/airframes/mm/fixed-wing/funjet43.xml index af60e2c2c6..ee2a9decbe 100644 --- a/conf/airframes/mm/fixed-wing/funjet43.xml +++ b/conf/airframes/mm/fixed-wing/funjet43.xml @@ -132,7 +132,7 @@
- + @@ -141,14 +141,14 @@ - + - + @@ -157,14 +157,14 @@
- + - + diff --git a/conf/airframes/mm/fixed-wing/funjetdca.xml b/conf/airframes/mm/fixed-wing/funjetdca.xml index a54d336b4d..ecae589dab 100644 --- a/conf/airframes/mm/fixed-wing/funjetdca.xml +++ b/conf/airframes/mm/fixed-wing/funjetdca.xml @@ -142,7 +142,7 @@ - + @@ -153,12 +153,12 @@ - + - + @@ -168,20 +168,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetdcb.xml b/conf/airframes/mm/fixed-wing/funjetdcb.xml index 3b9f7d933b..66bf71f34b 100644 --- a/conf/airframes/mm/fixed-wing/funjetdcb.xml +++ b/conf/airframes/mm/fixed-wing/funjetdcb.xml @@ -142,7 +142,7 @@ - + @@ -153,12 +153,12 @@ - + - + @@ -168,20 +168,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetdcc.xml b/conf/airframes/mm/fixed-wing/funjetdcc.xml index f1c911241d..060a0fe0df 100644 --- a/conf/airframes/mm/fixed-wing/funjetdcc.xml +++ b/conf/airframes/mm/fixed-wing/funjetdcc.xml @@ -142,7 +142,7 @@ - + @@ -153,12 +153,12 @@ - + - + @@ -168,20 +168,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjeteth1.xml b/conf/airframes/mm/fixed-wing/funjeteth1.xml index 5aed5f95b8..ce27ab3d70 100644 --- a/conf/airframes/mm/fixed-wing/funjeteth1.xml +++ b/conf/airframes/mm/fixed-wing/funjeteth1.xml @@ -105,7 +105,7 @@ - + @@ -116,12 +116,12 @@ - + - + @@ -131,20 +131,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjeteth2.xml b/conf/airframes/mm/fixed-wing/funjeteth2.xml index 696bba2a46..9380acb59c 100644 --- a/conf/airframes/mm/fixed-wing/funjeteth2.xml +++ b/conf/airframes/mm/fixed-wing/funjeteth2.xml @@ -106,7 +106,7 @@ - + @@ -117,12 +117,12 @@ - + - + @@ -132,20 +132,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetfmi1.xml b/conf/airframes/mm/fixed-wing/funjetfmi1.xml index 8dd2155c64..b61c373043 100644 --- a/conf/airframes/mm/fixed-wing/funjetfmi1.xml +++ b/conf/airframes/mm/fixed-wing/funjetfmi1.xml @@ -104,7 +104,7 @@ - + @@ -115,12 +115,12 @@ - + - + @@ -130,20 +130,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetfmi2.xml b/conf/airframes/mm/fixed-wing/funjetfmi2.xml index 14bfe029e2..0f1a1e5497 100644 --- a/conf/airframes/mm/fixed-wing/funjetfmi2.xml +++ b/conf/airframes/mm/fixed-wing/funjetfmi2.xml @@ -103,7 +103,7 @@ - + @@ -114,12 +114,12 @@ - + - + @@ -129,20 +129,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetfmi3.xml b/conf/airframes/mm/fixed-wing/funjetfmi3.xml index 86ff520fa6..c9e1cf65e8 100644 --- a/conf/airframes/mm/fixed-wing/funjetfmi3.xml +++ b/conf/airframes/mm/fixed-wing/funjetfmi3.xml @@ -103,7 +103,7 @@ - + @@ -114,12 +114,12 @@ - + - + @@ -129,20 +129,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetgfi1.xml b/conf/airframes/mm/fixed-wing/funjetgfi1.xml index 57ffd69a91..a889cc65ca 100644 --- a/conf/airframes/mm/fixed-wing/funjetgfi1.xml +++ b/conf/airframes/mm/fixed-wing/funjetgfi1.xml @@ -102,7 +102,7 @@
- + @@ -113,12 +113,12 @@ - + - + @@ -128,19 +128,19 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetgfi3.xml b/conf/airframes/mm/fixed-wing/funjetgfi3.xml index 6f8b1cd526..13302fb736 100644 --- a/conf/airframes/mm/fixed-wing/funjetgfi3.xml +++ b/conf/airframes/mm/fixed-wing/funjetgfi3.xml @@ -101,7 +101,7 @@
- + @@ -112,12 +112,12 @@ - + - + @@ -127,14 +127,14 @@
- + - + diff --git a/conf/airframes/mm/fixed-wing/funjetgfi4.xml b/conf/airframes/mm/fixed-wing/funjetgfi4.xml index c3686fff8e..c1de946238 100644 --- a/conf/airframes/mm/fixed-wing/funjetgfi4.xml +++ b/conf/airframes/mm/fixed-wing/funjetgfi4.xml @@ -101,7 +101,7 @@ - + @@ -112,12 +112,12 @@ - + - + @@ -127,20 +127,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetgfi5.xml b/conf/airframes/mm/fixed-wing/funjetgfi5.xml index 465e07119b..4fc37cc3b8 100644 --- a/conf/airframes/mm/fixed-wing/funjetgfi5.xml +++ b/conf/airframes/mm/fixed-wing/funjetgfi5.xml @@ -103,7 +103,7 @@ - + @@ -114,12 +114,12 @@ - + - + @@ -129,20 +129,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetgfi6.xml b/conf/airframes/mm/fixed-wing/funjetgfi6.xml index 1051312984..9df7592ba8 100644 --- a/conf/airframes/mm/fixed-wing/funjetgfi6.xml +++ b/conf/airframes/mm/fixed-wing/funjetgfi6.xml @@ -103,7 +103,7 @@ - + @@ -114,12 +114,12 @@ - + - + @@ -129,20 +129,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetgfi7.xml b/conf/airframes/mm/fixed-wing/funjetgfi7.xml index 8d44915973..869bb9a981 100644 --- a/conf/airframes/mm/fixed-wing/funjetgfi7.xml +++ b/conf/airframes/mm/fixed-wing/funjetgfi7.xml @@ -103,7 +103,7 @@ - + @@ -114,12 +114,12 @@ - + - + @@ -129,20 +129,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetgfi8.xml b/conf/airframes/mm/fixed-wing/funjetgfi8.xml index 7a9da170de..57b1e4ede7 100644 --- a/conf/airframes/mm/fixed-wing/funjetgfi8.xml +++ b/conf/airframes/mm/fixed-wing/funjetgfi8.xml @@ -138,7 +138,7 @@ - + @@ -149,12 +149,12 @@ - + - + @@ -163,14 +163,14 @@
- + - + diff --git a/conf/airframes/mm/fixed-wing/funjetgfi9.xml b/conf/airframes/mm/fixed-wing/funjetgfi9.xml index 0333184611..3fbb93ee36 100644 --- a/conf/airframes/mm/fixed-wing/funjetgfi9.xml +++ b/conf/airframes/mm/fixed-wing/funjetgfi9.xml @@ -103,7 +103,7 @@ - + @@ -114,12 +114,12 @@ - + - + @@ -129,20 +129,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetlisa.xml b/conf/airframes/mm/fixed-wing/funjetlisa.xml index d1367b4bd5..e2386465d9 100644 --- a/conf/airframes/mm/fixed-wing/funjetlisa.xml +++ b/conf/airframes/mm/fixed-wing/funjetlisa.xml @@ -119,7 +119,7 @@
- + @@ -128,12 +128,12 @@ - + - + @@ -142,14 +142,14 @@
- + - + diff --git a/conf/airframes/mm/fixed-wing/funjetlisam.xml b/conf/airframes/mm/fixed-wing/funjetlisam.xml index ddcef511ad..503d2cb20c 100644 --- a/conf/airframes/mm/fixed-wing/funjetlisam.xml +++ b/conf/airframes/mm/fixed-wing/funjetlisam.xml @@ -119,7 +119,7 @@
- + @@ -128,12 +128,12 @@ - + - + @@ -142,14 +142,14 @@
- + - + diff --git a/conf/airframes/mm/fixed-wing/funjetmm.xml b/conf/airframes/mm/fixed-wing/funjetmm.xml index bf03e24173..f7fca1b037 100644 --- a/conf/airframes/mm/fixed-wing/funjetmm.xml +++ b/conf/airframes/mm/fixed-wing/funjetmm.xml @@ -174,7 +174,7 @@ - + @@ -185,12 +185,12 @@ - + - + @@ -200,20 +200,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/funjetmm2.xml b/conf/airframes/mm/fixed-wing/funjetmm2.xml index 19f5f2b100..2e24ad138c 100644 --- a/conf/airframes/mm/fixed-wing/funjetmm2.xml +++ b/conf/airframes/mm/fixed-wing/funjetmm2.xml @@ -109,7 +109,7 @@ - + @@ -120,12 +120,12 @@ - + - + @@ -135,20 +135,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/fw_ins_arduimu.xml b/conf/airframes/mm/fixed-wing/fw_ins_arduimu.xml index 33ab31ed52..8d69163c7b 100644 --- a/conf/airframes/mm/fixed-wing/fw_ins_arduimu.xml +++ b/conf/airframes/mm/fixed-wing/fw_ins_arduimu.xml @@ -134,7 +134,7 @@ - + @@ -145,12 +145,12 @@ - + - + @@ -160,20 +160,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/merlin.xml b/conf/airframes/mm/fixed-wing/merlin.xml index 4a88b9f934..a582746903 100644 --- a/conf/airframes/mm/fixed-wing/merlin.xml +++ b/conf/airframes/mm/fixed-wing/merlin.xml @@ -98,7 +98,7 @@
- + @@ -109,12 +109,12 @@ - + - + @@ -123,20 +123,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/miniwing.xml b/conf/airframes/mm/fixed-wing/miniwing.xml index ee409af625..d877733960 100644 --- a/conf/airframes/mm/fixed-wing/miniwing.xml +++ b/conf/airframes/mm/fixed-wing/miniwing.xml @@ -101,7 +101,7 @@ - + @@ -112,12 +112,12 @@ - + - + @@ -127,20 +127,20 @@
- + - + - +
diff --git a/conf/airframes/mm/fixed-wing/slowfast.xml b/conf/airframes/mm/fixed-wing/slowfast.xml index ec9501ac9c..0b5e9f2acf 100644 --- a/conf/airframes/mm/fixed-wing/slowfast.xml +++ b/conf/airframes/mm/fixed-wing/slowfast.xml @@ -132,7 +132,7 @@ - + @@ -143,12 +143,12 @@ - + - + @@ -158,20 +158,20 @@
- + - + - - + +
diff --git a/conf/airframes/mm/fixed-wing/slowfast2.xml b/conf/airframes/mm/fixed-wing/slowfast2.xml index 1a78cadf50..eb123ba784 100644 --- a/conf/airframes/mm/fixed-wing/slowfast2.xml +++ b/conf/airframes/mm/fixed-wing/slowfast2.xml @@ -138,7 +138,7 @@ - + @@ -149,12 +149,12 @@ - + - + @@ -174,20 +174,20 @@
- + - + - - + +
diff --git a/conf/airframes/mm/fixed-wing/twinstarmm.xml b/conf/airframes/mm/fixed-wing/twinstarmm.xml index df6e4bcf0b..2ec04ed767 100644 --- a/conf/airframes/mm/fixed-wing/twinstarmm.xml +++ b/conf/airframes/mm/fixed-wing/twinstarmm.xml @@ -125,7 +125,7 @@
- + @@ -136,12 +136,12 @@ - + - + @@ -152,20 +152,20 @@
- + - - + + - +
diff --git a/conf/airframes/mm/hangar/black_one.xml b/conf/airframes/mm/hangar/black_one.xml index 5525d58319..7bbc9f1281 100644 --- a/conf/airframes/mm/hangar/black_one.xml +++ b/conf/airframes/mm/hangar/black_one.xml @@ -123,7 +123,7 @@
- + @@ -134,12 +134,12 @@ - + - + @@ -149,7 +149,7 @@
- + @@ -157,7 +157,7 @@ - + diff --git a/conf/airframes/mm/hangar/glass_one1.xml b/conf/airframes/mm/hangar/glass_one1.xml index 5ed8fc2512..5dbbf8e3fa 100644 --- a/conf/airframes/mm/hangar/glass_one1.xml +++ b/conf/airframes/mm/hangar/glass_one1.xml @@ -112,7 +112,7 @@
- + @@ -123,12 +123,12 @@ - + - + @@ -146,7 +146,7 @@ - + diff --git a/conf/airframes/mm/hangar/glass_one2.xml b/conf/airframes/mm/hangar/glass_one2.xml index 1c376bbd29..8c693facc8 100644 --- a/conf/airframes/mm/hangar/glass_one2.xml +++ b/conf/airframes/mm/hangar/glass_one2.xml @@ -96,7 +96,7 @@
- + @@ -107,12 +107,12 @@ - + - + @@ -122,7 +122,7 @@
- + @@ -130,7 +130,7 @@ - + diff --git a/conf/airframes/mm/hangar/glass_one3.xml b/conf/airframes/mm/hangar/glass_one3.xml index 50528eafac..99dd864100 100644 --- a/conf/airframes/mm/hangar/glass_one3.xml +++ b/conf/airframes/mm/hangar/glass_one3.xml @@ -113,7 +113,7 @@
- + @@ -124,12 +124,12 @@ - + - + @@ -139,7 +139,7 @@
- + @@ -147,7 +147,7 @@ - + diff --git a/conf/airframes/mm/hangar/lila.xml b/conf/airframes/mm/hangar/lila.xml index 788907070f..f0bb6c24df 100644 --- a/conf/airframes/mm/hangar/lila.xml +++ b/conf/airframes/mm/hangar/lila.xml @@ -115,7 +115,7 @@ - + @@ -126,12 +126,12 @@ - + - + @@ -141,22 +141,22 @@
- + - - + + - - + + - +
diff --git a/conf/airframes/mm/hangar/mac06a.xml b/conf/airframes/mm/hangar/mac06a.xml index 64c144144d..d52fef4707 100644 --- a/conf/airframes/mm/hangar/mac06a.xml +++ b/conf/airframes/mm/hangar/mac06a.xml @@ -108,7 +108,7 @@
- + @@ -119,12 +119,12 @@ - + - + @@ -134,12 +134,12 @@
- + - + diff --git a/conf/airframes/mm/hangar/red_one.xml b/conf/airframes/mm/hangar/red_one.xml index 301e06f331..8bb328e7b8 100644 --- a/conf/airframes/mm/hangar/red_one.xml +++ b/conf/airframes/mm/hangar/red_one.xml @@ -122,7 +122,7 @@
- + @@ -133,12 +133,12 @@ - + - + @@ -148,7 +148,7 @@
- + @@ -156,7 +156,7 @@ - + diff --git a/conf/airframes/mm/rotor/qmk1.xml b/conf/airframes/mm/rotor/qmk1.xml index a680057c38..eb3cf417e2 100644 --- a/conf/airframes/mm/rotor/qmk1.xml +++ b/conf/airframes/mm/rotor/qmk1.xml @@ -91,9 +91,9 @@ - - - + + +
@@ -122,17 +122,17 @@ - - - + + + - - - + + + - - - + + + @@ -152,8 +152,8 @@ - - + + @@ -164,9 +164,9 @@
- - - + + +
diff --git a/conf/airframes/obsolete/booz2_Aron.xml b/conf/airframes/obsolete/booz2_Aron.xml index 80af3ce202..8512e7990a 100644 --- a/conf/airframes/obsolete/booz2_Aron.xml +++ b/conf/airframes/obsolete/booz2_Aron.xml @@ -83,9 +83,9 @@ - - - + + +
@@ -114,17 +114,17 @@ - - - + + + - - - + + + - - - + + + @@ -145,9 +145,9 @@ - - - + + + @@ -155,9 +155,9 @@
- - - + + +
diff --git a/conf/airframes/obsolete/booz2_NoVa.xml b/conf/airframes/obsolete/booz2_NoVa.xml index a9e7ff831d..472114d6a7 100644 --- a/conf/airframes/obsolete/booz2_NoVa.xml +++ b/conf/airframes/obsolete/booz2_NoVa.xml @@ -79,13 +79,13 @@ - - - + + + - - - + + + @@ -119,30 +119,30 @@ - - - + + + - - - + + + - - - + + + @@ -185,8 +185,8 @@ - - + + @@ -196,11 +196,11 @@
- - - - - + + + + +
diff --git a/conf/airframes/obsolete/booz2_NoVa_001.xml b/conf/airframes/obsolete/booz2_NoVa_001.xml index 582d05c7b4..c6e20076fd 100644 --- a/conf/airframes/obsolete/booz2_NoVa_001.xml +++ b/conf/airframes/obsolete/booz2_NoVa_001.xml @@ -79,13 +79,13 @@ - - - + + + - - - + + + @@ -119,30 +119,30 @@ - - - + + + - - - + + + - - - + + + @@ -185,8 +185,8 @@ - - + + @@ -196,11 +196,11 @@
- - - - - + + + + +
diff --git a/conf/airframes/obsolete/booz2_NoVa_002.xml b/conf/airframes/obsolete/booz2_NoVa_002.xml index 27229199c7..c243de3ae4 100644 --- a/conf/airframes/obsolete/booz2_NoVa_002.xml +++ b/conf/airframes/obsolete/booz2_NoVa_002.xml @@ -79,13 +79,13 @@ - - - + + + - - - + + + @@ -119,30 +119,30 @@ - - - + + + - - - + + + - - - + + + @@ -185,8 +185,8 @@ - - + + @@ -196,11 +196,11 @@
- - - - - + + + + +
diff --git a/conf/airframes/obsolete/booz2_a2.xml b/conf/airframes/obsolete/booz2_a2.xml index 95bb96b694..c6dc404e3c 100644 --- a/conf/airframes/obsolete/booz2_a2.xml +++ b/conf/airframes/obsolete/booz2_a2.xml @@ -77,9 +77,9 @@ - - - + + +
@@ -108,17 +108,17 @@ - - - + + + - - - + + + - - - + + + @@ -145,9 +145,9 @@ - - - + + + @@ -155,9 +155,9 @@
- - - + + +
diff --git a/conf/airframes/obsolete/booz2_a3.xml b/conf/airframes/obsolete/booz2_a3.xml index b16d1e39ae..7e7755e84e 100644 --- a/conf/airframes/obsolete/booz2_a3.xml +++ b/conf/airframes/obsolete/booz2_a3.xml @@ -64,9 +64,9 @@ - - - + + +
@@ -95,17 +95,17 @@ - - - + + + - - - + + + - - - + + + @@ -131,8 +131,8 @@ - - + + @@ -140,9 +140,9 @@
- - - + + +
diff --git a/conf/airframes/obsolete/booz2_a4.xml b/conf/airframes/obsolete/booz2_a4.xml index 8d1a6b0822..337c76d244 100644 --- a/conf/airframes/obsolete/booz2_a4.xml +++ b/conf/airframes/obsolete/booz2_a4.xml @@ -66,9 +66,9 @@ - - - + + +
@@ -84,10 +84,10 @@ - - + + - +
@@ -109,8 +109,8 @@ - - + + @@ -118,9 +118,9 @@
- - - + + +
diff --git a/conf/airframes/obsolete/booz2_a5.xml b/conf/airframes/obsolete/booz2_a5.xml index 9b4918ead3..bcdd61a563 100644 --- a/conf/airframes/obsolete/booz2_a5.xml +++ b/conf/airframes/obsolete/booz2_a5.xml @@ -87,9 +87,9 @@ - - - + + +
@@ -118,17 +118,17 @@ - - - + + + - - - + + + - - - + + + @@ -147,9 +147,9 @@ - - - + + + @@ -159,9 +159,9 @@
- - - + + +
diff --git a/conf/airframes/obsolete/booz2_s1.xml b/conf/airframes/obsolete/booz2_s1.xml index 106ad4cb11..9711a48c3f 100644 --- a/conf/airframes/obsolete/booz2_s1.xml +++ b/conf/airframes/obsolete/booz2_s1.xml @@ -78,9 +78,9 @@ - - - + + +
@@ -110,17 +110,17 @@ - - - + + + - - - + + + - - - + + + @@ -138,9 +138,9 @@ - - - + + + @@ -151,9 +151,9 @@
- - - + + +
diff --git a/conf/airframes/obsolete/booz2_x1.xml b/conf/airframes/obsolete/booz2_x1.xml index d24a301207..7ce46bd0d3 100644 --- a/conf/airframes/obsolete/booz2_x1.xml +++ b/conf/airframes/obsolete/booz2_x1.xml @@ -89,9 +89,9 @@ - - - + + +
@@ -121,17 +121,17 @@ - - - + + + - - - + + + - - - + + + @@ -150,9 +150,9 @@ - - - + + + @@ -161,9 +161,9 @@
- - - + + +
diff --git a/conf/airframes/obsolete/easystar2.xml b/conf/airframes/obsolete/easystar2.xml index a129d1f39d..cbda2b48f6 100644 --- a/conf/airframes/obsolete/easystar2.xml +++ b/conf/airframes/obsolete/easystar2.xml @@ -103,7 +103,7 @@
- + @@ -112,7 +112,7 @@ - + @@ -122,7 +122,7 @@ - + @@ -130,15 +130,15 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/hitl_usb.xml b/conf/airframes/obsolete/hitl_usb.xml index 5a2c64da06..b2d5a21c1b 100644 --- a/conf/airframes/obsolete/hitl_usb.xml +++ b/conf/airframes/obsolete/hitl_usb.xml @@ -46,7 +46,7 @@ - + @@ -57,7 +57,7 @@ - + @@ -65,21 +65,21 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/kalscott_easystar.xml b/conf/airframes/obsolete/kalscott_easystar.xml index 211b238d28..8fc7177256 100644 --- a/conf/airframes/obsolete/kalscott_easystar.xml +++ b/conf/airframes/obsolete/kalscott_easystar.xml @@ -90,7 +90,7 @@
- + @@ -99,10 +99,10 @@ - + - + @@ -110,15 +110,15 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/malolo_sim.xml b/conf/airframes/obsolete/malolo_sim.xml index f72cb96d61..9bde735206 100644 --- a/conf/airframes/obsolete/malolo_sim.xml +++ b/conf/airframes/obsolete/malolo_sim.xml @@ -112,7 +112,7 @@ - + @@ -123,12 +123,12 @@ - + - + @@ -138,19 +138,19 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/microjet5.xml b/conf/airframes/obsolete/microjet5.xml index 5d20dc5d0f..e6390f07fd 100644 --- a/conf/airframes/obsolete/microjet5.xml +++ b/conf/airframes/obsolete/microjet5.xml @@ -109,7 +109,7 @@
- + @@ -120,12 +120,12 @@ - + - + @@ -135,19 +135,19 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/microjet5_tp_auto.xml b/conf/airframes/obsolete/microjet5_tp_auto.xml index 702715819d..959828e6a7 100644 --- a/conf/airframes/obsolete/microjet5_tp_auto.xml +++ b/conf/airframes/obsolete/microjet5_tp_auto.xml @@ -86,7 +86,7 @@
- + @@ -96,15 +96,15 @@
- + - - - + + + @@ -114,7 +114,7 @@
- + @@ -125,12 +125,12 @@ - + - + diff --git a/conf/airframes/obsolete/microjet6.xml b/conf/airframes/obsolete/microjet6.xml index eb339a907c..cbce102e34 100644 --- a/conf/airframes/obsolete/microjet6.xml +++ b/conf/airframes/obsolete/microjet6.xml @@ -105,7 +105,7 @@ - + @@ -116,12 +116,12 @@ - + - + @@ -131,7 +131,7 @@
- + @@ -139,7 +139,7 @@ - + @@ -162,7 +162,7 @@
- +
diff --git a/conf/airframes/obsolete/microjetI.xml b/conf/airframes/obsolete/microjetI.xml index b5b6cf71c3..1e816a3d29 100644 --- a/conf/airframes/obsolete/microjetI.xml +++ b/conf/airframes/obsolete/microjetI.xml @@ -115,7 +115,7 @@ - + @@ -126,7 +126,7 @@ - + @@ -134,21 +134,21 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/microjetII.xml b/conf/airframes/obsolete/microjetII.xml index 40d42dcdd2..f522378c6c 100644 --- a/conf/airframes/obsolete/microjetII.xml +++ b/conf/airframes/obsolete/microjetII.xml @@ -117,7 +117,7 @@ - + @@ -128,7 +128,7 @@ - + @@ -136,19 +136,19 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/microjetIII.xml b/conf/airframes/obsolete/microjetIII.xml index 424a3bce9c..89c5e2b519 100644 --- a/conf/airframes/obsolete/microjetIII.xml +++ b/conf/airframes/obsolete/microjetIII.xml @@ -103,7 +103,7 @@ - + @@ -114,7 +114,7 @@ - + @@ -122,21 +122,21 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/microjet_raw_makefile.xml b/conf/airframes/obsolete/microjet_raw_makefile.xml index cc7c722062..4de83c91ff 100644 --- a/conf/airframes/obsolete/microjet_raw_makefile.xml +++ b/conf/airframes/obsolete/microjet_raw_makefile.xml @@ -114,7 +114,7 @@
- + @@ -125,12 +125,12 @@ - + - + @@ -140,19 +140,19 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/minimag1.xml b/conf/airframes/obsolete/minimag1.xml index 666e1bea24..e047ab17d6 100644 --- a/conf/airframes/obsolete/minimag1.xml +++ b/conf/airframes/obsolete/minimag1.xml @@ -102,7 +102,7 @@ - + @@ -113,12 +113,12 @@ - + - + @@ -128,7 +128,7 @@
- + @@ -136,7 +136,7 @@ - + diff --git a/conf/airframes/obsolete/minimag_fs.xml b/conf/airframes/obsolete/minimag_fs.xml index f48b353aea..5fe2a47676 100644 --- a/conf/airframes/obsolete/minimag_fs.xml +++ b/conf/airframes/obsolete/minimag_fs.xml @@ -116,7 +116,7 @@ - + @@ -127,12 +127,12 @@ - + - + @@ -142,14 +142,14 @@
- + - +
diff --git a/conf/airframes/obsolete/mmlaas_N1_carto_cam.xml b/conf/airframes/obsolete/mmlaas_N1_carto_cam.xml index e9efa41b10..be58d5e523 100644 --- a/conf/airframes/obsolete/mmlaas_N1_carto_cam.xml +++ b/conf/airframes/obsolete/mmlaas_N1_carto_cam.xml @@ -101,7 +101,7 @@ - + @@ -112,12 +112,12 @@ - + - + @@ -127,7 +127,7 @@
- + @@ -135,7 +135,7 @@ - + @@ -144,7 +144,7 @@
- +
diff --git a/conf/airframes/obsolete/osam_xsens_twog.xml b/conf/airframes/obsolete/osam_xsens_twog.xml index 4c573d4d2b..425ae845d6 100644 --- a/conf/airframes/obsolete/osam_xsens_twog.xml +++ b/conf/airframes/obsolete/osam_xsens_twog.xml @@ -145,7 +145,7 @@ - + @@ -156,7 +156,7 @@ - + @@ -165,13 +165,13 @@
- + - + diff --git a/conf/airframes/obsolete/slayer1.xml b/conf/airframes/obsolete/slayer1.xml index e104bfbf0a..a097cfc2da 100644 --- a/conf/airframes/obsolete/slayer1.xml +++ b/conf/airframes/obsolete/slayer1.xml @@ -105,7 +105,7 @@
- + @@ -116,12 +116,12 @@ - + - + @@ -131,7 +131,7 @@
- + @@ -139,7 +139,7 @@ - + diff --git a/conf/airframes/obsolete/slayer3.xml b/conf/airframes/obsolete/slayer3.xml index 2cb82585a6..62c18d9fe3 100644 --- a/conf/airframes/obsolete/slayer3.xml +++ b/conf/airframes/obsolete/slayer3.xml @@ -105,7 +105,7 @@
- + @@ -116,12 +116,12 @@ - + - + @@ -131,7 +131,7 @@
- + @@ -140,7 +140,7 @@ - + diff --git a/conf/airframes/obsolete/slayerJH.xml b/conf/airframes/obsolete/slayerJH.xml index 920295fb1b..e1a8f7255b 100644 --- a/conf/airframes/obsolete/slayerJH.xml +++ b/conf/airframes/obsolete/slayerJH.xml @@ -102,7 +102,7 @@
- + @@ -113,7 +113,7 @@ - + @@ -121,18 +121,18 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/slicer1.xml b/conf/airframes/obsolete/slicer1.xml index 914538a39b..163152da50 100644 --- a/conf/airframes/obsolete/slicer1.xml +++ b/conf/airframes/obsolete/slicer1.xml @@ -116,7 +116,7 @@ - + @@ -127,7 +127,7 @@ - + @@ -135,19 +135,19 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/slicer2.xml b/conf/airframes/obsolete/slicer2.xml index 1a89a8a100..c8798feae4 100644 --- a/conf/airframes/obsolete/slicer2.xml +++ b/conf/airframes/obsolete/slicer2.xml @@ -110,7 +110,7 @@ - + @@ -121,7 +121,7 @@ - + @@ -129,19 +129,19 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/spirit.xml b/conf/airframes/obsolete/spirit.xml index 7e839d4829..d3804aaf2a 100644 --- a/conf/airframes/obsolete/spirit.xml +++ b/conf/airframes/obsolete/spirit.xml @@ -112,7 +112,7 @@ - + @@ -123,7 +123,7 @@ - + @@ -131,21 +131,21 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/spirit_proto.xml b/conf/airframes/obsolete/spirit_proto.xml index ca9971afa2..9ae2acdc93 100644 --- a/conf/airframes/obsolete/spirit_proto.xml +++ b/conf/airframes/obsolete/spirit_proto.xml @@ -101,7 +101,7 @@ - + @@ -112,7 +112,7 @@ - + @@ -120,21 +120,21 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/storm1.xml b/conf/airframes/obsolete/storm1.xml index 80cdfed726..3ada34c50a 100644 --- a/conf/airframes/obsolete/storm1.xml +++ b/conf/airframes/obsolete/storm1.xml @@ -129,7 +129,7 @@ - + @@ -140,12 +140,12 @@ - + - + @@ -155,7 +155,7 @@
- + @@ -163,7 +163,7 @@ - + diff --git a/conf/airframes/obsolete/tiny2.xml b/conf/airframes/obsolete/tiny2.xml index 494b269a55..8003be219f 100644 --- a/conf/airframes/obsolete/tiny2.xml +++ b/conf/airframes/obsolete/tiny2.xml @@ -101,7 +101,7 @@ - + @@ -112,12 +112,12 @@ - + - + @@ -127,7 +127,7 @@
- + @@ -135,7 +135,7 @@ - + diff --git a/conf/airframes/obsolete/tiny_hitl.xml b/conf/airframes/obsolete/tiny_hitl.xml index e1278378b9..c3f70f7f3b 100644 --- a/conf/airframes/obsolete/tiny_hitl.xml +++ b/conf/airframes/obsolete/tiny_hitl.xml @@ -97,7 +97,7 @@ - + @@ -108,7 +108,7 @@ - + @@ -116,21 +116,21 @@
- + - + - - + +
diff --git a/conf/airframes/obsolete/twinjet1.xml b/conf/airframes/obsolete/twinjet1.xml index 0f70ebc62b..b9d9f5b702 100644 --- a/conf/airframes/obsolete/twinjet1.xml +++ b/conf/airframes/obsolete/twinjet1.xml @@ -80,25 +80,25 @@
- + - + - - + +
- + @@ -109,7 +109,7 @@ - + diff --git a/conf/airframes/obsolete/twinstar1.xml b/conf/airframes/obsolete/twinstar1.xml index 52832ed439..725d44586c 100644 --- a/conf/airframes/obsolete/twinstar1.xml +++ b/conf/airframes/obsolete/twinstar1.xml @@ -70,7 +70,7 @@
- + @@ -82,7 +82,7 @@
- + @@ -90,7 +90,7 @@ - + @@ -110,7 +110,7 @@
- + @@ -121,12 +121,12 @@ - + - + diff --git a/conf/airframes/obsolete/twinstar6.xml b/conf/airframes/obsolete/twinstar6.xml index 8429b9bd93..515270a9d7 100644 --- a/conf/airframes/obsolete/twinstar6.xml +++ b/conf/airframes/obsolete/twinstar6.xml @@ -90,7 +90,7 @@
- + @@ -98,7 +98,7 @@ - +
@@ -119,7 +119,7 @@
- + @@ -130,7 +130,7 @@ - + diff --git a/conf/airframes/obsolete/tyto1.xml b/conf/airframes/obsolete/tyto1.xml index 5da82221f8..9f77189137 100644 --- a/conf/airframes/obsolete/tyto1.xml +++ b/conf/airframes/obsolete/tyto1.xml @@ -119,7 +119,7 @@ - + @@ -130,12 +130,12 @@ - + - + @@ -145,7 +145,7 @@
- + @@ -157,8 +157,8 @@ - - + +
diff --git a/conf/airframes/obsolete/xxx1.xml b/conf/airframes/obsolete/xxx1.xml index a634c1204a..29c376bf5b 100644 --- a/conf/airframes/obsolete/xxx1.xml +++ b/conf/airframes/obsolete/xxx1.xml @@ -115,7 +115,7 @@ - + @@ -126,12 +126,12 @@ - + - + @@ -141,7 +141,7 @@
- + @@ -149,7 +149,7 @@ - + diff --git a/conf/airframes/test_hb.xml b/conf/airframes/test_hb.xml index 8ab20eb739..7026a0513d 100644 --- a/conf/airframes/test_hb.xml +++ b/conf/airframes/test_hb.xml @@ -140,7 +140,7 @@
- + @@ -151,12 +151,12 @@ - + - + @@ -165,14 +165,14 @@
- + - + diff --git a/conf/airframes/twinjet_example.xml b/conf/airframes/twinjet_example.xml index 4abed81cd9..a4bd629534 100644 --- a/conf/airframes/twinjet_example.xml +++ b/conf/airframes/twinjet_example.xml @@ -108,25 +108,25 @@
- + - + - - + +
- + @@ -137,7 +137,7 @@ - + diff --git a/conf/airframes/twinjet_overo.xml b/conf/airframes/twinjet_overo.xml index a3fdadd5fa..90a9b62cb5 100644 --- a/conf/airframes/twinjet_overo.xml +++ b/conf/airframes/twinjet_overo.xml @@ -110,25 +110,25 @@
- + - + - - + +
- + @@ -139,7 +139,7 @@ - + diff --git a/conf/airframes/twinstar_example.xml b/conf/airframes/twinstar_example.xml index cf91db9734..09d2582cee 100644 --- a/conf/airframes/twinstar_example.xml +++ b/conf/airframes/twinstar_example.xml @@ -138,7 +138,7 @@
- + @@ -149,12 +149,12 @@ - + - + @@ -164,15 +164,15 @@
- + - - + +
diff --git a/conf/airframes/usb_test.xml b/conf/airframes/usb_test.xml index 21fcd7e3f3..3946645082 100644 --- a/conf/airframes/usb_test.xml +++ b/conf/airframes/usb_test.xml @@ -119,7 +119,7 @@ - + @@ -130,12 +130,12 @@ - + - + @@ -144,14 +144,14 @@
- + - + diff --git a/conf/settings/fw_h_ctl_a_settings.xml b/conf/settings/fw_h_ctl_a_settings.xml index 4defb5ded3..22631d80a9 100644 --- a/conf/settings/fw_h_ctl_a_settings.xml +++ b/conf/settings/fw_h_ctl_a_settings.xml @@ -5,12 +5,12 @@ - - - - - - + + + + + + diff --git a/conf/settings/settings_UofAdelaide.xml b/conf/settings/settings_UofAdelaide.xml index 16ebab381e..0ad179f67e 100644 --- a/conf/settings/settings_UofAdelaide.xml +++ b/conf/settings/settings_UofAdelaide.xml @@ -33,9 +33,9 @@ - - - + + + @@ -55,9 +55,9 @@ - - - + + + @@ -66,11 +66,11 @@ - - - - - + + + + + diff --git a/conf/settings/settings_booz2.xml b/conf/settings/settings_booz2.xml index 97cff2e7b1..20a04ce36b 100644 --- a/conf/settings/settings_booz2.xml +++ b/conf/settings/settings_booz2.xml @@ -22,9 +22,9 @@ - - - + + + @@ -44,9 +44,9 @@ - - - + + + @@ -55,11 +55,11 @@ - - - - - + + + + + diff --git a/conf/settings/settings_booz2_jtm.xml b/conf/settings/settings_booz2_jtm.xml index 3441e55d55..22b005f7e6 100644 --- a/conf/settings/settings_booz2_jtm.xml +++ b/conf/settings/settings_booz2_jtm.xml @@ -22,9 +22,9 @@ - - - + + + @@ -44,9 +44,9 @@ - - - + + + @@ -55,11 +55,11 @@ - - - - - + + + + + diff --git a/conf/settings/tuning.xml b/conf/settings/tuning.xml index 5309586e6e..80375b75d6 100644 --- a/conf/settings/tuning.xml +++ b/conf/settings/tuning.xml @@ -39,17 +39,17 @@ - - + + - - + + - + @@ -58,9 +58,7 @@ - - - + @@ -72,12 +70,12 @@ - + - + @@ -89,7 +87,7 @@ - + diff --git a/conf/settings/tuningJH.xml b/conf/settings/tuningJH.xml index a4907a95fb..573ed4302d 100644 --- a/conf/settings/tuningJH.xml +++ b/conf/settings/tuningJH.xml @@ -38,19 +38,19 @@ - + - - + + - + @@ -61,7 +61,7 @@ - + @@ -73,7 +73,7 @@ - + @@ -84,7 +84,7 @@ - + diff --git a/conf/settings/tuning_ctl_adaptive.xml b/conf/settings/tuning_ctl_adaptive.xml index c51a014118..ff57cd5608 100644 --- a/conf/settings/tuning_ctl_adaptive.xml +++ b/conf/settings/tuning_ctl_adaptive.xml @@ -12,12 +12,12 @@ - - - - - - + + + + + + @@ -26,32 +26,32 @@ - - - - + + + + - + - - + + - - - + + + - + @@ -63,7 +63,7 @@ - + diff --git a/conf/settings/tuning_ctl_new.xml b/conf/settings/tuning_ctl_new.xml index 192fdb2fe5..2a8e4d9a82 100644 --- a/conf/settings/tuning_ctl_new.xml +++ b/conf/settings/tuning_ctl_new.xml @@ -12,12 +12,12 @@ - - - - - - + + + + + + @@ -26,14 +26,14 @@ - - - - + + + + - + @@ -44,20 +44,20 @@ - - - + + + - - - + + + - + @@ -69,7 +69,7 @@ - + diff --git a/conf/settings/tuning_infrared.xml b/conf/settings/tuning_infrared.xml index 92f0b23bd3..94cd218dfd 100644 --- a/conf/settings/tuning_infrared.xml +++ b/conf/settings/tuning_infrared.xml @@ -49,19 +49,19 @@ - - + + - - + + - + @@ -72,7 +72,7 @@ - + @@ -84,12 +84,12 @@ - + - + @@ -101,7 +101,7 @@ - + diff --git a/conf/settings/tuning_ins.xml b/conf/settings/tuning_ins.xml index 571e67b2d4..da1020dd73 100644 --- a/conf/settings/tuning_ins.xml +++ b/conf/settings/tuning_ins.xml @@ -45,19 +45,19 @@ - + - - + + - + @@ -68,7 +68,7 @@ - + @@ -80,12 +80,12 @@ - + - + @@ -97,7 +97,7 @@ - + diff --git a/conf/settings/tuning_ins_dcm.xml b/conf/settings/tuning_ins_dcm.xml index 4691283559..f89fbd498a 100644 --- a/conf/settings/tuning_ins_dcm.xml +++ b/conf/settings/tuning_ins_dcm.xml @@ -47,19 +47,19 @@ - + - - + + - + @@ -70,7 +70,7 @@ - + @@ -82,12 +82,12 @@ - + - + @@ -99,7 +99,7 @@ - + diff --git a/conf/settings/tuning_loiter.xml b/conf/settings/tuning_loiter.xml index 7dd510d56c..8b5b7966a2 100644 --- a/conf/settings/tuning_loiter.xml +++ b/conf/settings/tuning_loiter.xml @@ -52,19 +52,19 @@ - - + + - - + + - + @@ -75,7 +75,7 @@ - + @@ -87,12 +87,12 @@ - + - + @@ -104,7 +104,7 @@ - + diff --git a/conf/settings/tuning_pers.xml b/conf/settings/tuning_pers.xml index 68c7e55a7a..18edc644e8 100644 --- a/conf/settings/tuning_pers.xml +++ b/conf/settings/tuning_pers.xml @@ -49,19 +49,19 @@ - - + + - - + + - + @@ -72,7 +72,7 @@ - + @@ -84,12 +84,12 @@ - + - + @@ -101,7 +101,7 @@ - + diff --git a/conf/settings/tuning_tp_auto.xml b/conf/settings/tuning_tp_auto.xml index 627fb9dd1c..a1e8f5a52e 100644 --- a/conf/settings/tuning_tp_auto.xml +++ b/conf/settings/tuning_tp_auto.xml @@ -30,10 +30,10 @@ - - + + - + @@ -43,7 +43,7 @@ - + @@ -54,7 +54,7 @@ - + @@ -63,7 +63,7 @@ - + @@ -74,7 +74,7 @@ - + diff --git a/sw/airborne/firmwares/fixedwing/guidance/guidance_v.c b/sw/airborne/firmwares/fixedwing/guidance/guidance_v.c index 00a2174460..cd7fecb7c0 100644 --- a/sw/airborne/firmwares/fixedwing/guidance/guidance_v.c +++ b/sw/airborne/firmwares/fixedwing/guidance/guidance_v.c @@ -48,6 +48,10 @@ float v_ctl_climb_setpoint; uint8_t v_ctl_climb_mode; uint8_t v_ctl_auto_throttle_submode; +#ifndef V_CTL_AUTO_THROTTLE_DGAIN +#define V_CTL_AUTO_THROTTLE_DGAIN 0. +#endif + /* "auto throttle" inner loop parameters */ float v_ctl_auto_throttle_cruise_throttle; float v_ctl_auto_throttle_nominal_cruise_throttle; @@ -112,7 +116,7 @@ void v_ctl_init( void ) { /* outer loop */ v_ctl_altitude_setpoint = 0.; v_ctl_altitude_pre_climb = 0.; - v_ctl_altitude_pgain = V_CTL_ALTITUDE_PGAIN; + v_ctl_altitude_pgain = ABS(V_CTL_ALTITUDE_PGAIN); v_ctl_altitude_error = 0.; /* inner loops */ @@ -123,19 +127,18 @@ void v_ctl_init( void ) { /* "auto throttle" inner loop parameters */ v_ctl_auto_throttle_nominal_cruise_throttle = V_CTL_AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE; v_ctl_auto_throttle_cruise_throttle = v_ctl_auto_throttle_nominal_cruise_throttle; - v_ctl_auto_throttle_climb_throttle_increment = - V_CTL_AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT; - v_ctl_auto_throttle_pgain = V_CTL_AUTO_THROTTLE_PGAIN; - v_ctl_auto_throttle_igain = V_CTL_AUTO_THROTTLE_IGAIN; - v_ctl_auto_throttle_dgain = 0.; + v_ctl_auto_throttle_climb_throttle_increment = V_CTL_AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT; + v_ctl_auto_throttle_pgain = ABS(V_CTL_AUTO_THROTTLE_PGAIN); + v_ctl_auto_throttle_igain = ABS(V_CTL_AUTO_THROTTLE_IGAIN); + v_ctl_auto_throttle_dgain = ABS(V_CTL_AUTO_THROTTLE_DGAIN); v_ctl_auto_throttle_sum_err = 0.; v_ctl_auto_throttle_pitch_of_vz_pgain = V_CTL_AUTO_THROTTLE_PITCH_OF_VZ_PGAIN; v_ctl_auto_throttle_pitch_of_vz_dgain = V_CTL_AUTO_THROTTLE_PITCH_OF_VZ_DGAIN; #ifdef V_CTL_AUTO_PITCH_PGAIN /* "auto pitch" inner loop parameters */ - v_ctl_auto_pitch_pgain = V_CTL_AUTO_PITCH_PGAIN; - v_ctl_auto_pitch_igain = V_CTL_AUTO_PITCH_IGAIN; + v_ctl_auto_pitch_pgain = ABS(V_CTL_AUTO_PITCH_PGAIN); + v_ctl_auto_pitch_igain = ABS(V_CTL_AUTO_PITCH_IGAIN); v_ctl_auto_pitch_sum_err = 0.; #endif @@ -194,7 +197,7 @@ void v_ctl_altitude_loop( void ) { #endif v_ctl_altitude_error = estimator_z - v_ctl_altitude_setpoint; - v_ctl_climb_setpoint = altitude_pgain_boost * v_ctl_altitude_pgain * v_ctl_altitude_error + v_ctl_climb_setpoint = altitude_pgain_boost * -v_ctl_altitude_pgain * v_ctl_altitude_error + v_ctl_altitude_pre_climb; BoundAbs(v_ctl_climb_setpoint, V_CTL_ALTITUDE_MAX_CLIMB); @@ -244,7 +247,7 @@ inline static void v_ctl_climb_auto_throttle_loop(void) { last_err = err; float controlled_throttle = v_ctl_auto_throttle_cruise_throttle + v_ctl_auto_throttle_climb_throttle_increment * v_ctl_climb_setpoint - + v_ctl_auto_throttle_pgain * + - v_ctl_auto_throttle_pgain * (err + v_ctl_auto_throttle_igain * v_ctl_auto_throttle_sum_err + v_ctl_auto_throttle_dgain * d_err); @@ -314,7 +317,7 @@ inline static void v_ctl_climb_auto_throttle_loop(void) { float err = estimator_z_dot - v_ctl_climb_setpoint; v_ctl_auto_pitch_sum_err += err; BoundAbs(v_ctl_auto_pitch_sum_err, V_CTL_AUTO_PITCH_MAX_SUM_ERR); - v_ctl_pitch_of_vz = v_ctl_auto_pitch_pgain * + v_ctl_pitch_of_vz = -v_ctl_auto_pitch_pgain * (err + v_ctl_auto_pitch_igain * v_ctl_auto_pitch_sum_err); // Ground speed control loop (input: groundspeed error, output: airspeed controlled) @@ -356,7 +359,7 @@ inline static void v_ctl_climb_auto_pitch_loop(void) { v_ctl_throttle_setpoint = nav_throttle_setpoint; v_ctl_auto_pitch_sum_err += err; BoundAbs(v_ctl_auto_pitch_sum_err, V_CTL_AUTO_PITCH_MAX_SUM_ERR); - nav_pitch = v_ctl_auto_pitch_pgain * + nav_pitch = -v_ctl_auto_pitch_pgain * (err + v_ctl_auto_pitch_igain * v_ctl_auto_pitch_sum_err); Bound(nav_pitch, V_CTL_AUTO_PITCH_MIN_PITCH, V_CTL_AUTO_PITCH_MAX_PITCH); } diff --git a/sw/airborne/firmwares/fixedwing/guidance/guidance_v_n.c b/sw/airborne/firmwares/fixedwing/guidance/guidance_v_n.c index b036b03399..ce55b59f14 100644 --- a/sw/airborne/firmwares/fixedwing/guidance/guidance_v_n.c +++ b/sw/airborne/firmwares/fixedwing/guidance/guidance_v_n.c @@ -49,6 +49,10 @@ float v_ctl_climb_setpoint; uint8_t v_ctl_climb_mode; uint8_t v_ctl_auto_throttle_submode; +#ifndef V_CTL_AUTO_THROTTLE_DGAIN +#define V_CTL_AUTO_THROTTLE_DGAIN 0. +#endif + /* "auto throttle" inner loop parameters */ float v_ctl_auto_throttle_cruise_throttle; float v_ctl_auto_throttle_nominal_cruise_throttle; @@ -117,7 +121,7 @@ void v_ctl_init( void ) { /* outer loop */ v_ctl_altitude_setpoint = 0.; v_ctl_altitude_pre_climb = 0.; - v_ctl_altitude_pgain = V_CTL_ALTITUDE_PGAIN; + v_ctl_altitude_pgain = ABS(V_CTL_ALTITUDE_PGAIN); v_ctl_altitude_error = 0.; /* inner loops */ @@ -129,17 +133,17 @@ void v_ctl_init( void ) { v_ctl_auto_throttle_nominal_cruise_throttle = V_CTL_AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE; v_ctl_auto_throttle_cruise_throttle = v_ctl_auto_throttle_nominal_cruise_throttle; v_ctl_auto_throttle_climb_throttle_increment = V_CTL_AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT; - v_ctl_auto_throttle_pgain = V_CTL_AUTO_THROTTLE_PGAIN; - v_ctl_auto_throttle_igain = V_CTL_AUTO_THROTTLE_IGAIN; - v_ctl_auto_throttle_dgain = 0.; + v_ctl_auto_throttle_pgain = ABS(V_CTL_AUTO_THROTTLE_PGAIN); + v_ctl_auto_throttle_igain = ABS(V_CTL_AUTO_THROTTLE_IGAIN); + v_ctl_auto_throttle_dgain = ABS(V_CTL_AUTO_THROTTLE_DGAIN); v_ctl_auto_throttle_sum_err = 0.; v_ctl_auto_throttle_pitch_of_vz_pgain = V_CTL_AUTO_THROTTLE_PITCH_OF_VZ_PGAIN; v_ctl_auto_throttle_pitch_of_vz_dgain = V_CTL_AUTO_THROTTLE_PITCH_OF_VZ_DGAIN; /* "auto pitch" inner loop parameters */ - v_ctl_auto_pitch_pgain = V_CTL_AUTO_PITCH_PGAIN; - v_ctl_auto_pitch_dgain = V_CTL_AUTO_PITCH_DGAIN; - v_ctl_auto_pitch_igain = V_CTL_AUTO_PITCH_IGAIN; + v_ctl_auto_pitch_pgain = ABS(V_CTL_AUTO_PITCH_PGAIN); + v_ctl_auto_pitch_dgain = ABS(V_CTL_AUTO_PITCH_DGAIN); + v_ctl_auto_pitch_igain = ABS(V_CTL_AUTO_PITCH_IGAIN); v_ctl_auto_pitch_sum_err = 0.; #if USE_AIRSPEED @@ -179,7 +183,7 @@ void v_ctl_altitude_loop( void ) { //static float last_lead_input = 0.; // Altitude error - v_ctl_altitude_error = estimator_z - v_ctl_altitude_setpoint; + v_ctl_altitude_error = v_ctl_altitude_setpoint - estimator_z; v_ctl_climb_setpoint = v_ctl_altitude_pgain * v_ctl_altitude_error + v_ctl_altitude_pre_climb; // Lead controller @@ -203,13 +207,13 @@ static inline void v_ctl_set_pitch ( void ) { v_ctl_auto_pitch_sum_err = 0; // Compute errors - float err = estimator_z_dot - v_ctl_climb_setpoint; + float err = v_ctl_climb_setpoint - estimator_z_dot; float d_err = err - last_err; last_err = err; - if (v_ctl_auto_pitch_igain < 0.) { + if (v_ctl_auto_pitch_igain > 0.) { v_ctl_auto_pitch_sum_err += err*(1./60.); - BoundAbs(v_ctl_auto_pitch_sum_err, V_CTL_AUTO_PITCH_MAX_SUM_ERR / (-v_ctl_auto_pitch_igain)); + BoundAbs(v_ctl_auto_pitch_sum_err, V_CTL_AUTO_PITCH_MAX_SUM_ERR / v_ctl_auto_pitch_igain); } // PI loop + feedforward ctl @@ -228,13 +232,13 @@ static inline void v_ctl_set_throttle( void ) { v_ctl_auto_throttle_sum_err = 0; // Compute errors - float err = estimator_z_dot - v_ctl_climb_setpoint; + float err = v_ctl_climb_setpoint - estimator_z_dot; float d_err = err - last_err; last_err = err; - if (v_ctl_auto_throttle_igain < 0.) { + if (v_ctl_auto_throttle_igain > 0.) { v_ctl_auto_throttle_sum_err += err*(1./60.); - BoundAbs(v_ctl_auto_throttle_sum_err, V_CTL_AUTO_THROTTLE_MAX_SUM_ERR / (-v_ctl_auto_throttle_igain)); + BoundAbs(v_ctl_auto_throttle_sum_err, V_CTL_AUTO_THROTTLE_MAX_SUM_ERR / v_ctl_auto_throttle_igain); } // PID loop + feedforward ctl @@ -258,26 +262,26 @@ static inline void v_ctl_set_airspeed( void ) { Bound(v_ctl_auto_airspeed_setpoint, V_CTL_AIRSPEED_MIN, V_CTL_AIRSPEED_MAX); // Compute errors - float err_vz = estimator_z_dot - v_ctl_climb_setpoint; + float err_vz = v_ctl_climb_setpoint - estimator_z_dot; float d_err_vz = (err_vz - last_err_vz)*AIRSPEED_LOOP_PERIOD; last_err_vz = err_vz; - if (v_ctl_auto_throttle_igain < 0.) { + if (v_ctl_auto_throttle_igain > 0.) { v_ctl_auto_throttle_sum_err += err_vz*AIRSPEED_LOOP_PERIOD; - BoundAbs(v_ctl_auto_throttle_sum_err, V_CTL_AUTO_THROTTLE_MAX_SUM_ERR / (-v_ctl_auto_throttle_igain)); + BoundAbs(v_ctl_auto_throttle_sum_err, V_CTL_AUTO_THROTTLE_MAX_SUM_ERR / v_ctl_auto_throttle_igain); } - if (v_ctl_auto_pitch_igain < 0.) { + if (v_ctl_auto_pitch_igain > 0.) { v_ctl_auto_pitch_sum_err += err_vz*AIRSPEED_LOOP_PERIOD; - BoundAbs(v_ctl_auto_pitch_sum_err, V_CTL_AUTO_PITCH_MAX_SUM_ERR / (-v_ctl_auto_pitch_igain)); + BoundAbs(v_ctl_auto_pitch_sum_err, V_CTL_AUTO_PITCH_MAX_SUM_ERR / v_ctl_auto_pitch_igain); } float err_airspeed = v_ctl_auto_airspeed_setpoint - estimator_airspeed; float d_err_airspeed = (err_airspeed - last_err_as)*AIRSPEED_LOOP_PERIOD; last_err_as = err_airspeed; - if (v_ctl_auto_airspeed_throttle_igain > 0.) { // ! sign + if (v_ctl_auto_airspeed_throttle_igain > 0.) { v_ctl_auto_airspeed_throttle_sum_err += err_airspeed*AIRSPEED_LOOP_PERIOD; BoundAbs(v_ctl_auto_airspeed_throttle_sum_err, V_CTL_AUTO_AIRSPEED_THROTTLE_MAX_SUM_ERR / v_ctl_auto_airspeed_throttle_igain); } - if (v_ctl_auto_airspeed_pitch_igain > 0.) { // ! sign + if (v_ctl_auto_airspeed_pitch_igain > 0.) { v_ctl_auto_airspeed_pitch_sum_err += err_airspeed*AIRSPEED_LOOP_PERIOD; BoundAbs(v_ctl_auto_airspeed_pitch_sum_err, V_CTL_AUTO_AIRSPEED_PITCH_MAX_SUM_ERR / v_ctl_auto_airspeed_pitch_igain); } diff --git a/sw/airborne/firmwares/fixedwing/stabilization/stabilization_adaptive.c b/sw/airborne/firmwares/fixedwing/stabilization/stabilization_adaptive.c index 5c02751a26..a5348bc16c 100644 --- a/sw/airborne/firmwares/fixedwing/stabilization/stabilization_adaptive.c +++ b/sw/airborne/firmwares/fixedwing/stabilization/stabilization_adaptive.c @@ -150,19 +150,19 @@ void h_ctl_init( void ) { h_ctl_course_setpoint = 0.; h_ctl_course_pre_bank = 0.; h_ctl_course_pre_bank_correction = H_CTL_COURSE_PRE_BANK_CORRECTION; - h_ctl_course_pgain = H_CTL_COURSE_PGAIN; - h_ctl_course_dgain = H_CTL_COURSE_DGAIN; + h_ctl_course_pgain = ABS(H_CTL_COURSE_PGAIN); + h_ctl_course_dgain = ABS(H_CTL_COURSE_DGAIN); h_ctl_roll_max_setpoint = H_CTL_ROLL_MAX_SETPOINT; h_ctl_disabled = FALSE; h_ctl_roll_setpoint = 0.; - h_ctl_roll_attitude_gain = H_CTL_ROLL_ATTITUDE_GAIN; - h_ctl_roll_rate_gain = H_CTL_ROLL_RATE_GAIN; - h_ctl_roll_igain = H_CTL_ROLL_IGAIN; + 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 = 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; + h_ctl_roll_Kffa = ABS(H_CTL_ROLL_KFFA); + h_ctl_roll_Kffd = ABS(H_CTL_ROLL_KFFD); h_ctl_aileron_setpoint = 0; #ifdef H_CTL_AILERON_OF_THROTTLE h_ctl_aileron_of_throttle = H_CTL_AILERON_OF_THROTTLE; @@ -170,12 +170,12 @@ void h_ctl_init( void ) { h_ctl_pitch_setpoint = 0.; h_ctl_pitch_loop_setpoint = 0.; - h_ctl_pitch_pgain = H_CTL_PITCH_PGAIN; - h_ctl_pitch_dgain = H_CTL_PITCH_DGAIN; - h_ctl_pitch_igain = H_CTL_PITCH_IGAIN; + h_ctl_pitch_pgain = ABS(H_CTL_PITCH_PGAIN); + h_ctl_pitch_dgain = ABS(H_CTL_PITCH_DGAIN); + h_ctl_pitch_igain = ABS(H_CTL_PITCH_IGAIN); h_ctl_pitch_sum_err = 0.; - h_ctl_pitch_Kffa = H_CTL_PITCH_KFFA; - h_ctl_pitch_Kffd = H_CTL_PITCH_KFFD; + h_ctl_pitch_Kffa = ABS(H_CTL_PITCH_KFFA); + h_ctl_pitch_Kffd = ABS(H_CTL_PITCH_KFFD); h_ctl_elevator_setpoint = 0; h_ctl_elevator_of_roll = 0; //H_CTL_ELEVATOR_OF_ROLL; #ifdef H_CTL_PITCH_OF_ROLL @@ -203,7 +203,7 @@ void h_ctl_course_loop ( void ) { static float last_err; // Ground path error - float err = estimator_hspeed_dir - h_ctl_course_setpoint; + float err = h_ctl_course_setpoint - estimator_hspeed_dir; NormRadAngle(err); float d_err = err - last_err; @@ -277,50 +277,44 @@ inline static void h_ctl_roll_loop( void ) { #ifdef USE_KFF_UPDATE // update Kff gains - h_ctl_roll_Kffa -= KFFA_UPDATE * h_ctl_ref_roll_accel * cmd_fb / (H_CTL_REF_MAX_P_DOT*H_CTL_REF_MAX_P_DOT); - h_ctl_roll_Kffd -= KFFD_UPDATE * h_ctl_ref_roll_rate * cmd_fb / (H_CTL_REF_MAX_P*H_CTL_REF_MAX_P); + h_ctl_roll_Kffa += KFFA_UPDATE * h_ctl_ref_roll_accel * cmd_fb / (H_CTL_REF_MAX_P_DOT*H_CTL_REF_MAX_P_DOT); + h_ctl_roll_Kffd += KFFD_UPDATE * h_ctl_ref_roll_rate * cmd_fb / (H_CTL_REF_MAX_P*H_CTL_REF_MAX_P); #ifdef SITL printf("%f %f %f\n", h_ctl_roll_Kffa, h_ctl_roll_Kffd, cmd_fb); #endif - h_ctl_roll_Kffa = Min(h_ctl_roll_Kffa, 0); - h_ctl_roll_Kffd = Min(h_ctl_roll_Kffd, 0); + h_ctl_roll_Kffa = Max(h_ctl_roll_Kffa, 0); + h_ctl_roll_Kffd = Max(h_ctl_roll_Kffd, 0); #endif // Compute errors - float err = estimator_phi - h_ctl_ref_roll_angle; + float err = h_ctl_ref_roll_angle - estimator_phi; #ifdef SITL static float last_err = 0; estimator_p = (err - last_err)/(1/60.); last_err = err; #endif - float d_err = estimator_p - h_ctl_ref_roll_rate; + float d_err = h_ctl_ref_roll_rate - estimator_p; if (pprz_mode == PPRZ_MODE_MANUAL || launch == 0) { 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.; } } - cmd_fb = h_ctl_roll_attitude_gain * err;// + h_ctl_roll_rate_gain * d_err; - float cmd = h_ctl_roll_Kffa * h_ctl_ref_roll_accel - + h_ctl_roll_Kffd * h_ctl_ref_roll_rate + cmd_fb = h_ctl_roll_attitude_gain * err; + float cmd = - h_ctl_roll_Kffa * h_ctl_ref_roll_accel + - 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 + 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 -// + v_ctl_throttle_setpoint * h_ctl_aileron_of_throttle; -// + cmd /= airspeed_ratio2; // Set aileron commands @@ -390,9 +384,9 @@ inline static void h_ctl_pitch_loop( void ) { #endif // Compute errors - float err = estimator_theta - h_ctl_ref_pitch_angle; + float err = h_ctl_ref_pitch_angle - estimator_theta; #if USE_GYRO_PITCH_RATE - float d_err = estimator_q - h_ctl_ref_pitch_rate; + float d_err = h_ctl_ref_pitch_rate - estimator_q; #else // soft derivation float d_err = (err - last_err)/H_CTL_REF_DT - h_ctl_ref_pitch_rate; last_err = err; @@ -402,16 +396,16 @@ inline static void h_ctl_pitch_loop( void ) { h_ctl_pitch_sum_err = 0.; } else { - if (h_ctl_pitch_igain < 0.) { + if (h_ctl_pitch_igain > 0.) { h_ctl_pitch_sum_err += err * H_CTL_REF_DT; - BoundAbs(h_ctl_pitch_sum_err, (- H_CTL_PITCH_SUM_ERR_MAX / h_ctl_pitch_igain)); + BoundAbs(h_ctl_pitch_sum_err, H_CTL_PITCH_SUM_ERR_MAX / h_ctl_pitch_igain); } else { h_ctl_pitch_sum_err = 0.; } } - float cmd = h_ctl_pitch_Kffa * h_ctl_ref_pitch_accel - + h_ctl_pitch_Kffd * h_ctl_ref_pitch_rate + float cmd = - h_ctl_pitch_Kffa * h_ctl_ref_pitch_accel + - h_ctl_pitch_Kffd * h_ctl_ref_pitch_rate + h_ctl_pitch_pgain * err + h_ctl_pitch_dgain * d_err + h_ctl_pitch_igain * h_ctl_pitch_sum_err; diff --git a/sw/airborne/firmwares/fixedwing/stabilization/stabilization_attitude.c b/sw/airborne/firmwares/fixedwing/stabilization/stabilization_attitude.c index 97bde53917..f331067369 100644 --- a/sw/airborne/firmwares/fixedwing/stabilization/stabilization_attitude.c +++ b/sw/airborne/firmwares/fixedwing/stabilization/stabilization_attitude.c @@ -119,8 +119,8 @@ void h_ctl_init( void ) { h_ctl_course_setpoint = 0.; h_ctl_course_pre_bank = 0.; h_ctl_course_pre_bank_correction = H_CTL_COURSE_PRE_BANK_CORRECTION; - h_ctl_course_pgain = H_CTL_COURSE_PGAIN; - h_ctl_course_dgain = H_CTL_COURSE_DGAIN; + h_ctl_course_pgain = ABS(H_CTL_COURSE_PGAIN); + h_ctl_course_dgain = ABS(H_CTL_COURSE_DGAIN); h_ctl_roll_max_setpoint = H_CTL_ROLL_MAX_SETPOINT; #ifdef USE_AOA @@ -140,8 +140,8 @@ void h_ctl_init( void ) { h_ctl_pitch_setpoint = 0.; h_ctl_pitch_loop_setpoint = 0.; - h_ctl_pitch_pgain = H_CTL_PITCH_PGAIN; - h_ctl_pitch_dgain = H_CTL_PITCH_DGAIN; + h_ctl_pitch_pgain = ABS(H_CTL_PITCH_PGAIN); + h_ctl_pitch_dgain = ABS(H_CTL_PITCH_DGAIN); h_ctl_elevator_setpoint = 0; h_ctl_elevator_of_roll = H_CTL_ELEVATOR_OF_ROLL; @@ -163,8 +163,8 @@ void h_ctl_init( void ) { #endif #ifdef H_CTL_ROLL_ATTITUDE_GAIN - h_ctl_roll_attitude_gain = H_CTL_ROLL_ATTITUDE_GAIN; - h_ctl_roll_rate_gain = H_CTL_ROLL_RATE_GAIN; + h_ctl_roll_attitude_gain = ABS(H_CTL_ROLL_ATTITUDE_GAIN); + h_ctl_roll_rate_gain = ABS(H_CTL_ROLL_RATE_GAIN); #endif #ifdef AGR_CLIMB @@ -238,7 +238,7 @@ void h_ctl_course_loop ( void ) { h_ctl_course_heading_mode = 0; } */ -#endif +#endif //STRONG_WIND float d_err = err - last_err; last_err = err; @@ -248,7 +248,7 @@ void h_ctl_course_loop ( void ) { #ifdef H_CTL_COURSE_SLEW_INCREMENT /* slew severe course changes (i.e. waypoint moves, block changes or perpendicular routes) */ static float h_ctl_course_slew_rate = 0.; - float nav_angle_saturation = -(h_ctl_roll_max_setpoint/h_ctl_course_pgain); /* heading error corresponding to max_roll */ + float nav_angle_saturation = h_ctl_roll_max_setpoint/h_ctl_course_pgain; /* heading error corresponding to max_roll */ float half_nav_angle_saturation = nav_angle_saturation / 2.; if (launch) { /* prevent accumulator run-up on the ground */ if (err > half_nav_angle_saturation) { @@ -270,7 +270,7 @@ void h_ctl_course_loop ( void ) { float speed_depend_nav = estimator_hspeed_mod/NOMINAL_AIRSPEED; Bound(speed_depend_nav, 0.66, 1.5); - float cmd = h_ctl_course_pgain * speed_depend_nav * (err + d_err * h_ctl_course_dgain); + float cmd = -h_ctl_course_pgain * speed_depend_nav * (err + d_err * h_ctl_course_dgain); @@ -280,11 +280,11 @@ void h_ctl_course_loop ( void ) { if (v_ctl_auto_throttle_submode == V_CTL_AUTO_THROTTLE_AGRESSIVE || V_CTL_AUTO_THROTTLE_BLENDED) { BoundAbs(cmd, h_ctl_roll_max_setpoint); /* bound cmd before NAV_RATIO and again after */ if (v_ctl_altitude_error < 0) { - nav_ratio = AGR_CLIMB_NAV_RATIO + (1 - AGR_CLIMB_NAV_RATIO) * (1 - (fabs(v_ctl_altitude_error) - AGR_BLEND_END) / (AGR_BLEND_START - AGR_BLEND_END)); - Bound (nav_ratio, AGR_CLIMB_NAV_RATIO, 1); + nav_ratio = AGR_CLIMB_NAV_RATIO + (1 - AGR_CLIMB_NAV_RATIO) * (1 - (fabs(v_ctl_altitude_error) - AGR_BLEND_END) / (AGR_BLEND_START - AGR_BLEND_END)); + Bound (nav_ratio, AGR_CLIMB_NAV_RATIO, 1); } else { - nav_ratio = AGR_DESCENT_NAV_RATIO + (1 - AGR_DESCENT_NAV_RATIO) * (1 - (fabs(v_ctl_altitude_error) - AGR_BLEND_END) / (AGR_BLEND_START - AGR_BLEND_END)); - Bound (nav_ratio, AGR_DESCENT_NAV_RATIO, 1); + nav_ratio = AGR_DESCENT_NAV_RATIO + (1 - AGR_DESCENT_NAV_RATIO) * (1 - (fabs(v_ctl_altitude_error) - AGR_BLEND_END) / (AGR_BLEND_START - AGR_BLEND_END)); + Bound (nav_ratio, AGR_DESCENT_NAV_RATIO, 1); } cmd *= nav_ratio; } @@ -320,8 +320,8 @@ inline static void h_ctl_roll_loop( void ) { estimator_p = (err - last_err)/(1/60.); last_err = err; #endif - float cmd = - h_ctl_roll_attitude_gain * err - - h_ctl_roll_rate_gain * estimator_p + float cmd = h_ctl_roll_attitude_gain * err + + h_ctl_roll_rate_gain * estimator_p + v_ctl_throttle_setpoint * h_ctl_aileron_of_throttle; h_ctl_aileron_setpoint = TRIM_PPRZ(cmd); @@ -421,9 +421,7 @@ inline static void h_ctl_pitch_loop( void ) { if (h_ctl_elevator_of_roll <0.) h_ctl_elevator_of_roll = 0.; - h_ctl_pitch_loop_setpoint = - h_ctl_pitch_setpoint - - h_ctl_elevator_of_roll / h_ctl_pitch_pgain * fabs(estimator_phi); + h_ctl_pitch_loop_setpoint = h_ctl_pitch_setpoint + h_ctl_elevator_of_roll / h_ctl_pitch_pgain * fabs(estimator_phi); float err = 0; @@ -446,7 +444,7 @@ inline static void h_ctl_pitch_loop( void ) { float d_err = err - last_err; last_err = err; - float cmd = h_ctl_pitch_pgain * (err + h_ctl_pitch_dgain * d_err); + float cmd = -h_ctl_pitch_pgain * (err + h_ctl_pitch_dgain * d_err); #ifdef LOITER_TRIM cmd += loiter(); #endif diff --git a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c index 5bb1c2dfa8..0e45915486 100644 --- a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c +++ b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c @@ -86,11 +86,11 @@ void guidance_h_init(void) { INT_VECT2_ZERO(guidance_h_pos_err_sum); INT_EULERS_ZERO(guidance_h_rc_sp); INT_EULERS_ZERO(guidance_h_command_body); - guidance_h_pgain = GUIDANCE_H_PGAIN; - guidance_h_igain = GUIDANCE_H_IGAIN; - guidance_h_dgain = GUIDANCE_H_DGAIN; - guidance_h_ngain = GUIDANCE_H_NGAIN; - guidance_h_again = GUIDANCE_H_AGAIN; + guidance_h_pgain = ABS(GUIDANCE_H_PGAIN); + guidance_h_igain = ABS(GUIDANCE_H_IGAIN); + guidance_h_dgain = ABS(GUIDANCE_H_DGAIN); + guidance_h_ngain = ABS(GUIDANCE_H_NGAIN); + guidance_h_again = ABS(GUIDANCE_H_AGAIN); } @@ -224,12 +224,12 @@ void guidance_h_run(bool_t in_flight) { __attribute__ ((always_inline)) static inline void guidance_h_hover_run(void) { /* compute position error */ - VECT2_DIFF(guidance_h_pos_err, ins_ltp_pos, guidance_h_pos_sp); + VECT2_DIFF(guidance_h_pos_err, guidance_h_pos_sp, ins_ltp_pos); /* saturate it */ VECT2_STRIM(guidance_h_pos_err, -MAX_POS_ERR, MAX_POS_ERR); /* compute speed error */ - VECT2_COPY(guidance_h_speed_err, ins_ltp_speed); + VECT2_COPY(guidance_h_speed_err, -ins_ltp_speed); /* saturate it */ VECT2_STRIM(guidance_h_speed_err, -MAX_SPEED_ERR, MAX_SPEED_ERR); @@ -295,13 +295,13 @@ __attribute__ ((always_inline)) static inline void guidance_h_nav_run(bool_t in #endif /* compute position error */ - VECT2_DIFF(guidance_h_pos_err, ins_ltp_pos, guidance_h_pos_ref); + VECT2_DIFF(guidance_h_pos_err, guidance_h_pos_ref, ins_ltp_pos); /* saturate it */ VECT2_STRIM(guidance_h_pos_err, -MAX_POS_ERR, MAX_POS_ERR); /* compute speed error */ //VECT2_COPY(guidance_h_speed_err, ins_ltp_speed); - VECT2_DIFF(guidance_h_speed_err, ins_ltp_speed, guidance_h_speed_ref); + VECT2_DIFF(guidance_h_speed_err, guidance_h_speed_ref, ins_ltp_speed); /* saturate it */ VECT2_STRIM(guidance_h_speed_err, -MAX_SPEED_ERR, MAX_SPEED_ERR); @@ -324,8 +324,8 @@ __attribute__ ((always_inline)) static inline void guidance_h_nav_run(bool_t in } // multiply by vector orthogonal to speed VECT2_ASSIGN(guidance_h_nav_err, - vect_prod * (-ins_ltp_speed.y), - vect_prod * ins_ltp_speed.x); + vect_prod * ins_ltp_speed.y, + vect_prod * (-ins_ltp_speed.x)); // divide by 2 times dist ( >> 16 ) VECT2_SDIV(guidance_h_nav_err, guidance_h_nav_err, dist*dist); // *2 ?? diff --git a/sw/airborne/firmwares/rotorcraft/guidance/guidance_v.c b/sw/airborne/firmwares/rotorcraft/guidance/guidance_v.c index d8745f9ce5..eba0bee30c 100644 --- a/sw/airborne/firmwares/rotorcraft/guidance/guidance_v.c +++ b/sw/airborne/firmwares/rotorcraft/guidance/guidance_v.c @@ -97,9 +97,9 @@ void guidance_v_init(void) { guidance_v_mode = GUIDANCE_V_MODE_KILL; - guidance_v_kp = GUIDANCE_V_HOVER_KP; - guidance_v_kd = GUIDANCE_V_HOVER_KD; - guidance_v_ki = GUIDANCE_V_HOVER_KI; + guidance_v_kp = ABS(GUIDANCE_V_HOVER_KP); + guidance_v_kd = ABS(GUIDANCE_V_HOVER_KD); + guidance_v_ki = ABS(GUIDANCE_V_HOVER_KI); guidance_v_z_sum_err = 0; @@ -261,9 +261,9 @@ __attribute__ ((always_inline)) static inline void run_hover_loop(bool_t in_flig guidance_v_zd_ref = gv_zd_ref<<(INT32_SPEED_FRAC - GV_ZD_REF_FRAC); guidance_v_zdd_ref = gv_zdd_ref<<(INT32_ACCEL_FRAC - GV_ZDD_REF_FRAC); /* compute the error to our reference */ - int32_t err_z = ins_ltp_pos.z - guidance_v_z_ref; + int32_t err_z = guidance_v_z_ref - ins_ltp_pos.z; Bound(err_z, GUIDANCE_V_MIN_ERR_Z, GUIDANCE_V_MAX_ERR_Z); - int32_t err_zd = ins_ltp_speed.z - guidance_v_zd_ref; + int32_t err_zd = guidance_v_zd_ref - ins_ltp_speed.z; Bound(err_zd, GUIDANCE_V_MIN_ERR_ZD, GUIDANCE_V_MAX_ERR_ZD); if (in_flight) { @@ -297,12 +297,13 @@ __attribute__ ((always_inline)) static inline void run_hover_loop(bool_t in_flig #endif /* our error command */ - guidance_v_fb_cmd = ((-guidance_v_kp * err_z) >> 12) + - ((-guidance_v_kd * err_zd) >> 21) + - ((-guidance_v_ki * guidance_v_z_sum_err) >> 21); + guidance_v_fb_cmd = ((guidance_v_kp * err_z) >> 12) + + ((guidance_v_kd * err_zd) >> 21) + + ((guidance_v_ki * guidance_v_z_sum_err) >> 21); - guidance_v_delta_t = guidance_v_ff_cmd + guidance_v_fb_cmd; - // guidance_v_delta_t = guidance_v_fb_cmd; + // z-axis pointing down -> positive error means we need less thrust + guidance_v_delta_t = - (guidance_v_ff_cmd + guidance_v_fb_cmd); + // guidance_v_delta_t = -guidance_v_fb_cmd; } diff --git a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_euler_float.c b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_euler_float.c index daf738ed93..140cc9f44a 100644 --- a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_euler_float.c +++ b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_euler_float.c @@ -42,24 +42,24 @@ void stabilization_attitude_init(void) { stabilization_attitude_ref_init(); VECT3_ASSIGN(stabilization_gains.p, - STABILIZATION_ATTITUDE_FLOAT_PHI_PGAIN, - STABILIZATION_ATTITUDE_FLOAT_THETA_PGAIN, - STABILIZATION_ATTITUDE_FLOAT_PSI_PGAIN); + ABS(STABILIZATION_ATTITUDE_FLOAT_PHI_PGAIN), + ABS(STABILIZATION_ATTITUDE_FLOAT_THETA_PGAIN), + ABS(STABILIZATION_ATTITUDE_FLOAT_PSI_PGAIN)); VECT3_ASSIGN(stabilization_gains.d, - STABILIZATION_ATTITUDE_FLOAT_PHI_DGAIN, - STABILIZATION_ATTITUDE_FLOAT_THETA_DGAIN, - STABILIZATION_ATTITUDE_FLOAT_PSI_DGAIN); + ABS(STABILIZATION_ATTITUDE_FLOAT_PHI_DGAIN), + ABS(STABILIZATION_ATTITUDE_FLOAT_THETA_DGAIN), + ABS(STABILIZATION_ATTITUDE_FLOAT_PSI_DGAIN)); VECT3_ASSIGN(stabilization_gains.i, - STABILIZATION_ATTITUDE_FLOAT_PHI_IGAIN, - STABILIZATION_ATTITUDE_FLOAT_THETA_IGAIN, - STABILIZATION_ATTITUDE_FLOAT_PSI_IGAIN); + ABS(STABILIZATION_ATTITUDE_FLOAT_PHI_IGAIN), + ABS(STABILIZATION_ATTITUDE_FLOAT_THETA_IGAIN), + ABS(STABILIZATION_ATTITUDE_FLOAT_PSI_IGAIN)); VECT3_ASSIGN(stabilization_gains.dd, - STABILIZATION_ATTITUDE_FLOAT_PHI_DDGAIN, - STABILIZATION_ATTITUDE_FLOAT_THETA_DDGAIN, - STABILIZATION_ATTITUDE_FLOAT_PSI_DDGAIN); + ABS(STABILIZATION_ATTITUDE_FLOAT_PHI_DDGAIN), + ABS(STABILIZATION_ATTITUDE_FLOAT_THETA_DDGAIN), + ABS(STABILIZATION_ATTITUDE_FLOAT_PSI_DDGAIN)); FLOAT_EULERS_ZERO( stabilization_att_sum_err ); @@ -100,7 +100,7 @@ void stabilization_attitude_run(bool_t in_flight) { struct FloatEulers att_float; EULERS_FLOAT_OF_BFP(att_float, ahrs.ltp_to_body_euler); struct FloatEulers att_err; - EULERS_DIFF(att_err, att_float, stab_att_ref_euler); + EULERS_DIFF(att_err, stab_att_ref_euler, att_float); FLOAT_ANGLE_NORMALIZE(att_err.psi); if (in_flight) { @@ -116,7 +116,7 @@ void stabilization_attitude_run(bool_t in_flight) { struct FloatRates rate_float; RATES_FLOAT_OF_BFP(rate_float, ahrs.body_rate); struct FloatRates rate_err; - RATES_DIFF(rate_err, rate_float, stab_att_ref_rate); + RATES_DIFF(rate_err, stab_att_ref_rate, rate_float); /* PID */ diff --git a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_euler_int.c b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_euler_int.c index 24569f0e78..1e5a845b81 100644 --- a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_euler_int.c +++ b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_euler_int.c @@ -42,24 +42,24 @@ void stabilization_attitude_init(void) { VECT3_ASSIGN(stabilization_gains.p, - STABILIZATION_ATTITUDE_PHI_PGAIN, - STABILIZATION_ATTITUDE_THETA_PGAIN, - STABILIZATION_ATTITUDE_PSI_PGAIN); + ABS(STABILIZATION_ATTITUDE_PHI_PGAIN), + ABS(STABILIZATION_ATTITUDE_THETA_PGAIN), + ABS(STABILIZATION_ATTITUDE_PSI_PGAIN)); VECT3_ASSIGN(stabilization_gains.d, - STABILIZATION_ATTITUDE_PHI_DGAIN, - STABILIZATION_ATTITUDE_THETA_DGAIN, - STABILIZATION_ATTITUDE_PSI_DGAIN); + ABS(STABILIZATION_ATTITUDE_PHI_DGAIN), + ABS(STABILIZATION_ATTITUDE_THETA_DGAIN), + ABS(STABILIZATION_ATTITUDE_PSI_DGAIN)); VECT3_ASSIGN(stabilization_gains.i, - STABILIZATION_ATTITUDE_PHI_IGAIN, - STABILIZATION_ATTITUDE_THETA_IGAIN, - STABILIZATION_ATTITUDE_PSI_IGAIN); + ABS(STABILIZATION_ATTITUDE_PHI_IGAIN), + ABS(STABILIZATION_ATTITUDE_THETA_IGAIN), + ABS(STABILIZATION_ATTITUDE_PSI_IGAIN)); VECT3_ASSIGN(stabilization_gains.dd, - STABILIZATION_ATTITUDE_PHI_DDGAIN, - STABILIZATION_ATTITUDE_THETA_DDGAIN, - STABILIZATION_ATTITUDE_PSI_DDGAIN); + ABS(STABILIZATION_ATTITUDE_PHI_DDGAIN), + ABS(STABILIZATION_ATTITUDE_THETA_DDGAIN), + ABS(STABILIZATION_ATTITUDE_PSI_DDGAIN)); INT_EULERS_ZERO( stabilization_att_sum_err ); @@ -108,7 +108,7 @@ void stabilization_attitude_run(bool_t in_flight) { OFFSET_AND_ROUND(stab_att_ref_euler.theta, (REF_ANGLE_FRAC - INT32_ANGLE_FRAC)), OFFSET_AND_ROUND(stab_att_ref_euler.psi, (REF_ANGLE_FRAC - INT32_ANGLE_FRAC)) }; struct Int32Eulers att_err; - EULERS_DIFF(att_err, ahrs.ltp_to_body_euler, att_ref_scaled); + EULERS_DIFF(att_err, att_ref_scaled, ahrs.ltp_to_body_euler); INT32_ANGLE_NORMALIZE(att_err.psi); if (in_flight) { @@ -126,7 +126,7 @@ void stabilization_attitude_run(bool_t in_flight) { OFFSET_AND_ROUND(stab_att_ref_rate.q, (REF_RATE_FRAC - INT32_RATE_FRAC)), OFFSET_AND_ROUND(stab_att_ref_rate.r, (REF_RATE_FRAC - INT32_RATE_FRAC)) }; struct Int32Rates rate_err; - RATES_DIFF(rate_err, ahrs.body_rate, rate_ref_scaled); + RATES_DIFF(rate_err, rate_ref_scaled, ahrs.body_rate); /* PID */ stabilization_att_fb_cmd[COMMAND_ROLL] = diff --git a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_quat_float.c b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_quat_float.c index 36f6dd9df7..e84c238123 100644 --- a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_quat_float.c +++ b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_quat_float.c @@ -86,15 +86,15 @@ void stabilization_attitude_init(void) { stabilization_attitude_ref_init(); for (int i = 0; i < STABILIZATION_ATTITUDE_FLOAT_GAIN_NB; i++) { - VECT3_ASSIGN(stabilization_gains[i].p, phi_pgain[i], theta_pgain[i], psi_pgain[i]); - VECT3_ASSIGN(stabilization_gains[i].d, phi_dgain[i], theta_dgain[i], psi_dgain[i]); - VECT3_ASSIGN(stabilization_gains[i].i, phi_igain[i], theta_igain[i], psi_igain[i]); - VECT3_ASSIGN(stabilization_gains[i].dd, phi_ddgain[i], theta_ddgain[i], psi_ddgain[i]); - VECT3_ASSIGN(stabilization_gains[i].rates_d, phi_dgain_d[i], theta_dgain_d[i], psi_dgain_d[i]); - VECT3_ASSIGN(stabilization_gains[i].surface_p, phi_pgain_surface[i], theta_pgain_surface[i], psi_pgain_surface[i]); - VECT3_ASSIGN(stabilization_gains[i].surface_d, phi_dgain_surface[i], theta_dgain_surface[i], psi_dgain_surface[i]); - VECT3_ASSIGN(stabilization_gains[i].surface_i, phi_igain_surface[i], theta_igain_surface[i], psi_igain_surface[i]); - VECT3_ASSIGN(stabilization_gains[i].surface_dd, phi_ddgain_surface[i], theta_ddgain_surface[i], psi_ddgain_surface[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].p, phi_pgain[i], theta_pgain[i], psi_pgain[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].d, phi_dgain[i], theta_dgain[i], psi_dgain[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].i, phi_igain[i], theta_igain[i], psi_igain[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].dd, phi_ddgain[i], theta_ddgain[i], psi_ddgain[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].rates_d, phi_dgain_d[i], theta_dgain_d[i], psi_dgain_d[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].surface_p, phi_pgain_surface[i], theta_pgain_surface[i], psi_pgain_surface[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].surface_d, phi_dgain_surface[i], theta_dgain_surface[i], psi_dgain_surface[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].surface_i, phi_igain_surface[i], theta_igain_surface[i], psi_igain_surface[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].surface_dd, phi_ddgain_surface[i], theta_ddgain_surface[i], psi_ddgain_surface[i]); } FLOAT_QUAT_ZERO( stabilization_att_sum_err_quat ); @@ -136,35 +136,35 @@ static void attitude_run_fb(float fb_commands[], struct FloatAttitudeGains *gain { /* PID feedback */ fb_commands[COMMAND_ROLL] = - GAIN_PRESCALER_P * -gains->p.x * att_err->qx + + GAIN_PRESCALER_P * gains->p.x * att_err->qx + GAIN_PRESCALER_D * gains->d.x * rate_err->p + GAIN_PRESCALER_D * gains->rates_d.x * rate_err_d->p + GAIN_PRESCALER_I * gains->i.x * sum_err->qx; fb_commands[COMMAND_PITCH] = - GAIN_PRESCALER_P * -gains->p.y * att_err->qy + + GAIN_PRESCALER_P * gains->p.y * att_err->qy + GAIN_PRESCALER_D * gains->d.y * rate_err->q + GAIN_PRESCALER_D * gains->rates_d.y * rate_err_d->q + GAIN_PRESCALER_I * gains->i.y * sum_err->qy; fb_commands[COMMAND_YAW] = - GAIN_PRESCALER_P * -gains->p.z * att_err->qz + + GAIN_PRESCALER_P * gains->p.z * att_err->qz + GAIN_PRESCALER_D * gains->d.z * rate_err->r + GAIN_PRESCALER_D * gains->rates_d.z * rate_err_d->r + GAIN_PRESCALER_I * gains->i.z * sum_err->qz; fb_commands[COMMAND_ROLL_SURFACE] = - GAIN_PRESCALER_P * -gains->surface_p.x * att_err->qx + + GAIN_PRESCALER_P * gains->surface_p.x * att_err->qx + GAIN_PRESCALER_D * gains->surface_d.x * rate_err->p + GAIN_PRESCALER_I * gains->surface_i.x * sum_err->qx; fb_commands[COMMAND_PITCH_SURFACE] = - GAIN_PRESCALER_P * -gains->surface_p.y * att_err->qy + + GAIN_PRESCALER_P * gains->surface_p.y * att_err->qy + GAIN_PRESCALER_D * gains->surface_d.y * rate_err->q + GAIN_PRESCALER_I * gains->surface_i.y * sum_err->qy; fb_commands[COMMAND_YAW_SURFACE] = - GAIN_PRESCALER_P * -gains->surface_p.z * att_err->qz + + GAIN_PRESCALER_P * gains->surface_p.z * att_err->qz + GAIN_PRESCALER_D * gains->surface_d.z * rate_err->r + GAIN_PRESCALER_I * gains->surface_i.z * sum_err->qz; @@ -189,7 +189,7 @@ void stabilization_attitude_run(bool_t enable_integrator) { /* rate error */ struct FloatRates rate_err; - RATES_DIFF(rate_err, ahrs_float.body_rate, stab_att_ref_rate); + RATES_DIFF(rate_err, stab_att_ref_rate, ahrs_float.body_rate); /* integrated error */ if (enable_integrator) { @@ -199,7 +199,7 @@ void stabilization_attitude_run(bool_t enable_integrator) { scaled_att_err.qx = att_err.qx / IERROR_SCALE; scaled_att_err.qy = att_err.qy / IERROR_SCALE; scaled_att_err.qz = att_err.qz / IERROR_SCALE; - FLOAT_QUAT_COMP_INV(new_sum_err, stabilization_att_sum_err_quat, scaled_att_err); + FLOAT_QUAT_COMP(new_sum_err, stabilization_att_sum_err_quat, scaled_att_err); FLOAT_QUAT_NORMALIZE(new_sum_err); FLOAT_QUAT_COPY(stabilization_att_sum_err_quat, new_sum_err); FLOAT_EULERS_OF_QUAT(stabilization_att_sum_err_eulers, stabilization_att_sum_err_quat); diff --git a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_quat_int.c b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_quat_int.c index a221633e5e..767c99f06f 100644 --- a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_quat_int.c +++ b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_quat_int.c @@ -33,12 +33,7 @@ #include "subsystems/ahrs.h" #include "generated/airframe.h" -struct Int32AttitudeGains stabilization_gains = { - {STABILIZATION_ATTITUDE_PHI_PGAIN, STABILIZATION_ATTITUDE_THETA_PGAIN, STABILIZATION_ATTITUDE_PSI_PGAIN }, - {STABILIZATION_ATTITUDE_PHI_DGAIN, STABILIZATION_ATTITUDE_THETA_DGAIN, STABILIZATION_ATTITUDE_PSI_DGAIN }, - {STABILIZATION_ATTITUDE_PHI_DDGAIN, STABILIZATION_ATTITUDE_THETA_DDGAIN, STABILIZATION_ATTITUDE_PSI_DDGAIN }, - {STABILIZATION_ATTITUDE_PHI_IGAIN, STABILIZATION_ATTITUDE_THETA_IGAIN, STABILIZATION_ATTITUDE_PSI_IGAIN } -}; +struct Int32AttitudeGains stabilization_gains; struct Int32Quat stabilization_att_sum_err_quat; struct Int32Eulers stabilization_att_sum_err; @@ -98,18 +93,38 @@ void stabilization_attitude_init(void) { /* for (int i = 0; i < STABILIZATION_ATTITUDE_GAIN_NB; i++) { - VECT3_ASSIGN(stabilization_gains[i].p, phi_pgain[i], theta_pgain[i], psi_pgain[i]); - VECT3_ASSIGN(stabilization_gains[i].d, phi_dgain[i], theta_dgain[i], psi_dgain[i]); - VECT3_ASSIGN(stabilization_gains[i].i, phi_igain[i], theta_igain[i], psi_igain[i]); - VECT3_ASSIGN(stabilization_gains[i].dd, phi_ddgain[i], theta_ddgain[i], psi_ddgain[i]); - VECT3_ASSIGN(stabilization_gains[i].rates_d, phi_dgain_d[i], theta_dgain_d[i], psi_dgain_d[i]); - VECT3_ASSIGN(stabilization_gains[i].surface_p, phi_pgain_surface[i], theta_pgain_surface[i], psi_pgain_surface[i]); - VECT3_ASSIGN(stabilization_gains[i].surface_d, phi_dgain_surface[i], theta_dgain_surface[i], psi_dgain_surface[i]); - VECT3_ASSIGN(stabilization_gains[i].surface_i, phi_igain_surface[i], theta_igain_surface[i], psi_igain_surface[i]); - VECT3_ASSIGN(stabilization_gains[i].surface_dd, phi_ddgain_surface[i], theta_ddgain_surface[i], psi_ddgain_surface[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].p, phi_pgain[i], theta_pgain[i], psi_pgain[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].d, phi_dgain[i], theta_dgain[i], psi_dgain[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].i, phi_igain[i], theta_igain[i], psi_igain[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].dd, phi_ddgain[i], theta_ddgain[i], psi_ddgain[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].rates_d, phi_dgain_d[i], theta_dgain_d[i], psi_dgain_d[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].surface_p, phi_pgain_surface[i], theta_pgain_surface[i], psi_pgain_surface[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].surface_d, phi_dgain_surface[i], theta_dgain_surface[i], psi_dgain_surface[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].surface_i, phi_igain_surface[i], theta_igain_surface[i], psi_igain_surface[i]); + VECT3_ASSIGN_ABS(stabilization_gains[i].surface_dd, phi_ddgain_surface[i], theta_ddgain_surface[i], psi_ddgain_surface[i]); } */ + VECT3_ASSIGN_ABS(stabilization_gains.p, + STABILIZATION_ATTITUDE_PHI_PGAIN, + STABILIZATION_ATTITUDE_THETA_PGAIN, + STABILIZATION_ATTITUDE_PSI_PGAIN); + + VECT3_ASSIGN_ABS(stabilization_gains.d, + STABILIZATION_ATTITUDE_PHI_DGAIN, + STABILIZATION_ATTITUDE_THETA_DGAIN, + STABILIZATION_ATTITUDE_PSI_DGAIN); + + VECT3_ASSIGN_ABS(stabilization_gains.i, + STABILIZATION_ATTITUDE_PHI_IGAIN, + STABILIZATION_ATTITUDE_THETA_IGAIN, + STABILIZATION_ATTITUDE_PSI_IGAIN); + + VECT3_ASSIGN_ABS(stabilization_gains.dd, + STABILIZATION_ATTITUDE_PHI_DDGAIN, + STABILIZATION_ATTITUDE_THETA_DDGAIN, + STABILIZATION_ATTITUDE_PSI_DDGAIN); + INT32_QUAT_ZERO( stabilization_att_sum_err_quat ); INT_EULERS_ZERO( stabilization_att_sum_err ); } @@ -152,17 +167,17 @@ static void attitude_run_fb(int32_t fb_commands[], struct Int32AttitudeGains *ga { /* PID feedback */ fb_commands[COMMAND_ROLL] = - GAIN_PRESCALER_P * -gains->p.x * QUAT1_FLOAT_OF_BFP(att_err->qx) / 4 + + GAIN_PRESCALER_P * gains->p.x * QUAT1_FLOAT_OF_BFP(att_err->qx) / 4 + GAIN_PRESCALER_D * gains->d.x * RATE_FLOAT_OF_BFP(rate_err->p) / 16 + GAIN_PRESCALER_I * gains->i.x * QUAT1_FLOAT_OF_BFP(sum_err->qx) / 2; fb_commands[COMMAND_PITCH] = - GAIN_PRESCALER_P * -gains->p.y * QUAT1_FLOAT_OF_BFP(att_err->qy) / 4 + + GAIN_PRESCALER_P * gains->p.y * QUAT1_FLOAT_OF_BFP(att_err->qy) / 4 + GAIN_PRESCALER_D * gains->d.y * RATE_FLOAT_OF_BFP(rate_err->q) / 16 + GAIN_PRESCALER_I * gains->i.y * QUAT1_FLOAT_OF_BFP(sum_err->qy) / 2; fb_commands[COMMAND_YAW] = - GAIN_PRESCALER_P * -gains->p.z * QUAT1_FLOAT_OF_BFP(att_err->qz) / 4 + + GAIN_PRESCALER_P * gains->p.z * QUAT1_FLOAT_OF_BFP(att_err->qz) / 4 + GAIN_PRESCALER_D * gains->d.z * RATE_FLOAT_OF_BFP(rate_err->r) / 16 + GAIN_PRESCALER_I * gains->i.z * QUAT1_FLOAT_OF_BFP(sum_err->qz) / 2; @@ -188,7 +203,7 @@ void stabilization_attitude_run(bool_t enable_integrator) { /* rate error */ struct Int32Rates rate_err; - RATES_DIFF(rate_err, ahrs.body_rate, stab_att_ref_rate); + RATES_DIFF(rate_err, stab_att_ref_rate, ahrs.body_rate); /* integrated error */ if (enable_integrator) { @@ -198,7 +213,7 @@ void stabilization_attitude_run(bool_t enable_integrator) { scaled_att_err.qx = att_err.qx / IERROR_SCALE; scaled_att_err.qy = att_err.qy / IERROR_SCALE; scaled_att_err.qz = att_err.qz / IERROR_SCALE; - INT32_QUAT_COMP_INV(new_sum_err, stabilization_att_sum_err_quat, scaled_att_err); + INT32_QUAT_COMP(new_sum_err, stabilization_att_sum_err_quat, scaled_att_err); INT32_QUAT_NORMALIZE(new_sum_err); QUAT_COPY(stabilization_att_sum_err_quat, new_sum_err); INT32_EULERS_OF_QUAT(stabilization_att_sum_err, stabilization_att_sum_err_quat); diff --git a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_rate.c b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_rate.c index 44ff7ac984..62891feed3 100644 --- a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_rate.c +++ b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_rate.c @@ -101,17 +101,17 @@ void stabilization_rate_init(void) { INT_RATES_ZERO(stabilization_rate_sp); RATES_ASSIGN(stabilization_rate_gain, - STABILIZATION_RATE_GAIN_P, - STABILIZATION_RATE_GAIN_Q, - STABILIZATION_RATE_GAIN_R); + ABS(STABILIZATION_RATE_GAIN_P), + ABS(STABILIZATION_RATE_GAIN_Q), + ABS(STABILIZATION_RATE_GAIN_R)); RATES_ASSIGN(stabilization_rate_igain, - STABILIZATION_RATE_IGAIN_P, - STABILIZATION_RATE_IGAIN_Q, - STABILIZATION_RATE_IGAIN_R); + ABS(STABILIZATION_RATE_IGAIN_P), + ABS(STABILIZATION_RATE_IGAIN_Q), + ABS(STABILIZATION_RATE_IGAIN_R)); RATES_ASSIGN(stabilization_rate_ddgain, - STABILIZATION_RATE_DDGAIN_P, - STABILIZATION_RATE_DDGAIN_Q, - STABILIZATION_RATE_DDGAIN_R); + ABS(STABILIZATION_RATE_DDGAIN_P), + ABS(STABILIZATION_RATE_DDGAIN_Q), + ABS(STABILIZATION_RATE_DDGAIN_R)); INT_RATES_ZERO(stabilization_rate_ref); INT_RATES_ZERO(stabilization_rate_refdot); @@ -169,7 +169,7 @@ void stabilization_rate_run(bool_t in_flight) { OFFSET_AND_ROUND(stabilization_rate_ref.q, (REF_FRAC - INT32_RATE_FRAC)), OFFSET_AND_ROUND(stabilization_rate_ref.r, (REF_FRAC - INT32_RATE_FRAC)) }; struct Int32Rates _error; - RATES_DIFF(_error, ahrs.body_rate, _ref_scaled); + RATES_DIFF(_error, _ref_scaled, ahrs.body_rate); if (in_flight) { /* update integrator */ RATES_ADD(stabilization_rate_sum_err, _error); diff --git a/sw/airborne/math/pprz_algebra.h b/sw/airborne/math/pprz_algebra.h index a57e67dd7c..9bc9b54c8a 100644 --- a/sw/airborne/math/pprz_algebra.h +++ b/sw/airborne/math/pprz_algebra.h @@ -27,6 +27,7 @@ #include /* for FLT_EPSILON */ #include /* for memcpy */ +#include "std.h" /* for ABS */ #define SQUARE(_a) ((_a)*(_a)) @@ -101,6 +102,13 @@ (_a).z = (_z); \ } +/* a = {abs(x), abs(y), abs(z)} */ +#define VECT3_ASSIGN_ABS(_a, _x, _y, _z) { \ + (_a).x = ABS(_x); \ + (_a).y = ABS(_y); \ + (_a).z = ABS(_z); \ + } + /* a = b */ #define VECT3_COPY(_a, _b) { \ (_a).x = (_b).x; \ @@ -199,6 +207,13 @@ if ((_v).z > (_v_max).y) (_v).z = (_v_max).z; else if ((_v).z < (_v_min).z) (_v).z = (_v_min).z; \ } +/* */ +#define VECT3_ABS(_vo, _vi) { \ + (_vo).x = ABS((_vi).x); \ + (_vo).y = ABS((_vi).y); \ + (_vo).z = ABS((_vi).z); \ + } + #define VECT3_CROSS_PRODUCT(_vo, _v1, _v2) { \ (_vo).x = (_v1).y*(_v2).z - (_v1).z*(_v2).y; \ (_vo).y = (_v1).z*(_v2).x - (_v1).x*(_v2).z; \ diff --git a/sw/airborne/modules/cam_control/booz_cam.c b/sw/airborne/modules/cam_control/booz_cam.c index 77d762db46..2082a831d3 100644 --- a/sw/airborne/modules/cam_control/booz_cam.c +++ b/sw/airborne/modules/cam_control/booz_cam.c @@ -28,6 +28,7 @@ #include "firmwares/rotorcraft/navigation.h" #include "subsystems/ins.h" #include "generated/flight_plan.h" +#include "std.h" uint8_t booz_cam_mode; @@ -83,7 +84,6 @@ void booz_cam_init(void) { #endif } -#define ABS(_x) ((_x) < 0 ? -(_x) : (_x)) #define D_TILT (BOOZ_CAM_TILT_MAX - BOOZ_CAM_TILT_MIN) #define CT_MIN Min(BOOZ_CAM_TILT_MIN,BOOZ_CAM_TILT_MAX) #define CT_MAX Max(BOOZ_CAM_TILT_MIN,BOOZ_CAM_TILT_MAX) diff --git a/sw/airborne/subsystems/nav.c b/sw/airborne/subsystems/nav.c index 12aadf70d6..53c5384702 100644 --- a/sw/airborne/subsystems/nav.c +++ b/sw/airborne/subsystems/nav.c @@ -208,7 +208,7 @@ static inline void nav_follow(uint8_t _ac_id, float _distance, float _height); static void nav_ground_speed_loop( void ) { if (MINIMUM_AIRSPEED < nav_ground_speed_setpoint && nav_ground_speed_setpoint < MAXIMUM_AIRSPEED) { - float err = estimator_hspeed_mod - nav_ground_speed_setpoint; + float err = nav_ground_speed_setpoint - estimator_hspeed_mod; v_ctl_auto_throttle_cruise_throttle += nav_ground_speed_pgain*err; Bound(v_ctl_auto_throttle_cruise_throttle, V_CTL_AUTO_THROTTLE_MIN_CRUISE_THROTTLE, V_CTL_AUTO_THROTTLE_MAX_CRUISE_THROTTLE); } else { @@ -331,7 +331,7 @@ void fly_to_xy(float x, float y) { NormRadAngle(diff); BoundAbs(diff,M_PI/2.); float s = sin(diff); - h_ctl_roll_setpoint = atan(2 * estimator_hspeed_mod*estimator_hspeed_mod * s * (-h_ctl_course_pgain) / (CARROT * NOMINAL_AIRSPEED * 9.81) ); + h_ctl_roll_setpoint = atan(2 * estimator_hspeed_mod*estimator_hspeed_mod * s * h_ctl_course_pgain / (CARROT * NOMINAL_AIRSPEED * 9.81) ); BoundAbs(h_ctl_roll_setpoint, h_ctl_roll_max_setpoint); lateral_mode = LATERAL_MODE_ROLL; } @@ -424,7 +424,7 @@ void nav_init(void) { nav_mode = NAV_MODE_COURSE; #ifdef NAV_GROUND_SPEED_PGAIN - nav_ground_speed_pgain = NAV_GROUND_SPEED_PGAIN; + nav_ground_speed_pgain = ABS(NAV_GROUND_SPEED_PGAIN); nav_ground_speed_setpoint = NOMINAL_AIRSPEED; #endif } diff --git a/sw/include/std.h b/sw/include/std.h index a359db6361..3def069a3e 100644 --- a/sw/include/std.h +++ b/sw/include/std.h @@ -86,6 +86,8 @@ typedef uint8_t unit_t; #define Min(x,y) (x < y ? x : y) #define Max(x,y) (x > y ? x : y) +#define ABS(val) ((val) < 0 ? -(val) : (val)) + #define Bound(_x, _min, _max) { if (_x > _max) _x = _max; else if (_x < _min) _x = _min; } #define BoundAbs(_x, _max) Bound(_x, -(_max), (_max)) #define Chop(_x, _min, _max) ( (_x) < (_min) ? (_min) : (_x) > (_max) ? (_max) : (_x) )