mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-15 20:35:19 +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,
|
||||
RTH_AND_LAND_CONFIG,
|
||||
FW_CONFIG,
|
||||
DEBUG_TRACE;
|
||||
DEBUG_TRACE,
|
||||
MIXER_CONFIG;
|
||||
|
||||
var FC = {
|
||||
MAX_SERVO_RATE: 125,
|
||||
|
@ -162,6 +163,14 @@ var FC = {
|
|||
SERVO_RULES = new ServoMixerRuleCollection();
|
||||
MOTOR_RULES = new MotorMixerRuleCollection();
|
||||
|
||||
MIXER_CONFIG = {
|
||||
yawMotorDirection: 0,
|
||||
yawJumpPreventionLimit: 0,
|
||||
platformType: -1,
|
||||
hasFlaps: false,
|
||||
appliedMixerPreset: -1
|
||||
},
|
||||
|
||||
SERIAL_CONFIG = {
|
||||
ports: [],
|
||||
|
||||
|
@ -793,7 +802,6 @@ var FC = {
|
|||
'JJRC H8_3D',
|
||||
'iNav Reference protocol',
|
||||
'eLeReS'
|
||||
|
||||
];
|
||||
},
|
||||
getSensorAlignments: function () {
|
||||
|
|
|
@ -169,4 +169,7 @@ var MSPCodes = {
|
|||
MSPV2_INAV_RATE_PROFILE: 0x2007,
|
||||
MSPV2_INAV_SET_RATE_PROFILE: 0x2008,
|
||||
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:
|
||||
console.log('Mission load');
|
||||
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:
|
||||
console.log('Unknown code detected: ' + dataHandler.code);
|
||||
} else {
|
||||
|
@ -1888,6 +1901,17 @@ var mspHelper = (function (gui) {
|
|||
console.log(buffer);
|
||||
|
||||
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:
|
||||
return false;
|
||||
}
|
||||
|
@ -2893,7 +2917,7 @@ var mspHelper = (function (gui) {
|
|||
if (semver.gte(CONFIG.flightControllerVersion, "1.8.1")) {
|
||||
MSP.send_message(MSPCodes.MSP2_COMMON_MOTOR_MIXER, false, false, callback);
|
||||
} 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;
|
||||
})(GUI);
|
||||
|
|
|
@ -188,9 +188,9 @@ TABS.motors.initialize = function (callback) {
|
|||
|
||||
$motorsEnableTestMode.prop('checked', false);
|
||||
$motorsEnableTestMode.prop('disabled', true);
|
||||
|
||||
|
||||
update_model(BF_CONFIG.mixerConfiguration);
|
||||
|
||||
|
||||
// Always start with default/empty sensor data array, clean slate all
|
||||
initSensorData();
|
||||
|
||||
|
|
|
@ -17,7 +17,8 @@ TABS.setup.initialize = function (callback) {
|
|||
|
||||
var loadChain = [
|
||||
mspHelper.loadBfConfig,
|
||||
mspHelper.queryFcStatus
|
||||
mspHelper.queryFcStatus,
|
||||
mspHelper.loadMixerConfig
|
||||
];
|
||||
|
||||
if (semver.gte(CONFIG.flightControllerVersion, '1.8.1')) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue