mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-25 17:25:18 +03:00
Merge pull request #8720 from iNavFlight/MrD_Add-pilot-name
Add pilot name
This commit is contained in:
commit
87363ba3ea
9 changed files with 48 additions and 11 deletions
|
@ -4762,6 +4762,16 @@ A limitation to overall amount of correction Flight PID can request on each axis
|
|||
|
||||
---
|
||||
|
||||
### pilot_name
|
||||
|
||||
Pilot name
|
||||
|
||||
| Default | Min | Max |
|
||||
| --- | --- | --- |
|
||||
| _empty_ | | MAX_NAME_LENGTH |
|
||||
|
||||
---
|
||||
|
||||
### pinio_box1
|
||||
|
||||
Mode assignment for PINIO#1
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -118,7 +118,8 @@ PG_RESET_TEMPLATE(systemConfig_t, systemConfig,
|
|||
.cpuUnderclock = SETTING_CPU_UNDERCLOCK_DEFAULT,
|
||||
#endif
|
||||
.throttle_tilt_compensation_strength = SETTING_THROTTLE_TILT_COMP_STR_DEFAULT, // 0-100, 0 - disabled
|
||||
.name = SETTING_NAME_DEFAULT
|
||||
.craftName = SETTING_NAME_DEFAULT,
|
||||
.pilotName = SETTING_NAME_DEFAULT
|
||||
);
|
||||
|
||||
PG_REGISTER_WITH_RESET_TEMPLATE(beeperConfig_t, beeperConfig, PG_BEEPER_CONFIG, 2);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -1419,7 +1419,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++);
|
||||
}
|
||||
|
@ -2789,7 +2789,7 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
|||
|
||||
case MSP_SET_NAME:
|
||||
if (dataSize <= MAX_NAME_LENGTH) {
|
||||
char *name = systemConfigMutable()->name;
|
||||
char *name = systemConfigMutable()->craftName;
|
||||
int len = MIN(MAX_NAME_LENGTH, (int)dataSize);
|
||||
sbufReadData(src, name, len);
|
||||
memset(&name[len], '\0', (MAX_NAME_LENGTH + 1) - len);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -2085,6 +2098,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);
|
||||
|
@ -3550,6 +3567,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, 3);
|
||||
osdLayoutsConfig->item_pos[0][OSD_VTX_CHANNEL] = OSD_POS(8, 6);
|
||||
|
||||
#ifdef USE_SERIALRX_CRSF
|
||||
|
@ -4152,9 +4170,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