MSP versioning CF compatible
parent
92ec31f80b
commit
b62abd74e7
|
@ -112,7 +112,7 @@ function configuration_backup(callback) {
|
||||||
uniqueData.push(MSP_codes.MSP_FAILSAFE_CONFIG);
|
uniqueData.push(MSP_codes.MSP_FAILSAFE_CONFIG);
|
||||||
uniqueData.push(MSP_codes.MSP_RXFAIL_CONFIG);
|
uniqueData.push(MSP_codes.MSP_RXFAIL_CONFIG);
|
||||||
}
|
}
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.19.0")) {
|
||||||
uniqueData.push(MSP_codes.MSP_LED_STRIP_MODECOLOR);
|
uniqueData.push(MSP_codes.MSP_LED_STRIP_MODECOLOR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,7 @@ function configuration_backup(callback) {
|
||||||
configuration.LED_STRIP = jQuery.extend(true, [], LED_STRIP);
|
configuration.LED_STRIP = jQuery.extend(true, [], LED_STRIP);
|
||||||
configuration.LED_COLORS = jQuery.extend(true, [], LED_COLORS);
|
configuration.LED_COLORS = jQuery.extend(true, [], LED_COLORS);
|
||||||
|
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.19.0")) {
|
||||||
configuration.LED_MODE_COLORS = jQuery.extend(true, [], LED_MODE_COLORS);
|
configuration.LED_MODE_COLORS = jQuery.extend(true, [], LED_MODE_COLORS);
|
||||||
}
|
}
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.8.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.8.0")) {
|
||||||
|
@ -612,7 +612,7 @@ function configuration_restore(callback) {
|
||||||
appliedMigrationsCount++;
|
appliedMigrationsCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!compareVersions(migratedVersion, '1.2.1')) {
|
if (!compareVersions(migratedVersion, '1.3.1')) {
|
||||||
|
|
||||||
// LED_COLORS & LED_MODE_COLORS support was added.
|
// LED_COLORS & LED_MODE_COLORS support was added.
|
||||||
if (!configuration.LED_COLORS) {
|
if (!configuration.LED_COLORS) {
|
||||||
|
@ -622,7 +622,7 @@ function configuration_restore(callback) {
|
||||||
configuration.LED_MODE_COLORS = [];
|
configuration.LED_MODE_COLORS = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
migratedVersion = '1.2.1';
|
migratedVersion = '1.3.1';
|
||||||
GUI.log(chrome.i18n.getMessage('configMigratedTo', [migratedVersion]));
|
GUI.log(chrome.i18n.getMessage('configMigratedTo', [migratedVersion]));
|
||||||
appliedMigrationsCount++;
|
appliedMigrationsCount++;
|
||||||
}
|
}
|
||||||
|
@ -793,7 +793,7 @@ function configuration_restore(callback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function send_led_strip_mode_colors() {
|
function send_led_strip_mode_colors() {
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.17.0"))
|
if (semver.gte(CONFIG.apiVersion, "1.19.0"))
|
||||||
MSP.sendLedStripModeColors(send_rxfail_config);
|
MSP.sendLedStripModeColors(send_rxfail_config);
|
||||||
else
|
else
|
||||||
send_rxfail_config();
|
send_rxfail_config();
|
||||||
|
|
|
@ -941,13 +941,13 @@ var MSP = {
|
||||||
LED_STRIP = [];
|
LED_STRIP = [];
|
||||||
|
|
||||||
var ledCount = data.byteLength / 7; // v1.4.0 and below incorrectly reported 4 bytes per led.
|
var ledCount = data.byteLength / 7; // v1.4.0 and below incorrectly reported 4 bytes per led.
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.17.0"))
|
if (semver.gte(CONFIG.apiVersion, "1.20.0"))
|
||||||
ledCount = data.byteLength / 4;
|
ledCount = data.byteLength / 4;
|
||||||
|
|
||||||
var offset = 0;
|
var offset = 0;
|
||||||
for (var i = 0; offset < data.byteLength && i < ledCount; i++) {
|
for (var i = 0; offset < data.byteLength && i < ledCount; i++) {
|
||||||
|
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.lt(CONFIG.apiVersion, "1.20.0")) {
|
||||||
var directionMask = data.getUint16(offset, 1);
|
var directionMask = data.getUint16(offset, 1);
|
||||||
offset += 2;
|
offset += 2;
|
||||||
|
|
||||||
|
@ -1048,7 +1048,7 @@ var MSP = {
|
||||||
console.log('Led strip colors saved');
|
console.log('Led strip colors saved');
|
||||||
break;
|
break;
|
||||||
case MSP_codes.MSP_LED_STRIP_MODECOLOR:
|
case MSP_codes.MSP_LED_STRIP_MODECOLOR:
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.19.0")) {
|
||||||
|
|
||||||
LED_MODE_COLORS = [];
|
LED_MODE_COLORS = [];
|
||||||
|
|
||||||
|
@ -1838,7 +1838,7 @@ MSP.sendLedStripConfig = function(onCompleteCallback) {
|
||||||
|
|
||||||
buffer.push(ledIndex);
|
buffer.push(ledIndex);
|
||||||
|
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.lt(CONFIG.apiVersion, "1.20.0")) {
|
||||||
var directionMask = 0;
|
var directionMask = 0;
|
||||||
for (var directionLetterIndex = 0; directionLetterIndex < led.directions.length; directionLetterIndex++) {
|
for (var directionLetterIndex = 0; directionLetterIndex < led.directions.length; directionLetterIndex++) {
|
||||||
var bitIndex = MSP.ledDirectionLetters.indexOf(led.directions[directionLetterIndex]);
|
var bitIndex = MSP.ledDirectionLetters.indexOf(led.directions[directionLetterIndex]);
|
||||||
|
|
|
@ -64,9 +64,9 @@
|
||||||
<option value="function-c" class="">Color</option>
|
<option value="function-c" class="">Color</option>
|
||||||
<option value="function-f" class="">Modes & Orientation</option>
|
<option value="function-f" class="">Modes & Orientation</option>
|
||||||
<option value="function-a" class="">Arm State</option>
|
<option value="function-a" class="">Arm State</option>
|
||||||
<option value="function-l" class="extra_functions17">Battery</option>
|
<option value="function-l" class="extra_functions20">Battery</option>
|
||||||
<option value="function-s" class="extra_functions17">RSSI</option>
|
<option value="function-s" class="extra_functions20">RSSI</option>
|
||||||
<option value="function-g" class="extra_functions17">GPS</option>
|
<option value="function-g" class="extra_functions20">GPS</option>
|
||||||
<option value="function-r" class="">Ring</option>
|
<option value="function-r" class="">Ring</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -78,13 +78,13 @@
|
||||||
<input type="checkbox" name="ThrottleHue" class="toggle function-t" />
|
<input type="checkbox" name="ThrottleHue" class="toggle function-t" />
|
||||||
<label> <span>Throttle</span></label>
|
<label> <span>Throttle</span></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="checkbox extra_functions17">
|
<div class="checkbox extra_functions20">
|
||||||
<input type="checkbox" name="LarsonScanner" class="toggle function-o" />
|
<input type="checkbox" name="LarsonScanner" class="toggle function-o" />
|
||||||
<label> <span>Larson scanner</span></label>
|
<label> <span>Larson scanner</span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="blinkers extra_functions17">
|
<div class="blinkers extra_functions20">
|
||||||
<span class="color_section">Blink</span>
|
<span class="color_section">Blink</span>
|
||||||
<div class="checkbox blinkOverlay">
|
<div class="checkbox blinkOverlay">
|
||||||
<input type="checkbox" name="blink" class="toggle function-b" />
|
<input type="checkbox" name="blink" class="toggle function-b" />
|
||||||
|
|
|
@ -11,7 +11,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
var selectedColorIndex = null;
|
var selectedColorIndex = null;
|
||||||
var selectedModeColor = null;
|
var selectedModeColor = null;
|
||||||
|
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.lt(CONFIG.apiVersion, "1.20.0")) {
|
||||||
TABS.led_strip.functions = ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b'];
|
TABS.led_strip.functions = ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b'];
|
||||||
TABS.led_strip.baseFuncs = ['c', 'f', 'a', 'b', 'g', 'r'];
|
TABS.led_strip.baseFuncs = ['c', 'f', 'a', 'b', 'g', 'r'];
|
||||||
TABS.led_strip.overlays = ['t', 's', 'i', 'w'];
|
TABS.led_strip.overlays = ['t', 's', 'i', 'w'];
|
||||||
|
@ -36,7 +36,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_led_mode_colors() {
|
function load_led_mode_colors() {
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.17.0"))
|
if (semver.gte(CONFIG.apiVersion, "1.19.0"))
|
||||||
MSP.send_message(MSP_codes.MSP_LED_STRIP_MODECOLOR, false, false, load_html);
|
MSP.send_message(MSP_codes.MSP_LED_STRIP_MODECOLOR, false, false, load_html);
|
||||||
else
|
else
|
||||||
load_html();
|
load_html();
|
||||||
|
@ -73,7 +73,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
var theHTML = [];
|
var theHTML = [];
|
||||||
var theHTMLlength = 0;
|
var theHTMLlength = 0;
|
||||||
for (var i = 0; i < 256; i++) {
|
for (var i = 0; i < 256; i++) {
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.17.0"))
|
if (semver.lte(CONFIG.apiVersion, "1.19.0"))
|
||||||
theHTML[theHTMLlength++] = ('<div class="gPoint"><div class="indicators"><span class="north"></span><span class="south"></span><span class="west"></span><span class="east"></span><span class="up">U</span><span class="down">D</span></div><span class="wire"></span><span class="overlay-t"> </span><span class="overlay-s"> </span><span class="overlay-w"> </span><span class="overlay-i"> </span><span class="overlay-color"> </span></div>');
|
theHTML[theHTMLlength++] = ('<div class="gPoint"><div class="indicators"><span class="north"></span><span class="south"></span><span class="west"></span><span class="east"></span><span class="up">U</span><span class="down">D</span></div><span class="wire"></span><span class="overlay-t"> </span><span class="overlay-s"> </span><span class="overlay-w"> </span><span class="overlay-i"> </span><span class="overlay-color"> </span></div>');
|
||||||
else
|
else
|
||||||
theHTML[theHTMLlength++] = ('<div class="gPoint"><div class="indicators"><span class="north"></span><span class="south"></span><span class="west"></span><span class="east"></span><span class="up">U</span><span class="down">D</span></div><span class="wire"></span><span class="overlay-t"> </span><span class="overlay-o"> </span><span class="overlay-b"> </span><span class="overlay-n"> </span><span class="overlay-w"> </span><span class="overlay-i"> </span><span class="overlay-color"> </span></div>');
|
theHTML[theHTMLlength++] = ('<div class="gPoint"><div class="indicators"><span class="north"></span><span class="south"></span><span class="west"></span><span class="east"></span><span class="up">U</span><span class="down">D</span></div><span class="wire"></span><span class="overlay-t"> </span><span class="overlay-o"> </span><span class="overlay-b"> </span><span class="overlay-n"> </span><span class="overlay-w"> </span><span class="overlay-i"> </span><span class="overlay-color"> </span></div>');
|
||||||
|
@ -520,7 +520,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function send_led_strip_mode_colors() {
|
function send_led_strip_mode_colors() {
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.17.0"))
|
if (semver.gte(CONFIG.apiVersion, "1.19.0"))
|
||||||
MSP.sendLedStripModeColors(save_to_eeprom);
|
MSP.sendLedStripModeColors(save_to_eeprom);
|
||||||
else
|
else
|
||||||
save_to_eeprom();
|
save_to_eeprom();
|
||||||
|
@ -645,7 +645,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
|
|
||||||
// refresh mode color buttons
|
// refresh mode color buttons
|
||||||
function setModeBackgroundColor(element) {
|
function setModeBackgroundColor(element) {
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.19.0")) {
|
||||||
element.find('[class*="mode_color"]').each(function() {
|
element.find('[class*="mode_color"]').each(function() {
|
||||||
var m = 0;
|
var m = 0;
|
||||||
var d = 0;
|
var d = 0;
|
||||||
|
@ -678,19 +678,19 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
$('select.functionSelect').addClass(activeFunction);
|
$('select.functionSelect').addClass(activeFunction);
|
||||||
|
|
||||||
|
|
||||||
if (semver.lte(CONFIG.apiVersion, "1.16.0")) {
|
if (semver.lte(CONFIG.apiVersion, "1.18.0")) {
|
||||||
// <= 16
|
// <= 18
|
||||||
// Hide GPS (Func)
|
// Hide GPS (Func)
|
||||||
// Hide RSSI (O/L), Blink (Func)
|
// Hide RSSI (O/L), Blink (Func)
|
||||||
// Hide Battery, RSSI (Func), Larson (O/L), Blink (O/L), Landing (O/L)
|
// Hide Battery, RSSI (Func), Larson (O/L), Blink (O/L), Landing (O/L)
|
||||||
$(".extra_functions17").hide();
|
$(".extra_functions20").hide();
|
||||||
$(".mode_colors").hide();
|
$(".mode_colors").hide();
|
||||||
} else {
|
} else {
|
||||||
// >= 17
|
// >= 20
|
||||||
// Show GPS (Func)
|
// Show GPS (Func)
|
||||||
// Hide RSSI (O/L), Blink (Func)
|
// Hide RSSI (O/L), Blink (Func)
|
||||||
// Show Battery, RSSI (Func), Larson (O/L), Blink (O/L), Landing (O/L)
|
// Show Battery, RSSI (Func), Larson (O/L), Blink (O/L), Landing (O/L)
|
||||||
$(".extra_functions17").show();
|
$(".extra_functions20").show();
|
||||||
$(".mode_colors").show();
|
$(".mode_colors").show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -701,7 +701,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
$('.modifiers').hide();
|
$('.modifiers').hide();
|
||||||
$('.blinkers').hide();
|
$('.blinkers').hide();
|
||||||
|
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.lt(CONFIG.apiVersion, "1.20.0")) {
|
||||||
switch (activeFunction) {
|
switch (activeFunction) {
|
||||||
case "function-c":
|
case "function-c":
|
||||||
case "function-a":
|
case "function-a":
|
||||||
|
@ -751,7 +751,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
break;
|
break;
|
||||||
case "function-r":
|
case "function-r":
|
||||||
case "function-b":
|
case "function-b":
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.17.0"))
|
if (semver.lt(CONFIG.apiVersion, "1.20.0"))
|
||||||
$('.warningOverlay').hide();
|
$('.warningOverlay').hide();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -783,7 +783,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
|
|
||||||
// set overlays (checkboxes) visibility
|
// set overlays (checkboxes) visibility
|
||||||
// set directions visibility
|
// set directions visibility
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.lt(CONFIG.apiVersion, "1.20.0")) {
|
||||||
switch (activeFunction) {
|
switch (activeFunction) {
|
||||||
case "function-r":
|
case "function-r":
|
||||||
$('.indicatorOverlay').hide();
|
$('.indicatorOverlay').hide();
|
||||||
|
@ -796,7 +796,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$('.mode_colors').hide();
|
$('.mode_colors').hide();
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.19.0")) {
|
||||||
// set mode colors visibility
|
// set mode colors visibility
|
||||||
if (activeFunction == "function-f")
|
if (activeFunction == "function-f")
|
||||||
$('.mode_colors').show();
|
$('.mode_colors').show();
|
||||||
|
@ -868,7 +868,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function unselectOverlays(letter) {
|
function unselectOverlays(letter) {
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.17.0")) {
|
if (semver.lt(CONFIG.apiVersion, "1.20.0")) {
|
||||||
if (letter == 'b' || letter == 'r') {
|
if (letter == 'b' || letter == 'r') {
|
||||||
unselectOverlay(letter, 'i');
|
unselectOverlay(letter, 'i');
|
||||||
}
|
}
|
||||||
|
@ -878,7 +878,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
|
||||||
unselectOverlay(letter, 's');
|
unselectOverlay(letter, 's');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// MSP 1.17
|
// MSP 1.20
|
||||||
if (letter == 'r' || letter == '') {
|
if (letter == 'r' || letter == '') {
|
||||||
unselectOverlay(letter, 'o');
|
unselectOverlay(letter, 'o');
|
||||||
unselectOverlay(letter, 'b');
|
unselectOverlay(letter, 'b');
|
||||||
|
|
Loading…
Reference in New Issue