mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-25 17:25:20 +03:00
Merge pull request #2849 from martinbudden/bf_fake_accgyro_locks
Added locking to fake gyro and acc
This commit is contained in:
commit
3a672c82e8
15 changed files with 132 additions and 122 deletions
|
@ -74,6 +74,7 @@
|
|||
#include "fc/rc_controls.h"
|
||||
#include "fc/runtime_config.h"
|
||||
|
||||
#include "flight/altitude.h"
|
||||
#include "flight/imu.h"
|
||||
#include "flight/altitude.h"
|
||||
|
||||
|
@ -189,14 +190,14 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
osdRssi = 99;
|
||||
|
||||
buff[0] = SYM_RSSI;
|
||||
sprintf(buff + 1, "%d", osdRssi);
|
||||
tfp_sprintf(buff + 1, "%d", osdRssi);
|
||||
break;
|
||||
}
|
||||
|
||||
case OSD_MAIN_BATT_VOLTAGE:
|
||||
{
|
||||
buff[0] = SYM_BATT_5;
|
||||
sprintf(buff + 1, "%d.%1dV", getBatteryVoltage() / 10, getBatteryVoltage() % 10);
|
||||
tfp_sprintf(buff + 1, "%d.%1dV", getBatteryVoltage() / 10, getBatteryVoltage() % 10);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -204,14 +205,14 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
{
|
||||
int32_t amperage = getAmperage();
|
||||
buff[0] = SYM_AMP;
|
||||
sprintf(buff + 1, "%d.%02d", abs(amperage) / 100, abs(amperage) % 100);
|
||||
tfp_sprintf(buff + 1, "%d.%02d", abs(amperage) / 100, abs(amperage) % 100);
|
||||
break;
|
||||
}
|
||||
|
||||
case OSD_MAH_DRAWN:
|
||||
{
|
||||
buff[0] = SYM_MAH;
|
||||
sprintf(buff + 1, "%d", getMAhDrawn());
|
||||
tfp_sprintf(buff + 1, "%d", getMAhDrawn());
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -219,14 +220,14 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
case OSD_GPS_SATS:
|
||||
{
|
||||
buff[0] = 0x1f;
|
||||
sprintf(buff + 1, "%d", GPS_numSat);
|
||||
tfp_sprintf(buff + 1, "%d", GPS_numSat);
|
||||
break;
|
||||
}
|
||||
|
||||
case OSD_GPS_SPEED:
|
||||
{
|
||||
// FIXME ideally we want to use SYM_KMH symbol but it's not in the font any more, so we use K.
|
||||
sprintf(buff, "%dK", CM_S_TO_KM_H(GPS_speed) * 10);
|
||||
tfp_sprintf(buff, "%dK", CM_S_TO_KM_H(GPS_speed) * 10);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -258,7 +259,7 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
case OSD_ALTITUDE:
|
||||
{
|
||||
int32_t alt = osdGetAltitude(getEstimatedAltitude());
|
||||
sprintf(buff, "%c%d.%01d%c", alt < 0 ? '-' : ' ', abs(alt / 100), abs((alt % 100) / 10), osdGetAltitudeSymbol());
|
||||
tfp_sprintf(buff, "%c%d.%01d%c", alt < 0 ? '-' : ' ', abs(alt / 100), abs((alt % 100) / 10), osdGetAltitudeSymbol());
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -266,14 +267,14 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
{
|
||||
uint32_t seconds = micros() / 1000000;
|
||||
buff[0] = SYM_ON_M;
|
||||
sprintf(buff + 1, "%02d:%02d", seconds / 60, seconds % 60);
|
||||
tfp_sprintf(buff + 1, "%02d:%02d", seconds / 60, seconds % 60);
|
||||
break;
|
||||
}
|
||||
|
||||
case OSD_FLYTIME:
|
||||
{
|
||||
buff[0] = SYM_FLY_M;
|
||||
sprintf(buff + 1, "%02d:%02d", flyTime / 60, flyTime % 60);
|
||||
tfp_sprintf(buff + 1, "%02d:%02d", flyTime / 60, flyTime % 60);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -314,7 +315,7 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
{
|
||||
buff[0] = SYM_THR;
|
||||
buff[1] = SYM_THR1;
|
||||
sprintf(buff + 2, "%d", (constrain(rcData[THROTTLE], PWM_RANGE_MIN, PWM_RANGE_MAX) - PWM_RANGE_MIN) * 100 / (PWM_RANGE_MAX - PWM_RANGE_MIN));
|
||||
tfp_sprintf(buff + 2, "%d", (constrain(rcData[THROTTLE], PWM_RANGE_MIN, PWM_RANGE_MAX) - PWM_RANGE_MIN) * 100 / (PWM_RANGE_MAX - PWM_RANGE_MIN));
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -325,9 +326,9 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
#if defined(VTX)
|
||||
const char vtxBandLetter = vtx58BandLetter[vtxConfig()->vtx_band + 1];
|
||||
const char *vtxChannelName = vtx58ChannelNames[vtxConfig()->vtx_channel + 1];
|
||||
sprintf(buff, "%c:%s", vtxBandLetter, vtxChannelName);
|
||||
tfp_sprintf(buff, "%c:%s", vtxBandLetter, vtxChannelName);
|
||||
#elif defined(USE_RTC6705)
|
||||
sprintf(buff, "CH:%d", current_vtx_channel % CHANNELS_PER_BAND + 1);
|
||||
tfp_sprintf(buff, "CH:%d", current_vtx_channel % CHANNELS_PER_BAND + 1);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
@ -410,27 +411,27 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
case OSD_ROLL_PIDS:
|
||||
{
|
||||
const pidProfile_t *pidProfile = currentPidProfile;
|
||||
sprintf(buff, "ROL %3d %3d %3d", pidProfile->P8[PIDROLL], pidProfile->I8[PIDROLL], pidProfile->D8[PIDROLL]);
|
||||
tfp_sprintf(buff, "ROL %3d %3d %3d", pidProfile->P8[PIDROLL], pidProfile->I8[PIDROLL], pidProfile->D8[PIDROLL]);
|
||||
break;
|
||||
}
|
||||
|
||||
case OSD_PITCH_PIDS:
|
||||
{
|
||||
const pidProfile_t *pidProfile = currentPidProfile;
|
||||
sprintf(buff, "PIT %3d %3d %3d", pidProfile->P8[PIDPITCH], pidProfile->I8[PIDPITCH], pidProfile->D8[PIDPITCH]);
|
||||
tfp_sprintf(buff, "PIT %3d %3d %3d", pidProfile->P8[PIDPITCH], pidProfile->I8[PIDPITCH], pidProfile->D8[PIDPITCH]);
|
||||
break;
|
||||
}
|
||||
|
||||
case OSD_YAW_PIDS:
|
||||
{
|
||||
const pidProfile_t *pidProfile = currentPidProfile;
|
||||
sprintf(buff, "YAW %3d %3d %3d", pidProfile->P8[PIDYAW], pidProfile->I8[PIDYAW], pidProfile->D8[PIDYAW]);
|
||||
tfp_sprintf(buff, "YAW %3d %3d %3d", pidProfile->P8[PIDYAW], pidProfile->I8[PIDYAW], pidProfile->D8[PIDYAW]);
|
||||
break;
|
||||
}
|
||||
|
||||
case OSD_POWER:
|
||||
{
|
||||
sprintf(buff, "%dW", getAmperage() * getBatteryVoltage() / 1000);
|
||||
tfp_sprintf(buff, "%dW", getAmperage() * getBatteryVoltage() / 1000);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -438,7 +439,7 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
{
|
||||
const uint8_t pidProfileIndex = getCurrentPidProfileIndex();
|
||||
const uint8_t rateProfileIndex = getCurrentControlRateProfileIndex();
|
||||
sprintf(buff, "%d-%d", pidProfileIndex + 1, rateProfileIndex + 1);
|
||||
tfp_sprintf(buff, "%d-%d", pidProfileIndex + 1, rateProfileIndex + 1);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -446,11 +447,11 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
{
|
||||
switch(getBatteryState()) {
|
||||
case BATTERY_WARNING:
|
||||
sprintf(buff, "LOW BATTERY");
|
||||
tfp_sprintf(buff, "LOW BATTERY");
|
||||
break;
|
||||
|
||||
case BATTERY_CRITICAL:
|
||||
sprintf(buff, "LAND NOW");
|
||||
tfp_sprintf(buff, "LAND NOW");
|
||||
elemOffsetX += 1;
|
||||
break;
|
||||
|
||||
|
@ -464,7 +465,7 @@ static void osdDrawSingleElement(uint8_t item)
|
|||
{
|
||||
uint16_t cellV = getBatteryVoltage() * 10 / getBatteryCellCount();
|
||||
buff[0] = SYM_BATT_5;
|
||||
sprintf(buff + 1, "%d.%dV", cellV / 100, cellV % 100);
|
||||
tfp_sprintf(buff + 1, "%d.%dV", cellV / 100, cellV % 100);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -603,7 +604,7 @@ void osdInit(displayPort_t *osdDisplayPortToUse)
|
|||
osdDrawLogo(3, 1);
|
||||
|
||||
char string_buffer[30];
|
||||
sprintf(string_buffer, "V%s", FC_VERSION_STRING);
|
||||
tfp_sprintf(string_buffer, "V%s", FC_VERSION_STRING);
|
||||
displayWrite(osdDisplayPort, 20, 6, string_buffer);
|
||||
#ifdef CMS
|
||||
displayWrite(osdDisplayPort, 7, 8, CMS_STARTUP_HELP_TEXT1);
|
||||
|
@ -763,7 +764,7 @@ static void osdShowStats(void)
|
|||
}
|
||||
|
||||
displayWrite(osdDisplayPort, 2, top, "MIN BATTERY :");
|
||||
sprintf(buff, "%d.%1dV", stats.min_voltage / 10, stats.min_voltage % 10);
|
||||
tfp_sprintf(buff, "%d.%1dV", stats.min_voltage / 10, stats.min_voltage % 10);
|
||||
displayWrite(osdDisplayPort, 22, top++, buff);
|
||||
|
||||
displayWrite(osdDisplayPort, 2, top, "MIN RSSI :");
|
||||
|
@ -785,7 +786,7 @@ static void osdShowStats(void)
|
|||
|
||||
displayWrite(osdDisplayPort, 2, top, "MAX ALTITUDE :");
|
||||
int32_t alt = osdGetAltitude(stats.max_altitude);
|
||||
sprintf(buff, "%c%d.%01d%c", alt < 0 ? '-' : ' ', abs(alt / 100), abs((alt % 100) / 10), osdGetAltitudeSymbol());
|
||||
tfp_sprintf(buff, "%c%d.%01d%c", alt < 0 ? '-' : ' ', abs(alt / 100), abs((alt % 100) / 10), osdGetAltitudeSymbol());
|
||||
displayWrite(osdDisplayPort, 22, top++, buff);
|
||||
|
||||
#ifdef BLACKBOX
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue