mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-25 09:16:01 +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
|
### pinio_box1
|
||||||
|
|
||||||
Mode assignment for PINIO#1
|
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 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);
|
||||||
|
|
|
@ -118,7 +118,8 @@ PG_RESET_TEMPLATE(systemConfig_t, systemConfig,
|
||||||
.cpuUnderclock = SETTING_CPU_UNDERCLOCK_DEFAULT,
|
.cpuUnderclock = SETTING_CPU_UNDERCLOCK_DEFAULT,
|
||||||
#endif
|
#endif
|
||||||
.throttle_tilt_compensation_strength = SETTING_THROTTLE_TILT_COMP_STR_DEFAULT, // 0-100, 0 - disabled
|
.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);
|
PG_REGISTER_WITH_RESET_TEMPLATE(beeperConfig_t, beeperConfig, PG_BEEPER_CONFIG, 2);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -1419,7 +1419,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++);
|
||||||
}
|
}
|
||||||
|
@ -2789,7 +2789,7 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
||||||
|
|
||||||
case MSP_SET_NAME:
|
case MSP_SET_NAME:
|
||||||
if (dataSize <= MAX_NAME_LENGTH) {
|
if (dataSize <= MAX_NAME_LENGTH) {
|
||||||
char *name = systemConfigMutable()->name;
|
char *name = systemConfigMutable()->craftName;
|
||||||
int len = MIN(MAX_NAME_LENGTH, (int)dataSize);
|
int len = MIN(MAX_NAME_LENGTH, (int)dataSize);
|
||||||
sbufReadData(src, name, len);
|
sbufReadData(src, name, len);
|
||||||
memset(&name[len], '\0', (MAX_NAME_LENGTH + 1) - len);
|
memset(&name[len], '\0', (MAX_NAME_LENGTH + 1) - len);
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2085,6 +2098,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);
|
||||||
|
@ -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_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, 3);
|
||||||
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
|
||||||
|
@ -4152,9 +4170,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