diff --git a/src/main/fc/fc_msp.c b/src/main/fc/fc_msp.c index ba522ae28c..8dccf938ba 100644 --- a/src/main/fc/fc_msp.c +++ b/src/main/fc/fc_msp.c @@ -1980,6 +1980,22 @@ static mspResult_e mspFcProcessInCommand(uint8_t cmdMSP, sbuf_t *src) break; #endif +#ifdef NAV_NON_VOLATILE_WAYPOINT_STORAGE + case MSP_WP_MISSION_LOAD: + sbufReadU8(src); // Mission ID (reserved) + if (!loadNonVolatileWaypointList()) { + return MSP_RESULT_ERROR; + } + break; + + case MSP_WP_MISSION_SAVE: + sbufReadU8(src); // Mission ID (reserved) + if (!saveNonVolatileWaypointList()) { + return MSP_RESULT_ERROR; + } + break; +#endif + default: return MSP_RESULT_ERROR; } diff --git a/src/main/msp/msp_protocol.h b/src/main/msp/msp_protocol.h index 325a88ddc6..30f65cbe83 100644 --- a/src/main/msp/msp_protocol.h +++ b/src/main/msp/msp_protocol.h @@ -114,6 +114,9 @@ #define MSP_POSITION_ESTIMATION_CONFIG 16 #define MSP_SET_POSITION_ESTIMATION_CONFIG 17 +#define MSP_WP_MISSION_LOAD 18 // Load mission from NVRAM +#define MSP_WP_MISSION_SAVE 19 // Save mission to NVRAM + // // MSP commands for Cleanflight original features //