mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-24 16:55:22 +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
14
js/fc.js
14
js/fc.js
|
@ -45,7 +45,8 @@ var CONFIG,
|
|||
SENSOR_CONFIG,
|
||||
NAV_POSHOLD,
|
||||
POSITION_ESTIMATOR,
|
||||
RTH_AND_LAND_CONFIG;
|
||||
RTH_AND_LAND_CONFIG,
|
||||
FW_CONFIG;
|
||||
|
||||
var FC = {
|
||||
isRatesInDps: function () {
|
||||
|
@ -374,6 +375,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 () {
|
||||
|
|
|
@ -18,6 +18,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,
|
||||
|
|
|
@ -958,6 +958,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;
|
||||
|
@ -1339,6 +1354,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);
|
||||
|
||||
|
@ -2105,5 +2141,21 @@ 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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue