mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-23 08:15:26 +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 revision", "INAV %s (%s) %s", FC_VERSION_STRING, shortGitRevision, targetName);
|
||||||
BLACKBOX_PRINT_HEADER_LINE("Firmware date", "%s %s", buildDate, buildTime);
|
BLACKBOX_PRINT_HEADER_LINE("Firmware date", "%s %s", buildDate, buildTime);
|
||||||
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", 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("P interval", "%u/%u", blackboxConfig()->rate_num, blackboxConfig()->rate_denom);
|
||||||
BLACKBOX_PRINT_HEADER_LINE("minthrottle", "%d", getThrottleIdleValue());
|
BLACKBOX_PRINT_HEADER_LINE("minthrottle", "%d", getThrottleIdleValue());
|
||||||
BLACKBOX_PRINT_HEADER_LINE("maxthrottle", "%d", motorConfig()->maxthrottle);
|
BLACKBOX_PRINT_HEADER_LINE("maxthrottle", "%d", motorConfig()->maxthrottle);
|
||||||
|
|
|
@ -80,7 +80,8 @@ typedef struct systemConfig_s {
|
||||||
uint8_t cpuUnderclock;
|
uint8_t cpuUnderclock;
|
||||||
#endif
|
#endif
|
||||||
uint8_t throttle_tilt_compensation_strength; // the correction that will be applied at throttle_correction_angle.
|
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;
|
} systemConfig_t;
|
||||||
|
|
||||||
PG_DECLARE(systemConfig_t, systemConfig);
|
PG_DECLARE(systemConfig_t, systemConfig);
|
||||||
|
|
|
@ -1398,7 +1398,7 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
||||||
|
|
||||||
case MSP_NAME:
|
case MSP_NAME:
|
||||||
{
|
{
|
||||||
const char *name = systemConfig()->name;
|
const char *name = systemConfig()->craftName;
|
||||||
while (*name) {
|
while (*name) {
|
||||||
sbufWriteU8(dst, *name++);
|
sbufWriteU8(dst, *name++);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3576,6 +3576,12 @@ groups:
|
||||||
- name: name
|
- name: name
|
||||||
description: "Craft name"
|
description: "Craft name"
|
||||||
default_value: ""
|
default_value: ""
|
||||||
|
field: craftName
|
||||||
|
max: MAX_NAME_LENGTH
|
||||||
|
- name: pilot_name
|
||||||
|
description: "Pilot name"
|
||||||
|
default_value: ""
|
||||||
|
field: pilotName
|
||||||
max: MAX_NAME_LENGTH
|
max: MAX_NAME_LENGTH
|
||||||
|
|
||||||
- name: PG_MODE_ACTIVATION_OPERATOR_CONFIG
|
- 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)
|
static void osdFormatCraftName(char *buff)
|
||||||
{
|
{
|
||||||
if (strlen(systemConfig()->name) == 0)
|
if (strlen(systemConfig()->craftName) == 0)
|
||||||
strcpy(buff, "CRAFT_NAME");
|
strcpy(buff, "CRAFT_NAME");
|
||||||
else {
|
else {
|
||||||
for (int i = 0; i < MAX_NAME_LENGTH; i++) {
|
for (int i = 0; i < MAX_NAME_LENGTH; i++) {
|
||||||
buff[i] = sl_toupper((unsigned char)systemConfig()->name[i]);
|
buff[i] = sl_toupper((unsigned char)systemConfig()->craftName[i]);
|
||||||
if (systemConfig()->name[i] == 0)
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2077,6 +2090,10 @@ static bool osdDrawSingleElement(uint8_t item)
|
||||||
osdFormatCraftName(buff);
|
osdFormatCraftName(buff);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case OSD_PILOT_NAME:
|
||||||
|
osdFormatPilotName(buff);
|
||||||
|
break;
|
||||||
|
|
||||||
case OSD_THROTTLE_POS:
|
case OSD_THROTTLE_POS:
|
||||||
{
|
{
|
||||||
osdFormatThrottlePosition(buff, false, &elemAttr);
|
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_HORIZON_SIDEBARS] = OSD_POS(8, 6);
|
||||||
|
|
||||||
osdLayoutsConfig->item_pos[0][OSD_CRAFT_NAME] = OSD_POS(20, 2);
|
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);
|
osdLayoutsConfig->item_pos[0][OSD_VTX_CHANNEL] = OSD_POS(8, 6);
|
||||||
|
|
||||||
#ifdef USE_SERIALRX_CRSF
|
#ifdef USE_SERIALRX_CRSF
|
||||||
|
@ -4153,9 +4171,9 @@ static void osdShowArmed(void)
|
||||||
displayWrite(osdDisplayPort, (osdDisplayPort->cols - strlen(buf)) / 2, y, buf);
|
displayWrite(osdDisplayPort, (osdDisplayPort->cols - strlen(buf)) / 2, y, buf);
|
||||||
y += 2;
|
y += 2;
|
||||||
|
|
||||||
if (strlen(systemConfig()->name) > 0) {
|
if (strlen(systemConfig()->craftName) > 0) {
|
||||||
osdFormatCraftName(craftNameBuf);
|
osdFormatCraftName(craftNameBuf);
|
||||||
displayWrite(osdDisplayPort, (osdDisplayPort->cols - strlen(systemConfig() -> name)) / 2, y, craftNameBuf );
|
displayWrite(osdDisplayPort, (osdDisplayPort->cols - strlen(systemConfig()->craftName)) / 2, y, craftNameBuf );
|
||||||
y += 1;
|
y += 1;
|
||||||
}
|
}
|
||||||
if (posControl.waypointListValid && posControl.waypointCount > 0) {
|
if (posControl.waypointListValid && posControl.waypointCount > 0) {
|
||||||
|
|
|
@ -270,6 +270,7 @@ typedef enum {
|
||||||
OSD_NAV_WP_MULTI_MISSION_INDEX,
|
OSD_NAV_WP_MULTI_MISSION_INDEX,
|
||||||
OSD_GROUND_COURSE, // 140
|
OSD_GROUND_COURSE, // 140
|
||||||
OSD_CROSS_TRACK_ERROR,
|
OSD_CROSS_TRACK_ERROR,
|
||||||
|
OSD_PILOT_NAME,
|
||||||
OSD_ITEM_COUNT // MUST BE LAST
|
OSD_ITEM_COUNT // MUST BE LAST
|
||||||
} osd_items_e;
|
} osd_items_e;
|
||||||
|
|
||||||
|
|
|
@ -1192,7 +1192,7 @@ static mspResult_e djiProcessMspCommand(mspPacket_t *cmd, mspPacket_t *reply, ms
|
||||||
djiSerializeCraftNameOverride(dst);
|
djiSerializeCraftNameOverride(dst);
|
||||||
} else {
|
} else {
|
||||||
#endif
|
#endif
|
||||||
sbufWriteData(dst, systemConfig()->name, (int)strlen(systemConfig()->name));
|
sbufWriteData(dst, systemConfig()->craftName, (int)strlen(systemConfig()->craftName));
|
||||||
#if defined(USE_OSD)
|
#if defined(USE_OSD)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue