mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-14 11:59:51 +03:00
Override and save timers
This commit is contained in:
parent
372dcae919
commit
8094e9d4ff
3 changed files with 38 additions and 24 deletions
|
@ -1486,7 +1486,6 @@ var mspHelper = (function (gui) {
|
|||
'timerId': i,
|
||||
'usageFlags': data.getUint8(i)});
|
||||
break;
|
||||
|
||||
case MSPCodes.MSPV2_INAV_OUTPUT_MAPPING_EXT:
|
||||
OUTPUT_MAPPING.flush();
|
||||
for (i = 0; i < data.byteLength; i += 2) {
|
||||
|
@ -1500,7 +1499,7 @@ var mspHelper = (function (gui) {
|
|||
}
|
||||
break;
|
||||
|
||||
case MSPCodes.MSPV2_INAV_TIMER_OUTPUT_MODE:
|
||||
case MSPCodes.MSP2_INAV_TIMER_OUTPUT_MODE:
|
||||
if(data.byteLength > 2) {
|
||||
OUTPUT_MAPPING.flushTimerOverrides();
|
||||
}
|
||||
|
@ -2851,17 +2850,16 @@ var mspHelper = (function (gui) {
|
|||
};
|
||||
|
||||
self.loadTimerOutputModes = function(callback) {
|
||||
MSP.send_message(MSPCodes.MSPV2_INAV_TIMER_OUTPUT_MODE, false, false, callback);
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_TIMER_OUTPUT_MODE, false, false, callback);
|
||||
}
|
||||
|
||||
self.sendTimerOutputModes = function(callback) {
|
||||
var nextFunction = send_next_output_mode;
|
||||
|
||||
var idIndex = 0;
|
||||
|
||||
var overrideIds = OUTPUT_MAPPING.getTimerOverrideIds();
|
||||
var overrideIds = OUTPUT_MAPPING.getUsedTimerIds();
|
||||
|
||||
if (MODE_RANGES.length == 0) {
|
||||
if (overrideIds.length == 0) {
|
||||
onCompleteCallback();
|
||||
} else {
|
||||
send_next_output_mode();
|
||||
|
@ -2871,7 +2869,7 @@ var mspHelper = (function (gui) {
|
|||
|
||||
var timerId = overrideIds[idIndex];
|
||||
|
||||
var ouputMode = OUTPUT_MAPPING.getTimerOverride(timerId);
|
||||
var outputMode = OUTPUT_MAPPING.getTimerOverride(timerId);
|
||||
|
||||
var buffer = [];
|
||||
buffer.push(timerId);
|
||||
|
@ -2880,7 +2878,7 @@ var mspHelper = (function (gui) {
|
|||
// prepare for next iteration
|
||||
idIndex++;
|
||||
if (idIndex == overrideIds.length) {
|
||||
nextFunction = onCompleteCallback;
|
||||
nextFunction = callback;
|
||||
|
||||
}
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_SET_TIMER_OUTPUT_MODE, buffer, false, nextFunction);
|
||||
|
|
|
@ -20,9 +20,9 @@ let OutputMappingCollection = function () {
|
|||
const OUTPUT_TYPE_MOTOR = 0;
|
||||
const OUTPUT_TYPE_SERVO = 1;
|
||||
|
||||
const TIMER_OUTPUT_MODE_AUTO = 0;
|
||||
const TIMER_OUTPUT_MODE_MOTORS = 1;
|
||||
const TIMER_OUTPUT_MODE_SERVOS = 2;
|
||||
self.TIMER_OUTPUT_MODE_AUTO = 0;
|
||||
self.TIMER_OUTPUT_MODE_MOTORS = 1;
|
||||
self.TIMER_OUTPUT_MODE_SERVOS = 2;
|
||||
|
||||
self.flushTimerOverrides = function() {
|
||||
timerOverrides = {};
|
||||
|
@ -33,11 +33,19 @@ let OutputMappingCollection = function () {
|
|||
}
|
||||
|
||||
self.getTimerOverride = function (timer) {
|
||||
timerOverrides[timer] = outputMode;
|
||||
return timerOverrides[timer];
|
||||
}
|
||||
|
||||
self.getTimerOverrideIds = function (timer) {
|
||||
return Object.keys(timerOverrides).sort((a, b) => a - b);
|
||||
self.getUsedTimerIds = function (timer) {
|
||||
let used = {};
|
||||
let outputCount = self.getOutputCount();
|
||||
|
||||
for (let i = 0; i < outputCount; ++i) {
|
||||
let timerId = self.getTimerId(i);
|
||||
used[timerId] = 1;
|
||||
}
|
||||
|
||||
return Object.keys(used).sort((a, b) => a - b);
|
||||
}
|
||||
|
||||
function getTimerMap(isMR, motors, servos) {
|
||||
|
|
|
@ -84,30 +84,40 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
|
|||
|
||||
}
|
||||
|
||||
function updateTimerOverride() {
|
||||
let timers = OUTPUT_MAPPING.getUsedTimerIds();
|
||||
|
||||
for(let i =0; i < timers.length;++i) {
|
||||
let timerId = timers[i];
|
||||
$select = $('#timer-output-' + timerId);
|
||||
if(!$select) {
|
||||
continue;
|
||||
}
|
||||
OUTPUT_MAPPING.setTimerOverride(timerId, $select.val());
|
||||
}
|
||||
}
|
||||
|
||||
function renderTimerOverride() {
|
||||
let outputCount = OUTPUT_MAPPING.getOutputCount(),
|
||||
$container = $('#timerOutputsList'), timers = {};
|
||||
|
||||
|
||||
let usedTimers = OUTPUT_MAPPING.getTimerOverrideIds();
|
||||
let usedTimers = OUTPUT_MAPPING.getUsedTimerIds();
|
||||
|
||||
for (t of usedTimers) {
|
||||
var usageMode = OUTPUT_MAPPING.getTimerOverride(t);
|
||||
console.log("timer settings: " + t);
|
||||
/*
|
||||
$container.append(
|
||||
'<div class="select">' +
|
||||
'<select id="timer-output-' + t + '">' +
|
||||
'<option value=' + TIMER_OUTPUT_MODE_AUTO + '' + (usageMode == TIMER_OUTPUT_MODE_AUTO ? ' selected' : '')+ '>AUTO</option>'+
|
||||
'<option value=' + TIMER_OUTPUT_MODE_MOTORS + '' + (usageMode == TIMER_OUTPUT_MODE_MOTORS ? ' selected' : '')+ '>MOTORS</option>'+
|
||||
'<option value=' + TIMER_OUTPUT_MODE_SERVOS + '' + (usageMode == TIMER_OUTPUT_MODE_SERVOS ? ' selected' : '')+ '>SERVOS</option>'+
|
||||
'<option value=' + OUTPUT_MAPPING.TIMER_OUTPUT_MODE_AUTO + '' + (usageMode == OUTPUT_MAPPING.TIMER_OUTPUT_MODE_AUTO ? ' selected' : '')+ '>AUTO</option>'+
|
||||
'<option value=' + OUTPUT_MAPPING.TIMER_OUTPUT_MODE_MOTORS + '' + (usageMode == OUTPUT_MAPPING.TIMER_OUTPUT_MODE_MOTORS ? ' selected' : '')+ '>MOTORS</option>'+
|
||||
'<option value=' + OUTPUT_MAPPING.TIMER_OUTPUT_MODE_SERVOS + '' + (usageMode == OUTPUT_MAPPING.TIMER_OUTPUT_MODE_SERVOS ? ' selected' : '')+ '>SERVOS</option>'+
|
||||
'</select>' +
|
||||
'<label for="timer-output-' + t + '">' +
|
||||
'<span> T' + t + '</span>' +
|
||||
'</label>' +
|
||||
'</div>'
|
||||
);
|
||||
*/
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -468,9 +478,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
|
|||
MOTOR_RULES.cleanup();
|
||||
MOTOR_RULES.inflate();
|
||||
|
||||
for (timerId OUTPUT_MAPPING.getTimerOverrideIds()) {
|
||||
|
||||
}
|
||||
updateTimerOverride();
|
||||
|
||||
saveChainer.execute();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue