1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-14 20:10:18 +03:00

Rename 'display_name' to 'pilot_name'; rename 'name' to 'craft_name'; Add the 'MSP2_GET_TEXT' and 'MSP2_SET_TEXT' MSP commands

- add the 'MSP2_GET_TEXT' and 'MSP2_SET_TEXT' MSP2 commands

  - Support getting/setting the 'MSP2TEXT_PILOT_DISPLAY_NAME' config prop ('pilotConfigMutable()->displayName')

- rename 'display_name' to 'pilot_name'

  - Add the new 'OSD_PILOT_NAME' OSD element in place of the
  'OSD_DISPLAY_NAME' one (as they are semantically identical)
  - Add the 'osd_pilot_name_pos' cli prop in place of 'osd_display_name_pos'

- rename 'pilotConfigMutable()'s 'name' to 'craftName'

  - remove the legacy 'GET_NAME' / 'SET_NAME' MSP commands
  - replace the 'name' CLI prop for 'craft_name'
  - add the 'MSP2TEXT_CRAFT_NAME' constant for 'MSP2_GET_TEXT' and 'MSP2_SET_TEXT'
This commit is contained in:
Krasiyan Nedelchev 2022-02-07 00:08:57 +01:00
parent aafcd26fb5
commit e7df32f020
12 changed files with 99 additions and 49 deletions

View file

@ -1291,7 +1291,7 @@ static bool blackboxWriteSysinfo(void)
BLACKBOX_PRINT_HEADER_LINE("Board information", "%s %s", getManufacturerId(), getBoardName()); BLACKBOX_PRINT_HEADER_LINE("Board information", "%s %s", getManufacturerId(), getBoardName());
#endif #endif
BLACKBOX_PRINT_HEADER_LINE("Log start datetime", "%s", blackboxGetStartDateTime(buf)); BLACKBOX_PRINT_HEADER_LINE("Log start datetime", "%s", blackboxGetStartDateTime(buf));
BLACKBOX_PRINT_HEADER_LINE("Craft name", "%s", pilotConfig()->name); BLACKBOX_PRINT_HEADER_LINE("Craft name", "%s", pilotConfig()->craftName);
BLACKBOX_PRINT_HEADER_LINE("I interval", "%d", blackboxIInterval); BLACKBOX_PRINT_HEADER_LINE("I interval", "%d", blackboxIInterval);
BLACKBOX_PRINT_HEADER_LINE("P interval", "%d", blackboxPInterval); BLACKBOX_PRINT_HEADER_LINE("P interval", "%d", blackboxPInterval);
BLACKBOX_PRINT_HEADER_LINE("P ratio", "%d", (uint16_t)(blackboxIInterval / blackboxPInterval)); BLACKBOX_PRINT_HEADER_LINE("P ratio", "%d", (uint16_t)(blackboxIInterval / blackboxPInterval));

View file

@ -3117,10 +3117,10 @@ static void cliSimplifiedTuning(const char *cmdName, char *cmdline)
} }
#endif #endif
static void printName(dumpFlags_t dumpMask, const pilotConfig_t *pilotConfig) static void printCraftName(dumpFlags_t dumpMask, const pilotConfig_t *pilotConfig)
{ {
const bool equalsDefault = strlen(pilotConfig->name) == 0; const bool equalsDefault = strlen(pilotConfig->craftName) == 0;
cliDumpPrintLinef(dumpMask, equalsDefault, "\r\n# name: %s", equalsDefault ? emptyName : pilotConfig->name); cliDumpPrintLinef(dumpMask, equalsDefault, "\r\n# name: %s", equalsDefault ? emptyName : pilotConfig->craftName);
} }
#if defined(USE_BOARD_INFO) #if defined(USE_BOARD_INFO)
@ -6286,7 +6286,7 @@ static void printConfig(const char *cmdName, char *cmdline, bool doDiff)
} }
if (!(dumpMask & HARDWARE_ONLY)) { if (!(dumpMask & HARDWARE_ONLY)) {
printName(dumpMask, &pilotConfig_Copy); printCraftName(dumpMask, &pilotConfig_Copy);
} }
#ifdef USE_RESOURCE_MGMT #ifdef USE_RESOURCE_MGMT

View file

@ -1363,7 +1363,7 @@ const clivalue_t valueTable[] = {
{ "osd_wh_drawn_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_WATT_HOURS_DRAWN]) }, { "osd_wh_drawn_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_WATT_HOURS_DRAWN]) },
{ "osd_motor_diag_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_MOTOR_DIAG]) }, { "osd_motor_diag_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_MOTOR_DIAG]) },
{ "osd_craft_name_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_CRAFT_NAME]) }, { "osd_craft_name_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_CRAFT_NAME]) },
{ "osd_display_name_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_DISPLAY_NAME]) }, { "osd_pilot_name_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_PILOT_NAME]) },
{ "osd_gps_speed_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_GPS_SPEED]) }, { "osd_gps_speed_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_GPS_SPEED]) },
{ "osd_gps_lon_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_GPS_LON]) }, { "osd_gps_lon_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_GPS_LON]) },
{ "osd_gps_lat_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_GPS_LAT]) }, { "osd_gps_lat_pos", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, OSD_POSCFG_MAX }, PG_OSD_ELEMENT_CONFIG, offsetof(osdElementConfig_t, item_pos[OSD_GPS_LAT]) },
@ -1678,9 +1678,9 @@ const clivalue_t valueTable[] = {
{ "stats_mah_used", VAR_UINT32 | MASTER_VALUE, .config.u32Max = UINT32_MAX, PG_STATS_CONFIG, offsetof(statsConfig_t, stats_mah_used) }, { "stats_mah_used", VAR_UINT32 | MASTER_VALUE, .config.u32Max = UINT32_MAX, PG_STATS_CONFIG, offsetof(statsConfig_t, stats_mah_used) },
#endif #endif
#endif #endif
{ "name", VAR_UINT8 | MASTER_VALUE | MODE_STRING, .config.string = { 1, MAX_NAME_LENGTH, STRING_FLAGS_NONE }, PG_PILOT_CONFIG, offsetof(pilotConfig_t, name) }, { "craft_name", VAR_UINT8 | MASTER_VALUE | MODE_STRING, .config.string = { 1, MAX_NAME_LENGTH, STRING_FLAGS_NONE }, PG_PILOT_CONFIG, offsetof(pilotConfig_t, craftName) },
#ifdef USE_OSD #ifdef USE_OSD
{ "display_name", VAR_UINT8 | MASTER_VALUE | MODE_STRING, .config.string = { 1, MAX_NAME_LENGTH, STRING_FLAGS_NONE }, PG_PILOT_CONFIG, offsetof(pilotConfig_t, displayName) }, { "pilot_name", VAR_UINT8 | MASTER_VALUE | MODE_STRING, .config.string = { 1, MAX_NAME_LENGTH, STRING_FLAGS_NONE }, PG_PILOT_CONFIG, offsetof(pilotConfig_t, pilotName) },
#endif #endif
// PG_POSITION // PG_POSITION

View file

@ -105,7 +105,7 @@ const OSD_Entry menuOsdActiveElemsEntries[] =
#endif #endif
{"ANTI GRAVITY", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_ANTI_GRAVITY]}, {"ANTI GRAVITY", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_ANTI_GRAVITY]},
{"FLY MODE", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_FLYMODE]}, {"FLY MODE", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_FLYMODE]},
{"NAME", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_CRAFT_NAME]}, {"CRAFT NAME", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_CRAFT_NAME]},
{"THROTTLE", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_THROTTLE_POS]}, {"THROTTLE", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_THROTTLE_POS]},
#ifdef USE_VTX_CONTROL #ifdef USE_VTX_CONTROL
{"VTX CHAN", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_VTX_CHANNEL]}, {"VTX CHAN", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_VTX_CHANNEL]},
@ -161,7 +161,7 @@ const OSD_Entry menuOsdActiveElemsEntries[] =
{"STICK OVERLAY LEFT", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_STICK_OVERLAY_LEFT]}, {"STICK OVERLAY LEFT", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_STICK_OVERLAY_LEFT]},
{"STICK OVERLAY RIGHT",OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_STICK_OVERLAY_RIGHT]}, {"STICK OVERLAY RIGHT",OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_STICK_OVERLAY_RIGHT]},
#endif #endif
{"DISPLAY NAME", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_DISPLAY_NAME]}, {"PILOT NAME", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_PILOT_NAME]},
{"RC CHANNELS", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_RC_CHANNELS]}, {"RC CHANNELS", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_RC_CHANNELS]},
{"CAMERA FRAME", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_CAMERA_FRAME]}, {"CAMERA FRAME", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_CAMERA_FRAME]},
{"TOTAL FLIGHTS", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_TOTAL_FLIGHTS]}, {"TOTAL FLIGHTS", OME_VISIBLE | DYNAMIC, NULL, &osdConfig_item_pos[OSD_TOTAL_FLIGHTS]},

View file

@ -105,11 +105,11 @@ pidProfile_t *currentPidProfile;
#define RX_SPI_DEFAULT_PROTOCOL 0 #define RX_SPI_DEFAULT_PROTOCOL 0
#endif #endif
PG_REGISTER_WITH_RESET_TEMPLATE(pilotConfig_t, pilotConfig, PG_PILOT_CONFIG, 1); PG_REGISTER_WITH_RESET_TEMPLATE(pilotConfig_t, pilotConfig, PG_PILOT_CONFIG, 2);
PG_RESET_TEMPLATE(pilotConfig_t, pilotConfig, PG_RESET_TEMPLATE(pilotConfig_t, pilotConfig,
.name = { 0 }, .craftName = { 0 },
.displayName = { 0 }, .pilotName = { 0 },
); );
PG_REGISTER_WITH_RESET_TEMPLATE(systemConfig_t, systemConfig, PG_SYSTEM_CONFIG, 3); PG_REGISTER_WITH_RESET_TEMPLATE(systemConfig_t, systemConfig, PG_SYSTEM_CONFIG, 3);

View file

@ -34,8 +34,8 @@ typedef enum {
} configurationState_e; } configurationState_e;
typedef struct pilotConfig_s { typedef struct pilotConfig_s {
char name[MAX_NAME_LENGTH + 1]; char craftName[MAX_NAME_LENGTH + 1];
char displayName[MAX_NAME_LENGTH + 1]; char pilotName[MAX_NAME_LENGTH + 1];
} pilotConfig_t; } pilotConfig_t;
PG_DECLARE(pilotConfig_t, pilotConfig); PG_DECLARE(pilotConfig_t, pilotConfig);

View file

@ -1140,15 +1140,6 @@ static bool mspProcessOutCommand(mspDescriptor_t srcDesc, int16_t cmdMSP, sbuf_t
} }
break; break;
case MSP_NAME:
{
const int nameLen = strlen(pilotConfig()->name);
for (int i = 0; i < nameLen; i++) {
sbufWriteU8(dst, pilotConfig()->name[i]);
}
}
break;
#ifdef USE_SERVOS #ifdef USE_SERVOS
case MSP_SERVO: case MSP_SERVO:
sbufWriteData(dst, &servo, MAX_SUPPORTED_SERVOS * 2); sbufWriteData(dst, &servo, MAX_SUPPORTED_SERVOS * 2);
@ -2487,6 +2478,38 @@ static mspResult_e mspFcProcessOutCommandWithArg(mspDescriptor_t srcDesc, int16_
} }
break; break;
case MSP2_GET_TEXT:
{
// type byte, then length byte followed by the actual characters
const uint8_t textType = sbufBytesRemaining(src) ? sbufReadU8(src) : 0;
char* textVar;
switch (textType) {
case MSP2TEXT_PILOT_NAME:
textVar = pilotConfigMutable()->pilotName;
break;
case MSP2TEXT_CRAFT_NAME:
textVar = pilotConfigMutable()->craftName;
break;
default:
return MSP_RESULT_ERROR;
}
const uint8_t textLength = strlen(textVar);
// type byte, then length byte followed by the actual characters
sbufWriteU8(dst, textType);
sbufWriteU8(dst, textLength);
for (unsigned int i = 0; i < textLength; i++) {
sbufWriteU8(dst, textVar[i]);
}
}
break;
default: default:
return MSP_RESULT_CMD_UNKNOWN; return MSP_RESULT_CMD_UNKNOWN;
} }
@ -3760,16 +3783,6 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
break; break;
#endif #endif
case MSP_SET_NAME:
memset(pilotConfigMutable()->name, 0, ARRAYLEN(pilotConfig()->name));
for (unsigned int i = 0; i < MIN(MAX_NAME_LENGTH, dataSize); i++) {
pilotConfigMutable()->name[i] = sbufReadU8(src);
}
#ifdef USE_OSD
osdAnalyzeActiveElements();
#endif
break;
#ifdef USE_RTC_TIME #ifdef USE_RTC_TIME
case MSP_SET_RTC: case MSP_SET_RTC:
{ {
@ -3840,6 +3853,40 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
break; break;
#endif #endif
case MSP2_SET_TEXT:
{
// type byte, then length byte followed by the actual characters
const uint8_t textType = sbufReadU8(src);
char* textVar;
const uint8_t textLength = MIN(MAX_NAME_LENGTH, sbufReadU8(src));
switch (textType) {
case MSP2TEXT_PILOT_NAME:
textVar = pilotConfigMutable()->pilotName;
break;
case MSP2TEXT_CRAFT_NAME:
textVar = pilotConfigMutable()->craftName;
break;
default:
return MSP_RESULT_ERROR;
}
memset(textVar, 0, strlen(textVar));
for (unsigned int i = 0; i < textLength; i++) {
textVar[i] = sbufReadU8(src);
}
#ifdef USE_OSD
if (textType == MSP2TEXT_PILOT_NAME || textType == MSP2TEXT_CRAFT_NAME) {
osdAnalyzeActiveElements();
}
#endif
}
break;
default: default:
// we do not know how to handle the (valid) message, indicate error MSP $M! // we do not know how to handle the (valid) message, indicate error MSP $M!
return MSP_RESULT_ERROR; return MSP_RESULT_ERROR;

View file

@ -101,9 +101,6 @@
#define MSP_BOARD_INFO 4 //out message #define MSP_BOARD_INFO 4 //out message
#define MSP_BUILD_INFO 5 //out message #define MSP_BUILD_INFO 5 //out message
#define MSP_NAME 10 //out message Returns user set board name - betaflight
#define MSP_SET_NAME 11 //in message Sets board name - betaflight
// //
// MSP commands for Cleanflight original features // MSP commands for Cleanflight original features
// //

View file

@ -24,3 +24,9 @@
#define MSP2_SEND_DSHOT_COMMAND 0x3003 #define MSP2_SEND_DSHOT_COMMAND 0x3003
#define MSP2_GET_VTX_DEVICE_STATUS 0x3004 #define MSP2_GET_VTX_DEVICE_STATUS 0x3004
#define MSP2_GET_OSD_WARNINGS 0x3005 // returns active OSD warning message text #define MSP2_GET_OSD_WARNINGS 0x3005 // returns active OSD warning message text
#define MSP2_GET_TEXT 0x3006
#define MSP2_SET_TEXT 0x3007
// MSP2_SET_TEXT and MSP2_GET_TEXT variable types
#define MSP2TEXT_PILOT_NAME 1
#define MSP2TEXT_CRAFT_NAME 2

View file

@ -149,7 +149,7 @@ typedef enum {
OSD_FLIGHT_DIST, OSD_FLIGHT_DIST,
OSD_STICK_OVERLAY_LEFT, OSD_STICK_OVERLAY_LEFT,
OSD_STICK_OVERLAY_RIGHT, OSD_STICK_OVERLAY_RIGHT,
OSD_DISPLAY_NAME, OSD_PILOT_NAME,
OSD_ESC_RPM_FREQ, OSD_ESC_RPM_FREQ,
OSD_RATE_PROFILE_NAME, OSD_RATE_PROFILE_NAME,
OSD_PID_PROFILE_NAME, OSD_PID_PROFILE_NAME,

View file

@ -797,10 +797,10 @@ static void toUpperCase(char* dest, const char* src, unsigned int maxSrcLength)
static void osdBackgroundCraftName(osdElementParms_t *element) static void osdBackgroundCraftName(osdElementParms_t *element)
{ {
if (strlen(pilotConfig()->name) == 0) { if (strlen(pilotConfig()->craftName) == 0) {
strcpy(element->buff, "CRAFT_NAME"); strcpy(element->buff, "CRAFT_NAME");
} else { } else {
toUpperCase(element->buff, pilotConfig()->name, MAX_NAME_LENGTH); toUpperCase(element->buff, pilotConfig()->craftName, MAX_NAME_LENGTH);
} }
} }
@ -874,12 +874,12 @@ static void osdElementDisarmed(osdElementParms_t *element)
} }
} }
static void osdBackgroundDisplayName(osdElementParms_t *element) static void osdBackgroundPilotName(osdElementParms_t *element)
{ {
if (strlen(pilotConfig()->displayName) == 0) { if (strlen(pilotConfig()->pilotName) == 0) {
strcpy(element->buff, "DISPLAY_NAME"); strcpy(element->buff, "PILOT_NAME");
} else { } else {
toUpperCase(element->buff, pilotConfig()->displayName, MAX_NAME_LENGTH); toUpperCase(element->buff, pilotConfig()->pilotName, MAX_NAME_LENGTH);
} }
} }
@ -1525,7 +1525,7 @@ static void osdElementWarnings(osdElementParms_t *element)
} }
#endif // USE_RX_LINK_QUALITY_INFO #endif // USE_RX_LINK_QUALITY_INFO
} }
strncpy(pilotConfigMutable()->name, element->buff, MAX_NAME_LENGTH - 1); strncpy(pilotConfigMutable()->craftName, element->buff, MAX_NAME_LENGTH - 1);
} }
#endif // USE_CRAFTNAME_MSGS #endif // USE_CRAFTNAME_MSGS
} }
@ -1579,7 +1579,7 @@ static const uint8_t osdElementDisplayOrder[] = {
#ifdef USE_ACC #ifdef USE_ACC
OSD_FLIP_ARROW, OSD_FLIP_ARROW,
#endif #endif
OSD_DISPLAY_NAME, OSD_PILOT_NAME,
#ifdef USE_RTC_TIME #ifdef USE_RTC_TIME
OSD_RTC_DATETIME, OSD_RTC_DATETIME,
#endif #endif
@ -1711,7 +1711,7 @@ const osdElementDrawFn osdElementDrawFunction[OSD_ITEM_COUNT] = {
[OSD_STICK_OVERLAY_LEFT] = osdElementStickOverlay, [OSD_STICK_OVERLAY_LEFT] = osdElementStickOverlay,
[OSD_STICK_OVERLAY_RIGHT] = osdElementStickOverlay, [OSD_STICK_OVERLAY_RIGHT] = osdElementStickOverlay,
#endif #endif
[OSD_DISPLAY_NAME] = NULL, // only has background [OSD_PILOT_NAME] = NULL, // only has background
#if defined(USE_DSHOT_TELEMETRY) || defined(USE_ESC_SENSOR) #if defined(USE_DSHOT_TELEMETRY) || defined(USE_ESC_SENSOR)
[OSD_ESC_RPM_FREQ] = osdElementEscRpmFreq, [OSD_ESC_RPM_FREQ] = osdElementEscRpmFreq,
#endif #endif
@ -1746,7 +1746,7 @@ const osdElementDrawFn osdElementBackgroundFunction[OSD_ITEM_COUNT] = {
[OSD_STICK_OVERLAY_LEFT] = osdBackgroundStickOverlay, [OSD_STICK_OVERLAY_LEFT] = osdBackgroundStickOverlay,
[OSD_STICK_OVERLAY_RIGHT] = osdBackgroundStickOverlay, [OSD_STICK_OVERLAY_RIGHT] = osdBackgroundStickOverlay,
#endif #endif
[OSD_DISPLAY_NAME] = osdBackgroundDisplayName, [OSD_PILOT_NAME] = osdBackgroundPilotName,
}; };
static void osdAddActiveElement(osd_items_e element) static void osdAddActiveElement(osd_items_e element)

View file

@ -70,7 +70,7 @@
#define PG_RX_CHANNEL_RANGE_CONFIG 44 #define PG_RX_CHANNEL_RANGE_CONFIG 44
#define PG_MODE_COLOR_CONFIG 45 // part of led strip, structs OK #define PG_MODE_COLOR_CONFIG 45 // part of led strip, structs OK
#define PG_SPECIAL_COLOR_CONFIG 46 // part of led strip, structs OK #define PG_SPECIAL_COLOR_CONFIG 46 // part of led strip, structs OK
#define PG_PILOT_CONFIG 47 // does not exist in betaflight #define PG_PILOT_CONFIG 47 // used for pilot and craft name from 4.4
#define PG_MSP_SERVER_CONFIG 48 // does not exist in betaflight #define PG_MSP_SERVER_CONFIG 48 // does not exist in betaflight
#define PG_VOLTAGE_METER_CONFIG 49 // renamed from PG_VOLTAGE_METER_CONFIG // deprecated #define PG_VOLTAGE_METER_CONFIG 49 // renamed from PG_VOLTAGE_METER_CONFIG // deprecated
#define PG_AMPERAGE_METER_CONFIG 50 // renamed from PG_AMPERAGE_METER_CONFIG // deprecated #define PG_AMPERAGE_METER_CONFIG 50 // renamed from PG_AMPERAGE_METER_CONFIG // deprecated