diff --git a/js/data_storage.js b/js/data_storage.js index ca0386b8..4d149f72 100644 --- a/js/data_storage.js +++ b/js/data_storage.js @@ -10,6 +10,7 @@ var CONFIGURATOR = { var CONFIG = { version: 0, + buildInfo: '', multiType: 0, msp_version: 0, capability: 0, diff --git a/js/msp.js b/js/msp.js index d356b923..aa8b228f 100644 --- a/js/msp.js +++ b/js/msp.js @@ -462,8 +462,13 @@ var MSP = { console.log('Reboot request accepted'); break; case MSP_codes.MSP_BUILDINFO: - console.log('Build info received'); - // TODO implement this + var buff = []; + + for (var i = 0; i < data.byteLength; i++) { + buff.push(data.getUint8(i)); + } + + CONFIG.buildInfo = String.fromCharCode.apply(null, buff); break; default: diff --git a/js/serial_backend.js b/js/serial_backend.js index 3174370d..35368b56 100644 --- a/js/serial_backend.js +++ b/js/serial_backend.js @@ -139,22 +139,31 @@ function onOpen(openInfo) { MSP.send_message(MSP_codes.MSP_IDENT, false, false, function () { GUI.timeout_remove('connecting'); // kill connecting timer - // silencing firmware shoutout, since nobody cares anyway - // GUI.log(chrome.i18n.getMessage('firmwareVersion', [CONFIG.version])); + // TODO clean / remove this after compatibility period is over if (!bit_check(CONFIG.capability, 30)) { GUI.log('Configurator detected that you are running an old version of the firmware and will operate in compatibility mode,\ to enjoy all of the recently implemented features, please update your firmware.'); - } - if (CONFIG.version >= CONFIGURATOR.firmwareVersionAccepted) { - CONFIGURATOR.connectionValid = true; + if (CONFIG.version >= CONFIGURATOR.firmwareVersionAccepted) { + CONFIGURATOR.connectionValid = true; - $('div#port-picker a.connect').text(chrome.i18n.getMessage('disconnect')).addClass('active'); - $('#tabs li a:first').click(); + $('div#port-picker a.connect').text(chrome.i18n.getMessage('disconnect')).addClass('active'); + $('#tabs li a:first').click(); + } else { + GUI.log(chrome.i18n.getMessage('firmwareVersionNotSupported', [CONFIGURATOR.firmwareVersionAccepted])); + $('div#port-picker a.connect').click(); // disconnect + } } else { - GUI.log(chrome.i18n.getMessage('firmwareVersionNotSupported', [CONFIGURATOR.firmwareVersionAccepted])); - $('div#port-picker a.connect').click(); // disconnect + MSP.send_message(MSP_codes.MSP_BUILDINFO, false, false, function () { + GUI.log('Running firmware released on: ' + CONFIG.buildInfo + ''); + + // continue as usually + CONFIGURATOR.connectionValid = true; + + $('div#port-picker a.connect').text(chrome.i18n.getMessage('disconnect')).addClass('active'); + $('#tabs li a:first').click(); + }); } }); });