mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-25 01:05:27 +03:00
Merge pull request #6714 from pkruger/4155-feature-for-osd-elements-on-a-switch
4155 feature for osd elements on a switch
This commit is contained in:
commit
b6408b3a32
12 changed files with 227 additions and 66 deletions
|
@ -861,9 +861,9 @@ STATIC_UNIT_TESTED uint16_t cmsHandleKey(displayPort_t *pDisplay, cms_key_e key)
|
|||
uint16_t *val = (uint16_t *)p->data;
|
||||
|
||||
if (key == CMS_KEY_RIGHT)
|
||||
*val |= VISIBLE_FLAG;
|
||||
*val |= OSD_PROFILE_1_FLAG;
|
||||
else
|
||||
*val %= ~VISIBLE_FLAG;
|
||||
*val %= ~OSD_PROFILE_1_FLAG;
|
||||
SET_PRINTVALUE(p);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include "io/beeper.h"
|
||||
#include "io/motors.h"
|
||||
#include "io/pidaudio.h"
|
||||
#include "io/osd.h"
|
||||
|
||||
#include "fc/config.h"
|
||||
#include "fc/controlrate_profile.h"
|
||||
|
@ -237,6 +238,10 @@ static const adjustmentConfig_t defaultAdjustmentConfigs[ADJUSTMENT_FUNCTION_COU
|
|||
.adjustmentFunction = ADJUSTMENT_YAW_F,
|
||||
.mode = ADJUSTMENT_MODE_STEP,
|
||||
.data = { .step = 1 }
|
||||
}, {
|
||||
.adjustmentFunction = ADJUSTMENT_OSD_PROFILE,
|
||||
.mode = ADJUSTMENT_MODE_SELECT,
|
||||
.data = { .switchPositions = 3 }
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -273,7 +278,8 @@ static const char * const adjustmentLabels[] = {
|
|||
"PID AUDIO",
|
||||
"PITCH F",
|
||||
"ROLL F",
|
||||
"YAW F"
|
||||
"YAW F",
|
||||
"OSD PROFILE",
|
||||
};
|
||||
|
||||
static int adjustmentRangeNameIndex = 0;
|
||||
|
@ -657,6 +663,13 @@ static uint8_t applySelectAdjustment(adjustmentFunction_e adjustmentFunction, ui
|
|||
pidAudioSetMode(newMode);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
#ifdef USE_OSD_PROFILES
|
||||
case ADJUSTMENT_OSD_PROFILE:
|
||||
if (getCurrentOsdProfileIndex() != (position + 1)) {
|
||||
changeOsdProfileIndex(position+1);
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
|
||||
|
@ -776,7 +789,12 @@ void processRcAdjustments(controlRateConfig_t *controlRateConfig)
|
|||
}
|
||||
|
||||
#if defined(USE_OSD) && defined(USE_OSD_ADJUSTMENTS)
|
||||
if (newValue != -1 && adjustmentState->config->adjustmentFunction != ADJUSTMENT_RATE_PROFILE) { // Rate profile already has an OSD element
|
||||
if (newValue != -1
|
||||
&& adjustmentState->config->adjustmentFunction != ADJUSTMENT_RATE_PROFILE // Rate profile already has an OSD element
|
||||
#ifdef USE_OSD_PROFILES
|
||||
&& adjustmentState->config->adjustmentFunction != ADJUSTMENT_OSD_PROFILE
|
||||
#endif
|
||||
) {
|
||||
adjustmentRangeNameIndex = adjustmentFunction;
|
||||
adjustmentRangeValue = newValue;
|
||||
}
|
||||
|
|
|
@ -58,6 +58,7 @@ typedef enum {
|
|||
ADJUSTMENT_PITCH_F,
|
||||
ADJUSTMENT_ROLL_F,
|
||||
ADJUSTMENT_YAW_F,
|
||||
ADJUSTMENT_OSD_PROFILE,
|
||||
ADJUSTMENT_FUNCTION_COUNT
|
||||
} adjustmentFunction_e;
|
||||
|
||||
|
|
|
@ -1112,7 +1112,9 @@ const clivalue_t valueTable[] = {
|
|||
{ "osd_stat_max_esc_rpm", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = OSD_STAT_MAX_ESC_RPM, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats)},
|
||||
{ "osd_stat_min_link_quality", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = OSD_STAT_MIN_LINK_QUALITY,PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats)},
|
||||
{ "osd_stat_total_dist", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = OSD_STAT_TOTAL_DISTANCE, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats)},
|
||||
|
||||
#ifdef USE_OSD_PROFILES
|
||||
{ "osd_profile", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 1, OSD_PROFILE_COUNT }, PG_OSD_CONFIG, offsetof(osdConfig_t, osdProfileIndex) },
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// PG_SYSTEM_CONFIG
|
||||
|
|
|
@ -150,7 +150,9 @@ timeUs_t resumeRefreshAt = 0;
|
|||
|
||||
static uint8_t armState;
|
||||
static bool lastArmState;
|
||||
|
||||
#ifdef USE_OSD_PROFILES
|
||||
static uint8_t osdProfile = 1;
|
||||
#endif
|
||||
static displayPort_t *osdDisplayPort;
|
||||
|
||||
static bool suppressStatsDisplay = false;
|
||||
|
@ -471,12 +473,47 @@ bool osdWarnGetState(uint8_t warningIndex)
|
|||
return osdConfig()->enabledWarnings & (1 << warningIndex);
|
||||
}
|
||||
|
||||
#ifdef USE_OSD_PROFILES
|
||||
void setOsdProfile(uint8_t value)
|
||||
{
|
||||
// 1 ->> 001
|
||||
// 2 ->> 010
|
||||
// 3 ->> 100
|
||||
if (value <= OSD_PROFILE_COUNT) {
|
||||
if (value == 0) {
|
||||
osdProfile = 1;
|
||||
} else {
|
||||
osdProfile = 1 << (value - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t getCurrentOsdProfileIndex(void)
|
||||
{
|
||||
return osdConfig()->osdProfileIndex;
|
||||
}
|
||||
|
||||
void changeOsdProfileIndex(uint8_t profileIndex)
|
||||
{
|
||||
if (profileIndex <= OSD_PROFILE_COUNT) {
|
||||
osdConfigMutable()->osdProfileIndex = profileIndex;
|
||||
setOsdProfile(profileIndex);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
static bool osdDrawSingleElement(uint8_t item)
|
||||
{
|
||||
#ifdef USE_OSD_PROFILES
|
||||
if ((OSD_ELEMENT_PROFILE(osdConfig()->item_pos[item]) & osdProfile) == 0) {
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
if (!VISIBLE(osdConfig()->item_pos[item]) || BLINK(item)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
uint8_t elemPosX = OSD_X(osdConfig()->item_pos[item]);
|
||||
uint8_t elemPosY = OSD_Y(osdConfig()->item_pos[item]);
|
||||
char buff[OSD_ELEMENT_BUFFER_LENGTH] = "";
|
||||
|
@ -1209,7 +1246,7 @@ void pgResetFn_osdConfig(osdConfig_t *osdConfig)
|
|||
}
|
||||
|
||||
// Always enable warnings elements by default
|
||||
osdConfig->item_pos[OSD_WARNINGS] = OSD_POS(9, 10) | VISIBLE_FLAG;
|
||||
osdConfig->item_pos[OSD_WARNINGS] = OSD_POS(9, 10) | OSD_PROFILE_1_FLAG;
|
||||
|
||||
// Default to old fixed positions for these elements
|
||||
osdConfig->item_pos[OSD_CROSSHAIRS] = OSD_POS(13, 6);
|
||||
|
@ -1247,6 +1284,8 @@ void pgResetFn_osdConfig(osdConfig_t *osdConfig)
|
|||
|
||||
osdConfig->ahMaxPitch = 20; // 20 degrees
|
||||
osdConfig->ahMaxRoll = 40; // 40 degrees
|
||||
|
||||
osdConfig->osdProfileIndex = 1;
|
||||
osdConfig->ahInvert = false;
|
||||
}
|
||||
|
||||
|
@ -1302,6 +1341,9 @@ void osdInit(displayPort_t *osdDisplayPortToUse)
|
|||
displayResync(osdDisplayPort);
|
||||
|
||||
resumeRefreshAt = micros() + (4 * REFRESH_1S);
|
||||
#ifdef USE_OSD_PROFILES
|
||||
changeOsdProfileIndex(osdConfig()->osdProfileIndex);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool osdInitialized(void)
|
||||
|
|
|
@ -28,10 +28,16 @@ extern const char * const osdTimerSourceNames[OSD_NUM_TIMER_TYPES];
|
|||
|
||||
#define OSD_ELEMENT_BUFFER_LENGTH 32
|
||||
|
||||
#define VISIBLE_FLAG 0x0800
|
||||
#define VISIBLE(x) (x & VISIBLE_FLAG)
|
||||
#define OSD_PROFILE_COUNT 3
|
||||
|
||||
#define OSD_PROFILE_BITS_POS 11
|
||||
#define OSD_PROFILE_1_FLAG (1 << OSD_PROFILE_BITS_POS)
|
||||
#define OSD_PROFILE_MASK (((1 << OSD_PROFILE_COUNT) - 1) << OSD_PROFILE_BITS_POS)
|
||||
#define VISIBLE(x) ((x) & OSD_PROFILE_MASK)
|
||||
#define OSD_POS_MAX 0x3FF
|
||||
#define OSD_POSCFG_MAX (VISIBLE_FLAG|0x3FF) // For CLI values
|
||||
#define OSD_POSCFG_MAX (OSD_PROFILE_MASK | 0x3FF) // For CLI values
|
||||
#define OSD_ELEMENT_PROFILE(x) (((x) & OSD_PROFILE_MASK) >> OSD_PROFILE_BITS_POS)
|
||||
|
||||
|
||||
// Character coordinate
|
||||
#define OSD_POSITION_BITS 5 // 5 bits gives a range 0-31
|
||||
|
@ -206,6 +212,7 @@ typedef struct osdConfig_s {
|
|||
int16_t esc_current_alarm;
|
||||
uint8_t core_temp_alarm;
|
||||
uint8_t ahInvert; // invert the artificial horizon
|
||||
uint8_t osdProfileIndex;
|
||||
} osdConfig_t;
|
||||
|
||||
PG_DECLARE(osdConfig_t, osdConfig);
|
||||
|
@ -223,4 +230,6 @@ void osdWarnSetState(uint8_t warningIndex, bool enabled);
|
|||
bool osdWarnGetState(uint8_t warningIndex);
|
||||
void osdSuppressStats(bool flag);
|
||||
|
||||
|
||||
void setOsdProfile(uint8_t value);
|
||||
uint8_t getCurrentOsdProfileIndex(void);
|
||||
void changeOsdProfileIndex(uint8_t profileIndex);
|
||||
|
|
|
@ -113,45 +113,45 @@ void targetConfiguration(void)
|
|||
strcpy(pilotConfigMutable()->name, "BeeBrain V2");
|
||||
#endif
|
||||
osdConfigMutable()->cap_alarm = 250;
|
||||
osdConfigMutable()->item_pos[OSD_CRAFT_NAME] = OSD_POS(9, 11) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_MAIN_BATT_VOLTAGE] = OSD_POS(23, 10) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ITEM_TIMER_2] = OSD_POS(2, 10) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_FLYMODE] = OSD_POS(17, 10) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_VTX_CHANNEL] = OSD_POS(10, 10) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_RSSI_VALUE] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ITEM_TIMER_1] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_THROTTLE_POS] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_CROSSHAIRS] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_HORIZON_SIDEBARS] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ARTIFICIAL_HORIZON] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_CURRENT_DRAW] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_MAH_DRAWN] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_GPS_SPEED] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_GPS_LON] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_GPS_LAT] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_GPS_SATS] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_HOME_DIR] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_HOME_DIST] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_COMPASS_BAR] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ALTITUDE] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ROLL_PIDS] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_PITCH_PIDS] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_YAW_PIDS] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_DEBUG] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_POWER] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_PIDRATE_PROFILE] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_WARNINGS] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_AVG_CELL_VOLTAGE] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_PITCH_ANGLE] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ROLL_ANGLE] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_MAIN_BATT_USAGE] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_DISARMED] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_NUMERICAL_HEADING] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_NUMERICAL_VARIO] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ESC_TMP] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ESC_RPM] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_G_FORCE] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_FLIP_ARROW] &= ~VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_CRAFT_NAME] = OSD_POS(9, 11) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_MAIN_BATT_VOLTAGE] = OSD_POS(23, 10) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ITEM_TIMER_2] = OSD_POS(2, 10) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_FLYMODE] = OSD_POS(17, 10) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_VTX_CHANNEL] = OSD_POS(10, 10) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_RSSI_VALUE] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ITEM_TIMER_1] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_THROTTLE_POS] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_CROSSHAIRS] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_HORIZON_SIDEBARS] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ARTIFICIAL_HORIZON] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_CURRENT_DRAW] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_MAH_DRAWN] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_GPS_SPEED] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_GPS_LON] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_GPS_LAT] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_GPS_SATS] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_HOME_DIR] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_HOME_DIST] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_COMPASS_BAR] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ALTITUDE] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ROLL_PIDS] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_PITCH_PIDS] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_YAW_PIDS] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_DEBUG] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_POWER] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_PIDRATE_PROFILE] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_WARNINGS] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_AVG_CELL_VOLTAGE] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_PITCH_ANGLE] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ROLL_ANGLE] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_MAIN_BATT_USAGE] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_DISARMED] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_NUMERICAL_HEADING] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_NUMERICAL_VARIO] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ESC_TMP] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ESC_RPM] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_G_FORCE] &= ~OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_FLIP_ARROW] &= ~OSD_PROFILE_1_FLAG;
|
||||
|
||||
modeActivationConditionsMutable(0)->modeId = BOXANGLE;
|
||||
modeActivationConditionsMutable(0)->auxChannelIndex = AUX2 - NON_AUX_CHANNEL_COUNT;
|
||||
|
@ -173,7 +173,7 @@ void targetConfiguration(void)
|
|||
rxFailsafeChannelConfig_t *channelFailsafeConfig = rxFailsafeChannelConfigsMutable(BBV2_FRSKY_RSSI_CH_IDX - 1);
|
||||
channelFailsafeConfig->mode = RX_FAILSAFE_MODE_SET;
|
||||
channelFailsafeConfig->step = CHANNEL_VALUE_TO_RXFAIL_STEP(1000);
|
||||
osdConfigMutable()->item_pos[OSD_RSSI_VALUE] = OSD_POS(2, 11) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_RSSI_VALUE] = OSD_POS(2, 11) | OSD_PROFILE_1_FLAG;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -43,6 +43,6 @@ void targetConfiguration(void)
|
|||
voltageSensorADCConfigMutable(VOLTAGE_SENSOR_ADC_VBAT)->vbatscale = VBAT_SCALE;
|
||||
barometerConfigMutable()->baro_hardware = 0;
|
||||
compassConfigMutable()->mag_hardware = 0;
|
||||
osdConfigMutable()->item_pos[OSD_MAIN_BATT_VOLTAGE] = OSD_POS(12, 1) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_MAIN_BATT_VOLTAGE] = OSD_POS(12, 1) | OSD_PROFILE_1_FLAG;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -126,6 +126,7 @@
|
|||
|
||||
#if !defined(USE_OSD)
|
||||
#undef USE_RX_LINK_QUALITY_INFO
|
||||
#undef USE_OSD_PROFILES
|
||||
#endif
|
||||
|
||||
/* If either VTX_CONTROL or VTX_COMMON is undefined then remove common code and device drivers */
|
||||
|
|
|
@ -234,4 +234,5 @@
|
|||
#define USE_VARIO
|
||||
#define USE_RX_LINK_QUALITY_INFO
|
||||
#define USE_ESC_SENSOR_TELEMETRY
|
||||
#define USE_OSD_PROFILES
|
||||
#endif
|
||||
|
|
|
@ -465,12 +465,12 @@ TEST(OsdTest, TestAlarms)
|
|||
|
||||
// and
|
||||
// the following OSD elements are visible
|
||||
osdConfigMutable()->item_pos[OSD_RSSI_VALUE] = OSD_POS(8, 1) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_MAIN_BATT_VOLTAGE] = OSD_POS(12, 1) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ITEM_TIMER_1] = OSD_POS(20, 1) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ITEM_TIMER_2] = OSD_POS(1, 1) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_REMAINING_TIME_ESTIMATE] = OSD_POS(1, 2) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ALTITUDE] = OSD_POS(23, 7) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_RSSI_VALUE] = OSD_POS(8, 1) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_MAIN_BATT_VOLTAGE] = OSD_POS(12, 1) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ITEM_TIMER_1] = OSD_POS(20, 1) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ITEM_TIMER_2] = OSD_POS(1, 1) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_REMAINING_TIME_ESTIMATE] = OSD_POS(1, 2) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ALTITUDE] = OSD_POS(23, 7) | OSD_PROFILE_1_FLAG;
|
||||
|
||||
// and
|
||||
// this set of alarm values
|
||||
|
@ -556,7 +556,7 @@ TEST(OsdTest, TestAlarms)
|
|||
TEST(OsdTest, TestElementRssi)
|
||||
{
|
||||
// given
|
||||
osdConfigMutable()->item_pos[OSD_RSSI_VALUE] = OSD_POS(8, 1) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_RSSI_VALUE] = OSD_POS(8, 1) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->rssi_alarm = 0;
|
||||
|
||||
// when
|
||||
|
@ -590,7 +590,7 @@ TEST(OsdTest, TestElementRssi)
|
|||
TEST(OsdTest, TestElementAmperage)
|
||||
{
|
||||
// given
|
||||
osdConfigMutable()->item_pos[OSD_CURRENT_DRAW] = OSD_POS(1, 12) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_CURRENT_DRAW] = OSD_POS(1, 12) | OSD_PROFILE_1_FLAG;
|
||||
|
||||
// when
|
||||
simulationBatteryAmperage = 0;
|
||||
|
@ -623,7 +623,7 @@ TEST(OsdTest, TestElementAmperage)
|
|||
TEST(OsdTest, TestElementMahDrawn)
|
||||
{
|
||||
// given
|
||||
osdConfigMutable()->item_pos[OSD_MAH_DRAWN] = OSD_POS(1, 11) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_MAH_DRAWN] = OSD_POS(1, 11) | OSD_PROFILE_1_FLAG;
|
||||
|
||||
// when
|
||||
simulationMahDrawn = 0;
|
||||
|
@ -672,7 +672,7 @@ TEST(OsdTest, TestElementMahDrawn)
|
|||
TEST(OsdTest, TestElementPower)
|
||||
{
|
||||
// given
|
||||
osdConfigMutable()->item_pos[OSD_POWER] = OSD_POS(1, 10) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_POWER] = OSD_POS(1, 10) | OSD_PROFILE_1_FLAG;
|
||||
|
||||
// and
|
||||
simulationBatteryVoltage = 100; // 10V
|
||||
|
@ -734,7 +734,7 @@ TEST(OsdTest, TestElementPower)
|
|||
TEST(OsdTest, TestElementAltitude)
|
||||
{
|
||||
// given
|
||||
osdConfigMutable()->item_pos[OSD_ALTITUDE] = OSD_POS(23, 7) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_ALTITUDE] = OSD_POS(23, 7) | OSD_PROFILE_1_FLAG;
|
||||
|
||||
// and
|
||||
osdConfigMutable()->units = OSD_UNIT_METRIC;
|
||||
|
@ -786,7 +786,7 @@ TEST(OsdTest, TestElementAltitude)
|
|||
TEST(OsdTest, TestElementCoreTemperature)
|
||||
{
|
||||
// given
|
||||
osdConfigMutable()->item_pos[OSD_CORE_TEMPERATURE] = OSD_POS(1, 8) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_CORE_TEMPERATURE] = OSD_POS(1, 8) | OSD_PROFILE_1_FLAG;
|
||||
|
||||
// and
|
||||
osdConfigMutable()->units = OSD_UNIT_METRIC;
|
||||
|
@ -828,7 +828,7 @@ TEST(OsdTest, TestElementCoreTemperature)
|
|||
TEST(OsdTest, TestElementWarningsBattery)
|
||||
{
|
||||
// given
|
||||
osdConfigMutable()->item_pos[OSD_WARNINGS] = OSD_POS(9, 10) | VISIBLE_FLAG;
|
||||
osdConfigMutable()->item_pos[OSD_WARNINGS] = OSD_POS(9, 10) | OSD_PROFILE_1_FLAG;
|
||||
osdConfigMutable()->enabledWarnings = 0; // disable all warnings
|
||||
osdWarnSetState(OSD_WARNING_BATTERY_WARNING, true);
|
||||
osdWarnSetState(OSD_WARNING_BATTERY_CRITICAL, true);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue