From aa9d3e3ffea50cb21cdd7fd079b7084b9acc7ba0 Mon Sep 17 00:00:00 2001 From: ctzsnooze Date: Sun, 29 Sep 2024 21:42:34 +1000 Subject: [PATCH] autopilot naming, function sharing --- mk/source.mk | 1 + src/main/blackbox/blackbox.c | 1 + src/main/cli/cli.c | 1 + src/main/cli/settings.c | 2 ++ src/main/cms/cms_menu_gps_rescue.c | 9 +++++---- src/main/flight/alt_hold.c | 3 +++ src/main/flight/autopilot.c | 6 +++++- src/main/flight/mixer.c | 1 + src/test/Makefile | 1 + 9 files changed, 20 insertions(+), 5 deletions(-) diff --git a/mk/source.mk b/mk/source.mk index 9a74d5ca8a..4946810eec 100644 --- a/mk/source.mk +++ b/mk/source.mk @@ -23,6 +23,7 @@ PG_SRC = \ pg/msp.c \ pg/pg.c \ pg/piniobox.c \ + pg/autopilot.c \ pg/pinio.c \ pg/pin_pull_up_down.c \ pg/rcdevice.c \ diff --git a/src/main/blackbox/blackbox.c b/src/main/blackbox/blackbox.c index be6b0d4de4..ef9bf4e076 100644 --- a/src/main/blackbox/blackbox.c +++ b/src/main/blackbox/blackbox.c @@ -69,6 +69,7 @@ #include "flight/mixer.h" #include "flight/pid.h" #include "flight/position.h" +#include "flight/autopilot.h" #include "flight/rpm_filter.h" #include "flight/servos.h" #include "flight/imu.h" diff --git a/src/main/cli/cli.c b/src/main/cli/cli.c index 1dff695952..299e266086 100644 --- a/src/main/cli/cli.c +++ b/src/main/cli/cli.c @@ -110,6 +110,7 @@ bool cliMode = false; #include "flight/mixer.h" #include "flight/pid.h" #include "flight/position.h" +#include "flight/autopilot.h" #include "flight/servos.h" #include "io/asyncfatfs/asyncfatfs.h" diff --git a/src/main/cli/settings.c b/src/main/cli/settings.c index 374553f93c..614e41f658 100644 --- a/src/main/cli/settings.c +++ b/src/main/cli/settings.c @@ -64,6 +64,8 @@ #include "flight/mixer.h" #include "flight/pid.h" #include "flight/position.h" +#include "flight/autopilot.h" +#include "flight/alt_hold.h" #include "flight/rpm_filter.h" #include "flight/servos.h" diff --git a/src/main/cms/cms_menu_gps_rescue.c b/src/main/cms/cms_menu_gps_rescue.c index c09e2e10c3..5cebc6c93a 100644 --- a/src/main/cms/cms_menu_gps_rescue.c +++ b/src/main/cms/cms_menu_gps_rescue.c @@ -40,6 +40,7 @@ #include "flight/autopilot.h" #include "flight/gps_rescue.h" #include "flight/position.h" +#include "flight/autopilot.h" static uint16_t gpsRescueConfig_minStartDistM; //meters static uint8_t gpsRescueConfig_altitudeMode; @@ -115,10 +116,10 @@ const OSD_Entry cms_menuGpsRescuePidEntries[] = { {"--- GPS RESCUE PID---", OME_Label, NULL, NULL}, - { "ALTITUDE P", OME_UINT8 | REBOOT_REQUIRED, NULL, &(OSD_UINT8_t){ &autopilotConfig_altitude_P, 0, 200, 1 } }, - { "ALTITUDE I", OME_UINT8 | REBOOT_REQUIRED, NULL, &(OSD_UINT8_t){ &autopilotConfig_altitude_I, 0, 200, 1 } }, - { "ALTITUDE D", OME_UINT8 | REBOOT_REQUIRED, NULL, &(OSD_UINT8_t){ &autopilotConfig_altitude_D, 0, 200, 1 } }, - { "ALTITUDE F", OME_UINT8 | REBOOT_REQUIRED, NULL, &(OSD_UINT8_t){ &autopilotConfig_altitude_F, 0, 200, 1 } }, + { "ALTITUDE P", OME_UINT8 | REBOOT_REQUIRED, NULL, &(OSD_UINT8_t){ &autopilotConfig_altitude_P, 0, 255, 1 } }, + { "ALTITUDE I", OME_UINT8 | REBOOT_REQUIRED, NULL, &(OSD_UINT8_t){ &autopilotConfig_altitude_I, 0, 255, 1 } }, + { "ALTITUDE D", OME_UINT8 | REBOOT_REQUIRED, NULL, &(OSD_UINT8_t){ &autopilotConfig_altitude_D, 0, 255, 1 } }, + { "ALTITUDE F", OME_UINT8 | REBOOT_REQUIRED, NULL, &(OSD_UINT8_t){ &autopilotConfig_altitude_F, 0, 255, 1 } }, { "YAW P", OME_UINT8 | REBOOT_REQUIRED, NULL, &(OSD_UINT8_t){ &gpsRescueConfig_yawP, 0, 200, 1 } }, diff --git a/src/main/flight/alt_hold.c b/src/main/flight/alt_hold.c index 72aeace87e..51e3ecd651 100644 --- a/src/main/flight/alt_hold.c +++ b/src/main/flight/alt_hold.c @@ -21,13 +21,16 @@ #ifdef USE_ALT_HOLD_MODE #include "build/debug.h" + #include "common/maths.h" #include "config/config.h" + #include "fc/rc.h" #include "fc/runtime_config.h" #include "flight/autopilot.h" #include "flight/failsafe.h" #include "flight/position.h" + #include "rx/rx.h" #include "alt_hold.h" diff --git a/src/main/flight/autopilot.c b/src/main/flight/autopilot.c index 41eae8b90b..a1f704425b 100644 --- a/src/main/flight/autopilot.c +++ b/src/main/flight/autopilot.c @@ -23,7 +23,6 @@ #include "platform.h" #include "build/debug.h" #include "common/maths.h" - #include "flight/imu.h" #include "flight/pid.h" #include "flight/position.h" @@ -48,6 +47,11 @@ void autopilotInit(const autopilotConfig_t *config) altitudePidCoeffs.Kf = config->altitude_F * ALTITUDE_F_SCALE; } +const pidCoefficient_t *getAltitudePidCoeffs(void) +{ + return &altitudePidCoeffs; +} + void resetAltitudeControl (void) { altitudeI = 0.0f; } diff --git a/src/main/flight/mixer.c b/src/main/flight/mixer.c index 1f4a3556be..88eb83ddb6 100644 --- a/src/main/flight/mixer.c +++ b/src/main/flight/mixer.c @@ -53,6 +53,7 @@ #include "flight/mixer_init.h" #include "flight/mixer_tricopter.h" #include "flight/pid.h" +#include "flight/autopilot.h" #include "flight/rpm_filter.h" #include "io/gps.h" diff --git a/src/test/Makefile b/src/test/Makefile index 7555a7b8e6..0d7b845353 100644 --- a/src/test/Makefile +++ b/src/test/Makefile @@ -478,6 +478,7 @@ althold_unittest_SRC := \ $(USER_DIR)/flight/alt_hold.c \ $(USER_DIR)/flight/autopilot.c \ $(USER_DIR)/common/maths.c \ + $(USER_DIR)/flight/autopilot.c \ $(USER_DIR)/pg/rx.c althold_unittest_DEFINES := \