1
0
Fork 0
mirror of https://github.com/iNavFlight/inav-configurator.git synced 2025-07-13 11:29:53 +03:00

Semver cleanup

This commit is contained in:
Pawel Spychalski (DzikuVx) 2022-02-24 13:11:47 +01:00
parent 473adae418
commit 005efec007
11 changed files with 242 additions and 614 deletions

272
js/fc.js
View file

@ -77,14 +77,11 @@ var FC = {
return (MIXER_CONFIG.platformType == PLATFORM_MULTIROTOR || MIXER_CONFIG.platformType == PLATFORM_TRICOPTER); return (MIXER_CONFIG.platformType == PLATFORM_MULTIROTOR || MIXER_CONFIG.platformType == PLATFORM_TRICOPTER);
}, },
isRpyFfComponentUsed: function () { isRpyFfComponentUsed: function () {
return (MIXER_CONFIG.platformType == PLATFORM_AIRPLANE || MIXER_CONFIG.platformType == PLATFORM_ROVER || MIXER_CONFIG.platformType == PLATFORM_BOAT) || ((MIXER_CONFIG.platformType == PLATFORM_MULTIROTOR || MIXER_CONFIG.platformType == PLATFORM_TRICOPTER) && semver.gte(CONFIG.flightControllerVersion, "2.6.0")); return true; // Currently all planes have roll, pitch and yaw FF
}, },
isRpyDComponentUsed: function () { isRpyDComponentUsed: function () {
return true; // Currently all platforms use D term return true; // Currently all platforms use D term
}, },
isCdComponentUsed: function () {
return (MIXER_CONFIG.platformType == PLATFORM_MULTIROTOR || MIXER_CONFIG.platformType == PLATFORM_TRICOPTER);
},
resetState: function () { resetState: function () {
SENSOR_STATUS = { SENSOR_STATUS = {
isHardwareHealthy: 0, isHardwareHealthy: 0,
@ -601,10 +598,6 @@ var FC = {
{bit: 31, group: 'other', name: "FW_AUTOTRIM", haveTip: true, showNameInTip: true} {bit: 31, group: 'other', name: "FW_AUTOTRIM", haveTip: true, showNameInTip: true}
]; ];
if (semver.gte(CONFIG.flightControllerVersion, "2.4.0") && semver.lt(CONFIG.flightControllerVersion, "2.5.0")) {
features.push({bit: 5, group: 'other', name: 'DYNAMIC_FILTERS', haveTip: true, showNameInTip: true});
}
return features.reverse(); return features.reverse();
}, },
isFeatureEnabled: function (featureName, features) { isFeatureEnabled: function (featureName, features) {
@ -664,168 +657,69 @@ var FC = {
]; ];
}, },
getEscProtocols: function () { getEscProtocols: function () {
return {
if (semver.gte(CONFIG.flightControllerVersion, "3.1.0")) { 0: {
return { name: "STANDARD",
0: { message: null,
name: "STANDARD", defaultRate: 400,
message: null, rates: {
defaultRate: 400, 50: "50Hz",
rates: { 400: "400Hz"
50: "50Hz",
400: "400Hz"
}
},
1: {
name: "ONESHOT125",
message: null,
defaultRate: 1000,
rates: {
1000: "1kHz",
2000: "2kHz"
}
},
2: {
name: "MULTISHOT",
message: null,
defaultRate: 2000,
rates: {
1000: "1kHz",
2000: "2kHz"
}
},
3: {
name: "BRUSHED",
message: null,
defaultRate: 8000,
rates: {
8000: "8kHz",
16000: "16kHz",
32000: "32kHz"
}
},
4: {
name: "DSHOT150",
message: null,
defaultRate: 4000,
rates: {
4000: "4kHz"
}
},
5: {
name: "DSHOT300",
message: null,
defaultRate: 8000,
rates: {
8000: "8kHz"
}
},
6: {
name: "DSHOT600",
message: null,
defaultRate: 16000,
rates: {
16000: "16kHz"
}
} }
}; },
} else { 1: {
return { name: "ONESHOT125",
0: { message: null,
name: "STANDARD", defaultRate: 1000,
message: null, rates: {
defaultRate: 400, 1000: "1kHz",
rates: { 2000: "2kHz"
50: "50Hz",
400: "400Hz"
}
},
1: {
name: "ONESHOT125",
message: null,
defaultRate: 1000,
rates: {
400: "400Hz",
1000: "1kHz",
2000: "2kHz"
}
},
2: {
name: "ONESHOT42",
message: null,
defaultRate: 2000,
rates: {
400: "400Hz",
1000: "1kHz",
2000: "2kHz",
4000: "4kHz",
8000: "8kHz"
}
},
3: {
name: "MULTISHOT",
message: null,
defaultRate: 2000,
rates: {
400: "400Hz",
1000: "1kHz",
2000: "2kHz",
4000: "4kHz",
8000: "8kHz"
}
},
4: {
name: "BRUSHED",
message: null,
defaultRate: 8000,
rates: {
8000: "8kHz",
16000: "16kHz",
32000: "32kHz"
}
},
5: {
name: "DSHOT150",
message: null,
defaultRate: 4000,
rates: {
4000: "4kHz"
}
},
6: {
name: "DSHOT300",
message: null,
defaultRate: 8000,
rates: {
8000: "8kHz"
}
},
7: {
name: "DSHOT600",
message: null,
defaultRate: 16000,
rates: {
16000: "16kHz"
}
},
8: {
name: "DSHOT1200",
message: "escProtocolNotAdvised",
defaultRate: 16000,
rates: {
16000: "16kHz"
}
},
9: {
name: "SERIALSHOT",
message: "escProtocolExperimental",
defaultRate: 4000,
rates: {
4000: "4kHz"
}
} }
}; },
} 2: {
name: "MULTISHOT",
message: null,
defaultRate: 2000,
rates: {
1000: "1kHz",
2000: "2kHz"
}
},
3: {
name: "BRUSHED",
message: null,
defaultRate: 8000,
rates: {
8000: "8kHz",
16000: "16kHz",
32000: "32kHz"
}
},
4: {
name: "DSHOT150",
message: null,
defaultRate: 4000,
rates: {
4000: "4kHz"
}
},
5: {
name: "DSHOT300",
message: null,
defaultRate: 8000,
rates: {
8000: "8kHz"
}
},
6: {
name: "DSHOT600",
message: null,
defaultRate: 16000,
rates: {
16000: "16kHz"
}
}
};
}, },
getServoRates: function () { getServoRates: function () {
return { return {
@ -866,37 +760,6 @@ var FC = {
getOsdDisabledFields: function () { getOsdDisabledFields: function () {
return []; return [];
}, },
getAccelerometerNames: function () {
return [ "NONE", "AUTO", "MPU6050", "LSM303DLHC", "MPU6000", "MPU6500", "MPU9250", "BMI160", "ICM20689", "FAKE"];
},
getBarometerNames: function () {
if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) {
return ["NONE", "AUTO", "BMP085", "MS5611", "BMP280", "MS5607", "LPS25H", "SPL06", "BMP388", "DPS310", "MSP", "FAKE"];
} else {
return ["NONE", "AUTO", "BMP085", "MS5611", "BMP280", "MS5607", "LPS25H", "SPL06", "BMP388", "FAKE"];
}
},
getPitotNames: function () {
if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) {
return ["NONE", "AUTO", "MS4525", "ADC", "VIRTUAL", "FAKE", "MSP"];
} else {
return ["NONE", "AUTO", "MS4525", "ADC", "VIRTUAL", "FAKE"];
}
},
getRangefinderNames: function () {
if (semver.gte(CONFIG.flightControllerVersion, "3.1.0")) {
return [ "NONE", "SRF10", "INAV_I2C", "VL53L0X", "MSP", "Benewake TFmini", "VL53L1X", "US42"];
} else {
return [ "NONE", "HCSR04", "SRF10", "INAV_I2C", "VL53L0X", "MSP", "UIB", "Benewake TFmini"];
}
},
getOpticalFlowNames: function () {
if (semver.gte(CONFIG.flightControllerVersion, "2.7.0")) {
return [ "NONE", "CXOF", "MSP", "FAKE" ];
} else {
return [ "NONE", "PMW3901", "CXOF", "MSP", "FAKE" ];
}
},
getArmingFlags: function () { getArmingFlags: function () {
return { return {
0: "OK_TO_ARM", 0: "OK_TO_ARM",
@ -933,7 +796,7 @@ var FC = {
] ]
}, },
getPidNames: function () { getPidNames: function () {
let list = [ return [
'Roll', 'Roll',
'Pitch', 'Pitch',
'Yaw', 'Yaw',
@ -943,14 +806,9 @@ var FC = {
'Surface', 'Surface',
'Level', 'Level',
'Heading Hold', 'Heading Hold',
'Velocity Z' 'Velocity Z',
'Nav Heading'
]; ];
if (semver.gte(CONFIG.flightControllerVersion, '2.5.0')) {
list.push("Nav Heading")
}
return list;
}, },
getRthAltControlMode: function () { getRthAltControlMode: function () {
return ["Current", "Extra", "Fixed", "Max", "At least", "At least, linear descent"]; return ["Current", "Extra", "Fixed", "Max", "At least", "At least, linear descent"];

View file

@ -104,12 +104,7 @@ var mspHelper = (function (gui) {
SENSOR_STATUS.rangeHwStatus = data.getUint8(6); SENSOR_STATUS.rangeHwStatus = data.getUint8(6);
SENSOR_STATUS.speedHwStatus = data.getUint8(7); SENSOR_STATUS.speedHwStatus = data.getUint8(7);
SENSOR_STATUS.flowHwStatus = data.getUint8(8); SENSOR_STATUS.flowHwStatus = data.getUint8(8);
SENSOR_STATUS.imu2HwStatus = data.getUint8(9);
if (semver.gte(CONFIG.flightControllerVersion, "3.1.0")) {
SENSOR_STATUS.imu2HwStatus = data.getUint8(9);
} else {
SENSOR_STATUS.imu2HwStatus = 0;
}
sensor_status_ex(SENSOR_STATUS); sensor_status_ex(SENSOR_STATUS);
break; break;
@ -1253,11 +1248,9 @@ var mspHelper = (function (gui) {
CALIBRATION_DATA.magZero.Z = data.getInt16(17, true); CALIBRATION_DATA.magZero.Z = data.getInt16(17, true);
CALIBRATION_DATA.opflow.Scale = (data.getInt16(19, true) / 256.0); CALIBRATION_DATA.opflow.Scale = (data.getInt16(19, true) / 256.0);
if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) { CALIBRATION_DATA.magGain.X = data.getInt16(21, true);
CALIBRATION_DATA.magGain.X = data.getInt16(21, true); CALIBRATION_DATA.magGain.Y = data.getInt16(23, true);
CALIBRATION_DATA.magGain.Y = data.getInt16(23, true); CALIBRATION_DATA.magGain.Z = data.getInt16(25, true);
CALIBRATION_DATA.magGain.Z = data.getInt16(25, true);
}
break; break;
@ -1904,16 +1897,14 @@ var mspHelper = (function (gui) {
buffer.push(lowByte(Math.round(CALIBRATION_DATA.opflow.Scale * 256))); buffer.push(lowByte(Math.round(CALIBRATION_DATA.opflow.Scale * 256)));
buffer.push(highByte(Math.round(CALIBRATION_DATA.opflow.Scale * 256))); buffer.push(highByte(Math.round(CALIBRATION_DATA.opflow.Scale * 256)));
if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) { buffer.push(lowByte(CALIBRATION_DATA.magGain.X));
buffer.push(lowByte(CALIBRATION_DATA.magGain.X)); buffer.push(highByte(CALIBRATION_DATA.magGain.X));
buffer.push(highByte(CALIBRATION_DATA.magGain.X));
buffer.push(lowByte(CALIBRATION_DATA.magGain.Y)); buffer.push(lowByte(CALIBRATION_DATA.magGain.Y));
buffer.push(highByte(CALIBRATION_DATA.magGain.Y)); buffer.push(highByte(CALIBRATION_DATA.magGain.Y));
buffer.push(lowByte(CALIBRATION_DATA.magGain.Z)); buffer.push(lowByte(CALIBRATION_DATA.magGain.Z));
buffer.push(highByte(CALIBRATION_DATA.magGain.Z)); buffer.push(highByte(CALIBRATION_DATA.magGain.Z));
}
break; break;
@ -2307,9 +2298,7 @@ var mspHelper = (function (gui) {
buffer.push(conditionIndex); buffer.push(conditionIndex);
buffer.push(condition.getEnabled()); buffer.push(condition.getEnabled());
if (semver.gte(CONFIG.flightControllerVersion, "2.5.0")) { buffer.push(condition.getActivatorId());
buffer.push(condition.getActivatorId());
}
buffer.push(condition.getOperation()); buffer.push(condition.getOperation());
buffer.push(condition.getOperandAType()); buffer.push(condition.getOperandAType());
buffer.push(specificByte(condition.getOperandAValue(), 0)); buffer.push(specificByte(condition.getOperandAValue(), 0));
@ -3010,9 +2999,7 @@ var mspHelper = (function (gui) {
var setting = {}; var setting = {};
// Discard setting name // Discard setting name
if (semver.gte(CONFIG.apiVersion, "2.4.0")) { result.data.readString();
result.data.readString();
}
// Discard PG ID // Discard PG ID
result.data.readU16(); result.data.readU16();
@ -3250,19 +3237,11 @@ var mspHelper = (function (gui) {
}; };
self.loadGlobalVariablesStatus = function (callback) { self.loadGlobalVariablesStatus = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "2.5.0")) { MSP.send_message(MSPCodes.MSP2_INAV_GVAR_STATUS, false, false, callback);
MSP.send_message(MSPCodes.MSP2_INAV_GVAR_STATUS, false, false, callback);
} else {
callback();
}
}; };
self.loadProgrammingPidStatus = function (callback) { self.loadProgrammingPidStatus = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) { MSP.send_message(MSPCodes.MSP2_INAV_PROGRAMMING_PID_STATUS, false, false, callback);
MSP.send_message(MSPCodes.MSP2_INAV_PROGRAMMING_PID_STATUS, false, false, callback);
} else {
callback();
}
}; };
return self; return self;

View file

@ -334,12 +334,8 @@ function onConnect() {
/* /*
* Init PIDs bank with a length that depends on the version * Init PIDs bank with a length that depends on the version
*/ */
let pidCount; let pidCount = 11;
if (semver.gte(CONFIG.flightControllerVersion, "2.5.0")) {
pidCount = 11;
} else {
pidCount = 10;
}
for (let i = 0; i < pidCount; i++) { for (let i = 0; i < pidCount; i++) {
PIDs.push(new Array(4)); PIDs.push(new Array(4));
} }

View file

@ -11,15 +11,9 @@ 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.20.0")) { TABS.led_strip.functions = ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b', 'l', 'o', 'n'];
TABS.led_strip.functions = ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b']; TABS.led_strip.baseFuncs = ['c', 'f', 'a', 'l', 's', 'g', 'r', 'h'];
TABS.led_strip.baseFuncs = ['c', 'f', 'a', 'b', 'g', 'r']; TABS.led_strip.overlays = ['t', 'o', 'b', 'n', 'i', 'w'];
TABS.led_strip.overlays = ['t', 's', 'i', 'w'];
} else {
TABS.led_strip.functions = ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b', 'l', 'o', 'n'];
TABS.led_strip.baseFuncs = ['c', 'f', 'a', 'l', 's', 'g', 'r', 'h'];
TABS.led_strip.overlays = ['t', 'o', 'b', 'n', 'i', 'w'];
}
TABS.led_strip.wireMode = false; TABS.led_strip.wireMode = false;
@ -37,16 +31,9 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
} }
function load_led_mode_colors() { function load_led_mode_colors() {
if (semver.gte(CONFIG.apiVersion, "1.19.0")) MSP.send_message(MSPCodes.MSP_LED_STRIP_MODECOLOR, false, false, load_html);
MSP.send_message(MSPCodes.MSP_LED_STRIP_MODECOLOR, false, false, load_html);
else
load_html();
} }
function load_html() { function load_html() {
GUI.load("./tabs/led_strip.html", process_html); GUI.load("./tabs/led_strip.html", process_html);
} }
@ -74,10 +61,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.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-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-s"> </span><span class="overlay-w"> </span><span class="overlay-i"> </span><span class="overlay-color"> </span></div>');
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>');
} }
$('.mainGrid').html(theHTML.join('')); $('.mainGrid').html(theHTML.join(''));
@ -549,10 +533,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.19.0")) mspHelper.sendLedStripModeColors(save_to_eeprom);
mspHelper.sendLedStripModeColors(save_to_eeprom);
else
save_to_eeprom();
} }
function save_to_eeprom() { function save_to_eeprom() {
@ -674,20 +655,18 @@ 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.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;
var match = $(this).attr("class").match(/(^|\s)mode_color-([0-9]+)-([0-9]+)(\s|$)/); var match = $(this).attr("class").match(/(^|\s)mode_color-([0-9]+)-([0-9]+)(\s|$)/);
if (match) { if (match) {
m = Number(match[2]); m = Number(match[2]);
d = Number(match[3]); d = Number(match[3]);
$(this).css('background-color', HsvToColor(LED_COLORS[getModeColor(m, d)])); $(this).css('background-color', HsvToColor(LED_COLORS[getModeColor(m, d)]));
} }
}); });
} }
}
function setBackgroundColor(element) { function setBackgroundColor(element) {
if (element.is('[class*="color"]')) { if (element.is('[class*="color"]')) {
@ -713,42 +692,29 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
} }
function areOverlaysActive(activeFunction) { function areOverlaysActive(activeFunction) {
if (semver.lt(CONFIG.apiVersion, "1.20.0")) { switch (activeFunction) {
switch (activeFunction) { case "":
case "function-c": case "function-c":
case "function-a": case "function-a":
case "function-f": case "function-f":
case "function-g": case "function-s":
return true; case "function-l":
break; case "function-r":
} case "function-o":
} else { case "function-g":
switch (activeFunction) { return true;
case "": break;
case "function-c":
case "function-a":
case "function-f":
case "function-s":
case "function-l":
case "function-r":
case "function-o":
case "function-g":
return true;
break;
}
} }
return false; return false;
} }
function areBlinkersActive(activeFunction) { function areBlinkersActive(activeFunction) {
if (semver.gte(CONFIG.apiVersion, "1.20.0")) { switch (activeFunction) {
switch (activeFunction) { case "function-c":
case "function-c": case "function-a":
case "function-a": case "function-f":
case "function-f": return true;
return true; break;
break;
}
} }
return false; return false;
} }
@ -758,13 +724,10 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
case "function-l": case "function-l":
case "function-s": case "function-s":
case "function-g": case "function-g":
return false;
break;
case "function-r": case "function-r":
case "function-b": case "function-b":
if (semver.lt(CONFIG.apiVersion, "1.20.0")) return false;
return false; break;
break;
default: default:
return true; return true;
break; break;
@ -776,23 +739,12 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
var activeFunction = $('select.functionSelect').val(); var activeFunction = $('select.functionSelect').val();
$('select.functionSelect').addClass(activeFunction); $('select.functionSelect').addClass(activeFunction);
// >= 20
if (semver.lte(CONFIG.apiVersion, "1.18.0")) { // Show GPS (Func)
// <= 18 // Hide RSSI (O/L), Blink (Func)
// Hide GPS (Func) // Show Battery, RSSI (Func), Larson (O/L), Blink (O/L), Landing (O/L)
// Hide RSSI (O/L), Blink (Func) $(".extra_functions20").show();
// Hide Battery, RSSI (Func), Larson (O/L), Blink (O/L), Landing (O/L) $(".mode_colors").show();
$(".extra_functions20").hide();
$(".mode_colors").hide();
} else {
// >= 20
// Show GPS (Func)
// Hide RSSI (O/L), Blink (Func)
// Show Battery, RSSI (Func), Larson (O/L), Blink (O/L), Landing (O/L)
$(".extra_functions20").show();
$(".mode_colors").show();
}
// set color modifiers (check-boxes) visibility // set color modifiers (check-boxes) visibility
$('.overlays').hide(); $('.overlays').hide();
@ -813,71 +765,53 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
if (isWarningActive(activeFunction)) if (isWarningActive(activeFunction))
$('.warningOverlay').show(); $('.warningOverlay').show();
$('.mode_colors').hide();
// set mode colors visibility
if (activeFunction == "function-f") {
// set directions visibility $('.mode_colors').show();
if (semver.lt(CONFIG.apiVersion, "1.20.0")) {
switch (activeFunction) {
case "function-r":
$('.indicatorOverlay').hide();
$('.directions').hide();
break;
default:
$('.indicatorOverlay').show();
$('.directions').show();
break;
}
} }
$('.mode_colors').hide(); // set special colors visibility
if (semver.gte(CONFIG.apiVersion, "1.19.0")) { $('.special_colors').show();
// set mode colors visibility $('.mode_color-6-0').hide();
$('.mode_color-6-1').hide();
$('.mode_color-6-2').hide();
$('.mode_color-6-3').hide();
$('.mode_color-6-4').hide();
$('.mode_color-6-5').hide();
$('.mode_color-6-6').hide();
$('.mode_color-6-7').hide();
if (semver.gte(CONFIG.apiVersion, "1.20.0")) switch (activeFunction) {
if (activeFunction == "function-f") case "": // none
$('.mode_colors').show(); case "function-f": // Modes & Orientation
case "function-l": // Battery
// set special colors visibility // $('.mode_color-6-3').show(); // background
$('.special_colors').show(); $('.special_colors').hide();
$('.mode_color-6-0').hide();
$('.mode_color-6-1').hide();
$('.mode_color-6-2').hide();
$('.mode_color-6-3').hide();
$('.mode_color-6-4').hide();
$('.mode_color-6-5').hide();
$('.mode_color-6-6').hide();
$('.mode_color-6-7').hide();
switch (activeFunction) {
case "": // none
case "function-f": // Modes & Orientation
case "function-l": // Battery
// $('.mode_color-6-3').show(); // background
$('.special_colors').hide();
break;
case "function-g": // GPS
$('.mode_color-6-5').show(); // no sats
$('.mode_color-6-6').show(); // no lock
$('.mode_color-6-7').show(); // locked
// $('.mode_color-6-3').show(); // background
break;
case "function-b": // Blink
$('.mode_color-6-4').show(); // blink background
break;
case "function-a": // Arm state
$('.mode_color-6-0').show(); // disarmed
$('.mode_color-6-1').show(); // armed
break;
case "function-h": // Channel
$('.special_colors').hide();
$('.channel_info').show();
break;
case "function-r": // Ring
default:
$('.special_colors').hide();
break; break;
} case "function-g": // GPS
$('.mode_color-6-5').show(); // no sats
$('.mode_color-6-6').show(); // no lock
$('.mode_color-6-7').show(); // locked
// $('.mode_color-6-3').show(); // background
break;
case "function-b": // Blink
$('.mode_color-6-4').show(); // blink background
break;
case "function-a": // Arm state
$('.mode_color-6-0').show(); // disarmed
$('.mode_color-6-1').show(); // armed
break;
case "function-h": // Channel
$('.special_colors').hide();
$('.channel_info').show();
break;
case "function-r": // Ring
default:
$('.special_colors').hide();
break;
} }
} }
@ -908,30 +842,19 @@ TABS.led_strip.initialize = function (callback, scrollPosition) {
} }
function unselectOverlays(letter) { function unselectOverlays(letter) {
if (semver.lt(CONFIG.apiVersion, "1.20.0")) { // MSP 1.20
if (letter == 'b' || letter == 'r') { if (letter == 'r' || letter == '') {
unselectOverlay(letter, 'i'); unselectOverlay(letter, 'o');
} unselectOverlay(letter, 'b');
if (letter == 'b' || letter == 'r' || letter == 'l' || letter == 'g') { unselectOverlay(letter, 'n');
unselectOverlay(letter, 'w'); unselectOverlay(letter, 't');
unselectOverlay(letter, 't'); }
unselectOverlay(letter, 's'); if (letter == 'l' || letter == 'g' || letter == 's') {
} unselectOverlay(letter, 'w');
} else { unselectOverlay(letter, 't');
// MSP 1.20 unselectOverlay(letter, 'o');
if (letter == 'r' || letter == '') { unselectOverlay(letter, 'b');
unselectOverlay(letter, 'o'); unselectOverlay(letter, 'n');
unselectOverlay(letter, 'b');
unselectOverlay(letter, 'n');
unselectOverlay(letter, 't');
}
if (letter == 'l' || letter == 'g' || letter == 's') {
unselectOverlay(letter, 'w');
unselectOverlay(letter, 't');
unselectOverlay(letter, 'o');
unselectOverlay(letter, 'b');
unselectOverlay(letter, 'n');
}
} }
} }

View file

@ -1543,11 +1543,7 @@ TABS.mission_control.initialize = function (callback) {
// * @param {Object=} opt_options Control options. // * @param {Object=} opt_options Control options.
// */ // */
app.PlannerMultiMissionControl = function (opt_options) { app.PlannerMultiMissionControl = function (opt_options) {
let versionCheck = true;
if (CONFIG !== undefined && !semver.gte(CONFIG.flightControllerVersion, "4.0.0")) {
versionCheck = false;
}
var options = opt_options || {}; var options = opt_options || {};
var button = document.createElement('button'); var button = document.createElement('button');
@ -1555,9 +1551,7 @@ TABS.mission_control.initialize = function (callback) {
button.style = 'background: url(\'../images/icons/cf_icon_multimission_white.svg\') no-repeat 1px -1px;background-color: rgba(0,60,136,.5);'; button.style = 'background: url(\'../images/icons/cf_icon_multimission_white.svg\') no-repeat 1px -1px;background-color: rgba(0,60,136,.5);';
var handleShowSettings = function () { var handleShowSettings = function () {
if (versionCheck) { $('#missionPlannerMultiMission').fadeIn(300);
$('#missionPlannerMultiMission').fadeIn(300);
}
}; };
button.addEventListener('click', handleShowSettings, false); button.addEventListener('click', handleShowSettings, false);
@ -1566,7 +1560,7 @@ TABS.mission_control.initialize = function (callback) {
var element = document.createElement('div'); var element = document.createElement('div');
element.className = 'mission-control-multimission ol-unselectable ol-control'; element.className = 'mission-control-multimission ol-unselectable ol-control';
element.appendChild(button); element.appendChild(button);
element.title = versionCheck ? 'MP MultiMission' : 'Unavailable'; element.title = 'MP MultiMission';
ol.control.Control.call(this, { ol.control.Control.call(this, {
element: element, element: element,

View file

@ -397,11 +397,8 @@ function osdMainBatteryPreview() {
if (Settings.getInputValue('osd_main_voltage_decimals') == 2) { if (Settings.getInputValue('osd_main_voltage_decimals') == 2) {
s += '3'; s += '3';
} }
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) {
s += 'V'; s += FONT.symbol(SYM.VOLT);
} else {
s += FONT.symbol(SYM.VOLT);
}
return FONT.symbol(SYM.BATT) + FONT.embed_dot(s); return FONT.symbol(SYM.BATT) + FONT.embed_dot(s);
} }
@ -781,28 +778,14 @@ OSD.constants = {
name: 'REMAINING_FLIGHT_DISTANCE', name: 'REMAINING_FLIGHT_DISTANCE',
id: 49, id: 49,
preview: function(osd_data) { preview: function(osd_data) {
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) { switch (OSD.data.preferences.units) {
switch (OSD.data.preferences.units) { case 0: // Imperial
case 0: // Imperial case 3: // UK
case 3: // UK return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('0.98') + FONT.symbol(SYM.DIST_MI);
return FONT.symbol(SYM.TRIP_DIST) + FONT.symbol(SYM.DIST_MI) + FONT.embed_dot('0.98'); case 4: // GA
case 4: // GA return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('0.85') + FONT.symbol(SYM.DIST_NM);
return FONT.symbol(SYM.TRIP_DIST) + FONT.symbol(SYM.DIST_NM) + FONT.embed_dot('0.85'); default: // Metric
default: return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('1.73') + FONT.symbol(SYM.DIST_KM);
// Metric
return FONT.symbol(SYM.TRIP_DIST) + FONT.symbol(SYM.DIST_KM) + FONT.embed_dot('1.57');
}
} else {
switch (OSD.data.preferences.units) {
case 0: // Imperial
case 3: // UK
return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('0.98') + FONT.symbol(SYM.DIST_MI);
case 4: // GA
return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('0.85') + FONT.symbol(SYM.DIST_NM);
default: // Metric
return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('1.73') + FONT.symbol(SYM.DIST_KM);
}
} }
} }
}, },
@ -1082,24 +1065,13 @@ OSD.constants = {
name: 'ALTITUDE', name: 'ALTITUDE',
id: 15, id: 15,
preview: function () { preview: function () {
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) { switch (OSD.data.preferences.units) {
switch (OSD.data.preferences.units) { case 0: // Imperial
case 0: // Imperial case 3: // UK
case 3: // UK case 4: // GA
case 4: // GA return ' 375' + FONT.symbol(SYM.ALT_FT);
return FONT.symbol(SYM.ALT_FT) + '375'; default: // Metric
default: // Metric return ' 114' + FONT.symbol(SYM.ALT_M);
return FONT.symbol(SYM.ALT_M) + '114'
}
} else {
switch (OSD.data.preferences.units) {
case 0: // Imperial
case 3: // UK
case 4: // GA
return ' 375' + FONT.symbol(SYM.ALT_FT);
default: // Metric
return ' 114' + FONT.symbol(SYM.ALT_M);
}
} }
} }
}, },
@ -1237,55 +1209,35 @@ OSD.constants = {
name: 'CURRENT_DRAW', name: 'CURRENT_DRAW',
id: 11, id: 11,
preview: function() { preview: function() {
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) { return FONT.embed_dot('42.1') + FONT.symbol(SYM.AMP);
return FONT.symbol(SYM.AMP) + FONT.embed_dot('42.1');
} else {
return FONT.embed_dot('42.1') + FONT.symbol(SYM.AMP);
}
} }
}, },
{ {
name: 'MAH_DRAWN', name: 'MAH_DRAWN',
id: 12, id: 12,
preview: function() { preview: function() {
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) { return '1034' + FONT.symbol(SYM.MAH); // 4 chars
return FONT.symbol(SYM.MAH) + '690 '; // 4 chars
} else {
return '1034' + FONT.symbol(SYM.MAH); // 4 chars
}
} }
}, },
{ {
name: 'WH_DRAWN', name: 'WH_DRAWN',
id: 36, id: 36,
preview: function() { preview: function() {
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) { return FONT.embed_dot('1.25') + FONT.symbol(SYM.WH);
return FONT.symbol(SYM.WH) + FONT.embed_dot('1.25');
} else {
return FONT.embed_dot('1.25') + FONT.symbol(SYM.WH);
}
} }
}, },
{ {
name: 'POWER', name: 'POWER',
id: 19, id: 19,
preview: function() { preview: function() {
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) { return ' 69' + FONT.symbol(SYM.WATT); // 3 chars
return FONT.symbol(SYM.WATT) + '50 '; // 3 chars
} else {
return ' 69' + FONT.symbol(SYM.WATT); // 3 chars
}
} }
}, },
{ {
name: 'MAIN_BATT_REMAINING_CAPACITY', name: 'MAIN_BATT_REMAINING_CAPACITY',
id: 37, id: 37,
preview: function() { preview: function() {
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) { return '1276' + FONT.symbol(SYM.MAH); // 4 chars
return FONT.symbol(SYM.MAH) + '690 '; // 4 chars
} else {
return '1276' + FONT.symbol(SYM.MAH); // 4 chars
}
} }
}, },
{ {
@ -1350,24 +1302,13 @@ OSD.constants = {
name: 'MSL_ALTITUDE', name: 'MSL_ALTITUDE',
id: 96, id: 96,
preview: function(osd_data) { preview: function(osd_data) {
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) { switch (OSD.data.preferences.units) {
switch (OSD.data.preferences.units) { case 0: // Imperial
case 0: // Imperial case 3: // UK
case 3: // UK case 4: // GA
case 4: // GA return ' 375' + FONT.symbol(SYM.ALT_FT);
return FONT.symbol(SYM.ALT_FT) + '375'; default: // Metric
default: // Metric return ' 114' + FONT.symbol(SYM.ALT_M);
return FONT.symbol(SYM.ALT_M) + '114';
}
} else {
switch (OSD.data.preferences.units) {
case 0: // Imperial
case 3: // UK
case 4: // GA
return ' 375' + FONT.symbol(SYM.ALT_FT);
default: // Metric
return ' 114' + FONT.symbol(SYM.ALT_M);
}
} }
}, },
}, },
@ -1483,26 +1424,14 @@ OSD.constants = {
name: 'DISTANCE_TO_HOME', name: 'DISTANCE_TO_HOME',
id: 23, id: 23,
preview: function(osd_data) { preview: function(osd_data) {
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) { switch (OSD.data.preferences.units) {
switch (OSD.data.preferences.units) { case 0: // Imperial
case 0: // Imperial case 3: // UK
case 3: // UK return FONT.symbol(SYM.HOME) + FONT.embed_dot('0.98') + FONT.symbol(SYM.DIST_MI);
return FONT.symbol(SYM.HOME) + FONT.symbol(SYM.DIST_MI) + FONT.embed_dot('0.98'); case 4: // GA
case 4: // GA return FONT.symbol(SYM.HOME) + FONT.embed_dot('0.85') + FONT.symbol(SYM.DIST_NM);
return FONT.symbol(SYM.HOME) + FONT.symbol(SYM.DIST_NM) + FONT.embed_dot('0.85'); default: // Metric
default: // Metric return FONT.symbol(SYM.HOME) + FONT.embed_dot('1.57') + FONT.symbol(SYM.DIST_KM);
return FONT.symbol(SYM.HOME) + FONT.symbol(SYM.DIST_KM) + FONT.embed_dot('1.57');
}
} else {
switch (OSD.data.preferences.units) {
case 0: // Imperial
case 3: // UK
return FONT.symbol(SYM.HOME) + FONT.embed_dot('0.98') + FONT.symbol(SYM.DIST_MI);
case 4: // GA
return FONT.symbol(SYM.HOME) + FONT.embed_dot('0.85') + FONT.symbol(SYM.DIST_NM);
default: // Metric
return FONT.symbol(SYM.HOME) + FONT.embed_dot('1.57') + FONT.symbol(SYM.DIST_KM);
}
} }
} }
}, },
@ -1511,26 +1440,14 @@ OSD.constants = {
id: 40, id: 40,
min_version: '1.9.1', min_version: '1.9.1',
preview: function(osd_data) { preview: function(osd_data) {
if (semver.lt(CONFIG.flightControllerVersion, '2.2.0')) { switch (OSD.data.preferences.units) {
switch (OSD.data.preferences.units) { case 0: // Imperial
case 0: // Imperial case 3: // UK
case 3: // UK return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('0.98') + FONT.symbol(SYM.DIST_MI);
return FONT.symbol(SYM.TRIP_DIST) + FONT.symbol(SYM.DIST_MI) + FONT.embed_dot('0.98'); case 4: // GA
case 4: // GA return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('0.85') + FONT.symbol(SYM.DIST_NM);
return FONT.symbol(SYM.TRIP_DIST) + FONT.symbol(SYM.DIST_NM) + FONT.embed_dot('0.85'); default: // Metric
default: // Metric return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('1.57') + FONT.symbol(SYM.DIST_KM);
return FONT.symbol(SYM.TRIP_DIST) + FONT.symbol(SYM.DIST_KM) + FONT.embed_dot('1.57');
}
} else {
switch (OSD.data.preferences.units) {
case 0: // Imperial
case 3: // UK
return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('0.98') + FONT.symbol(SYM.DIST_MI);
case 4: // GA
return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('0.85') + FONT.symbol(SYM.DIST_NM);
default: // Metric
return FONT.symbol(SYM.TRIP_DIST) + FONT.embed_dot('1.57') + FONT.symbol(SYM.DIST_KM);
}
} }
} }
}, },
@ -2117,12 +2034,10 @@ OSD.msp = {
result.push16(OSD.data.alarms.max_altitude); result.push16(OSD.data.alarms.max_altitude);
result.push16(OSD.data.alarms.dist); result.push16(OSD.data.alarms.dist);
result.push16(OSD.data.alarms.max_neg_altitude); result.push16(OSD.data.alarms.max_neg_altitude);
if (semver.gte(CONFIG.flightControllerVersion, '2.2.0')) { result.push16(OSD.data.alarms.gforce);
result.push16(OSD.data.alarms.gforce); result.push16(OSD.data.alarms.gforce_axis_min);
result.push16(OSD.data.alarms.gforce_axis_min); result.push16(OSD.data.alarms.gforce_axis_max);
result.push16(OSD.data.alarms.gforce_axis_max); result.push8(OSD.data.alarms.current);
result.push8(OSD.data.alarms.current);
}
result.push16(OSD.data.alarms.imu_temp_alarm_min); result.push16(OSD.data.alarms.imu_temp_alarm_min);
result.push16(OSD.data.alarms.imu_temp_alarm_max); result.push16(OSD.data.alarms.imu_temp_alarm_max);
result.push16(OSD.data.alarms.baro_temp_alarm_min); result.push16(OSD.data.alarms.baro_temp_alarm_min);
@ -2138,12 +2053,10 @@ OSD.msp = {
OSD.data.alarms.max_altitude = alarms.readU16(); OSD.data.alarms.max_altitude = alarms.readU16();
OSD.data.alarms.dist = alarms.readU16(); OSD.data.alarms.dist = alarms.readU16();
OSD.data.alarms.max_neg_altitude = alarms.readU16(); OSD.data.alarms.max_neg_altitude = alarms.readU16();
if (semver.gte(CONFIG.flightControllerVersion, '2.2.0')) { OSD.data.alarms.gforce = alarms.readU16();
OSD.data.alarms.gforce = alarms.readU16(); OSD.data.alarms.gforce_axis_min = alarms.read16();
OSD.data.alarms.gforce_axis_min = alarms.read16(); OSD.data.alarms.gforce_axis_max = alarms.read16();
OSD.data.alarms.gforce_axis_max = alarms.read16(); OSD.data.alarms.current = alarms.readU8();
OSD.data.alarms.current = alarms.readU8();
}
OSD.data.alarms.imu_temp_alarm_min = alarms.read16(); OSD.data.alarms.imu_temp_alarm_min = alarms.read16();
OSD.data.alarms.imu_temp_alarm_max = alarms.read16(); OSD.data.alarms.imu_temp_alarm_max = alarms.read16();
OSD.data.alarms.baro_temp_alarm_min = alarms.read16(); OSD.data.alarms.baro_temp_alarm_min = alarms.read16();

View file

@ -54,14 +54,14 @@
</div> </div>
<div id="throttle_idle-info" class="info-box"></div> <div id="throttle_idle-info" class="info-box"></div>
<div class="number requires-v2_4"> <div class="number">
<input id="throttle_idle" data-setting="throttle_idle" type="number" data-step="1.0" /> <input id="throttle_idle" data-setting="throttle_idle" type="number" data-step="1.0" />
<label for="throttle_idle"> <label for="throttle_idle">
<span data-i18n="throttleIdle"></span> <span data-i18n="throttleIdle"></span>
</label> </label>
</div> </div>
<div class="number requires-v2_4"> <div class="number">
<input id="motor_poles" data-setting="motor_poles" type="number" /> <input id="motor_poles" data-setting="motor_poles" type="number" />
<label for="motor_poles"> <label for="motor_poles">
<span data-i18n="motor_poles"></span> <span data-i18n="motor_poles"></span>

View file

@ -70,12 +70,6 @@ TABS.outputs.initialize = function (callback) {
process_servos(); process_servos();
processConfiguration(); processConfiguration();
if (semver.gte(CONFIG.flightControllerVersion, "2.4.0")) {
$('.requires-v2_4').show();
} else {
$('.requires-v2_4').hide();
}
finalize(); finalize();
} }

View file

@ -313,9 +313,9 @@
</table> </table>
</div> </div>
<div class="clear-both requires-v2_4"></div> <div class="clear-both"></div>
<div class="tab_subtitle requires-v2_4" data-i18n="rpmFilters" style="margin-top: 1em;"></div> <div class="tab_subtitle" data-i18n="rpmFilters" style="margin-top: 1em;"></div>
<div class="cf_column requires-v2_4"> <div class="cf_column">
<table class="settings-table settings-table--filtering"> <table class="settings-table settings-table--filtering">
<tbody> <tbody>
<tr> <tr>

View file

@ -112,25 +112,6 @@ TABS.pid_tuning.initialize = function (callback) {
// translate to user-selected language // translate to user-selected language
localize(); localize();
if (FC.isCdComponentUsed()) {
$('th.feedforward').html(chrome.i18n.getMessage('pidTuningControlDerivative'));
$('th.feedforward').attr('title', chrome.i18n.getMessage('pidTuningControlDerivative'));
}
if (semver.gte(CONFIG.flightControllerVersion, "2.4.0")) {
$('.requires-v2_4').show();
} else {
$('.requires-v2_4').hide();
}
if (semver.gte(CONFIG.flightControllerVersion, "2.6.0")) {
$('.requires-v2_6').show();
$('.hides-v2_6').hide();
} else {
$('.requires-v2_6').hide();
$('.hides-v2_6').show();
}
helper.tabs.init($('.tab-pid_tuning')); helper.tabs.init($('.tab-pid_tuning'));
helper.features.updateUI($('.tab-pid_tuning'), FEATURES); helper.features.updateUI($('.tab-pid_tuning'), FEATURES);

View file

@ -131,15 +131,6 @@ TABS.ports.initialize = function (callback) {
'115200' '115200'
]; ];
var telemetryBaudRates_pre1_6_3 = [
'AUTO',
'9600',
'19200',
'38400',
'57600',
'115200'
];
var telemetryBaudRates_post1_6_3 = [ var telemetryBaudRates_post1_6_3 = [
'AUTO', 'AUTO',
'1200', '1200',
@ -210,9 +201,8 @@ TABS.ports.initialize = function (callback) {
} }
$elements = $('select.telemetry_baudrate'); $elements = $('select.telemetry_baudrate');
var telemetryBaudRates = semver.gte(CONFIG.flightControllerVersion, "1.6.3") ? telemetryBaudRates_post1_6_3 : telemetryBaudRates_pre1_6_3; for (i = 0; i < telemetryBaudRates_post1_6_3.length; i++) {
for (i = 0; i < telemetryBaudRates.length; i++) { $elements.append('<option value="' + telemetryBaudRates_post1_6_3[i] + '">' + telemetryBaudRates_post1_6_3[i] + '</option>');
$elements.append('<option value="' + telemetryBaudRates[i] + '">' + telemetryBaudRates[i] + '</option>');
} }
$elements = $('select.blackbox_baudrate'); $elements = $('select.blackbox_baudrate');