diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 92506cf4..0c0ef533 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -214,6 +214,9 @@ "statusbar_cycle_time": { "message": "Cycle Time:" }, + "statusbar_cpu_load": { + "message": "CPU Load: $1%" + }, "dfu_connect_message": { "message": "Please use the Firmware Flasher to access DFU devices" diff --git a/js/msp.js b/js/msp.js index 80544b65..04302e08 100755 --- a/js/msp.js +++ b/js/msp.js @@ -88,6 +88,7 @@ var MSP_codes = { MSP_RC_DEADBAND: 125, MSP_SENSOR_ALIGNMENT: 126, MSP_LED_STRIP_MODECOLOR:127, + MSP_STATUS_EX: 150, MSP_SET_RAW_RC: 200, MSP_SET_RAW_GPS: 201, @@ -128,10 +129,10 @@ var MSP_codes = { // Additional private MSP for baseflight configurator (yes thats us \o/) MSP_RX_MAP: 64, // get channel map (also returns number of channels total) MSP_SET_RX_MAP: 65, // set rc map, numchannels to set comes from MSP_RX_MAP - MSP_BF_CONFIG: 66, // baseflight-specific settings that aren't covered elsewhere - MSP_SET_BF_CONFIG: 67, // baseflight-specific settings save - MSP_SET_REBOOT: 68, // reboot settings - MSP_BF_BUILD_INFO: 69 // build date as well as some space for future expansion + MSP_BF_CONFIG: 66, // baseflight-specific settings that aren't covered elsewhere + MSP_SET_BF_CONFIG: 67, // baseflight-specific settings save + MSP_SET_REBOOT: 68, // reboot settings + MSP_BF_BUILD_INFO: 69 // build date as well as some space for future expansion }; var MSP = { @@ -288,6 +289,21 @@ var MSP = { $('span.i2c-error').text(CONFIG.i2cError); $('span.cycle-time').text(CONFIG.cycleTime); break; + case MSP_codes.MSP_STATUS_EX: + CONFIG.cycleTime = data.getUint16(0, 1); + CONFIG.i2cError = data.getUint16(2, 1); + CONFIG.activeSensors = data.getUint16(4, 1); + CONFIG.mode = data.getUint32(6, 1); + CONFIG.profile = data.getUint8(10); + CONFIG.cpuload = data.getUint16(11, 1); + $('select[name="profilechange"]').val(CONFIG.profile); + + sensor_status(CONFIG.activeSensors); + $('span.i2c-error').text(CONFIG.i2cError); + $('span.cycle-time').text(CONFIG.cycleTime); + $('span.cpu-load').text(chrome.i18n.getMessage('statusbar_cpu_load', [CONFIG.cpuload])); + break; + case MSP_codes.MSP_RAW_IMU: // 512 for mpu6050, 256 for mma // currently we are unable to differentiate between the sensor types, so we are goign with 512 @@ -1201,7 +1217,6 @@ var MSP = { case MSP_codes.MSP_SET_NAME: console.log('Name set'); break; - default: console.log('Unknown code detected: ' + code); } else { diff --git a/js/serial_backend.js b/js/serial_backend.js index f2621c45..c3aa190f 100755 --- a/js/serial_backend.js +++ b/js/serial_backend.js @@ -73,6 +73,8 @@ $(document).ready(function () { // Reset various UI elements $('span.i2c-error').text(0); $('span.cycle-time').text(0); + if (semver.gte(CONFIG.flightControllerVersion, "3.0.0")) + $('span.cpu-load').text(''); // unlock port select & baud $('div#port-picker #port').prop('disabled', false); @@ -249,8 +251,11 @@ function onConnect() { $('div#connectbutton a.connect').addClass('active'); $('#tabs ul.mode-disconnected').hide(); $('#tabs ul.mode-connected').show(); - - MSP.send_message(MSP_codes.MSP_STATUS, false, false); + + if (semver.gte(CONFIG.flightControllerVersion, "3.0.0")) + MSP.send_message(MSP_codes.MSP_STATUS_EX, false, false); + else + MSP.send_message(MSP_codes.MSP_STATUS, false, false); MSP.send_message(MSP_codes.MSP_DATAFLASH_SUMMARY, false, false); @@ -431,8 +436,11 @@ function update_live_status() { }); if (GUI.active_tab != 'cli') { - MSP.send_message(MSP_codes.MSP_BOXNAMES, false, false); - MSP.send_message(MSP_codes.MSP_STATUS, false, false); + MSP.send_message(MSP_codes.MSP_BOXNAMES, false, false); + if (semver.gte(CONFIG.flightControllerVersion, "3.0.0")) + MSP.send_message(MSP_codes.MSP_STATUS_EX, false, false); + else + MSP.send_message(MSP_codes.MSP_STATUS, false, false); MSP.send_message(MSP_codes.MSP_ANALOG, false, false); } diff --git a/main.html b/main.html index 388a6296..0fdcb7fd 100755 --- a/main.html +++ b/main.html @@ -250,6 +250,9 @@
0
+
+ +