diff --git a/src/main/msp/msp.c b/src/main/msp/msp.c index b87f1f50df..78fb396c38 100644 --- a/src/main/msp/msp.c +++ b/src/main/msp/msp.c @@ -1151,6 +1151,15 @@ static bool mspProcessOutCommand(mspDescriptor_t srcDesc, int16_t cmdMSP, sbuf_t } break; +case MSP_NAME: + { + const int nameLen = strlen(pilotConfig()->craftName); + for (int i = 0; i < nameLen; i++) { + sbufWriteU8(dst, pilotConfig()->craftName[i]); + } + } + break; + #ifdef USE_SERVOS case MSP_SERVO: sbufWriteData(dst, &servo, MAX_SUPPORTED_SERVOS * 2); @@ -3813,6 +3822,16 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP, break; #endif + case MSP_SET_NAME: + memset(pilotConfigMutable()->craftName, 0, ARRAYLEN(pilotConfig()->craftName)); + for (unsigned int i = 0; i < MIN(MAX_NAME_LENGTH, dataSize); i++) { + pilotConfigMutable()->craftName[i] = sbufReadU8(src); + } +#ifdef USE_OSD + osdAnalyzeActiveElements(); +#endif + break; + #ifdef USE_RTC_TIME case MSP_SET_RTC: { diff --git a/src/main/msp/msp_protocol.h b/src/main/msp/msp_protocol.h index e5a70e31a1..4dc73f8978 100644 --- a/src/main/msp/msp_protocol.h +++ b/src/main/msp/msp_protocol.h @@ -101,6 +101,9 @@ #define MSP_BOARD_INFO 4 //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 //