mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-24 08:45:36 +03:00
Merge branch 'master' into betaflight
Conflicts: Makefile docs/Cli.md src/main/config/config.c src/main/drivers/accgyro_mpu3050.c src/main/drivers/accgyro_mpu6050.c src/main/drivers/accgyro_mpu6050.h src/main/drivers/accgyro_spi_mpu6000.c src/main/drivers/accgyro_spi_mpu6000.h src/main/drivers/accgyro_spi_mpu6500.c src/main/drivers/accgyro_spi_mpu6500.h src/main/drivers/barometer_bmp280.c src/main/drivers/sensor.h src/main/flight/pid.c src/main/mw.c src/main/rx/rx.c src/main/sensors/initialisation.c src/main/target/CC3D/target.h
This commit is contained in:
commit
12c9f65f43
82 changed files with 2309 additions and 1771 deletions
|
@ -73,7 +73,7 @@
|
|||
#include "flight/imu.h"
|
||||
#include "flight/altitudehold.h"
|
||||
#include "flight/failsafe.h"
|
||||
#include "flight/autotune.h"
|
||||
#include "flight/gtune.h"
|
||||
#include "flight/navigation.h"
|
||||
|
||||
#include "config/runtime_config.h"
|
||||
|
@ -128,40 +128,26 @@ void applyAndSaveAccelerometerTrimsDelta(rollAndPitchTrims_t *rollAndPitchTrimsD
|
|||
saveConfigAndNotify();
|
||||
}
|
||||
|
||||
#ifdef AUTOTUNE
|
||||
#ifdef GTUNE
|
||||
|
||||
void updateAutotuneState(void)
|
||||
void updateGtuneState(void)
|
||||
{
|
||||
static bool landedAfterAutoTuning = false;
|
||||
static bool autoTuneWasUsed = false;
|
||||
static bool GTuneWasUsed = false;
|
||||
|
||||
if (IS_RC_MODE_ACTIVE(BOXAUTOTUNE)) {
|
||||
if (!FLIGHT_MODE(AUTOTUNE_MODE)) {
|
||||
if (ARMING_FLAG(ARMED)) {
|
||||
if (isAutotuneIdle() || landedAfterAutoTuning) {
|
||||
autotuneReset();
|
||||
landedAfterAutoTuning = false;
|
||||
}
|
||||
autotuneBeginNextPhase(¤tProfile->pidProfile);
|
||||
ENABLE_FLIGHT_MODE(AUTOTUNE_MODE);
|
||||
autoTuneWasUsed = true;
|
||||
} else {
|
||||
if (havePidsBeenUpdatedByAutotune()) {
|
||||
saveConfigAndNotify();
|
||||
autotuneReset();
|
||||
}
|
||||
}
|
||||
if (IS_RC_MODE_ACTIVE(BOXGTUNE)) {
|
||||
if (!FLIGHT_MODE(GTUNE_MODE) && ARMING_FLAG(ARMED)) {
|
||||
ENABLE_FLIGHT_MODE(GTUNE_MODE);
|
||||
init_Gtune(¤tProfile->pidProfile);
|
||||
GTuneWasUsed = true;
|
||||
}
|
||||
if (!FLIGHT_MODE(GTUNE_MODE) && !ARMING_FLAG(ARMED) && GTuneWasUsed) {
|
||||
saveConfigAndNotify();
|
||||
GTuneWasUsed = false;
|
||||
}
|
||||
} else {
|
||||
if (FLIGHT_MODE(GTUNE_MODE) && ARMING_FLAG(ARMED)) {
|
||||
DISABLE_FLIGHT_MODE(GTUNE_MODE);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (FLIGHT_MODE(AUTOTUNE_MODE)) {
|
||||
autotuneEndPhase();
|
||||
DISABLE_FLIGHT_MODE(AUTOTUNE_MODE);
|
||||
}
|
||||
|
||||
if (!ARMING_FLAG(ARMED) && autoTuneWasUsed) {
|
||||
landedAfterAutoTuning = true;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -284,10 +270,6 @@ void annexCode(void)
|
|||
DISABLE_ARMING_FLAG(OK_TO_ARM);
|
||||
}
|
||||
|
||||
if (IS_RC_MODE_ACTIVE(BOXAUTOTUNE)) {
|
||||
DISABLE_ARMING_FLAG(OK_TO_ARM);
|
||||
}
|
||||
|
||||
if (isCalibrating()) {
|
||||
warningLedFlash();
|
||||
DISABLE_ARMING_FLAG(OK_TO_ARM);
|
||||
|
@ -812,21 +794,25 @@ void loop(void)
|
|||
|
||||
filterRc();
|
||||
|
||||
if (masterConfig.rxConfig.rcSmoothing) {
|
||||
filterRc();
|
||||
}
|
||||
|
||||
annexCode();
|
||||
#if defined(BARO) || defined(SONAR)
|
||||
haveProcessedAnnexCodeOnce = true;
|
||||
#endif
|
||||
|
||||
#ifdef AUTOTUNE
|
||||
updateAutotuneState();
|
||||
#endif
|
||||
|
||||
#ifdef MAG
|
||||
if (sensors(SENSOR_MAG)) {
|
||||
updateMagHold();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef GTUNE
|
||||
updateGtuneState();
|
||||
#endif
|
||||
|
||||
#if defined(BARO) || defined(SONAR)
|
||||
if (sensors(SENSOR_BARO) || sensors(SENSOR_SONAR)) {
|
||||
if (FLIGHT_MODE(BARO_MODE) || FLIGHT_MODE(SONAR_MODE)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue