1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-23 16:25:31 +03:00
betaflight/src/main/flight/position.h
ctzsnooze b88e73d137 120hz altitude data used in GPS Rescue
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
2022-09-15 11:31:36 +10:00

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);