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();
+ });
}
});
});