mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-22 15:55:40 +03:00
Add pilot name to INAV
- Renamed `name` variable used for craft name to `craftName`. The CLI and MSP have not changed. Only the internal variable name to make more specific. - Added pilot name, which can be set in CLI using `pilot_name`. - Added pilot name to OSD elements.
This commit is contained in:
parent
b4d18efc2f
commit
6d3867b01e
7 changed files with 35 additions and 9 deletions
|
@ -1809,7 +1809,7 @@ static bool blackboxWriteSysinfo(void)
|
|||
BLACKBOX_PRINT_HEADER_LINE("Firmware revision", "INAV %s (%s) %s", FC_VERSION_STRING, shortGitRevision, targetName);
|
||||
BLACKBOX_PRINT_HEADER_LINE("Firmware date", "%s %s", buildDate, buildTime);
|
||||
BLACKBOX_PRINT_HEADER_LINE("Log start datetime", "%s", blackboxGetStartDateTime(buf));
|
||||
BLACKBOX_PRINT_HEADER_LINE("Craft name", "%s", systemConfig()->name);
|
||||
BLACKBOX_PRINT_HEADER_LINE("Craft name", "%s", systemConfig()->craftName);
|
||||
BLACKBOX_PRINT_HEADER_LINE("P interval", "%u/%u", blackboxConfig()->rate_num, blackboxConfig()->rate_denom);
|
||||
BLACKBOX_PRINT_HEADER_LINE("minthrottle", "%d", getThrottleIdleValue());
|
||||
BLACKBOX_PRINT_HEADER_LINE("maxthrottle", "%d", motorConfig()->maxthrottle);
|
||||
|
|
|
@ -80,7 +80,8 @@ typedef struct systemConfig_s {
|
|||
uint8_t cpuUnderclock;
|
||||
#endif
|
||||
uint8_t throttle_tilt_compensation_strength; // the correction that will be applied at throttle_correction_angle.
|
||||
char name[MAX_NAME_LENGTH + 1];
|
||||
char craftName[MAX_NAME_LENGTH + 1];
|
||||
char pilotName[MAX_NAME_LENGTH + 1];
|
||||
} systemConfig_t;
|
||||
|
||||
PG_DECLARE(systemConfig_t, systemConfig);
|
||||
|
|
|
@ -1398,7 +1398,7 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
|||
|
||||
case MSP_NAME:
|
||||
{
|
||||
const char *name = systemConfig()->name;
|
||||
const char *name = systemConfig()->craftName;
|
||||
while (*name) {
|
||||
sbufWriteU8(dst, *name++);
|
||||
}
|
||||
|
|
|
@ -3576,6 +3576,12 @@ groups:
|
|||
- name: name
|
||||
description: "Craft name"
|
||||
default_value: ""
|
||||
field: craftName
|
||||
max: MAX_NAME_LENGTH
|
||||
- name: pilot_name
|
||||
description: "Pilot name"
|
||||
default_value: ""
|
||||
field: pilotName
|
||||
max: MAX_NAME_LENGTH
|
||||
|
||||
- name: PG_MODE_ACTIVATION_OPERATOR_CONFIG
|
||||
|
|
|
@ -763,12 +763,25 @@ static void osdFormatCoordinate(char *buff, char sym, int32_t val)
|
|||
|
||||
static void osdFormatCraftName(char *buff)
|
||||
{
|
||||
if (strlen(systemConfig()->name) == 0)
|
||||
if (strlen(systemConfig()->craftName) == 0)
|
||||
strcpy(buff, "CRAFT_NAME");
|
||||
else {
|
||||
for (int i = 0; i < MAX_NAME_LENGTH; i++) {
|
||||
buff[i] = sl_toupper((unsigned char)systemConfig()->name[i]);
|
||||
if (systemConfig()->name[i] == 0)
|
||||
buff[i] = sl_toupper((unsigned char)systemConfig()->craftName[i]);
|
||||
if (systemConfig()->craftName[i] == 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void osdFormatPilotName(char *buff)
|
||||
{
|
||||
if (strlen(systemConfig()->pilotName) == 0)
|
||||
strcpy(buff, "PILOT_NAME");
|
||||
else {
|
||||
for (int i = 0; i < MAX_NAME_LENGTH; i++) {
|
||||
buff[i] = sl_toupper((unsigned char)systemConfig()->pilotName[i]);
|
||||
if (systemConfig()->pilotName[i] == 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -2077,6 +2090,10 @@ static bool osdDrawSingleElement(uint8_t item)
|
|||
osdFormatCraftName(buff);
|
||||
break;
|
||||
|
||||
case OSD_PILOT_NAME:
|
||||
osdFormatPilotName(buff);
|
||||
break;
|
||||
|
||||
case OSD_THROTTLE_POS:
|
||||
{
|
||||
osdFormatThrottlePosition(buff, false, &elemAttr);
|
||||
|
@ -3551,6 +3568,7 @@ void pgResetFn_osdLayoutsConfig(osdLayoutsConfig_t *osdLayoutsConfig)
|
|||
osdLayoutsConfig->item_pos[0][OSD_HORIZON_SIDEBARS] = OSD_POS(8, 6);
|
||||
|
||||
osdLayoutsConfig->item_pos[0][OSD_CRAFT_NAME] = OSD_POS(20, 2);
|
||||
osdLayoutsConfig->item_pos[0][OSD_PILOT_NAME] = OSD_POS(20, 2);
|
||||
osdLayoutsConfig->item_pos[0][OSD_VTX_CHANNEL] = OSD_POS(8, 6);
|
||||
|
||||
#ifdef USE_SERIALRX_CRSF
|
||||
|
@ -4153,9 +4171,9 @@ static void osdShowArmed(void)
|
|||
displayWrite(osdDisplayPort, (osdDisplayPort->cols - strlen(buf)) / 2, y, buf);
|
||||
y += 2;
|
||||
|
||||
if (strlen(systemConfig()->name) > 0) {
|
||||
if (strlen(systemConfig()->craftName) > 0) {
|
||||
osdFormatCraftName(craftNameBuf);
|
||||
displayWrite(osdDisplayPort, (osdDisplayPort->cols - strlen(systemConfig() -> name)) / 2, y, craftNameBuf );
|
||||
displayWrite(osdDisplayPort, (osdDisplayPort->cols - strlen(systemConfig()->craftName)) / 2, y, craftNameBuf );
|
||||
y += 1;
|
||||
}
|
||||
if (posControl.waypointListValid && posControl.waypointCount > 0) {
|
||||
|
|
|
@ -270,6 +270,7 @@ typedef enum {
|
|||
OSD_NAV_WP_MULTI_MISSION_INDEX,
|
||||
OSD_GROUND_COURSE, // 140
|
||||
OSD_CROSS_TRACK_ERROR,
|
||||
OSD_PILOT_NAME,
|
||||
OSD_ITEM_COUNT // MUST BE LAST
|
||||
} osd_items_e;
|
||||
|
||||
|
|
|
@ -1192,7 +1192,7 @@ static mspResult_e djiProcessMspCommand(mspPacket_t *cmd, mspPacket_t *reply, ms
|
|||
djiSerializeCraftNameOverride(dst);
|
||||
} else {
|
||||
#endif
|
||||
sbufWriteData(dst, systemConfig()->name, (int)strlen(systemConfig()->name));
|
||||
sbufWriteData(dst, systemConfig()->craftName, (int)strlen(systemConfig()->craftName));
|
||||
#if defined(USE_OSD)
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue