1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-23 08:15:30 +03:00

Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Diego Basch 2018-06-22 16:57:42 -07:00
commit d8b440948a
5 changed files with 22 additions and 13 deletions

View file

@ -213,16 +213,6 @@ static void validateAndFixConfig(void)
if (featureConfigured(FEATURE_RX_PARALLEL_PWM)) {
featureClear(FEATURE_RX_SERIAL | FEATURE_RX_MSP | FEATURE_RX_PPM | FEATURE_RX_SPI);
#if defined(STM32F10X)
// rssi adc needs the same ports
featureClear(FEATURE_RSSI_ADC);
// current meter needs the same ports
if (batteryConfig()->currentMeterSource == CURRENT_METER_ADC) {
batteryConfigMutable()->currentMeterSource = CURRENT_METER_NONE;
}
#endif // STM32F10X
// software serial needs free PWM ports
featureClear(FEATURE_SOFTSERIAL);
}
#ifdef USE_SOFTSPI

View file

@ -303,6 +303,11 @@ void idleTasks()
return;
}
// Don't update any rescue flight statistics if we haven't applied a proper altitude offset yet
if (!isAltitudeOffset()) {
return;
}
gpsRescueAngle[AI_PITCH] = 0;
gpsRescueAngle[AI_ROLL] = 0;

View file

@ -44,12 +44,13 @@ static int32_t estimatedAltitude = 0; // in cm
#if defined(USE_BARO) || defined(USE_GPS)
static bool altitudeOffsetSet = false;
void calculateEstimatedAltitude(timeUs_t currentTimeUs)
{
static timeUs_t previousTimeUs = 0;
static int32_t baroAltOffset = 0;
static int32_t gpsAltOffset = 0;
static bool altitudeOffsetSet = false;
const uint32_t dTime = currentTimeUs - previousTimeUs;
if (dTime < BARO_UPDATE_FREQUENCY_40HZ) {
@ -109,8 +110,12 @@ if (sensors(SENSOR_GPS) && STATE(GPS_FIX)) {
DEBUG_SET(DEBUG_ALTITUDE, 1, baroAlt);
DEBUG_SET(DEBUG_ALTITUDE, 2, gpsAlt);
}
#endif
bool isAltitudeOffset(void)
{
return altitudeOffsetSet;
}
#endif
int32_t getEstimatedAltitude(void)
{

View file

@ -22,6 +22,7 @@
#include "common/time.h"
bool isAltitudeOffset(void);
void calculateEstimatedAltitude(timeUs_t currentTimeUs);
int32_t getEstimatedAltitude(void);
int16_t getEstimatedVario(void);