1
0
Fork 0
mirror of https://github.com/iNavFlight/inav-configurator.git synced 2025-07-19 14:25:13 +03:00

1.7 family removed

This commit is contained in:
Pawel Spychalski (DzikuVx) 2019-02-26 09:12:04 +01:00
parent bb587d565a
commit 97c622fbb1
11 changed files with 172 additions and 293 deletions

View file

@ -576,11 +576,9 @@ 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(
@ -697,22 +695,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 +759,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 +776,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 +1043,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 {

View file

@ -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:
@ -1702,12 +1690,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 +1705,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:
@ -2897,35 +2879,19 @@ var mspHelper = (function (gui) {
};
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) {
@ -3117,31 +3083,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) {

View file

@ -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>

View file

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

View file

@ -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>

View file

@ -736,12 +736,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 {

View file

@ -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>

View file

@ -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;

View file

@ -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')
},
{
@ -607,7 +603,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 +618,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 +628,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 +641,6 @@ OSD.constants = {
{
name: 'AIR_SPEED',
id: 27,
min_version: '1.7.3',
enabled: function() {
return SENSOR_CONFIG.pitot != 0;
},
@ -666,7 +658,6 @@ OSD.constants = {
{
name: 'RTC_TIME',
id: 29,
min_version: '1.7.4',
preview: FONT.symbol(SYM.CLOCK) + '13:37'
},
]
@ -852,7 +843,6 @@ OSD.constants = {
{
name: 'ONTIME_FLYTIME',
id: 28,
min_version: '1.7.4',
preview: FONT.symbol(SYM.FLY_M) + '04:11'
},
{
@ -939,7 +929,6 @@ OSD.constants = {
{
name: 'EFFICIENCY_MAH',
id: 35,
min_version: '1.7.4',
preview: "123" + FONT.symbol(SYM.MAH_KM_0) + FONT.symbol(SYM.MAH_KM_1)
},
{
@ -1054,7 +1043,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 +1619,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

View file

@ -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);

View file

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