diff --git a/Makefile b/Makefile
index aadb9ab50c..fa84772d67 100644
--- a/Makefile
+++ b/Makefile
@@ -203,7 +203,7 @@ COMMON_SRC = build_config.c \
mw.c \
flight/altitudehold.c \
flight/failsafe.c \
- flight/flight.c \
+ flight/pid.c \
flight/imu.c \
flight/mixer.c \
drivers/bus_i2c_soft.c \
diff --git a/src/main/config/config.c b/src/main/config/config.c
index 45d8a7ab62..7250c45a24 100644
--- a/src/main/config/config.c
+++ b/src/main/config/config.c
@@ -58,14 +58,15 @@
#include "telemetry/telemetry.h"
#include "flight/mixer.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
+#include "flight/imu.h"
#include "flight/failsafe.h"
#include "flight/altitudehold.h"
-#include "flight/imu.h"
#include "flight/navigation.h"
#include "config/runtime_config.h"
#include "config/config.h"
+
#include "config/config_profile.h"
#include "config/config_master.h"
diff --git a/src/main/flight/altitudehold.c b/src/main/flight/altitudehold.c
index 1950a6688f..3670b7965e 100644
--- a/src/main/flight/altitudehold.c
+++ b/src/main/flight/altitudehold.c
@@ -35,14 +35,15 @@
#include "sensors/barometer.h"
#include "sensors/sonar.h"
-#include "flight/mixer.h"
-#include "flight/flight.h"
-#include "flight/imu.h"
-
#include "rx/rx.h"
+
#include "io/rc_controls.h"
#include "io/escservo.h"
+#include "flight/mixer.h"
+#include "flight/pid.h"
+#include "flight/imu.h"
+
#include "config/runtime_config.h"
extern int16_t debug[4];
diff --git a/src/main/flight/altitudehold.h b/src/main/flight/altitudehold.h
index 8f45ce3c70..e8ccfec926 100644
--- a/src/main/flight/altitudehold.h
+++ b/src/main/flight/altitudehold.h
@@ -15,10 +15,9 @@
* along with Cleanflight. If not, see .
*/
-#include "flight/flight.h"
-
#include "io/escservo.h"
#include "io/rc_controls.h"
+#include "flight/pid.h"
#include "sensors/barometer.h"
diff --git a/src/main/flight/autotune.c b/src/main/flight/autotune.c
index 91bef60c3f..bfc0f53b22 100644
--- a/src/main/flight/autotune.c
+++ b/src/main/flight/autotune.c
@@ -34,7 +34,7 @@
#include "sensors/sensors.h"
#include "sensors/acceleration.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/imu.h"
#include "config/config.h"
diff --git a/src/main/flight/imu.c b/src/main/flight/imu.c
index faf92d600e..23a3805ea8 100644
--- a/src/main/flight/imu.c
+++ b/src/main/flight/imu.c
@@ -40,7 +40,7 @@
#include "sensors/sonar.h"
#include "flight/mixer.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/imu.h"
#include "config/runtime_config.h"
diff --git a/src/main/flight/mixer.c b/src/main/flight/mixer.c
index cfe9cac0d0..9a66157d97 100644
--- a/src/main/flight/mixer.c
+++ b/src/main/flight/mixer.c
@@ -43,7 +43,7 @@
#include "sensors/acceleration.h"
#include "flight/mixer.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/imu.h"
#include "config/runtime_config.h"
diff --git a/src/main/flight/navigation.c b/src/main/flight/navigation.c
index 224aa6ed3a..6153f121db 100644
--- a/src/main/flight/navigation.c
+++ b/src/main/flight/navigation.c
@@ -25,31 +25,31 @@
#include "platform.h"
#include "common/maths.h"
+#include "common/axis.h"
#include "drivers/system.h"
-
#include "drivers/serial.h"
#include "drivers/serial_uart.h"
-#include "io/serial.h"
-
#include "drivers/gpio.h"
#include "drivers/light_led.h"
-#include "common/axis.h"
-#include "flight/flight.h"
-
#include "sensors/sensors.h"
+#include "io/serial.h"
+#include "io/gps.h"
+#include "io/rc_controls.h"
+
+#include "flight/pid.h"
+#include "flight/navigation.h"
+#include "flight/gps_conversion.h"
+
+#include "rx/rx.h"
+
+
#include "config/config.h"
#include "config/runtime_config.h"
-#include "flight/gps_conversion.h"
-#include "io/gps.h"
-
-#include "rx/rx.h"
-#include "io/rc_controls.h"
-
-#include "flight/navigation.h"
+extern int16_t magHold;
#ifdef GPS
@@ -57,8 +57,6 @@ extern int16_t debug[4];
bool areSticksInApModePosition(uint16_t ap_mode);
-int16_t magHold;
-
// **********************
// GPS
// **********************
diff --git a/src/main/flight/navigation.h b/src/main/flight/navigation.h
index ed9165faaa..673cf5cfbf 100644
--- a/src/main/flight/navigation.h
+++ b/src/main/flight/navigation.h
@@ -17,8 +17,6 @@
#pragma once
-extern int16_t magHold;
-
// navigation mode
typedef enum {
NAV_MODE_NONE = 0,
diff --git a/src/main/flight/flight.c b/src/main/flight/pid.c
similarity index 99%
rename from src/main/flight/flight.c
rename to src/main/flight/pid.c
index 252fb15433..fccab9ab56 100644
--- a/src/main/flight/flight.c
+++ b/src/main/flight/pid.c
@@ -38,7 +38,7 @@
#include "io/rc_controls.h"
#include "io/gps.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/imu.h"
#include "flight/navigation.h"
#include "flight/autotune.h"
diff --git a/src/main/flight/flight.h b/src/main/flight/pid.h
similarity index 100%
rename from src/main/flight/flight.h
rename to src/main/flight/pid.h
diff --git a/src/main/io/display.c b/src/main/io/display.c
index 045afd406d..3da8750050 100644
--- a/src/main/io/display.c
+++ b/src/main/io/display.c
@@ -48,7 +48,7 @@
#include "io/rc_controls.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/imu.h"
#ifdef GPS
diff --git a/src/main/io/gps.c b/src/main/io/gps.c
index db0f726d3d..fd923b2e9d 100644
--- a/src/main/io/gps.c
+++ b/src/main/io/gps.c
@@ -27,30 +27,26 @@
#include "build_config.h"
#include "common/maths.h"
+#include "common/axis.h"
#include "drivers/system.h"
-
#include "drivers/serial.h"
#include "drivers/serial_uart.h"
-#include "io/serial.h"
-
#include "drivers/gpio.h"
#include "drivers/light_led.h"
-#include "common/axis.h"
-#include "flight/flight.h"
-
#include "sensors/sensors.h"
-#include "config/config.h"
-#include "config/runtime_config.h"
-
-#include "flight/gps_conversion.h"
-#include "flight/navigation.h"
-
+#include "io/serial.h"
#include "io/display.h"
#include "io/gps.h"
+#include "flight/gps_conversion.h"
+#include "flight/pid.h"
+#include "flight/navigation.h"
+
+#include "config/config.h"
+#include "config/runtime_config.h"
#ifdef GPS
diff --git a/src/main/io/ledstrip.c b/src/main/io/ledstrip.c
index 34adfbf50d..1de4ff7b87 100644
--- a/src/main/io/ledstrip.c
+++ b/src/main/io/ledstrip.c
@@ -28,24 +28,26 @@
#ifdef LED_STRIP
#include
+#include
+#include
#include "drivers/light_ws2811strip.h"
#include "drivers/system.h"
#include "drivers/serial.h"
-#include
#include
-#include
#include "sensors/battery.h"
-#include "config/runtime_config.h"
-#include "config/config.h"
-#include "rx/rx.h"
#include "io/rc_controls.h"
+#include "io/ledstrip.h"
+
+#include "rx/rx.h"
+
#include "flight/failsafe.h"
-#include "io/ledstrip.h"
+#include "config/runtime_config.h"
+#include "config/config.h"
static bool ledStripInitialised = false;
static bool ledStripEnabled = true;
diff --git a/src/main/io/rc_controls.c b/src/main/io/rc_controls.c
index 6b74c323ef..54ecb963ba 100644
--- a/src/main/io/rc_controls.c
+++ b/src/main/io/rc_controls.c
@@ -30,7 +30,6 @@
#include "config/runtime_config.h"
#include "drivers/system.h"
-
#include "drivers/sensor.h"
#include "drivers/accgyro.h"
@@ -40,15 +39,15 @@
#include "sensors/gyro.h"
#include "sensors/acceleration.h"
+#include "rx/rx.h"
+
#include "io/gps.h"
#include "io/beeper.h"
-
-#include "rx/rx.h"
#include "io/escservo.h"
#include "io/rc_controls.h"
#include "io/rc_curves.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/navigation.h"
#include "mw.h"
diff --git a/src/main/io/serial_cli.c b/src/main/io/serial_cli.c
index bb950a69b0..8fa43b5c5a 100644
--- a/src/main/io/serial_cli.c
+++ b/src/main/io/serial_cli.c
@@ -64,7 +64,7 @@
#include "sensors/compass.h"
#include "sensors/barometer.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/imu.h"
#include "flight/mixer.h"
#include "flight/navigation.h"
diff --git a/src/main/io/serial_msp.c b/src/main/io/serial_msp.c
index 0494b99e61..929acf9537 100644
--- a/src/main/io/serial_msp.c
+++ b/src/main/io/serial_msp.c
@@ -62,13 +62,15 @@
#include "sensors/compass.h"
#include "sensors/gyro.h"
-#include "flight/flight.h"
-#include "flight/imu.h"
#include "flight/mixer.h"
+#include "flight/pid.h"
+#include "flight/imu.h"
#include "flight/failsafe.h"
#include "flight/navigation.h"
#include "flight/altitudehold.h"
+#include "mw.h"
+
#include "config/runtime_config.h"
#include "config/config.h"
#include "config/config_profile.h"
diff --git a/src/main/main.c b/src/main/main.c
index 27093e9e50..ba7453265e 100644
--- a/src/main/main.c
+++ b/src/main/main.c
@@ -69,7 +69,7 @@
#include "telemetry/telemetry.h"
#include "blackbox/blackbox.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/imu.h"
#include "flight/mixer.h"
#include "flight/failsafe.h"
diff --git a/src/main/mw.c b/src/main/mw.c
index 34c9a6e399..4291bd4a43 100644
--- a/src/main/mw.c
+++ b/src/main/mw.c
@@ -66,10 +66,10 @@
#include "blackbox/blackbox.h"
#include "flight/mixer.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
+#include "flight/imu.h"
#include "flight/altitudehold.h"
#include "flight/failsafe.h"
-#include "flight/imu.h"
#include "flight/autotune.h"
#include "flight/navigation.h"
@@ -94,6 +94,8 @@ int16_t debug[4];
uint32_t currentTime = 0;
uint32_t previousTime = 0;
uint16_t cycleTime = 0; // this is the number in micro second to achieve a full loop, it can differ a little and is taken into account in the PID loop
+
+int16_t magHold;
int16_t headFreeModeHold;
int16_t telemTemperature1; // gyro sensor temperature
diff --git a/src/main/mw.h b/src/main/mw.h
index aebee40bee..d1d49bdf72 100644
--- a/src/main/mw.h
+++ b/src/main/mw.h
@@ -17,6 +17,8 @@
#pragma once
+extern int16_t magHold;
+
void applyAndSaveAccelerometerTrimsDelta(rollAndPitchTrims_t *rollAndPitchTrimsDelta);
void handleInflightCalibrationStickPosition();
diff --git a/src/main/sensors/compass.c b/src/main/sensors/compass.c
index 343c9d535f..e3c18036ad 100644
--- a/src/main/sensors/compass.c
+++ b/src/main/sensors/compass.c
@@ -28,7 +28,6 @@
#include "drivers/gpio.h"
#include "drivers/light_led.h"
-#include "flight/flight.h"
#include "sensors/boardalignment.h"
#include "config/runtime_config.h"
#include "config/config.h"
diff --git a/src/main/sensors/gyro.c b/src/main/sensors/gyro.c
index cd5c15d86b..71ac374bbd 100644
--- a/src/main/sensors/gyro.c
+++ b/src/main/sensors/gyro.c
@@ -25,7 +25,6 @@
#include "drivers/sensor.h"
#include "drivers/accgyro.h"
-#include "flight/flight.h"
#include "sensors/sensors.h"
#include "io/statusindicator.h"
#include "sensors/boardalignment.h"
diff --git a/src/main/sensors/initialisation.c b/src/main/sensors/initialisation.c
index 099e6fe000..f278893e7b 100644
--- a/src/main/sensors/initialisation.c
+++ b/src/main/sensors/initialisation.c
@@ -52,7 +52,6 @@
#include "drivers/gpio.h"
#include "drivers/system.h"
-#include "flight/flight.h"
#include "config/runtime_config.h"
#include "sensors/sensors.h"
diff --git a/src/main/sensors/sonar.c b/src/main/sensors/sonar.c
index 842df64045..b3a5438b99 100644
--- a/src/main/sensors/sonar.c
+++ b/src/main/sensors/sonar.c
@@ -28,8 +28,6 @@
#include "config/runtime_config.h"
#include "config/config.h"
-#include "flight/flight.h"
-
#include "sensors/sensors.h"
#include "sensors/sonar.h"
diff --git a/src/main/telemetry/frsky.c b/src/main/telemetry/frsky.c
index f4f2e2b074..25691fb47d 100644
--- a/src/main/telemetry/frsky.c
+++ b/src/main/telemetry/frsky.c
@@ -51,7 +51,7 @@
#include "rx/rx.h"
#include "flight/mixer.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/imu.h"
#include "flight/altitudehold.h"
diff --git a/src/main/telemetry/hott.c b/src/main/telemetry/hott.c
index 356c1f2b6b..d0bfd56bfd 100644
--- a/src/main/telemetry/hott.c
+++ b/src/main/telemetry/hott.c
@@ -74,7 +74,7 @@
#include "sensors/sensors.h"
#include "sensors/battery.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/navigation.h"
#include "io/gps.h"
diff --git a/src/main/telemetry/smartport.c b/src/main/telemetry/smartport.c
index 1f9dc1a861..01c8d74a6f 100644
--- a/src/main/telemetry/smartport.c
+++ b/src/main/telemetry/smartport.c
@@ -45,7 +45,7 @@
#include "sensors/compass.h"
#include "sensors/gyro.h"
-#include "flight/flight.h"
+#include "flight/pid.h"
#include "flight/imu.h"
#include "flight/mixer.h"
#include "flight/failsafe.h"
diff --git a/src/test/unit/altitude_hold_unittest.cc b/src/test/unit/altitude_hold_unittest.cc
index bc2b7e4677..b895a1b1bd 100644
--- a/src/test/unit/altitude_hold_unittest.cc
+++ b/src/test/unit/altitude_hold_unittest.cc
@@ -24,25 +24,27 @@
extern "C" {
#include "common/axis.h"
- #include "flight/flight.h"
+ #include "common/maths.h"
- #include "sensors/sensors.h"
#include "drivers/sensor.h"
#include "drivers/accgyro.h"
+
+ #include "sensors/sensors.h"
#include "sensors/acceleration.h"
#include "sensors/barometer.h"
- #include "flight/mixer.h"
- #include "flight/mixer.h"
-
#include "io/escservo.h"
- #include "rx/rx.h"
#include "io/rc_controls.h"
- #include "config/runtime_config.h"
+ #include "rx/rx.h"
+ #include "flight/mixer.h"
+ #include "flight/pid.h"
+ #include "flight/imu.h"
#include "flight/altitudehold.h"
+ #include "config/runtime_config.h"
+
}
#include "unittest_macros.h"
@@ -148,7 +150,7 @@ uint8_t armingFlags;
int32_t sonarAlt;
-void gyroGetADC(void) {};
+void gyroUpdate(void) {};
bool sensors(uint32_t mask)
{
UNUSED(mask);
@@ -159,7 +161,7 @@ void updateAccelerationReadings(rollAndPitchTrims_t *rollAndPitchTrims)
UNUSED(rollAndPitchTrims);
}
-void accSum_reset(void) {};
+void imuResetAccelerationSum(void) {};
int32_t applyDeadband(int32_t, int32_t) { return 0; }
uint32_t micros(void) { return 0; }
diff --git a/src/test/unit/flight_imu_unittest.cc b/src/test/unit/flight_imu_unittest.cc
index d82d12fb1d..379b2cfaf6 100644
--- a/src/test/unit/flight_imu_unittest.cc
+++ b/src/test/unit/flight_imu_unittest.cc
@@ -25,7 +25,6 @@
extern "C" {
#include "common/axis.h"
#include "common/maths.h"
- #include "flight/flight.h"
#include "sensors/sensors.h"
#include "drivers/sensor.h"
@@ -39,6 +38,7 @@ extern "C" {
#include "config/runtime_config.h"
#include "flight/mixer.h"
+ #include "flight/pid.h"
#include "flight/imu.h"
}
@@ -53,19 +53,19 @@ TEST(FlightImuTest, TestCalculateHeading)
{
//TODO: Add test cases using the Z dimension.
t_fp_vector north = {.A={1.0f, 0.0f, 0.0f}};
- EXPECT_EQ(calculateHeading(&north), 0);
+ EXPECT_EQ(imuCalculateHeading(&north), 0);
t_fp_vector east = {.A={0.0f, 1.0f, 0.0f}};
- EXPECT_EQ(calculateHeading(&east), 90);
+ EXPECT_EQ(imuCalculateHeading(&east), 90);
t_fp_vector south = {.A={-1.0f, 0.0f, 0.0f}};
- EXPECT_EQ(calculateHeading(&south), 180);
+ EXPECT_EQ(imuCalculateHeading(&south), 180);
t_fp_vector west = {.A={0.0f, -1.0f, 0.0f}};
- EXPECT_EQ(calculateHeading(&west), 270);
+ EXPECT_EQ(imuCalculateHeading(&west), 270);
t_fp_vector north_east = {.A={1.0f, 1.0f, 0.0f}};
- EXPECT_EQ(calculateHeading(&north_east), 45);
+ EXPECT_EQ(imuCalculateHeading(&north_east), 45);
}
// STUBS
@@ -86,9 +86,12 @@ uint16_t flightModeFlags;
uint8_t armingFlags;
int32_t sonarAlt;
+int16_t accADC[XYZ_AXIS_COUNT];
+int16_t gyroADC[XYZ_AXIS_COUNT];
-void gyroGetADC(void) {};
+
+void gyroUpdate(void) {};
bool sensors(uint32_t mask)
{
UNUSED(mask);
diff --git a/src/test/unit/ledstrip_unittest.cc b/src/test/unit/ledstrip_unittest.cc
index 8ad6e31442..6cd1bf9dcf 100644
--- a/src/test/unit/ledstrip_unittest.cc
+++ b/src/test/unit/ledstrip_unittest.cc
@@ -24,7 +24,6 @@ extern "C" {
#include "common/color.h"
#include "common/axis.h"
- #include "flight/flight.h"
#include "sensors/battery.h"
#include "config/runtime_config.h"
diff --git a/src/test/unit/rc_controls_unittest.cc b/src/test/unit/rc_controls_unittest.cc
index c97348bffe..0c3580f06e 100644
--- a/src/test/unit/rc_controls_unittest.cc
+++ b/src/test/unit/rc_controls_unittest.cc
@@ -20,14 +20,24 @@
extern "C" {
#include "platform.h"
+
#include "common/maths.h"
#include "common/axis.h"
- #include "flight/flight.h"
- #include "rx/rx.h"
+ #include "drivers/sensor.h"
+ #include "drivers/accgyro.h"
+
+ #include "sensors/sensors.h"
+ #include "sensors/acceleration.h"
+
#include "io/escservo.h"
#include "io/rc_controls.h"
+
+ #include "rx/rx.h"
+
+ #include "flight/pid.h"
}
+
#include "unittest_macros.h"
#include "gtest/gtest.h"
diff --git a/src/test/unit/telemetry_hott_unittest.cc b/src/test/unit/telemetry_hott_unittest.cc
index ad277ba007..51fca8d5a8 100644
--- a/src/test/unit/telemetry_hott_unittest.cc
+++ b/src/test/unit/telemetry_hott_unittest.cc
@@ -27,22 +27,21 @@ extern "C" {
#include "common/axis.h"
#include "drivers/system.h"
-
#include "drivers/serial.h"
- #include "io/serial.h"
-
- #include "config/runtime_config.h"
#include "sensors/sensors.h"
-
- #include "flight/flight.h"
- #include "io/gps.h"
#include "sensors/battery.h"
+ #include "io/serial.h"
+ #include "io/gps.h"
+
#include "telemetry/telemetry.h"
#include "telemetry/hott.h"
+ #include "flight/pid.h"
#include "flight/gps_conversion.h"
+
+ #include "config/runtime_config.h"
}
#include "unittest_macros.h"