mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-23 16:25:31 +03:00
Disarm on crash flip recovery or impact while in do nothing mode add blackbox headers for new fields rearrange altitude factors fix ibus uint16 for estimatedVario update GPS altitude at 120hz get GPS derivative from error PT2 filter on GPS derivative remove acceleration element move altitude filtering to position.c calculate altitude derivative in position.c for vario filter vario with PT1 update pg in position and baro field and test tuning from field tests land 3x faster from higher altitude PT2 vario for checking GPS
40 lines
1.4 KiB
C
40 lines
1.4 KiB
C
/*
|
|
* This file is part of Cleanflight and Betaflight.
|
|
*
|
|
* Cleanflight and Betaflight are free software. You can redistribute
|
|
* this software and/or modify this software under the terms of the
|
|
* GNU General Public License as published by the Free Software
|
|
* Foundation, either version 3 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* Cleanflight and Betaflight are distributed in the hope that they
|
|
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
* See the GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this software.
|
|
*
|
|
* If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "common/time.h"
|
|
|
|
#define TASK_ALTITUDE_RATE_HZ 120
|
|
typedef struct positionConfig_s {
|
|
uint8_t altitude_source;
|
|
uint8_t altitude_prefer_baro;
|
|
uint16_t altitude_lpf; // lowpass cutoff (value / 100) Hz for baro smoothing
|
|
uint16_t altitude_d_lpf; // lowpass for (value / 100) Hz baro derivative smoothing
|
|
} positionConfig_t;
|
|
|
|
PG_DECLARE(positionConfig_t, positionConfig);
|
|
|
|
bool isAltitudeOffset(void);
|
|
void calculateEstimatedAltitude();
|
|
void positionInit(void);
|
|
int32_t getEstimatedAltitudeCm(void);
|
|
float getAltitude(void);
|
|
int16_t getEstimatedVario(void);
|