mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-15 04:15:28 +03:00
MSP_FW_CONFIG frame support
This commit is contained in:
parent
a86c3138d5
commit
0777ef391c
8 changed files with 234 additions and 5 deletions
|
@ -7426,6 +7426,8 @@ var MSPCodes = {
|
|||
|
||||
MSP_RTH_AND_LAND_CONFIG: 21,
|
||||
MSP_SET_RTH_AND_LAND_CONFIG: 22,
|
||||
MSP_FW_CONFIG: 23,
|
||||
MSP_SET_FW_CONFIG: 24,
|
||||
|
||||
// MSP commands for Cleanflight original features
|
||||
MSP_CHANNEL_FORWARDING: 32,
|
||||
|
@ -8509,6 +8511,21 @@ var mspHelper = (function (gui) {
|
|||
console.log('RTH_AND_LAND_CONFIG saved');
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_FW_CONFIG:
|
||||
FW_CONFIG.cruiseThrottle = data.getUint16(0, true);
|
||||
FW_CONFIG.minThrottle = data.getUint16(2, true);
|
||||
FW_CONFIG.maxThrottle = data.getUint16(4, true);
|
||||
FW_CONFIG.maxBankAngle = data.getUint8(6);
|
||||
FW_CONFIG.maxClimbAngle = data.getUint8(7);
|
||||
FW_CONFIG.maxDiveAngle = data.getUint8(8);
|
||||
FW_CONFIG.pitchToThrottle = data.getUint8(9);
|
||||
FW_CONFIG.loiterRadius = data.getUint16(10, true);
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_FW_CONFIG:
|
||||
console.log('FW_CONFIG saved');
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_MODE_RANGE:
|
||||
console.log('Mode range saved');
|
||||
break;
|
||||
|
@ -8890,6 +8907,27 @@ var mspHelper = (function (gui) {
|
|||
buffer.push(highByte(RTH_AND_LAND_CONFIG.emergencyDescentRate));
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_FW_CONFIG:
|
||||
|
||||
buffer.push(lowByte(FW_CONFIG.cruiseThrottle));
|
||||
buffer.push(highByte(FW_CONFIG.cruiseThrottle));
|
||||
|
||||
buffer.push(lowByte(FW_CONFIG.minThrottle));
|
||||
buffer.push(highByte(FW_CONFIG.minThrottle));
|
||||
|
||||
buffer.push(lowByte(FW_CONFIG.maxThrottle));
|
||||
buffer.push(highByte(FW_CONFIG.maxThrottle));
|
||||
|
||||
buffer.push(FW_CONFIG.maxBankAngle);
|
||||
buffer.push(FW_CONFIG.maxClimbAngle);
|
||||
buffer.push(FW_CONFIG.maxDiveAngle);
|
||||
buffer.push(FW_CONFIG.pitchToThrottle);
|
||||
|
||||
buffer.push(lowByte(FW_CONFIG.loiterRadius));
|
||||
buffer.push(highByte(FW_CONFIG.loiterRadius));
|
||||
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_FILTER_CONFIG:
|
||||
buffer.push(FILTER_CONFIG.gyroSoftLpfHz);
|
||||
|
||||
|
@ -9656,6 +9694,22 @@ var mspHelper = (function (gui) {
|
|||
}
|
||||
};
|
||||
|
||||
self.loadFwConfig = function (callback) {
|
||||
if (semver.gte(CONFIG.flightControllerVersion, "1.7.1")) {
|
||||
MSP.send_message(MSPCodes.MSP_FW_CONFIG, false, false, callback);
|
||||
} else {
|
||||
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();
|
||||
}
|
||||
};
|
||||
|
||||
return self;
|
||||
})(GUI);
|
||||
|
||||
|
@ -10928,7 +10982,8 @@ var CONFIG,
|
|||
SENSOR_CONFIG,
|
||||
NAV_POSHOLD,
|
||||
POSITION_ESTIMATOR,
|
||||
RTH_AND_LAND_CONFIG;
|
||||
RTH_AND_LAND_CONFIG,
|
||||
FW_CONFIG;
|
||||
|
||||
var FC = {
|
||||
isRatesInDps: function () {
|
||||
|
@ -11257,6 +11312,17 @@ var FC = {
|
|||
failsafe_procedure: 0
|
||||
};
|
||||
|
||||
FW_CONFIG = {
|
||||
cruiseThrottle: null,
|
||||
minThrottle: null,
|
||||
maxThrottle: null,
|
||||
maxBankAngle: null,
|
||||
maxClimbAngle: null,
|
||||
maxDiveAngle: null,
|
||||
pitchToThrottle: null,
|
||||
loiterRadius: null
|
||||
};
|
||||
|
||||
RXFAIL_CONFIG = [];
|
||||
},
|
||||
getFeatures: function () {
|
||||
|
@ -14368,7 +14434,8 @@ TABS.advanced_tuning.initialize = function (callback) {
|
|||
loadChainer.setChain([
|
||||
mspHelper.loadNavPosholdConfig,
|
||||
mspHelper.loadPositionEstimationConfig,
|
||||
mspHelper.loadRthAndLandConfig
|
||||
mspHelper.loadRthAndLandConfig,
|
||||
mspHelper.loadFwConfig
|
||||
]);
|
||||
loadChainer.setExitPoint(loadHtml);
|
||||
loadChainer.execute();
|
||||
|
@ -14377,6 +14444,7 @@ TABS.advanced_tuning.initialize = function (callback) {
|
|||
mspHelper.saveNavPosholdConfig,
|
||||
mspHelper.savePositionEstimationConfig,
|
||||
mspHelper.saveRthAndLandConfig,
|
||||
mspHelper.saveFwConfig,
|
||||
mspHelper.saveToEeprom
|
||||
]);
|
||||
saveChainer.setExitPoint(reboot);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue