mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-15 12:25:13 +03:00
Basic support for MSP2_INAV_MIXER frame
This commit is contained in:
parent
c4735d2690
commit
7fbf63b7fc
5 changed files with 57 additions and 6 deletions
12
js/fc.js
12
js/fc.js
|
@ -51,7 +51,8 @@ var CONFIG,
|
||||||
POSITION_ESTIMATOR,
|
POSITION_ESTIMATOR,
|
||||||
RTH_AND_LAND_CONFIG,
|
RTH_AND_LAND_CONFIG,
|
||||||
FW_CONFIG,
|
FW_CONFIG,
|
||||||
DEBUG_TRACE;
|
DEBUG_TRACE,
|
||||||
|
MIXER_CONFIG;
|
||||||
|
|
||||||
var FC = {
|
var FC = {
|
||||||
MAX_SERVO_RATE: 125,
|
MAX_SERVO_RATE: 125,
|
||||||
|
@ -162,6 +163,14 @@ var FC = {
|
||||||
SERVO_RULES = new ServoMixerRuleCollection();
|
SERVO_RULES = new ServoMixerRuleCollection();
|
||||||
MOTOR_RULES = new MotorMixerRuleCollection();
|
MOTOR_RULES = new MotorMixerRuleCollection();
|
||||||
|
|
||||||
|
MIXER_CONFIG = {
|
||||||
|
yawMotorDirection: 0,
|
||||||
|
yawJumpPreventionLimit: 0,
|
||||||
|
platformType: -1,
|
||||||
|
hasFlaps: false,
|
||||||
|
appliedMixerPreset: -1
|
||||||
|
},
|
||||||
|
|
||||||
SERIAL_CONFIG = {
|
SERIAL_CONFIG = {
|
||||||
ports: [],
|
ports: [],
|
||||||
|
|
||||||
|
@ -793,7 +802,6 @@ var FC = {
|
||||||
'JJRC H8_3D',
|
'JJRC H8_3D',
|
||||||
'iNav Reference protocol',
|
'iNav Reference protocol',
|
||||||
'eLeReS'
|
'eLeReS'
|
||||||
|
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
getSensorAlignments: function () {
|
getSensorAlignments: function () {
|
||||||
|
|
|
@ -169,4 +169,7 @@ var MSPCodes = {
|
||||||
MSPV2_INAV_RATE_PROFILE: 0x2007,
|
MSPV2_INAV_RATE_PROFILE: 0x2007,
|
||||||
MSPV2_INAV_SET_RATE_PROFILE: 0x2008,
|
MSPV2_INAV_SET_RATE_PROFILE: 0x2008,
|
||||||
MSPV2_INAV_AIR_SPEED: 0x2009,
|
MSPV2_INAV_AIR_SPEED: 0x2009,
|
||||||
|
|
||||||
|
MSP2_INAV_MIXER: 0x2010,
|
||||||
|
MSP2_INAV_SET_MIXER: 0x2011
|
||||||
};
|
};
|
||||||
|
|
|
@ -1294,6 +1294,19 @@ var mspHelper = (function (gui) {
|
||||||
case MSPCodes.MSP_WP_MISSION_LOAD:
|
case MSPCodes.MSP_WP_MISSION_LOAD:
|
||||||
console.log('Mission load');
|
console.log('Mission load');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MSPCodes.MSP2_INAV_MIXER:
|
||||||
|
MIXER_CONFIG.yawMotorDirection = data.getInt8(0);
|
||||||
|
MIXER_CONFIG.yawJumpPreventionLimit = data.getUint16(1, true);
|
||||||
|
MIXER_CONFIG.platformType = data.getInt8(3);
|
||||||
|
MIXER_CONFIG.hasFlaps = data.getInt8(4)
|
||||||
|
MIXER_CONFIG.appliedMixerPreset = data.getInt16(5, true);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MSPCodes.MSP2_INAV_SET_MIXER:
|
||||||
|
console.log('Mixer config saved');
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
console.log('Unknown code detected: ' + dataHandler.code);
|
console.log('Unknown code detected: ' + dataHandler.code);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1888,6 +1901,17 @@ var mspHelper = (function (gui) {
|
||||||
console.log(buffer);
|
console.log(buffer);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
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.platformType);
|
||||||
|
buffer.push(MIXER_CONFIG.hasFlaps);
|
||||||
|
buffer.push(lowByte(MIXER_CONFIG.appliedMixerPreset));
|
||||||
|
buffer.push(highByte(MIXER_CONFIG.appliedMixerPreset));
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -2893,7 +2917,7 @@ var mspHelper = (function (gui) {
|
||||||
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
|
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
|
||||||
MSP.send_message(MSPCodes.MSP2_COMMON_MOTOR_MIXER, false, false, callback);
|
MSP.send_message(MSPCodes.MSP2_COMMON_MOTOR_MIXER, false, false, callback);
|
||||||
} else {
|
} else {
|
||||||
onCompleteCallback();
|
callback();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2933,6 +2957,21 @@ var mspHelper = (function (gui) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
self.loadMixerConfig = function (callback) {
|
||||||
|
if (semver.gte(CONFIG.flightControllerVersion, "1.9.1")) {
|
||||||
|
MSP.send_message(MSPCodes.MSP2_INAV_MIXER, false, false, callback);
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
self.saveMixerConfig = function (callback) {
|
||||||
|
if (semver.gte(CONFIG.flightControllerVersion, "1.9.1")) {
|
||||||
|
MSP.send_message(MSPCodes.MSP2_INAV_SET_MIXER, mspHelper.crunch(MSPCodes.MSP2_INAV_SET_MIXER), false, callback);
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
})(GUI);
|
})(GUI);
|
||||||
|
|
|
@ -17,7 +17,8 @@ TABS.setup.initialize = function (callback) {
|
||||||
|
|
||||||
var loadChain = [
|
var loadChain = [
|
||||||
mspHelper.loadBfConfig,
|
mspHelper.loadBfConfig,
|
||||||
mspHelper.queryFcStatus
|
mspHelper.queryFcStatus,
|
||||||
|
mspHelper.loadMixerConfig
|
||||||
];
|
];
|
||||||
|
|
||||||
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
|
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue