diff --git a/locales/en/messages.json b/locales/en/messages.json index 692486ee88..8876851aea 100755 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -956,6 +956,9 @@ "initialSetupRSSIValue": { "message": "$1 dBm" }, + "initialSetupMCU": { + "message": "MCU:" + }, "initialSetupSensorHardware": { "message": "Sensors:" }, diff --git a/src/js/fc.js b/src/js/fc.js index 4881865a92..f59d0d835d 100644 --- a/src/js/fc.js +++ b/src/js/fc.js @@ -165,6 +165,7 @@ const FC = { LED_MODE_COLORS: null, LED_STRIP: null, LED_CONFIG_VALUES: [], + MCU_INFO: null, MISC: null, // DEPRECATED MIXER_CONFIG: null, MODE_RANGES: null, @@ -595,6 +596,11 @@ const FC = { this.SENSOR_CONFIG_ACTIVE = { gyro_hardware: 0, ...this.SENSOR_CONFIG }; + this.MCU_INFO = { + id: 0, + name: 0, + }; + this.RX_CONFIG = { serialrx_provider: 0, stick_max: 0, @@ -868,36 +874,6 @@ const FC = { this.CONFIG.hardwareName = name; }, - MCU_TYPES: { - 0: "SIMULATOR", - 1: "F40X", - 2: "F411", - 3: "F446", - 4: "F722", - 5: "F745", - 6: "F746", - 7: "F765", - 8: "H750", - 9: "H743_REV_UNKNOWN", - 10: "H743_REV_Y", - 11: "H743_REV_X", - 12: "H743_REV_V", - 13: "H7A3", - 14: "H723_725", - 15: "G474", - 16: "H730", - 17: "AT32F435G", - 18: "APM32F405", - 19: "APM32F407", - 20: "AT32F435M", - 21: "RP2350B", - 255: "Unknown MCU", - }, - - getMcuType() { - return this.MCU_TYPES[this.CONFIG.mcuTypeId]; - }, - CONFIGURATION_STATES: { DEFAULTS_BARE: 0, DEFAULTS_CUSTOM: 1, diff --git a/src/js/msp/MSPCodes.js b/src/js/msp/MSPCodes.js index b4214e1317..93ece85aee 100644 --- a/src/js/msp/MSPCodes.js +++ b/src/js/msp/MSPCodes.js @@ -199,6 +199,7 @@ const MSPCodes = { MSP2_GET_LED_STRIP_CONFIG_VALUES: 0x3008, MSP2_SET_LED_STRIP_CONFIG_VALUES: 0x3009, MSP2_SENSOR_CONFIG_ACTIVE: 0x300a, + MSP2_MCU_INFO: 0x300c, // MSP2_GET_TEXT and MSP2_SET_TEXT variable types PILOT_NAME: 1, diff --git a/src/js/msp/MSPHelper.js b/src/js/msp/MSPHelper.js index 8aea533504..c6733c665e 100644 --- a/src/js/msp/MSPHelper.js +++ b/src/js/msp/MSPHelper.js @@ -1219,6 +1219,14 @@ MspHelper.prototype.process_data = function (dataHandler) { FC.SENSOR_CONFIG_ACTIVE.sonar_hardware = data.readU8(); } break; + case MSPCodes.MSP2_MCU_INFO: + if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_47)) { + FC.MCU_INFO = { + id: data.readU8(), + name: self.getText(data), + }; + } + break; case MSPCodes.MSP_LED_STRIP_CONFIG: FC.LED_STRIP = []; diff --git a/src/js/serial_backend.js b/src/js/serial_backend.js index cfc81deeac..19138b8dce 100644 --- a/src/js/serial_backend.js +++ b/src/js/serial_backend.js @@ -443,7 +443,7 @@ function processBoardInfo() { apiVersion: FC.CONFIG.apiVersion, flightControllerVersion: FC.CONFIG.flightControllerVersion, flightControllerIdentifier: FC.CONFIG.flightControllerIdentifier, - mcu: FC.getMcuType(), + mcu: FC.CONFIG.targetName, }); } diff --git a/src/js/tabs/setup.js b/src/js/tabs/setup.js index 870c4ac39b..8a127a4c3d 100644 --- a/src/js/tabs/setup.js +++ b/src/js/tabs/setup.js @@ -25,7 +25,11 @@ setup.initialize = function (callback) { } function load_status() { - MSP.send_message(MSPCodes.MSP_STATUS_EX, false, false, load_mixer_config); + MSP.send_message(MSPCodes.MSP_STATUS_EX, false, false, mcu_info); + } + + function mcu_info() { + MSP.send_message(MSPCodes.MSP2_MCU_INFO, false, false, load_mixer_config); } function load_mixer_config() { @@ -195,6 +199,8 @@ setup.initialize = function (callback) { pitch_e = $("dd.pitch"), heading_e = $("dd.heading"), sonar_e = $(".sonarAltitude"), + // MCU info + mcu_e = $(".mcu"), // Sensor info sensor_gyro_e = $(".sensor_gyro_hw"), sensor_acc_e = $(".sensor_acc_hw"), @@ -602,6 +608,12 @@ setup.initialize = function (callback) { cputemp_e.text(i18n.getMessage("initialSetupCpuTempNotSupported")); } + if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_47)) { + mcu_e.text(FC.MCU_INFO.name); + } else { + mcu_e.parent().hide(); + } + // GPS info is acquired in the background using update_live_status() in serial_backend.js gpsFix_e.text(FC.GPS_DATA.fix ? i18n.getMessage("gpsFixTrue") : i18n.getMessage("gpsFixFalse")); gpsFix_e.toggleClass("ready", FC.GPS_DATA.fix != 0); diff --git a/src/tabs/setup.html b/src/tabs/setup.html index a86d502daf..9348c4e304 100644 --- a/src/tabs/setup.html +++ b/src/tabs/setup.html @@ -163,6 +163,10 @@