mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-25 17:25:14 +03:00
show only configured servos
This commit is contained in:
parent
8e2768377c
commit
6d40d8e020
4 changed files with 33 additions and 5 deletions
|
@ -2548,5 +2548,8 @@
|
||||||
},
|
},
|
||||||
"confirm_reset_settings": {
|
"confirm_reset_settings": {
|
||||||
"message": "Do you really want to reset all settings?\nATTENTION: All settings are lost! You have to setup the whole aircraft after this operation!"
|
"message": "Do you really want to reset all settings?\nATTENTION: All settings are lost! You have to setup the whole aircraft after this operation!"
|
||||||
|
},
|
||||||
|
"servoTableInfo": {
|
||||||
|
"message": "This table shows only servos configured using servo mixer"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,5 +58,19 @@ var ServoMixerRuleCollection = function () {
|
||||||
return data.length < self.getServoRulesCount();
|
return data.length < self.getServoRulesCount();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
self.isServoConfigured = function(servoId) {
|
||||||
|
|
||||||
|
for (let ruleIndex in data) {
|
||||||
|
if (data.hasOwnProperty(ruleIndex)) {
|
||||||
|
let rule = data[ruleIndex];
|
||||||
|
|
||||||
|
if (rule.getTarget() == servoId && rule.isUsed()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
};
|
};
|
|
@ -5,6 +5,7 @@
|
||||||
<a id="button-documentation" href="" target="_blank"></a>
|
<a id="button-documentation" href="" target="_blank"></a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
<p data-i18n="servoTableInfo" class="requires-v2_0"></p>
|
||||||
<!-- <div class="title" data-i18n="servosChangeDirection"></div> -->
|
<!-- <div class="title" data-i18n="servosChangeDirection"></div> -->
|
||||||
<table id="servo-config-table" class="fields">
|
<table id="servo-config-table" class="fields">
|
||||||
<tr class="main">
|
<tr class="main">
|
||||||
|
|
|
@ -52,6 +52,9 @@ TABS.servos.initialize = function (callback) {
|
||||||
servoHeader = '';
|
servoHeader = '';
|
||||||
|
|
||||||
if (semver.lt(CONFIG.flightControllerVersion, "2.0.0")) {
|
if (semver.lt(CONFIG.flightControllerVersion, "2.0.0")) {
|
||||||
|
|
||||||
|
$('.requires-v2_0').hide();
|
||||||
|
|
||||||
for (i = 0; i < RC.active_channels - 4; i++) {
|
for (i = 0; i < RC.active_channels - 4; i++) {
|
||||||
servoHeader = servoHeader + '<th class="short">CH' + (i + 5) + '</th>';
|
servoHeader = servoHeader + '<th class="short">CH' + (i + 5) + '</th>';
|
||||||
}
|
}
|
||||||
|
@ -88,29 +91,36 @@ TABS.servos.initialize = function (callback) {
|
||||||
</tr> \
|
</tr> \
|
||||||
');
|
');
|
||||||
|
|
||||||
|
let $currentRow = $servoConfigTable.find('tr:last');
|
||||||
|
|
||||||
//This routine is pre 2.0 only
|
//This routine is pre 2.0 only
|
||||||
if (SERVO_CONFIG[obj].indexOfChannelToForward >= 0) {
|
if (SERVO_CONFIG[obj].indexOfChannelToForward >= 0) {
|
||||||
$servoConfigTable.find('tr:last td.channel input').eq(SERVO_CONFIG[obj].indexOfChannelToForward).prop('checked', true);
|
$currentRow.find('td.channel input').eq(SERVO_CONFIG[obj].indexOfChannelToForward).prop('checked', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// adding select box and generating options
|
// adding select box and generating options
|
||||||
$servoConfigTable.find('tr:last td.rate').append(
|
$currentRow.find('td.rate').append(
|
||||||
'<input class="rate-input" type="number" min="' + FC.MIN_SERVO_RATE + '" max="' + FC.MAX_SERVO_RATE + '" value="' + Math.abs(SERVO_CONFIG[obj].rate) + '" />'
|
'<input class="rate-input" type="number" min="' + FC.MIN_SERVO_RATE + '" max="' + FC.MAX_SERVO_RATE + '" value="' + Math.abs(SERVO_CONFIG[obj].rate) + '" />'
|
||||||
);
|
);
|
||||||
|
|
||||||
$servoConfigTable.find('tr:last td.reverse').append(
|
$currentRow.find('td.reverse').append(
|
||||||
'<input type="checkbox" class="reverse-input togglemedium" ' + (SERVO_CONFIG[obj].rate < 0 ? ' checked ' : '') + '/>'
|
'<input type="checkbox" class="reverse-input togglemedium" ' + (SERVO_CONFIG[obj].rate < 0 ? ' checked ' : '') + '/>'
|
||||||
);
|
);
|
||||||
|
|
||||||
$servoConfigTable.find('tr:last').data('info', { 'obj': obj });
|
$currentRow.data('info', { 'obj': obj });
|
||||||
|
|
||||||
if (semver.lt(CONFIG.flightControllerVersion, "2.0.0")) {
|
if (semver.lt(CONFIG.flightControllerVersion, "2.0.0")) {
|
||||||
// only one checkbox for indicating a channel to forward can be selected at a time, perhaps a radio group would be best here.
|
// only one checkbox for indicating a channel to forward can be selected at a time, perhaps a radio group would be best here.
|
||||||
$servoConfigTable.find('tr:last td.channel input').click(function () {
|
$currentRow.find('td.channel input').click(function () {
|
||||||
if ($(this).is(':checked')) {
|
if ($(this).is(':checked')) {
|
||||||
$(this).parent().parent().find('.channel input').not($(this)).prop('checked', false);
|
$(this).parent().parent().find('.channel input').not($(this)).prop('checked', false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
//For 2.0 and above hide a row when servo is not configured
|
||||||
|
if (!SERVO_RULES.isServoConfigured(obj)) {
|
||||||
|
$servoConfigTable.find('tr:last').hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue