mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-16 12:55:13 +03:00
MSP layer
This commit is contained in:
parent
0173efd8ba
commit
4f86dfa946
5 changed files with 1435 additions and 1365 deletions
14
js/fc.js
14
js/fc.js
|
@ -55,7 +55,8 @@ var CONFIG,
|
||||||
MIXER_CONFIG,
|
MIXER_CONFIG,
|
||||||
BATTERY_CONFIG,
|
BATTERY_CONFIG,
|
||||||
OUTPUT_MAPPING,
|
OUTPUT_MAPPING,
|
||||||
SETTINGS;
|
SETTINGS,
|
||||||
|
BRAKING_CONFIG;
|
||||||
|
|
||||||
var FC = {
|
var FC = {
|
||||||
MAX_SERVO_RATE: 125,
|
MAX_SERVO_RATE: 125,
|
||||||
|
@ -506,6 +507,17 @@ var FC = {
|
||||||
loiterRadius: null
|
loiterRadius: null
|
||||||
};
|
};
|
||||||
|
|
||||||
|
BRAKING_CONFIG = {
|
||||||
|
speedThreshold: null,
|
||||||
|
disengageSpeed: null,
|
||||||
|
timeout: null,
|
||||||
|
boostFactor: null,
|
||||||
|
boostTimeout: null,
|
||||||
|
boostSpeedThreshold: null,
|
||||||
|
boostDisengageSpeed: null,
|
||||||
|
bankAngle: null
|
||||||
|
}
|
||||||
|
|
||||||
RXFAIL_CONFIG = [];
|
RXFAIL_CONFIG = [];
|
||||||
|
|
||||||
OUTPUT_MAPPING = new OutputMappingCollection();
|
OUTPUT_MAPPING = new OutputMappingCollection();
|
||||||
|
|
|
@ -186,5 +186,8 @@ var MSPCodes = {
|
||||||
MSP2_INAV_OSD_PREFERENCES: 0x2016,
|
MSP2_INAV_OSD_PREFERENCES: 0x2016,
|
||||||
MSP2_INAV_OSD_SET_PREFERENCES: 0x2017,
|
MSP2_INAV_OSD_SET_PREFERENCES: 0x2017,
|
||||||
|
|
||||||
|
MSP2_INAV_MC_BRAKING: 0x200B,
|
||||||
|
MSP2_INAV_SET_MC_BRAKING: 0x200C,
|
||||||
|
|
||||||
MSP2_INAV_SELECT_BATTERY_PROFILE: 0x2018
|
MSP2_INAV_SELECT_BATTERY_PROFILE: 0x2018
|
||||||
};
|
};
|
||||||
|
|
|
@ -1401,6 +1401,22 @@ var mspHelper = (function (gui) {
|
||||||
for (i = 0; i < data.byteLength; ++i)
|
for (i = 0; i < data.byteLength; ++i)
|
||||||
OUTPUT_MAPPING.put(data.getUint8(i));
|
OUTPUT_MAPPING.put(data.getUint8(i));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MSPCodes.MSP2_INAV_MC_BRAKING:
|
||||||
|
BRAKING_CONFIG.speedThreshold = data.getUint16(0, true);
|
||||||
|
BRAKING_CONFIG.disengageSpeed = data.getUint16(2, true);
|
||||||
|
BRAKING_CONFIG.timeout = data.getUint16(4, true);
|
||||||
|
BRAKING_CONFIG.boostFactor = data.getInt8(6);
|
||||||
|
BRAKING_CONFIG.boostTimeout = data.getUint16(7, true);
|
||||||
|
BRAKING_CONFIG.boostSpeedThreshold = data.getUint16(9, true);
|
||||||
|
BRAKING_CONFIG.boostDisengageSpeed = data.getUint16(11, true);
|
||||||
|
BRAKING_CONFIG.bankAngle = data.getInt8(13);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MSPCodes.MSP2_INAV_SET_MC_BRAKING:
|
||||||
|
console.log('Braking config saved');
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
console.log('Unknown code detected: ' + dataHandler.code);
|
console.log('Unknown code detected: ' + dataHandler.code);
|
||||||
} else {
|
} else {
|
||||||
|
@ -2038,6 +2054,26 @@ var mspHelper = (function (gui) {
|
||||||
buffer.push(highByte(MIXER_CONFIG.appliedMixerPreset));
|
buffer.push(highByte(MIXER_CONFIG.appliedMixerPreset));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MSPCodes.MSP2_INAV_SET_MC_BRAKING:
|
||||||
|
buffer.push(lowByte(BRAKING_CONFIG.speedThreshold));
|
||||||
|
buffer.push(highByte(BRAKING_CONFIG.speedThreshold));
|
||||||
|
buffer.push(lowByte(BRAKING_CONFIG.disengageSpeed));
|
||||||
|
buffer.push(highByte(BRAKING_CONFIG.disengageSpeed));
|
||||||
|
buffer.push(lowByte(BRAKING_CONFIG.timeout));
|
||||||
|
buffer.push(highByte(BRAKING_CONFIG.timeout));
|
||||||
|
|
||||||
|
buffer.push(BRAKING_CONFIG.boostFactor);
|
||||||
|
|
||||||
|
buffer.push(lowByte(BRAKING_CONFIG.boostTimeout));
|
||||||
|
buffer.push(highByte(BRAKING_CONFIG.boostTimeout));
|
||||||
|
buffer.push(lowByte(BRAKING_CONFIG.boostSpeedThreshold));
|
||||||
|
buffer.push(highByte(BRAKING_CONFIG.boostSpeedThreshold));
|
||||||
|
buffer.push(lowByte(BRAKING_CONFIG.boostDisengageSpeed));
|
||||||
|
buffer.push(highByte(BRAKING_CONFIG.boostDisengageSpeed));
|
||||||
|
|
||||||
|
buffer.push(BRAKING_CONFIG.bankAngle);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -3146,6 +3182,22 @@ var mspHelper = (function (gui) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
self.loadBrakingConfig = function(callback) {
|
||||||
|
if (semver.gte(CONFIG.flightControllerVersion, "2.1.0")) {
|
||||||
|
MSP.send_message(MSPCodes.MSP2_INAV_MC_BRAKING, false, false, callback);
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
self.saveBrakingConfig = function(callback) {
|
||||||
|
if (semver.gte(CONFIG.flightControllerVersion, "2.1.0")) {
|
||||||
|
MSP.send_message(MSPCodes.MSP2_INAV_SET_MC_BRAKING, mspHelper.crunch(MSPCodes.MSP2_INAV_SET_MC_BRAKING), false, callback);
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
self.loadParameterGroups = function(callback) {
|
self.loadParameterGroups = function(callback) {
|
||||||
if (semver.gte(CONFIG.flightControllerVersion, "2.0.0")) {
|
if (semver.gte(CONFIG.flightControllerVersion, "2.0.0")) {
|
||||||
MSP.send_message(MSPCodes.MSP2_COMMON_PG_LIST, false, false, function (resp) {
|
MSP.send_message(MSPCodes.MSP2_COMMON_PG_LIST, false, false, function (resp) {
|
||||||
|
|
2727
package-lock.json
generated
2727
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -16,7 +16,8 @@ TABS.advanced_tuning.initialize = function (callback) {
|
||||||
mspHelper.loadNavPosholdConfig,
|
mspHelper.loadNavPosholdConfig,
|
||||||
mspHelper.loadPositionEstimationConfig,
|
mspHelper.loadPositionEstimationConfig,
|
||||||
mspHelper.loadRthAndLandConfig,
|
mspHelper.loadRthAndLandConfig,
|
||||||
mspHelper.loadFwConfig
|
mspHelper.loadFwConfig,
|
||||||
|
mspHelper.loadBrakingConfig
|
||||||
]);
|
]);
|
||||||
loadChainer.setExitPoint(loadHtml);
|
loadChainer.setExitPoint(loadHtml);
|
||||||
loadChainer.execute();
|
loadChainer.execute();
|
||||||
|
@ -26,6 +27,7 @@ TABS.advanced_tuning.initialize = function (callback) {
|
||||||
mspHelper.savePositionEstimationConfig,
|
mspHelper.savePositionEstimationConfig,
|
||||||
mspHelper.saveRthAndLandConfig,
|
mspHelper.saveRthAndLandConfig,
|
||||||
mspHelper.saveFwConfig,
|
mspHelper.saveFwConfig,
|
||||||
|
mspHelper.saveBrakingConfig,
|
||||||
mspHelper.saveToEeprom
|
mspHelper.saveToEeprom
|
||||||
]);
|
]);
|
||||||
saveChainer.setExitPoint(reboot);
|
saveChainer.setExitPoint(reboot);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue