mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-18 22:05:12 +03:00
Merge branch 'release_7.0.0' of https://github.com/iNavFlight/inav-configurator into FW-Autoland
This commit is contained in:
commit
6ce6074dfe
109 changed files with 44035 additions and 34292 deletions
|
@ -68,6 +68,7 @@ var mspHelper = (function (gui) {
|
|||
color;
|
||||
if (!dataHandler.unsupported || dataHandler.unsupported) switch (dataHandler.code) {
|
||||
case MSPCodes.MSPV2_INAV_STATUS:
|
||||
let profile_changed = false;
|
||||
CONFIG.cycleTime = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
CONFIG.i2cError = data.getUint16(offset, true);
|
||||
|
@ -76,13 +77,28 @@ var mspHelper = (function (gui) {
|
|||
offset += 2;
|
||||
CONFIG.cpuload = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
|
||||
profile_byte = data.getUint8(offset++)
|
||||
CONFIG.profile = profile_byte & 0x0F;
|
||||
CONFIG.battery_profile = (profile_byte & 0xF0) >> 4;
|
||||
let profile = profile_byte & 0x0F;
|
||||
profile_changed |= (profile !== CONFIG.profile) && (CONFIG.profile !==-1);
|
||||
CONFIG.profile = profile;
|
||||
|
||||
let battery_profile = (profile_byte & 0xF0) >> 4;
|
||||
profile_changed |= (battery_profile !== CONFIG.battery_profile) && (CONFIG.battery_profile !==-1);
|
||||
CONFIG.battery_profile = battery_profile;
|
||||
|
||||
CONFIG.armingFlags = data.getUint32(offset, true);
|
||||
offset += 4;
|
||||
|
||||
//As there are 8 bytes for mspBoxModeFlags (number of bytes is actually variable)
|
||||
//read mixer profile as the last byte in the the message
|
||||
profile_byte = data.getUint8(dataHandler.message_length_expected - 1);
|
||||
let mixer_profile = profile_byte & 0x0F;
|
||||
profile_changed |= (mixer_profile !== CONFIG.mixer_profile) && (CONFIG.mixer_profile !==-1);
|
||||
CONFIG.mixer_profile = mixer_profile;
|
||||
|
||||
gui.updateStatusBar();
|
||||
gui.updateProfileChange();
|
||||
gui.updateProfileChange(profile_changed);
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_ACTIVEBOXES:
|
||||
|
@ -1453,7 +1469,8 @@ var mspHelper = (function (gui) {
|
|||
break;
|
||||
case MSPCodes.MSP2_INAV_MIXER:
|
||||
MIXER_CONFIG.yawMotorDirection = data.getInt8(0);
|
||||
MIXER_CONFIG.yawJumpPreventionLimit = data.getUint16(1, true);
|
||||
MIXER_CONFIG.yawJumpPreventionLimit = data.getUint8(1, true);
|
||||
MIXER_CONFIG.motorStopOnLow = data.getUint8(2, true);
|
||||
MIXER_CONFIG.platformType = data.getInt8(3);
|
||||
MIXER_CONFIG.hasFlaps = data.getInt8(4);
|
||||
MIXER_CONFIG.appliedMixerPreset = data.getInt16(5, true);
|
||||
|
@ -1482,7 +1499,32 @@ var mspHelper = (function (gui) {
|
|||
case MSPCodes.MSPV2_INAV_OUTPUT_MAPPING:
|
||||
OUTPUT_MAPPING.flush();
|
||||
for (i = 0; i < data.byteLength; ++i)
|
||||
OUTPUT_MAPPING.put(data.getUint8(i));
|
||||
OUTPUT_MAPPING.put({
|
||||
'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) {
|
||||
timerId = data.getUint8(i);
|
||||
usageFlags = data.getUint8(i + 1);
|
||||
OUTPUT_MAPPING.put(
|
||||
{
|
||||
'timerId': timerId,
|
||||
'usageFlags': usageFlags
|
||||
});
|
||||
}
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP2_INAV_TIMER_OUTPUT_MODE:
|
||||
if(data.byteLength > 2) {
|
||||
OUTPUT_MAPPING.flushTimerOverrides();
|
||||
}
|
||||
for (i = 0; i < data.byteLength; i += 2) {
|
||||
timerId = data.getUint8(i);
|
||||
outputMode = data.getUint8(i + 1);
|
||||
OUTPUT_MAPPING.setTimerOverride(timerId, outputMode);
|
||||
}
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP2_INAV_MC_BRAKING:
|
||||
|
@ -1552,6 +1594,35 @@ var mspHelper = (function (gui) {
|
|||
console.log('FW Approach saved');
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP2_INAV_RATE_DYNAMICS:
|
||||
RATE_DYNAMICS.sensitivityCenter = data.getUint8(0);
|
||||
RATE_DYNAMICS.sensitivityEnd = data.getUint8(1);
|
||||
RATE_DYNAMICS.correctionCenter = data.getUint8(2);
|
||||
RATE_DYNAMICS.correctionEnd = data.getUint8(3);
|
||||
RATE_DYNAMICS.weightCenter = data.getUint8(4);
|
||||
RATE_DYNAMICS.weightEnd = data.getUint8(5);
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP2_INAV_SET_RATE_DYNAMICS:
|
||||
console.log('Rate dynamics saved');
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP2_INAV_EZ_TUNE:
|
||||
EZ_TUNE.enabled = data.getUint8(0);
|
||||
EZ_TUNE.filterHz = data.getUint16(1, true);
|
||||
EZ_TUNE.axisRatio = data.getUint8(3);
|
||||
EZ_TUNE.response = data.getUint8(4);
|
||||
EZ_TUNE.damping = data.getUint8(5);
|
||||
EZ_TUNE.stability = data.getUint8(6);
|
||||
EZ_TUNE.aggressiveness = data.getUint8(7);
|
||||
EZ_TUNE.rate = data.getUint8(8);
|
||||
EZ_TUNE.expo = data.getUint8(9);
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP2_INAV_EZ_TUNE_SET:
|
||||
console.log('EzTune settings saved');
|
||||
break;
|
||||
|
||||
default:
|
||||
console.log('Unknown code detected: ' + dataHandler.code);
|
||||
} else {
|
||||
|
@ -2149,8 +2220,8 @@ var mspHelper = (function (gui) {
|
|||
|
||||
case MSPCodes.MSP2_INAV_SET_MIXER:
|
||||
buffer.push(MIXER_CONFIG.yawMotorDirection);
|
||||
buffer.push(lowByte(MIXER_CONFIG.yawJumpPreventionLimit));
|
||||
buffer.push(highByte(MIXER_CONFIG.yawJumpPreventionLimit));
|
||||
buffer.push(MIXER_CONFIG.yawJumpPreventionLimit);
|
||||
buffer.push(MIXER_CONFIG.motorStopOnLow);
|
||||
buffer.push(MIXER_CONFIG.platformType);
|
||||
buffer.push(MIXER_CONFIG.hasFlaps);
|
||||
buffer.push(lowByte(MIXER_CONFIG.appliedMixerPreset));
|
||||
|
@ -2179,6 +2250,31 @@ var mspHelper = (function (gui) {
|
|||
buffer.push(BRAKING_CONFIG.bankAngle);
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP2_INAV_SET_RATE_DYNAMICS:
|
||||
buffer.push(RATE_DYNAMICS.sensitivityCenter);
|
||||
buffer.push(RATE_DYNAMICS.sensitivityEnd);
|
||||
buffer.push(RATE_DYNAMICS.correctionCenter);
|
||||
buffer.push(RATE_DYNAMICS.correctionEnd);
|
||||
buffer.push(RATE_DYNAMICS.weightCenter);
|
||||
buffer.push(RATE_DYNAMICS.weightEnd);
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP2_INAV_EZ_TUNE_SET:
|
||||
|
||||
buffer.push(EZ_TUNE.enabled);
|
||||
buffer.push(lowByte(EZ_TUNE.filterHz));
|
||||
buffer.push(highByte(EZ_TUNE.filterHz));
|
||||
buffer.push(EZ_TUNE.axisRatio);
|
||||
buffer.push(EZ_TUNE.response);
|
||||
buffer.push(EZ_TUNE.damping);
|
||||
buffer.push(EZ_TUNE.stability);
|
||||
buffer.push(EZ_TUNE.aggressiveness);
|
||||
buffer.push(EZ_TUNE.rate);
|
||||
buffer.push(EZ_TUNE.expo);
|
||||
console.log(buffer);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -2840,6 +2936,47 @@ var mspHelper = (function (gui) {
|
|||
MSP.send_message(MSPCodes.MSPV2_INAV_OUTPUT_MAPPING, false, false, callback);
|
||||
};
|
||||
|
||||
self.loadOutputMappingExt = function (callback) {
|
||||
MSP.send_message(MSPCodes.MSPV2_INAV_OUTPUT_MAPPING_EXT, false, false, callback);
|
||||
};
|
||||
|
||||
self.loadTimerOutputModes = function(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.getUsedTimerIds();
|
||||
|
||||
if (overrideIds.length == 0) {
|
||||
onCompleteCallback();
|
||||
} else {
|
||||
send_next_output_mode();
|
||||
}
|
||||
|
||||
function send_next_output_mode() {
|
||||
|
||||
var timerId = overrideIds[idIndex];
|
||||
|
||||
var outputMode = OUTPUT_MAPPING.getTimerOverride(timerId);
|
||||
|
||||
var buffer = [];
|
||||
buffer.push(timerId);
|
||||
buffer.push(outputMode);
|
||||
|
||||
// prepare for next iteration
|
||||
idIndex++;
|
||||
if (idIndex == overrideIds.length) {
|
||||
nextFunction = callback;
|
||||
|
||||
}
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_SET_TIMER_OUTPUT_MODE, buffer, false, nextFunction);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
self.loadBatteryConfig = function (callback) {
|
||||
MSP.send_message(MSPCodes.MSPV2_BATTERY_CONFIG, false, false, callback);
|
||||
};
|
||||
|
@ -3023,7 +3160,7 @@ var mspHelper = (function (gui) {
|
|||
if (waypointId < MISSION_PLANNER.getCountBusyPoints()) {
|
||||
MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, loadWaypoint);
|
||||
} else {
|
||||
GUI.log('Receive time: ' + (new Date().getTime() - startTime) + 'ms');
|
||||
GUI.log(chrome.i18n.getMessage('ReceiveTime') + (new Date().getTime() - startTime) + 'ms');
|
||||
MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, callback);
|
||||
}
|
||||
};
|
||||
|
@ -3045,7 +3182,7 @@ var mspHelper = (function (gui) {
|
|||
};
|
||||
|
||||
function endMission() {
|
||||
GUI.log('Send time: ' + (new Date().getTime() - startTime) + 'ms');
|
||||
GUI.log(chrome.i18n.getMessage('SendTime') + (new Date().getTime() - startTime) + 'ms');
|
||||
MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback);
|
||||
}
|
||||
};
|
||||
|
@ -3363,6 +3500,22 @@ var mspHelper = (function (gui) {
|
|||
MSP.send_message(MSPCodes.MSP2_INAV_SET_MC_BRAKING, mspHelper.crunch(MSPCodes.MSP2_INAV_SET_MC_BRAKING), false, callback);
|
||||
};
|
||||
|
||||
self.loadRateDynamics = function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_RATE_DYNAMICS, false, false, callback);
|
||||
}
|
||||
|
||||
self.saveRateDynamics = function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_SET_RATE_DYNAMICS, mspHelper.crunch(MSPCodes.MSP2_INAV_SET_RATE_DYNAMICS), false, callback);
|
||||
}
|
||||
|
||||
self.loadEzTune = function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_EZ_TUNE, false, false, callback);
|
||||
}
|
||||
|
||||
self.saveEzTune = function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_EZ_TUNE_SET, mspHelper.crunch(MSPCodes.MSP2_INAV_EZ_TUNE_SET), false, callback);
|
||||
}
|
||||
|
||||
self.loadParameterGroups = function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP2_COMMON_PG_LIST, false, false, function (resp) {
|
||||
var groups = [];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue