Merge pull request #707 from iNavFlight/dzikuvx-old-version-cleanup-2

Further old versions cleanup
pull/708/head
Paweł Spychalski 6 years ago committed by GitHub
commit 6cf428ea2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -847,7 +847,7 @@
"message": "<strong>Note:</strong> Do <span style=\"color: red\">NOT</span> disable MSP on the first serial port unless you know what you are doing. You may have to reflash and erase your configuration if you do."
},
"portsFirmwareUpgradeRequired": {
"message": "Firmware upgrade <span style=\"color: red\">required</span>. Serial port configurations of firmware &lt; 1.8.0 is not supported."
"message": "Firmware upgrade <span style=\"color: red\">required</span>."
},
"portsButtonSave": {
"message": "Save and Reboot"

@ -576,18 +576,14 @@ var FC = {
{bit: 29, group: 'other', name: 'OSD', haveTip: false, showNameInTip: false}
);
if (semver.gte(CONFIG.flightControllerVersion, '1.7.3')) {
features.push(
{bit: 22, group: 'other', name: 'AIRMODE', haveTip: false, showNameInTip: false}
);
}
features.push(
{bit: 22, group: 'other', name: 'AIRMODE', haveTip: false, showNameInTip: false}
);
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
features.push(
{bit: 30, group: 'other', name: 'FW_LAUNCH', haveTip: false, showNameInTip: false},
{bit: 2, group: 'other', name: 'TX_PROF_SEL', haveTip: false, showNameInTip: false}
);
}
features.push(
{bit: 30, group: 'other', name: 'FW_LAUNCH', haveTip: false, showNameInTip: false},
{bit: 2, group: 'other', name: 'TX_PROF_SEL', haveTip: false, showNameInTip: false}
);
if (semver.gte(CONFIG.flightControllerVersion, '2.0.0')) {
features.push(
@ -697,22 +693,14 @@ var FC = {
];
},
getGpsProtocols: function () {
var data = [
return [
'NMEA',
'UBLOX',
'I2C-NAV',
'DJI NAZA'
'DJI NAZA',
'UBLOX7',
'MTK'
];
if (semver.gte(CONFIG.flightControllerVersion, "1.7.1")) {
data.push('UBLOX7')
}
if (semver.gte(CONFIG.flightControllerVersion, "1.7.2")) {
data.push('MTK')
}
return data;
},
getGpsBaudRates: function () {
return [
@ -769,12 +757,10 @@ var FC = {
// Versions using feature bits don't allow not having an
// RX and fallback to RX_PPM.
if (semver.gt(CONFIG.flightControllerVersion, "1.7.3")) {
rxTypes.push({
name: 'RX_NONE',
value: 0,
});
}
rxTypes.push({
name: 'RX_NONE',
value: 0,
});
return rxTypes;
},
@ -788,25 +774,10 @@ var FC = {
}
}
}
if (semver.gt(CONFIG.flightControllerVersion, "1.7.3")) {
return RX_CONFIG.receiver_type == rxType.value;
}
return bit_check(BF_CONFIG.features, rxType.bit);
return RX_CONFIG.receiver_type == rxType.value;
},
setRxTypeEnabled: function(rxType) {
if (semver.gt(CONFIG.flightControllerVersion, "1.7.3")) {
RX_CONFIG.receiver_type = rxType.value;
} else {
// Clear other rx features before
var rxTypes = this.getRxTypes();
for (var ii = 0; ii < rxTypes.length; ii++) {
BF_CONFIG.features = bit_clear(BF_CONFIG.features, rxTypes[ii].bit);
}
// Set the feature for this rx type (if any, RX_NONE is set by clearing all)
if (rxType.bit !== undefined) {
BF_CONFIG.features = bit_set(BF_CONFIG.features, rxType.bit);
}
}
RX_CONFIG.receiver_type = rxType.value;
},
getSerialRxTypes: function () {
var data = [
@ -1070,11 +1041,7 @@ var FC = {
return ["Current", "Extra", "Fixed", "Max", "At Least"];
},
getRthAllowLanding: function() {
var values = ["Never", "Always"];
if (semver.gt(CONFIG.flightControllerVersion, '1.7.3')) {
values.push("Only on failsafe");
}
return values;
return ["Never", "Always", "Only on failsafe"];
},
getFailsafeProcedure: function () {
return {

@ -93,12 +93,6 @@ var mspHelper = (function (gui) {
CONFIG.cycleTime = data.getUint16(0, true);
CONFIG.i2cError = data.getUint16(2, true);
CONFIG.activeSensors = data.getUint16(4, true);
/* For 1.7.4+ MSP_ACTIVEBOXES should be used to determine active modes */
if (semver.lt(CONFIG.flightControllerVersion, "1.7.4")) {
CONFIG.mode = data.getUint32(6, true);
}
CONFIG.profile = data.getUint8(10);
CONFIG.cpuload = data.getUint16(11, true);
CONFIG.armingFlags = data.getUint16(13, true);
@ -867,12 +861,10 @@ var mspHelper = (function (gui) {
RX_CONFIG.spirx_channel_count = data.getUint8(offset);
offset += 1;
}
if (semver.gt(CONFIG.flightControllerVersion, "1.7.3")) {
// unused byte for fpvCamAngleDegrees, for compatiblity with betaflight
offset += 1;
RX_CONFIG.receiver_type = data.getUint8(offset);
offset += 1;
}
// unused byte for fpvCamAngleDegrees, for compatiblity with betaflight
offset += 1;
RX_CONFIG.receiver_type = data.getUint8(offset);
offset += 1;
break;
case MSPCodes.MSP_FAILSAFE_CONFIG:
@ -888,24 +880,20 @@ var mspHelper = (function (gui) {
offset += 2;
FAILSAFE_CONFIG.failsafe_procedure = data.getUint8(offset);
offset++;
if (semver.gte(CONFIG.flightControllerVersion, "1.7.3")) {
FAILSAFE_CONFIG.failsafe_recovery_delay = data.getUint8(offset);
offset++;
FAILSAFE_CONFIG.failsafe_fw_roll_angle = data.getUint16(offset, true);
offset += 2;
FAILSAFE_CONFIG.failsafe_fw_pitch_angle = data.getUint16(offset, true);
offset += 2;
FAILSAFE_CONFIG.failsafe_fw_yaw_rate = data.getUint16(offset, true);
offset += 2;
FAILSAFE_CONFIG.failsafe_stick_motion_threshold = data.getUint16(offset, true);
offset += 2;
}
if (semver.gte(CONFIG.flightControllerVersion, "1.7.4")) {
FAILSAFE_CONFIG.failsafe_min_distance = data.getUint16(offset, true);
offset += 2;
FAILSAFE_CONFIG.failsafe_min_distance_procedure = data.getUint8(offset);
offset++;
}
FAILSAFE_CONFIG.failsafe_recovery_delay = data.getUint8(offset);
offset++;
FAILSAFE_CONFIG.failsafe_fw_roll_angle = data.getUint16(offset, true);
offset += 2;
FAILSAFE_CONFIG.failsafe_fw_pitch_angle = data.getUint16(offset, true);
offset += 2;
FAILSAFE_CONFIG.failsafe_fw_yaw_rate = data.getUint16(offset, true);
offset += 2;
FAILSAFE_CONFIG.failsafe_stick_motion_threshold = data.getUint16(offset, true);
offset += 2;
FAILSAFE_CONFIG.failsafe_min_distance = data.getUint16(offset, true);
offset += 2;
FAILSAFE_CONFIG.failsafe_min_distance_procedure = data.getUint8(offset);
offset++;
break;
case MSPCodes.MSP_RXFAIL_CONFIG:
@ -1241,10 +1229,6 @@ var mspHelper = (function (gui) {
break;
case MSPCodes.MSP_CALIBRATION_DATA:
if (semver.lte(CONFIG.flightControllerVersion, "1.8.0")) {
break;
}
var callibrations = data.getUint8(0);
CALIBRATION_DATA.acc.Pos0 = (1 & (callibrations >> 0));
CALIBRATION_DATA.acc.Pos1 = (1 & (callibrations >> 1));
@ -1702,12 +1686,10 @@ var mspHelper = (function (gui) {
buffer.push32(RX_CONFIG.spirx_id);
buffer.push(RX_CONFIG.spirx_channel_count);
}
if (semver.gt(CONFIG.flightControllerVersion, "1.7.3")) {
// unused byte for fpvCamAngleDegrees, for compatiblity with betaflight
buffer.push(0);
// receiver type in RX_CONFIG rather than in BF_CONFIG.features
buffer.push(RX_CONFIG.receiver_type);
}
// unused byte for fpvCamAngleDegrees, for compatiblity with betaflight
buffer.push(0);
// receiver type in RX_CONFIG rather than in BF_CONFIG.features
buffer.push(RX_CONFIG.receiver_type);
break;
case MSPCodes.MSP_SET_FAILSAFE_CONFIG:
@ -1719,22 +1701,18 @@ var mspHelper = (function (gui) {
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_throttle_low_delay));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_throttle_low_delay));
buffer.push(FAILSAFE_CONFIG.failsafe_procedure);
if (semver.gte(CONFIG.flightControllerVersion, "1.7.3")) {
buffer.push(FAILSAFE_CONFIG.failsafe_recovery_delay);
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_fw_roll_angle));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_fw_roll_angle));
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_fw_pitch_angle));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_fw_pitch_angle));
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_fw_yaw_rate));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_fw_yaw_rate));
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_stick_motion_threshold));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_stick_motion_threshold));
}
if (semver.gte(CONFIG.flightControllerVersion, "1.7.4")) {
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_min_distance));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_min_distance));
buffer.push(FAILSAFE_CONFIG.failsafe_min_distance_procedure);
}
buffer.push(FAILSAFE_CONFIG.failsafe_recovery_delay);
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_fw_roll_angle));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_fw_roll_angle));
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_fw_pitch_angle));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_fw_pitch_angle));
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_fw_yaw_rate));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_fw_yaw_rate));
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_stick_motion_threshold));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_stick_motion_threshold));
buffer.push(lowByte(FAILSAFE_CONFIG.failsafe_min_distance));
buffer.push(highByte(FAILSAFE_CONFIG.failsafe_min_distance));
buffer.push(FAILSAFE_CONFIG.failsafe_min_distance_procedure);
break;
case MSPCodes.MSP_SET_TRANSPONDER_CONFIG:
@ -2271,10 +2249,6 @@ var mspHelper = (function (gui) {
self.sendMotorMixer = function (onCompleteCallback) {
if (semver.lt(CONFIG.flightControllerVersion, "1.8.1")) {
onCompleteCallback();
}
var nextFunction = sendMixer,
servoIndex = 0;
@ -2881,59 +2855,31 @@ var mspHelper = (function (gui) {
};
self.loadCalibrationData = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, callback);
} else {
callback();
}
MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, callback);
};
self.saveCalibrationData = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
MSP.send_message(MSPCodes.MSP_SET_CALIBRATION_DATA, mspHelper.crunch(MSPCodes.MSP_SET_CALIBRATION_DATA), false, callback);
} else {
callback();
}
MSP.send_message(MSPCodes.MSP_SET_CALIBRATION_DATA, mspHelper.crunch(MSPCodes.MSP_SET_CALIBRATION_DATA), false, callback);
};
self.loadRthAndLandConfig = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.7.1")) {
MSP.send_message(MSPCodes.MSP_RTH_AND_LAND_CONFIG, false, false, callback);
} else {
callback();
}
MSP.send_message(MSPCodes.MSP_RTH_AND_LAND_CONFIG, false, false, callback);
};
self.saveRthAndLandConfig = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.7.1")) {
MSP.send_message(MSPCodes.MSP_SET_RTH_AND_LAND_CONFIG, mspHelper.crunch(MSPCodes.MSP_SET_RTH_AND_LAND_CONFIG), false, callback);
} else {
callback();
}
MSP.send_message(MSPCodes.MSP_SET_RTH_AND_LAND_CONFIG, mspHelper.crunch(MSPCodes.MSP_SET_RTH_AND_LAND_CONFIG), false, callback);
};
self.loadFwConfig = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.7.1")) {
MSP.send_message(MSPCodes.MSP_FW_CONFIG, false, false, callback);
} else {
callback();
}
MSP.send_message(MSPCodes.MSP_FW_CONFIG, false, false, callback);
};
self.saveFwConfig = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.7.1")) {
MSP.send_message(MSPCodes.MSP_SET_FW_CONFIG, mspHelper.crunch(MSPCodes.MSP_SET_FW_CONFIG), false, callback);
} else {
callback();
}
};
self.getMissionInfo = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback);
} else {
callback();
}
MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback);
};
self._getSetting = function (name) {
@ -3117,31 +3063,23 @@ var mspHelper = (function (gui) {
};
self.getRTC = function (callback) {
if (semver.gt(CONFIG.flightControllerVersion, "1.7.3")) {
MSP.send_message(MSPCodes.MSP_RTC, false, false, function (resp) {
var seconds = resp.data.read32();
var millis = resp.data.readU16();
if (callback) {
callback(seconds, millis);
}
});
} else if (callback) {
callback(0, 0);
}
MSP.send_message(MSPCodes.MSP_RTC, false, false, function (resp) {
var seconds = resp.data.read32();
var millis = resp.data.readU16();
if (callback) {
callback(seconds, millis);
}
});
};
self.setRTC = function (callback) {
if (semver.gt(CONFIG.flightControllerVersion, "1.7.3")) {
var now = Date.now();
var secs = now / 1000;
var millis = now % 1000;
var data = [];
data.push32(secs);
data.push16(millis);
MSP.send_message(MSPCodes.MSP_SET_RTC, data, false, callback);
} else if (callback) {
callback();
}
var now = Date.now();
var secs = now / 1000;
var millis = now % 1000;
var data = [];
data.push32(secs);
data.push16(millis);
MSP.send_message(MSPCodes.MSP_SET_RTC, data, false, callback);
};
self.loadServoConfiguration = function (callback) {
@ -3153,11 +3091,7 @@ var mspHelper = (function (gui) {
};
self.loadMotorMixRules = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
MSP.send_message(MSPCodes.MSP2_COMMON_MOTOR_MIXER, false, false, callback);
} else {
callback();
}
MSP.send_message(MSPCodes.MSP2_COMMON_MOTOR_MIXER, false, false, callback);
};
self.loadMotors = function (callback) {
@ -3165,29 +3099,21 @@ var mspHelper = (function (gui) {
};
self.getCraftName = function(callback) {
if (semver.gt(CONFIG.flightControllerVersion, "1.8.0")) {
MSP.send_message(MSPCodes.MSP_NAME, false, false, function(resp) {
var name = resp.data.readString();
if (callback) {
callback(name);
}
});
} else if (callback) {
callback(null);
}
MSP.send_message(MSPCodes.MSP_NAME, false, false, function(resp) {
var name = resp.data.readString();
if (callback) {
callback(name);
}
});
};
self.setCraftName = function(name, callback) {
if (semver.gt(CONFIG.flightControllerVersion, "1.8.0")) {
var data = [];
name = name || "";
for (var ii = 0; ii < name.length; ii++) {
data.push(name.charCodeAt(ii));
}
MSP.send_message(MSPCodes.MSP_SET_NAME, data, false, callback);
} else if (callback) {
callback();
var data = [];
name = name || "";
for (var ii = 0; ii < name.length; ii++) {
data.push(name.charCodeAt(ii));
}
MSP.send_message(MSPCodes.MSP_SET_NAME, data, false, callback);
};
self.loadMixerConfig = function (callback) {

@ -53,30 +53,16 @@ helper.periodicStatusUpdater = (function () {
if (ANALOG != undefined) {
var nbCells;
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
nbCells = ANALOG.cell_count;
} else {
nbCells = Math.floor(ANALOG.voltage / MISC.vbatmaxcellvoltage) + 1;
if (ANALOG.voltage == 0)
nbCells = 1;
}
nbCells = ANALOG.cell_count;
var min = MISC.vbatmincellvoltage * nbCells;
var max = MISC.vbatmaxcellvoltage * nbCells;
var warn = MISC.vbatwarningcellvoltage * nbCells;
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
$(".battery-status").css({
width: ANALOG.battery_percentage + "%",
display: 'inline-block'
});
} else {
$(".battery-status").css({
width: ((ANALOG.voltage - min) / (max - min) * 100) + "%",
display: 'inline-block'
});
}
$(".battery-status").css({
width: ANALOG.battery_percentage + "%",
display: 'inline-block'
});
if (active) {
$(".linkicon").css({
'background-image': 'url("../images/icons/cf_icon_link_active.svg")'
@ -87,7 +73,7 @@ helper.periodicStatusUpdater = (function () {
});
}
if (((semver.gte(CONFIG.flightControllerVersion, '1.8.1')) && (((ANALOG.use_capacity_thresholds) && (ANALOG.battery_remaining_capacity <= (MISC.battery_capacity_warning - MISC.battery_capacity_critical))) || ((!ANALOG.use_capacity_thresholds) && (ANALOG.voltage < warn))) || (ANALOG.voltage < min)) || ((semver.lt(CONFIG.flightControllerVersion, '1.8.1')) && (ANALOG.voltage < warn))) {
if (((ANALOG.use_capacity_thresholds && ANALOG.battery_remaining_capacity <= MISC.battery_capacity_warning - MISC.battery_capacity_critical) || (!ANALOG.use_capacity_thresholds && ANALOG.voltage < warn)) || ANALOG.voltage < min) {
$(".battery-status").css('background-color', '#D42133');
} else {
$(".battery-status").css('background-color', '#59AA29');
@ -124,12 +110,7 @@ helper.periodicStatusUpdater = (function () {
}
MSP.send_message(MSPCodes.MSP_ACTIVEBOXES, false, false);
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
MSP.send_message(MSPCodes.MSPV2_INAV_ANALOG, false, false);
} else {
MSP.send_message(MSPCodes.MSP_ANALOG, false, false);
}
MSP.send_message(MSPCodes.MSPV2_INAV_ANALOG, false, false);
privateScope.updateView();
}

@ -123,7 +123,6 @@ $(document).ready(function () {
}
});
//set '1.8.0' for test
appUpdater.checkRelease(chrome.runtime.getManifest().version);
// log library versions in console to make version tracking easier

8
package-lock.json generated

@ -1,6 +1,6 @@
{
"name": "inav-configurator",
"version": "2.1.3",
"version": "2.1.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -4845,9 +4845,9 @@
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
},
"nw": {
"version": "0.36.1",
"resolved": "https://registry.npmjs.org/nw/-/nw-0.36.1.tgz",
"integrity": "sha512-U7sJiy5RdPCjM9SV2n54Ve0kzLWEI3ccSTRLwkHuzlZNA7+bQYwNW4Yq/X9a6PXGuYYfTjOt2mxWj1AYKLl5hA==",
"version": "0.36.1-sdk",
"resolved": "https://registry.npmjs.org/nw/-/nw-0.36.1-sdk.tgz",
"integrity": "sha512-dYrwqv9rUFxAdHIj3dWEp1Z1JgvIKfEP8Uogo+zJJ6CzvYdvY2xIL+E2BObhrCwggGYGWvl1UBlAssJanr2d0Q==",
"requires": {
"chalk": "1.1.3",
"decompress": "3.0.0",

@ -64,11 +64,7 @@ TABS.adjustments.initialize = function (callback) {
// update list of selected functions
var functionListOptions = $(functionList).find('option');
var availableFunctionCount = 21;
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
availableFunctionCount = 32;
}
var availableFunctionCount = 32;
var functionListOptions = $(functionListOptions).slice(0,availableFunctionCount);
functionList.empty().append(functionListOptions);

@ -58,7 +58,7 @@
</div>
</div>
<div class="config-section gui_box grey requires-v1_7_1">
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="rthConfiguration"></div>
</div>
@ -214,7 +214,7 @@
</div>
</div>
<div class="config-section gui_box grey requires-v1_7_1">
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="fixedWingNavigationConfiguration"></div>
</div>

@ -68,53 +68,46 @@ TABS.advanced_tuning.initialize = function (callback) {
$('.requires-v2_1').hide();
}
if (semver.gte(CONFIG.flightControllerVersion, "1.7.1")) {
$rthClimbFirst.prop("checked", RTH_AND_LAND_CONFIG.rthClimbFirst);
$rthClimbFirst.change(function () {
if ($(this).is(":checked")) {
RTH_AND_LAND_CONFIG.rthClimbFirst = 1;
} else {
RTH_AND_LAND_CONFIG.rthClimbFirst = 0;
}
});
$rthClimbFirst.change();
$rthClimbIgnoreEmergency.prop("checked", RTH_AND_LAND_CONFIG.rthClimbIgnoreEmergency);
$rthClimbIgnoreEmergency.change(function () {
if ($(this).is(":checked")) {
RTH_AND_LAND_CONFIG.rthClimbIgnoreEmergency = 1;
} else {
RTH_AND_LAND_CONFIG.rthClimbIgnoreEmergency = 0;
}
});
$rthClimbIgnoreEmergency.change();
$rthTailFirst.prop("checked", RTH_AND_LAND_CONFIG.rthTailFirst);
$rthTailFirst.change(function () {
if ($(this).is(":checked")) {
RTH_AND_LAND_CONFIG.rthTailFirst = 1;
} else {
RTH_AND_LAND_CONFIG.rthTailFirst = 0;
}
});
$rthTailFirst.change();
GUI.fillSelect($rthAltControlMode, FC.getRthAltControlMode(), RTH_AND_LAND_CONFIG.rthAltControlMode);
$rthAltControlMode.val(RTH_AND_LAND_CONFIG.rthAltControlMode);
$rthAltControlMode.change(function () {
RTH_AND_LAND_CONFIG.rthAltControlMode = $rthAltControlMode.val();
});
GUI.fillSelect($rthAllowLanding, FC.getRthAllowLanding(), RTH_AND_LAND_CONFIG.rthAllowLanding);
$rthAllowLanding.val(RTH_AND_LAND_CONFIG.rthAllowLanding);
$rthAllowLanding.change(function () {
RTH_AND_LAND_CONFIG.rthAllowLanding = $rthAllowLanding.val();
});
$('.requires-v1_7_1').show();
} else {
$('.requires-v1_7_1').hide();
}
$rthClimbFirst.prop("checked", RTH_AND_LAND_CONFIG.rthClimbFirst);
$rthClimbFirst.change(function () {
if ($(this).is(":checked")) {
RTH_AND_LAND_CONFIG.rthClimbFirst = 1;
} else {
RTH_AND_LAND_CONFIG.rthClimbFirst = 0;
}
});
$rthClimbFirst.change();
$rthClimbIgnoreEmergency.prop("checked", RTH_AND_LAND_CONFIG.rthClimbIgnoreEmergency);
$rthClimbIgnoreEmergency.change(function () {
if ($(this).is(":checked")) {
RTH_AND_LAND_CONFIG.rthClimbIgnoreEmergency = 1;
} else {
RTH_AND_LAND_CONFIG.rthClimbIgnoreEmergency = 0;
}
});
$rthClimbIgnoreEmergency.change();
$rthTailFirst.prop("checked", RTH_AND_LAND_CONFIG.rthTailFirst);
$rthTailFirst.change(function () {
if ($(this).is(":checked")) {
RTH_AND_LAND_CONFIG.rthTailFirst = 1;
} else {
RTH_AND_LAND_CONFIG.rthTailFirst = 0;
}
});
$rthTailFirst.change();
GUI.fillSelect($rthAltControlMode, FC.getRthAltControlMode(), RTH_AND_LAND_CONFIG.rthAltControlMode);
$rthAltControlMode.val(RTH_AND_LAND_CONFIG.rthAltControlMode);
$rthAltControlMode.change(function () {
RTH_AND_LAND_CONFIG.rthAltControlMode = $rthAltControlMode.val();
});
GUI.fillSelect($rthAllowLanding, FC.getRthAllowLanding(), RTH_AND_LAND_CONFIG.rthAllowLanding);
$rthAllowLanding.val(RTH_AND_LAND_CONFIG.rthAllowLanding);
$rthAllowLanding.change(function () {
RTH_AND_LAND_CONFIG.rthAllowLanding = $rthAllowLanding.val();
});
GUI.fillSelect($userControlMode, FC.getUserControlMode(), NAV_POSHOLD.userControlMode);
$userControlMode.val(NAV_POSHOLD.userControlMode);

@ -52,30 +52,20 @@ TABS.calibration.initialize = function (callback) {
GUI.active_tab = 'calibration';
googleAnalytics.sendAppView('Calibration');
}
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
loadChainer.setChain([
mspHelper.loadStatus,
mspHelper.loadSensorConfig,
mspHelper.loadCalibrationData
]);
loadChainer.setExitPoint(loadHtml);
loadChainer.execute();
saveChainer.setChain([
mspHelper.saveCalibrationData
]);
saveChainer.setExitPoint(reboot);
MSP.send_message(MSPCodes.MSP_IDENT, false, false, loadHtml);
} else {
loadChainer.setChain([
mspHelper.loadStatus
]);
loadChainer.setExitPoint(loadHtml);
loadChainer.execute();
saveChainer.setExitPoint(reboot);
}
loadChainer.setChain([
mspHelper.loadStatus,
mspHelper.loadSensorConfig,
mspHelper.loadCalibrationData
]);
loadChainer.setExitPoint(loadHtml);
loadChainer.execute();
saveChainer.setChain([
mspHelper.saveCalibrationData
]);
saveChainer.setExitPoint(reboot);
MSP.send_message(MSPCodes.MSP_IDENT, false, false, loadHtml);
function reboot() {
//noinspection JSUnresolvedVariable
@ -132,32 +122,6 @@ TABS.calibration.initialize = function (callback) {
updateSensorData();
}
//For 1.8.0
function calibrate() {
var self = $(this);
if (!self.hasClass('disabled')) {
self.addClass('disabled');
MSP.send_message(MSPCodes.MSP_ACC_CALIBRATION, false, false, function () {
GUI.log(chrome.i18n.getMessage('initialSetupAccelCalibStarted'));
});
helper.timeout.add('button_reset', function () {
GUI.log(chrome.i18n.getMessage('initialSetupAccelCalibEnded'));
self.removeClass('disabled');
if (!bit_check(CONFIG.armingFlags & 0xff00, 13)) {
for (var i = 0; i < 6; i++) {
CALIBRATION_DATA.acc['Pos' + i] = 1;
}
updateCalibrationSteps();
}
}, 2000);
}
}
function calibrateNew() {
var newStep = null,
$button = $(this);
@ -215,17 +179,6 @@ TABS.calibration.initialize = function (callback) {
saveChainer.execute();
});
if (semver.lte(CONFIG.flightControllerVersion, "1.8.0")) {
$('#accPosAll, #mag-calibrated-data').hide();
var accIsCalibrate = +(!bit_check(CONFIG.armingFlags & 0xff00, 13));
for (var i = 0; i < 6; i++) {
CALIBRATION_DATA.acc['Pos' + i] = accIsCalibrate;
}
updateCalibrationSteps();
}
if (SENSOR_CONFIG.magnetometer === 0) {
//Comment for test
$('#mag_btn, #mag-calibrated-data').css('pointer-events', 'none').css('opacity', '0.4');
@ -258,9 +211,7 @@ TABS.calibration.initialize = function (callback) {
modalProcessing.close();
GUI.log(chrome.i18n.getMessage('initialSetupMagCalibEnded'));
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, updateSensorData);
}
MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, updateSensorData);
helper.interval.remove('compass_calibration_interval');
}
}, 1000);
@ -277,13 +228,10 @@ TABS.calibration.initialize = function (callback) {
// translate to user-selected language
localize();
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
$('#calibrate-start-button').on('click', calibrateNew);
MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, updateSensorData);
} else {
$('#calibrate-start-button').on('click', calibrate);
}
$('#calibrate-start-button').on('click', calibrateNew);
MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, updateSensorData);
GUI.content_ready(callback);
}
};

@ -51,7 +51,7 @@
<label for="sensor-pitot"> <span data-i18n="sensorPitot"></span></label>
</div>
<div class="select requires-v1_7">
<div class="select">
<select id="sensor-rangefinder"></select>
<label for="sensor-rangefinder"> <span data-i18n="sensorRangefinder"></span></label>
</div>
@ -495,7 +495,7 @@
</div>
</div>
</div>
<div class="config-section gui_box grey requires-v1_8_1">
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="configurationBatteryCapacity"></div>
</div>

@ -44,12 +44,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
loadCraftName
];
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
loadChain.push(mspHelper.loadMiscV2);
} else {
loadChain.push(mspHelper.loadMisc);
}
loadChain.push(mspHelper.loadMiscV2);
loadChainer.setChain(loadChain);
loadChainer.setExitPoint(load_html);
loadChainer.execute();
@ -71,12 +66,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
saveCraftName,
];
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
saveChain.push(mspHelper.saveMiscV2);
} else {
saveChain.push(mspHelper.saveMisc);
}
saveChain.push(mspHelper.saveMiscV2);
saveChain.push(mspHelper.saveToEeprom);
saveChainer.setChain(saveChain);
@ -417,14 +407,6 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
$('#maxthrottle').val(MISC.maxthrottle);
$('#mincommand').val(MISC.mincommand);
// Battery thresholds resolution is 100mV and voltage scale max is 255 before 1.8.1
if (semver.lt(CONFIG.flightControllerVersion, '1.8.1')) {
$('#mincellvoltage').attr('step', '0.1');
$('#maxcellvoltage').attr('step', '0.1');
$('#warningcellvoltage').attr('step', '0.1');
$('#voltagescale').attr('max', '255');
}
// fill battery voltage
$('#voltagesource').val(MISC.voltage_source);
$('#cells').val(MISC.battery_cells);
@ -583,7 +565,6 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
$gyroLpfMessage.removeClass('warning-box');
if (MIXER_CONFIG.platformType == PLATFORM_MULTIROTOR || MIXER_CONFIG.platformType == PLATFORM_TRICOPTER) {
console.log($gyroLpfMessage);
switch (parseInt(INAV_PID_CONFIG.gyroscopeLpf, 10)) {
case 0:
$gyroLpfMessage.html(chrome.i18n.getMessage('gyroLpfSuggestedMessage'));
@ -736,18 +717,6 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
SENSOR_CONFIG.opflow = $sensorOpflow.val();
});
if (semver.gte(CONFIG.flightControllerVersion, "1.7.0")) {
$(".requires-v1_7").show();
} else {
$(".requires-v1_7").hide();
}
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
$(".requires-v1_8_1").show();
} else {
$(".requires-v1_8_1").hide();
}
if (semver.gte(CONFIG.flightControllerVersion, "2.0.0")) {
$(".requires-v2_0_0").show();
} else {
@ -909,11 +878,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
});
helper.interval.add('config_load_analog', function () {
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
$('#batteryvoltage').val([ANALOG.voltage.toFixed(2)]);
} else {
$('#batteryvoltage').val([ANALOG.voltage.toFixed(1)]);
}
$('#batteryvoltage').val([ANALOG.voltage.toFixed(2)]);
$('#batterycurrent').val([ANALOG.amperage.toFixed(2)]);
}, 100, true); // 10 fps

@ -80,28 +80,26 @@
</div>
</div>
<!-- Minimum Failsafe Distance controls -->
<div class="requires-v1_7_4">
<div class="checkbox stage2">
<div class="numberspacer" >
<input type="checkbox" name="failsafe_use_minimum_distance" class="toggle" id="failsafe_use_minimum_distance" />
</div>
<label for="failsafe_use_minimum_distance"><span data-i18n="failsafeUseMinimumDistanceItem"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="failsafeUseMinimumDistanceHelp"></div>
<div class="checkbox stage2">
<div class="numberspacer" >
<input type="checkbox" name="failsafe_use_minimum_distance" class="toggle" id="failsafe_use_minimum_distance" />
</div>
<label for="failsafe_use_minimum_distance"><span data-i18n="failsafeUseMinimumDistanceItem"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="failsafeUseMinimumDistanceHelp"></div>
</div>
<div class="number" id="failsafe_min_distance_elements">
<label> <input class="minimumDistance" type="number" name="failsafe_min_distance" id="failsafe_min_distance" min="0" max="65000" /> <span
data-i18n="failsafeMinDistanceItem"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="failsafeMinDistanceHelp"></div>
</div>
<div class="number" id="failsafe_min_distance_elements">
<label> <input class="minimumDistance" type="number" name="failsafe_min_distance" id="failsafe_min_distance" min="0" max="65000" /> <span
data-i18n="failsafeMinDistanceItem"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="failsafeMinDistanceHelp"></div>
</div>
<div class="select" id="failsafe_min_distance_procedure_elements">
<select class="minimumDistance" id="failsafe_min_distance_procedure"></select>
<label for="failsafe_min_distance_procedure"> <span data-i18n="failsafeMinDistanceProcedureItem"></span></label>
<div class="helpicon cf_tip" data-i18n_title="failsafeMinDistanceProcedureHelp"></div>
</div>
<div class="select" id="failsafe_min_distance_procedure_elements">
<select class="minimumDistance" id="failsafe_min_distance_procedure"></select>
<label for="failsafe_min_distance_procedure"> <span data-i18n="failsafeMinDistanceProcedureItem"></span></label>
<div class="helpicon cf_tip" data-i18n_title="failsafeMinDistanceProcedureHelp"></div>
</div>
</div>
</div>

@ -196,9 +196,7 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
$('input[name="failsafe_off_delay"]').val(FAILSAFE_CONFIG.failsafe_off_delay);
$('input[name="failsafe_throttle_low_delay"]').val(FAILSAFE_CONFIG.failsafe_throttle_low_delay);
$('input[name="failsafe_delay"]').val(FAILSAFE_CONFIG.failsafe_delay);
if (semver.gte(CONFIG.flightControllerVersion, "1.7.4")) {
$('input[name="failsafe_min_distance"]').val(FAILSAFE_CONFIG.failsafe_min_distance);
}
$('input[name="failsafe_min_distance"]').val(FAILSAFE_CONFIG.failsafe_min_distance);
// set stage 2 failsafe procedure
$('input[type="radio"].procedure').change(function () {
@ -249,44 +247,39 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
// set stage 2 kill switch option
$('input[name="failsafe_kill_switch"]').prop('checked', FAILSAFE_CONFIG.failsafe_kill_switch);
if (semver.gte(CONFIG.flightControllerVersion, "1.7.4")) {
// Adjust Minimum Distance values when checkbox is checked/unchecked
$failsafeUseMinimumDistanceCheckbox.change(function() {
if ($(this).is(':checked')) {
// 20 meters seems like a reasonable default for a minimum distance
$failsafeMinDistance.val(2000);
$failsafeMinDistanceElements.show();
$failsafeMinDistanceProcedureElements.show();
} else {
// If they uncheck it, clear the distance to 0, which disables this feature
$failsafeMinDistance.val(0);
$failsafeMinDistanceElements.hide();
$failsafeMinDistanceProcedureElements.hide();
}
});
// Set initial state of controls according to data
if (FAILSAFE_CONFIG.failsafe_min_distance > 0) {
$failsafeUseMinimumDistanceCheckbox.prop('checked', true);
// Adjust Minimum Distance values when checkbox is checked/unchecked
$failsafeUseMinimumDistanceCheckbox.change(function() {
if ($(this).is(':checked')) {
// 20 meters seems like a reasonable default for a minimum distance
$failsafeMinDistance.val(2000);
$failsafeMinDistanceElements.show();
$failsafeMinDistanceProcedureElements.show();
} else {
$failsafeUseMinimumDistanceCheckbox.prop('checked', false);
// If they uncheck it, clear the distance to 0, which disables this feature
$failsafeMinDistance.val(0);
$failsafeMinDistanceElements.hide();
$failsafeMinDistanceProcedureElements.hide();
}
});
// Alternate, minimum distance failsafe procedure
GUI.fillSelect($failsafeMinDistanceProcedure, FC.getFailsafeProcedure(), FAILSAFE_CONFIG.failsafe_min_distance_procedure);
$failsafeMinDistanceProcedure.val(FAILSAFE_CONFIG.failsafe_min_distance_procedure);
$failsafeMinDistanceProcedure.change(function () {
FAILSAFE_CONFIG.failsafe_min_distance_procedure = $failsafeMinDistanceProcedure.val();
});
$('.requires-v1_7_4').show();
// Set initial state of controls according to data
if (FAILSAFE_CONFIG.failsafe_min_distance > 0) {
$failsafeUseMinimumDistanceCheckbox.prop('checked', true);
$failsafeMinDistanceElements.show();
$failsafeMinDistanceProcedureElements.show();
} else {
$('.requires-v1_7_4').hide();
$failsafeUseMinimumDistanceCheckbox.prop('checked', false);
$failsafeMinDistanceElements.hide();
$failsafeMinDistanceProcedureElements.hide();
}
// Alternate, minimum distance failsafe procedure
GUI.fillSelect($failsafeMinDistanceProcedure, FC.getFailsafeProcedure(), FAILSAFE_CONFIG.failsafe_min_distance_procedure);
$failsafeMinDistanceProcedure.val(FAILSAFE_CONFIG.failsafe_min_distance_procedure);
$failsafeMinDistanceProcedure.change(function () {
FAILSAFE_CONFIG.failsafe_min_distance_procedure = $failsafeMinDistanceProcedure.val();
});
$('a.save').click(function () {
// gather data that doesn't have automatic change event bound
RX_CONFIG.rx_min_usec = parseInt($('input[name="rx_min_usec"]').val());
@ -296,9 +289,7 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
FAILSAFE_CONFIG.failsafe_off_delay = parseInt($('input[name="failsafe_off_delay"]').val());
FAILSAFE_CONFIG.failsafe_throttle_low_delay = parseInt($('input[name="failsafe_throttle_low_delay"]').val());
FAILSAFE_CONFIG.failsafe_delay = parseInt($('input[name="failsafe_delay"]').val());
if (semver.gte(CONFIG.flightControllerVersion, "1.7.4")) {
FAILSAFE_CONFIG.failsafe_min_distance = parseInt($('input[name="failsafe_min_distance"]').val());
}
FAILSAFE_CONFIG.failsafe_min_distance = parseInt($('input[name="failsafe_min_distance"]').val());
if ($('input[id="land"]').is(':checked')) {
FAILSAFE_CONFIG.failsafe_procedure = 0;

@ -349,10 +349,7 @@ function altitude_alarm_from_display(osd_data, value) {
// depending on the OSD display unit used (hence, no conversion)
function altitude_alarm_display_function(fn) {
return function(osd_data, value) {
if (semver.gt(CONFIG.flightControllerVersion, '1.7.3')) {
return fn(osd_data, value)
}
return value;
return fn(osd_data, value)
}
}
@ -433,7 +430,7 @@ OSD.constants = {
UNIT_TYPES: [
{name: 'osdUnitImperial', value: 0},
{name: 'osdUnitMetric', value: 1},
{name: 'osdUnitUK', tip: 'osdUnitUKTip', value: 2, min_version: "1.7.3"},
{name: 'osdUnitUK', tip: 'osdUnitUKTip', value: 2},
],
AHISIDEBARWIDTHPOSITION: 7,
AHISIDEBARHEIGHTPOSITION: 3,
@ -560,7 +557,6 @@ OSD.constants = {
{
name: 'MAIN_BATT_CELL_VOLTAGE',
id: 32,
min_version: '1.7.4',
preview: FONT.symbol(SYM.VOLT) + FONT.embed_dot('3.90V')
},
{
@ -578,7 +574,6 @@ OSD.constants = {
{
name: 'MAIN_BATT_REMAINING_PERCENTAGE',
id: 38,
min_version: '1.8.1',
preview: '100%'
},
{
@ -607,7 +602,6 @@ OSD.constants = {
{
name: 'THROTTLE_POSITION_AUTO_THR',
id: 33,
min_version: '1.7.4',
preview: FONT.symbol(SYM.THR) + FONT.symbol(SYM.THR1) + ' 51'
},
{
@ -623,7 +617,6 @@ OSD.constants = {
{
name: 'MESSAGES',
id: 30,
min_version: '1.7.4',
preview: ' SYSTEM MESSAGE ', // 28 chars, like OSD_MESSAGE_LENGTH on osd.c
},
{
@ -634,7 +627,6 @@ OSD.constants = {
{
name: 'HEADING_GRAPH',
id: 34,
min_version: '1.7.4',
preview: FONT.symbol(SYM.HEADING_W) +
FONT.symbol(SYM.HEADING_LINE) +
FONT.symbol(SYM.HEADING_DIVIDED_LINE) +
@ -648,7 +640,6 @@ OSD.constants = {
{
name: 'AIR_SPEED',
id: 27,
min_version: '1.7.3',
enabled: function() {
return SENSOR_CONFIG.pitot != 0;
},
@ -666,7 +657,6 @@ OSD.constants = {
{
name: 'RTC_TIME',
id: 29,
min_version: '1.7.4',
preview: FONT.symbol(SYM.CLOCK) + '13:37'
},
]
@ -852,7 +842,6 @@ OSD.constants = {
{
name: 'ONTIME_FLYTIME',
id: 28,
min_version: '1.7.4',
preview: FONT.symbol(SYM.FLY_M) + '04:11'
},
{
@ -922,7 +911,6 @@ OSD.constants = {
{
name: 'WH_DRAWN',
id: 36,
min_version: '1.8.1',
preview: FONT.symbol(SYM.WH) + FONT.embed_dot('1.25')
},
{
@ -933,19 +921,16 @@ OSD.constants = {
{
name: 'MAIN_BATT_REMAINING_CAPACITY',
id: 37,
min_version: '1.8.1',
preview: FONT.symbol(SYM.MAH) + '690 ' // 4 chars
},
{
name: 'EFFICIENCY_MAH',
id: 35,
min_version: '1.7.4',
preview: "123" + FONT.symbol(SYM.MAH_KM_0) + FONT.symbol(SYM.MAH_KM_1)
},
{
name: 'EFFICIENCY_WH',
id: 39,
min_version: '1.8.1',
preview: FONT.embed_dot('1.23') + FONT.symbol(SYM.WH_KM_0) + FONT.symbol(SYM.WH_KM_1)
}
]
@ -1054,7 +1039,6 @@ OSD.constants = {
{
name: 'GPS_HDOP',
id: 31,
min_version: '1.7.4',
preview: FONT.symbol(SYM.GPS_HDP1) + FONT.symbol(SYM.GPS_HDP2) + FONT.embed_dot('1.8')
},
{
@ -1631,10 +1615,8 @@ OSD.msp = {
d.alarms.fly_minutes = view.readU16();
d.alarms.max_altitude = view.readU16();
if (semver.gt(CONFIG.flightControllerVersion, '1.7.3')) {
d.alarms.dist = view.readU16();
d.alarms.max_neg_altitude = view.readU16();
}
d.alarms.dist = view.readU16();
d.alarms.max_neg_altitude = view.readU16();
d.items = [];
// start at the offset from the other fields

@ -16,12 +16,7 @@ TABS.pid_tuning.initialize = function (callback) {
mspHelper.loadPidAdvanced,
mspHelper.loadFilterConfig
];
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
loadChain.push(mspHelper.loadRateProfileData);
} else {
loadChain.push(mspHelper.loadRcTuningData);
}
loadChain.push(mspHelper.loadRateProfileData);
loadChainer.setChain(loadChain);
loadChainer.setExitPoint(load_html);
@ -233,11 +228,7 @@ TABS.pid_tuning.initialize = function (callback) {
}
function send_rc_tuning_changes() {
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
MSP.send_message(MSPCodes.MSPV2_INAV_SET_RATE_PROFILE, mspHelper.crunch(MSPCodes.MSPV2_INAV_SET_RATE_PROFILE), false, saveINAVPidConfig);
} else {
MSP.send_message(MSPCodes.MSP_SET_RC_TUNING, mspHelper.crunch(MSPCodes.MSP_SET_RC_TUNING), false, saveINAVPidConfig);
}
MSP.send_message(MSPCodes.MSPV2_INAV_SET_RATE_PROFILE, mspHelper.crunch(MSPCodes.MSPV2_INAV_SET_RATE_PROFILE), false, saveINAVPidConfig);
}
function saveINAVPidConfig() {

@ -43,26 +43,22 @@ TABS.ports.initialize = function (callback) {
}
// support configure RunCam Device
if (semver.gte(CONFIG.flightControllerVersion, "1.7.3")) {
functionRules.push({
name: 'RUNCAM_DEVICE_CONTROL',
groups: ['peripherals'],
maxPorts: 1 }
);
}
functionRules.push({
name: 'RUNCAM_DEVICE_CONTROL',
groups: ['peripherals'],
maxPorts: 1 }
);
if (semver.gte(CONFIG.flightControllerVersion, "1.7.4")) {
functionRules.push({
name: 'TBS_SMARTAUDIO',
groups: ['peripherals'],
maxPorts: 1 }
);
functionRules.push({
name: 'IRC_TRAMP',
groups: ['peripherals'],
maxPorts: 1 }
);
}
functionRules.push({
name: 'TBS_SMARTAUDIO',
groups: ['peripherals'],
maxPorts: 1 }
);
functionRules.push({
name: 'IRC_TRAMP',
groups: ['peripherals'],
maxPorts: 1 }
);
for (var i = 0; i < functionRules.length; i++) {
functionRules[i].displayName = chrome.i18n.getMessage('portsFunction_' + functionRules[i].name);

@ -546,11 +546,7 @@ presets.model = (function () {
if (mixerType == 'airplane' || mixerType == 'flyingwing') {
// Always set MOTOR_STOP and feature AIRMODE for fixed wing
window.BF_CONFIG.features |= 1 << 4; // MOTOR_STOP
if (semver.gt(CONFIG.flightControllerVersion, '1.7.2')) {
// Note that feature_AIRMODE is only supported on
// INAV > 1.7.2.
window.BF_CONFIG.features |= 1 << 22; // AIRMODE
}
window.BF_CONFIG.features |= 1 << 22; // AIRMODE
}
};
@ -643,13 +639,11 @@ TABS.profiles.initialize = function (callback, scrollPosition) {
}
}
var promises = {};
if (semver.gt(CONFIG.flightControllerVersion, '1.7.3')) {
var settings = presets.settings.get(currentPreset.type);
Object.keys(settings).forEach(function(key, ii) {
var value = settings[key];
promises[key] = mspHelper.setSetting(name, value);
});
}
var settings = presets.settings.get(currentPreset.type);
Object.keys(settings).forEach(function(key, ii) {
var value = settings[key];
promises[key] = mspHelper.setSetting(name, value);
});
Promise.props(promises).then(function () {
saveChainer.execute();
});

@ -24,12 +24,7 @@ TABS.receiver.initialize = function (callback) {
mspHelper.loadRcDeadband
];
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
loadChain.push(mspHelper.loadRateProfileData);
} else {
loadChain.push(mspHelper.loadRcTuningData);
}
loadChain.push(mspHelper.loadRateProfileData);
loadChainer.setChain(loadChain);
loadChainer.setExitPoint(load_html);
loadChainer.execute();
@ -328,11 +323,7 @@ TABS.receiver.initialize = function (callback) {
});
}
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
MSP.send_message(MSPCodes.MSPV2_INAV_SET_RATE_PROFILE, mspHelper.crunch(MSPCodes.MSPV2_INAV_SET_RATE_PROFILE), false, save_rc_map);
} else {
MSP.send_message(MSPCodes.MSP_SET_RC_TUNING, mspHelper.crunch(MSPCodes.MSP_SET_RC_TUNING), false, save_rc_map);
}
MSP.send_message(MSPCodes.MSPV2_INAV_SET_RATE_PROFILE, mspHelper.crunch(MSPCodes.MSPV2_INAV_SET_RATE_PROFILE), false, save_rc_map);
});
$("a.sticks").click(function () {

@ -92,7 +92,7 @@
<div class="spacer_box">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="cf_table">
<tbody>
<tr class="requires-v1_8_1">
<tr>
<td data-i18n="initialSetupBatteryDetectedCells"></td>
<td class="bat-cells">0</td>
</tr>
@ -100,19 +100,19 @@
<td data-i18n="initialSetupBatteryVoltage"></td>
<td class="bat-voltage">0 V</td>
</tr>
<tr class="requires-v1_8_1">
<tr>
<td data-i18n="initialSetupBatteryPercentage"></td>
<td class="bat-percent">0 %</td>
</tr>
<tr class="requires-v1_8_1">
<tr>
<td data-i18n="initialSetupBatteryRemainingCapacity"></td>
<td class="bat-remain-cap">NA</td>
</tr>
<tr class="requires-v1_8_1">
<tr>
<td data-i18n="initialSetupBatteryFull"></td>
<td class="bat-full">0</td>
</tr>
<tr class="requires-v1_8_1">
<tr>
<td data-i18n="initialSetupBatteryThresholds"></td>
<td class="bat-thresh">0</td>
</tr>
@ -128,7 +128,7 @@
<td data-i18n="initialSetupDrawn"></td>
<td class="bat-mah-drawn">0 mAh</td>
</tr>
<tr class="requires-v1_8_1">
<tr>
<td data-i18n="initialSetup_Wh_drawn"></td>
<td class="bat-mwh-drawn">0 Wh</td>
</tr>

@ -21,12 +21,7 @@ TABS.setup.initialize = function (callback) {
mspHelper.loadMixerConfig
];
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
loadChain.push(mspHelper.loadMiscV2);
} else {
loadChain.push(mspHelper.loadMisc);
}
loadChain.push(mspHelper.loadMiscV2);
loadChainer.setChain(loadChain);
loadChainer.setExitPoint(load_html);
loadChainer.execute();
@ -150,26 +145,22 @@ TABS.setup.initialize = function (callback) {
helper.mspBalancedInterval.add('setup_data_pull_fast', 40, 1, get_fast_data);
helper.mspBalancedInterval.add('setup_data_pull_slow', 250, 1, get_slow_data);
if (semver.lt(CONFIG.flightControllerVersion, '1.8.1')) {
$('.requires-v1_8_1').hide();
}
helper.interval.add('gui_analog_update', function () {
bat_cells_e.text(chrome.i18n.getMessage('initialSetupBatteryDetectedCellsValue', [ANALOG.cell_count]));
bat_voltage_e.text(chrome.i18n.getMessage('initialSetupBatteryVoltageValue', [ANALOG.voltage]));
remaining_capacity_wh_decimals = ANALOG.battery_remaining_capacity.toString().length < 5 ? 3 : (7 - ANALOG.battery_remaining_capacity.toString().length);
remaining_capacity_value = MISC.battery_capacity_unit == 'mAh' ? ANALOG.battery_remaining_capacity : (ANALOG.battery_remaining_capacity / 1000).toFixed(remaining_capacity_wh_decimals < 0 ? 0 : remaining_capacity_wh_decimals);
remaining_capacity_unit = MISC.battery_capacity_unit == 'mAh' ? 'mAh' : 'Wh';
bat_remaining_e.text(chrome.i18n.getMessage('initialSetupBatteryRemainingCapacityValue', ((MISC.battery_capacity > 0) && ANALOG.battery_full_when_plugged_in) ? [remaining_capacity_value, remaining_capacity_unit] : ['NA', '']));
bat_percent_e.text(chrome.i18n.getMessage('initialSetupBatteryPercentageValue', [ANALOG.battery_percentage]));
bat_full_e.text(chrome.i18n.getMessage('initialSetupBatteryFullValue', [ANALOG.battery_full_when_plugged_in]));
bat_thresh_e.text(chrome.i18n.getMessage('initialSetupBatteryThresholdsValue', [ANALOG.use_capacity_thresholds]));
bat_mah_drawn_e.text(chrome.i18n.getMessage('initialSetupBatteryMahValue', [ANALOG.mAhdrawn]));
capacity_drawn_decimals = ANALOG.mWhdrawn.toString().length < 5 ? 3 : (7 - ANALOG.mWhdrawn.toString().length);
bat_wh_drawn_e.text(chrome.i18n.getMessage('initialSetup_Wh_drawnValue', [(ANALOG.mWhdrawn / 1000).toFixed(capacity_drawn_decimals < 0 ? 0 : capacity_drawn_decimals)]));
bat_current_draw_e.text(chrome.i18n.getMessage('initialSetupCurrentDrawValue', [ANALOG.amperage.toFixed(2)]));
bat_power_draw_e.text(chrome.i18n.getMessage('initialSetupPowerDrawValue', [ANALOG.power.toFixed(2)]));
rssi_e.text(chrome.i18n.getMessage('initialSetupRSSIValue', [((ANALOG.rssi / 1023) * 100).toFixed(0)]));
bat_cells_e.text(chrome.i18n.getMessage('initialSetupBatteryDetectedCellsValue', [ANALOG.cell_count]));
bat_voltage_e.text(chrome.i18n.getMessage('initialSetupBatteryVoltageValue', [ANALOG.voltage]));
remaining_capacity_wh_decimals = ANALOG.battery_remaining_capacity.toString().length < 5 ? 3 : (7 - ANALOG.battery_remaining_capacity.toString().length);
remaining_capacity_value = MISC.battery_capacity_unit == 'mAh' ? ANALOG.battery_remaining_capacity : (ANALOG.battery_remaining_capacity / 1000).toFixed(remaining_capacity_wh_decimals < 0 ? 0 : remaining_capacity_wh_decimals);
remaining_capacity_unit = MISC.battery_capacity_unit == 'mAh' ? 'mAh' : 'Wh';
bat_remaining_e.text(chrome.i18n.getMessage('initialSetupBatteryRemainingCapacityValue', ((MISC.battery_capacity > 0) && ANALOG.battery_full_when_plugged_in) ? [remaining_capacity_value, remaining_capacity_unit] : ['NA', '']));
bat_percent_e.text(chrome.i18n.getMessage('initialSetupBatteryPercentageValue', [ANALOG.battery_percentage]));
bat_full_e.text(chrome.i18n.getMessage('initialSetupBatteryFullValue', [ANALOG.battery_full_when_plugged_in]));
bat_thresh_e.text(chrome.i18n.getMessage('initialSetupBatteryThresholdsValue', [ANALOG.use_capacity_thresholds]));
bat_mah_drawn_e.text(chrome.i18n.getMessage('initialSetupBatteryMahValue', [ANALOG.mAhdrawn]));
capacity_drawn_decimals = ANALOG.mWhdrawn.toString().length < 5 ? 3 : (7 - ANALOG.mWhdrawn.toString().length);
bat_wh_drawn_e.text(chrome.i18n.getMessage('initialSetup_Wh_drawnValue', [(ANALOG.mWhdrawn / 1000).toFixed(capacity_drawn_decimals < 0 ? 0 : capacity_drawn_decimals)]));
bat_current_draw_e.text(chrome.i18n.getMessage('initialSetupCurrentDrawValue', [ANALOG.amperage.toFixed(2)]));
bat_power_draw_e.text(chrome.i18n.getMessage('initialSetupPowerDrawValue', [ANALOG.power.toFixed(2)]));
rssi_e.text(chrome.i18n.getMessage('initialSetupRSSIValue', [((ANALOG.rssi / 1023) * 100).toFixed(0)]));
}, 100, true);
function updateArminFailure() {

Loading…
Cancel
Save