mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-13 11:29:58 +03:00
Shared altitude control function in position_control.c (#13954)
* Altitude control code shared fewer debugs subtract D * remove #include comments, simplify coding, restructuring thanks JP and MH * fix cms limits for throttle control * Use altitude_control debug, fix throttle calculation minor refactoring * use AUTO_CONTROL_ALTITUDE debug in place of GPS Rescue throttle pid * use autopilot for position control names * fixes from reviews - thanks * Re-organise included files and functions thanks Karate * missed init and other typos * remove old unused unit test file, tidy up thanks Mark * fix indentation on one line
This commit is contained in:
parent
1d9823b4cd
commit
58fc8bbbb8
33 changed files with 263 additions and 595 deletions
|
@ -82,6 +82,7 @@
|
|||
#include "fc/rc_modes.h"
|
||||
#include "fc/runtime_config.h"
|
||||
|
||||
#include "flight/autopilot.h"
|
||||
#include "flight/failsafe.h"
|
||||
#include "flight/gps_rescue.h"
|
||||
#include "flight/imu.h"
|
||||
|
@ -89,7 +90,6 @@
|
|||
#include "flight/pid.h"
|
||||
#include "flight/pid_init.h"
|
||||
#include "flight/position.h"
|
||||
#include "flight/position_control.h"
|
||||
#include "flight/rpm_filter.h"
|
||||
#include "flight/servos.h"
|
||||
|
||||
|
@ -1544,9 +1544,9 @@ case MSP_NAME:
|
|||
sbufWriteU16(dst, gpsRescueConfig()->returnAltitudeM);
|
||||
sbufWriteU16(dst, gpsRescueConfig()->descentDistanceM);
|
||||
sbufWriteU16(dst, gpsRescueConfig()->groundSpeedCmS);
|
||||
sbufWriteU16(dst, gpsRescueConfig()->throttleMin);
|
||||
sbufWriteU16(dst, gpsRescueConfig()->throttleMax);
|
||||
sbufWriteU16(dst, positionControlConfig()->hover_throttle);
|
||||
sbufWriteU16(dst, autopilotConfig()->throttle_min);
|
||||
sbufWriteU16(dst, autopilotConfig()->throttle_max);
|
||||
sbufWriteU16(dst, autopilotConfig()->hover_throttle);
|
||||
sbufWriteU8(dst, gpsRescueConfig()->sanityChecks);
|
||||
sbufWriteU8(dst, gpsRescueConfig()->minSats);
|
||||
|
||||
|
@ -1562,9 +1562,9 @@ case MSP_NAME:
|
|||
break;
|
||||
|
||||
case MSP_GPS_RESCUE_PIDS:
|
||||
sbufWriteU16(dst, positionControlConfig()->altitude_P);
|
||||
sbufWriteU16(dst, positionControlConfig()->altitude_I);
|
||||
sbufWriteU16(dst, positionControlConfig()->altitude_D);
|
||||
sbufWriteU16(dst, autopilotConfig()->altitude_P);
|
||||
sbufWriteU16(dst, autopilotConfig()->altitude_I);
|
||||
sbufWriteU16(dst, autopilotConfig()->altitude_D);
|
||||
// altitude_F not implemented yet
|
||||
sbufWriteU16(dst, gpsRescueConfig()->velP);
|
||||
sbufWriteU16(dst, gpsRescueConfig()->velI);
|
||||
|
@ -2879,9 +2879,9 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
|
|||
gpsRescueConfigMutable()->returnAltitudeM = sbufReadU16(src);
|
||||
gpsRescueConfigMutable()->descentDistanceM = sbufReadU16(src);
|
||||
gpsRescueConfigMutable()->groundSpeedCmS = sbufReadU16(src);
|
||||
gpsRescueConfigMutable()->throttleMin = sbufReadU16(src);
|
||||
gpsRescueConfigMutable()->throttleMax = sbufReadU16(src);
|
||||
positionControlConfigMutable()->hover_throttle = sbufReadU16(src);
|
||||
autopilotConfigMutable()->throttle_min = sbufReadU16(src);
|
||||
autopilotConfigMutable()->throttle_max = sbufReadU16(src);
|
||||
autopilotConfigMutable()->hover_throttle = sbufReadU16(src);
|
||||
gpsRescueConfigMutable()->sanityChecks = sbufReadU8(src);
|
||||
gpsRescueConfigMutable()->minSats = sbufReadU8(src);
|
||||
if (sbufBytesRemaining(src) >= 6) {
|
||||
|
@ -2902,9 +2902,9 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
|
|||
break;
|
||||
|
||||
case MSP_SET_GPS_RESCUE_PIDS:
|
||||
positionControlConfigMutable()->altitude_P = sbufReadU16(src);
|
||||
positionControlConfigMutable()->altitude_I = sbufReadU16(src);
|
||||
positionControlConfigMutable()->altitude_D = sbufReadU16(src);
|
||||
autopilotConfigMutable()->altitude_P = sbufReadU16(src);
|
||||
autopilotConfigMutable()->altitude_I = sbufReadU16(src);
|
||||
autopilotConfigMutable()->altitude_D = sbufReadU16(src);
|
||||
// altitude_F not included in msp yet
|
||||
gpsRescueConfigMutable()->velP = sbufReadU16(src);
|
||||
gpsRescueConfigMutable()->velI = sbufReadU16(src);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue