1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-26 01:35:41 +03:00

attempting to fix possible osd buffer overflow

This commit is contained in:
skyfpv 2023-05-31 15:47:14 -06:00
parent c55af22bec
commit 6318cdede7
3 changed files with 15 additions and 3 deletions

View file

@ -344,6 +344,15 @@ static void applyFlipOverAfterCrashModeToMotors(void)
} }
} }
int getAfterburnerTanksRemaining(void)
{
return mixerRuntime.afterburnerTanksRemaining;
}
float getAfterburnerTankPercent(void)
{
return mixerRuntime.afterburnerTankPercent;
}
static void applyRPMLimiter(void) static void applyRPMLimiter(void)
{ {

View file

@ -140,3 +140,6 @@ bool isFixedWing(void);
float getMotorOutputLow(void); float getMotorOutputLow(void);
float getMotorOutputHigh(void); float getMotorOutputHigh(void);
int getAfterburnerTanksRemaining(void);
float getAfterburnerTankPercent(void);

View file

@ -1275,7 +1275,7 @@ static void osdElementMainBatteryUsage(osdElementParms_t *element)
//const float batteryRemaining = constrain(batteryConfig()->batteryCapacity - displayBasis, 0, batteryConfig()->batteryCapacity); //const float batteryRemaining = constrain(batteryConfig()->batteryCapacity - displayBasis, 0, batteryConfig()->batteryCapacity);
//remainingCapacityBars = ceilf((batteryRemaining / (batteryConfig()->batteryCapacity / MAIN_BATT_USAGE_STEPS))); //remainingCapacityBars = ceilf((batteryRemaining / (batteryConfig()->batteryCapacity / MAIN_BATT_USAGE_STEPS)));
const float maxBoost = 100.0f; const float maxBoost = 100.0f;
const float batteryRemaining = constrain(mixerRuntime.afterburnerTankPercent, 0, maxBoost); const float batteryRemaining = constrainf(getAfterburnerTankPercent(), 0, maxBoost);
remainingCapacityBars = ceilf((batteryRemaining / (maxBoost / MAIN_BATT_USAGE_STEPS))); remainingCapacityBars = ceilf((batteryRemaining / (maxBoost / MAIN_BATT_USAGE_STEPS)));
//} //}
@ -1290,9 +1290,9 @@ static void osdElementMainBatteryUsage(osdElementParms_t *element)
} }
//tfp_sprintf(element->buff, element->buff+"%d", mixerRuntime.afterburnerTanksRemaining); //tfp_sprintf(element->buff, element->buff+"%d", mixerRuntime.afterburnerTanksRemaining);
char tanksRemainingStr[1]; char tanksRemainingStr[1];
tfp_sprintf(tanksRemainingStr, "%d", mixerRuntime.afterburnerTanksRemaining); tfp_sprintf(tanksRemainingStr, "%d", getAfterburnerTanksRemaining());
element->buff[MAIN_BATT_USAGE_STEPS+2] = tanksRemainingStr[0]; element->buff[MAIN_BATT_USAGE_STEPS+2] = tanksRemainingStr[0];
element->buff[MAIN_BATT_USAGE_STEPS+3] = '\0'; element->buff[MAIN_BATT_USAGE_STEPS+3] = '\0';
break; break;
} }