Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/iNavFlight/inav-configurator.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorPawel Spychalski (DzikuVx) <pspychalski@gmail.com>2019-02-26 10:46:09 +0300
committerPawel Spychalski (DzikuVx) <pspychalski@gmail.com>2019-02-26 10:46:09 +0300
commit91e947fc5c286c9a4b8b249d12774d2c5004a0bb (patch)
tree6f0b445049a4f7611a75bfda300935504adc57df /js
parent529c40e556612faead0020f928f019776857d411 (diff)
parent4c59b7dc436e4c3c86882d3a8085be1761ee8b53 (diff)
Merge remote-tracking branch 'origin/master' into dzikuvx-old-version-cleanup
Diffstat (limited to 'js')
-rw-r--r--js/appUpdater.js20
-rw-r--r--js/boards.js57
-rwxr-xr-xjs/data_storage.js2
-rw-r--r--js/fc.js1
-rw-r--r--js/msp/MSPCodes.js9
-rw-r--r--js/msp/MSPHelper.js75
-rw-r--r--js/periodicStatusUpdater.js10
-rw-r--r--js/serial.js4
-rwxr-xr-xjs/serial_backend.js16
9 files changed, 104 insertions, 90 deletions
diff --git a/js/appUpdater.js b/js/appUpdater.js
index 1aff6f7c..74044ef2 100644
--- a/js/appUpdater.js
+++ b/js/appUpdater.js
@@ -7,19 +7,15 @@ appUpdater.checkRelease = function (currVersion) {
$.get('https://api.github.com/repos/iNavFlight/inav-configurator/releases', function (releaseData) {
GUI.log('Loaded release information from GitHub.');
//Git return sorted list, 0 - last release
- if (semver.gt(releaseData[0].tag_name, currVersion)) {
- GUI.log(releaseData[0].tag_name, chrome.runtime.getManifest().version);
- GUI.log(currVersion);
- //For download zip
- // releaseData[0].assets.forEach(function(item, i) {
- // if (str.indexOf(item.name) !== -1) {
- // console.log(item);
- // downloadUrl = item.browser_download_url;
- // }
- // });
+ let newVersion = releaseData[0].tag_name;
+ let newPrerelase = releaseData[0].prerelease;
+
+ if (newPrerelase == false && semver.gt(newVersion, currVersion)) {
+ GUI.log(newVersion, chrome.runtime.getManifest().version);
+ GUI.log(currVersion);
- GUI.log('New version aviable!');
+ GUI.log('New version available!');
modalStart = new jBox('Modal', {
width: 400,
height: 200,
@@ -37,4 +33,4 @@ appUpdater.checkRelease = function (currVersion) {
$('#update-notification-download').on('click', function () {
modalStart.close();
});
-}; \ No newline at end of file
+};
diff --git a/js/boards.js b/js/boards.js
index 6c6070c3..a4d40a40 100644
--- a/js/boards.js
+++ b/js/boards.js
@@ -2,10 +2,6 @@
var BOARD_DEFINITIONS = [
{
- name: "CC3D",
- identifier: "CC3D",
- vcp: true
- }, {
name: "ChebuzzF3",
identifier: "CHF3",
vcp: false
@@ -33,64 +29,29 @@ var BOARD_DEFINITIONS = [
identifier: "103R",
vcp: false
}, {
- name: "Sparky",
- identifier: "SPKY",
- vcp: true
- }, {
- name: "STM32F3Discovery",
- identifier: "SDF3",
- vcp: true
- }, {
- name: "Colibri Race",
- identifier: "CLBR",
- vcp: true
- }, {
name: "SP Racing F3",
identifier: "SRF3",
vcp: false
- }, {
- name: "SP Racing F3 Mini",
- identifier: "SRFM",
- vcp: true
- }, {
- name: "MotoLab",
- identifier: "MOTO",
- vcp: true
- }, {
- name: "Omnibus",
- identifier: "OMNI",
- vcp: true
- }, {
- name: "Airbot F4",
- identifier: "ABF4",
- vcp: true
- }, {
- name: "Revolution",
- identifier: "REVO",
- vcp: true
- }, {
- name: "Omnibus F4",
- identifier: "OBF4",
- vcp: true
- }, {
- name: "Omnibus F4 Pro",
- identifier: "OBSD",
- vcp: true
}
];
var DEFAULT_BOARD_DEFINITION = {
name: "Unknown",
identifier: "????",
- vcp: false
+ vcp: true
};
var BOARD = {
};
-BOARD.find_board_definition = function (identifier) {
- for (var i = 0; i < BOARD_DEFINITIONS.length; i++) {
- var candidate = BOARD_DEFINITIONS[i];
+BOARD.hasVcp = function (identifier) {
+ let board = BOARD.findDefinition(identifier);
+ return !!board.vcp;
+}
+
+BOARD.findDefinition = function (identifier) {
+ for (let i = 0; i < BOARD_DEFINITIONS.length; i++) {
+ let candidate = BOARD_DEFINITIONS[i];
if (candidate.identifier == identifier) {
return candidate;
diff --git a/js/data_storage.js b/js/data_storage.js
index ae454037..4b3a0a20 100755
--- a/js/data_storage.js
+++ b/js/data_storage.js
@@ -2,7 +2,7 @@
var CONFIGURATOR = {
// all versions are specified and compared using semantic versioning http://semver.org/
- 'firmwareVersionAccepted': '1.9.0',
+ 'firmwareVersionAccepted': '2.0.0',
'connectionValid': false,
'connectionValidCliOnly': false,
'cliActive': false,
diff --git a/js/fc.js b/js/fc.js
index f286df58..f49d22b6 100644
--- a/js/fc.js
+++ b/js/fc.js
@@ -198,6 +198,7 @@ var FC = {
sonar: 0,
air_speed: 0,
kinematics: [0.0, 0.0, 0.0],
+ temperature: [0, 0, 0, 0, 0, 0, 0, 0],
debug: [0, 0, 0, 0]
};
diff --git a/js/msp/MSPCodes.js b/js/msp/MSPCodes.js
index 290f362f..77fe20e9 100644
--- a/js/msp/MSPCodes.js
+++ b/js/msp/MSPCodes.js
@@ -194,5 +194,12 @@ var MSPCodes = {
MSP2_INAV_SELECT_BATTERY_PROFILE: 0x2018,
- MSP2_INAV_DEBUG: 0x2019
+ MSP2_INAV_DEBUG: 0x2019,
+
+ MSP2_BLACKBOX_CONFIG: 0x201A,
+ MSP2_SET_BLACKBOX_CONFIG: 0x201B,
+
+ MSP2_INAV_TEMP_SENSOR_CONFIG: 0x201C,
+ MSP2_INAV_SET_TEMP_SENSOR_CONFIG: 0x201D,
+ MSP2_INAV_TEMPERATURES: 0x201E
};
diff --git a/js/msp/MSPHelper.js b/js/msp/MSPHelper.js
index 198e3065..20d8f3b0 100644
--- a/js/msp/MSPHelper.js
+++ b/js/msp/MSPHelper.js
@@ -491,14 +491,27 @@ var mspHelper = (function (gui) {
case MSPCodes.MSP_SERVO_MIX_RULES:
SERVO_RULES.flush();
- if (data.byteLength % 7 === 0) {
- for (i = 0; i < data.byteLength; i += 7) {
- SERVO_RULES.put(new ServoMixRule(
- data.getInt8(i),
- data.getInt8(i + 1),
- data.getInt8(i + 2),
- data.getInt8(i + 3)
- ));
+ if (semver.gte(CONFIG.flightControllerVersion, "2.1.0")) {
+ if (data.byteLength % 8 === 0) {
+ for (i = 0; i < data.byteLength; i += 8) {
+ SERVO_RULES.put(new ServoMixRule(
+ data.getInt8(i),
+ data.getInt8(i + 1),
+ data.getInt16(i + 2, true),
+ data.getInt8(i + 4)
+ ));
+ }
+ }
+ } else {
+ if (data.byteLength % 7 === 0) {
+ for (i = 0; i < data.byteLength; i += 7) {
+ SERVO_RULES.put(new ServoMixRule(
+ data.getInt8(i),
+ data.getInt8(i + 1),
+ data.getInt8(i + 2),
+ data.getInt8(i + 3)
+ ));
+ }
}
}
SERVO_RULES.cleanup();
@@ -1427,6 +1440,22 @@ var mspHelper = (function (gui) {
case MSPCodes.MSP2_INAV_SET_MC_BRAKING:
console.log('Braking config saved');
break;
+ case MSPCodes.MSP2_BLACKBOX_CONFIG:
+ BLACKBOX.supported = (data.getUint8(0) & 1) != 0;
+ BLACKBOX.blackboxDevice = data.getUint8(1);
+ BLACKBOX.blackboxRateNum = data.getUint16(2);
+ BLACKBOX.blackboxRateDenom = data.getUint16(4);
+ break;
+ case MSPCodes.MSP2_SET_BLACKBOX_CONFIG:
+ console.log("Blackbox config saved");
+ break;
+
+ case MSPCodes.MSP2_INAV_TEMPERATURES:
+ for (i = 0; i < 8; ++i) {
+ temp_decidegrees = data.getInt16(i * 2, true);
+ SENSOR_DATA.temperature[i] = temp_decidegrees / 10; // °C
+ }
+ break;
default:
console.log('Unknown code detected: ' + dataHandler.code);
@@ -2124,15 +2153,22 @@ var mspHelper = (function (gui) {
};
self.sendBlackboxConfiguration = function (onDataCallback) {
- var message = [
- BLACKBOX.blackboxDevice & 0xFF,
- BLACKBOX.blackboxRateNum & 0xFF,
- BLACKBOX.blackboxRateDenom & 0xFF
- ];
-
+ var buffer = [];
+ var messageId = MSPCodes.MSP_SET_BLACKBOX_CONFIG;
+ buffer.push(BLACKBOX.blackboxDevice & 0xFF);
+ if (semver.gte(CONFIG.apiVersion, "2.3.0")) {
+ messageId = MSPCodes.MSP2_SET_BLACKBOX_CONFIG;
+ buffer.push(lowByte(BLACKBOX.blackboxRateNum));
+ buffer.push(highByte(BLACKBOX.blackboxRateNum));
+ buffer.push(lowByte(BLACKBOX.blackboxRateDenom));
+ buffer.push(highByte(BLACKBOX.blackboxRateDenom));
+ } else {
+ buffer.push(BLACKBOX.blackboxRateNum & 0xFF);
+ buffer.push(BLACKBOX.blackboxRateDenom & 0xFF);
+ }
//noinspection JSUnusedLocalSymbols
- MSP.send_message(MSPCodes.MSP_SET_BLACKBOX_CONFIG, message, false, function (response) {
- onDataCallback();
+ MSP.send_message(messageId, buffer, false, function (response) {
+ onDataCallback();
});
};
@@ -2213,7 +2249,12 @@ var mspHelper = (function (gui) {
buffer.push(servoIndex);
buffer.push(servoRule.getTarget());
buffer.push(servoRule.getInput());
- buffer.push(servoRule.getRate());
+ if (semver.gte(CONFIG.flightControllerVersion, "2.1.0")) {
+ buffer.push(lowByte(servoRule.getRate()));
+ buffer.push(highByte(servoRule.getRate()));
+ } else {
+ buffer.push(servoRule.getRate());
+ }
buffer.push(servoRule.getSpeed());
buffer.push(0);
buffer.push(0);
diff --git a/js/periodicStatusUpdater.js b/js/periodicStatusUpdater.js
index 750de1d6..7768a0fc 100644
--- a/js/periodicStatusUpdater.js
+++ b/js/periodicStatusUpdater.js
@@ -19,15 +19,11 @@ helper.periodicStatusUpdater = (function () {
}
if (baudSpeed >= 115200) {
- return 200;
+ return 300;
} else if (baudSpeed >= 57600) {
- return 400;
- } else if (baudSpeed >= 38400) {
- return 500;
- } else if (baudSpeed >= 19200) {
return 600;
- } else if (baudSpeed >= 9600) {
- return 750;
+ } else if (baudSpeed >= 38400) {
+ return 800;
} else {
return 1000;
}
diff --git a/js/serial.js b/js/serial.js
index 5fe661be..98a1f9ae 100644
--- a/js/serial.js
+++ b/js/serial.js
@@ -300,9 +300,9 @@ var serial = {
*/
getTimeout: function () {
if (serial.bitrate >= 57600) {
- return 1500;
+ return 3000;
} else {
- return 2500;
+ return 4000;
}
}
diff --git a/js/serial_backend.js b/js/serial_backend.js
index 2226d030..677c7704 100755
--- a/js/serial_backend.js
+++ b/js/serial_backend.js
@@ -22,7 +22,18 @@ $(document).ready(function () {
GUI.handleReconnect = function ($tabElement) {
- if (BOARD.find_board_definition(CONFIG.boardIdentifier).vcp) { // VCP-based flight controls may crash old drivers, we catch and reconnect
+ let modal;
+
+ if (BOARD.hasVcp(CONFIG.boardIdentifier)) { // VCP-based flight controls may crash old drivers, we catch and reconnect
+
+ modal = new jBox('Modal', {
+ width: 400,
+ height: 100,
+ animation: false,
+ closeOnClick: false,
+ closeOnEsc: false,
+ content: $('#modal-reconnect')
+ }).open();
/*
Disconnect
@@ -35,6 +46,7 @@ $(document).ready(function () {
Connect again
*/
setTimeout(function start_connection() {
+ modal.close();
$('a.connect').click();
/*
@@ -46,7 +58,7 @@ $(document).ready(function () {
}, 500);
}
- }, 5000);
+ }, 7000);
} else {
helper.timeout.add('waiting_for_bootup', function waiting_for_bootup() {