mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-16 04:45:18 +03:00
Merge branch 'master' of https://github.com/iNavFlight/inav-configurator into mission-planer
Fix conflicts: _locales/en/messages.json
This commit is contained in:
commit
db31180753
17 changed files with 466 additions and 128 deletions
|
@ -355,6 +355,20 @@ var mspHelper = (function (gui) {
|
|||
}
|
||||
break;
|
||||
case MSPCodes.MSP_SERVO_MIX_RULES:
|
||||
SERVO_RULES.flush();
|
||||
|
||||
if (data.byteLength % 7 === 0) {
|
||||
for (i = 0; i < data.byteLength; i += 7) {
|
||||
SERVO_RULES.put(new ServoMixRule(
|
||||
data.getInt8(i + 0, true),
|
||||
data.getInt8(i + 1, true),
|
||||
data.getInt8(i + 2, true),
|
||||
data.getInt8(i + 3, true)
|
||||
));
|
||||
}
|
||||
}
|
||||
SERVO_RULES.cleanup();
|
||||
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SERVO_CONFIGURATIONS:
|
||||
|
@ -1106,6 +1120,11 @@ var mspHelper = (function (gui) {
|
|||
case MSPCodes.MSP_OSD_CHAR_WRITE:
|
||||
console.log('OSD char uploaded');
|
||||
break;
|
||||
case MSPCodes.MSP_NAME:
|
||||
break;
|
||||
case MSPCodes.MSP_SET_NAME:
|
||||
console.log("Craft name set");
|
||||
break;
|
||||
case MSPCodes.MSPV2_SETTING:
|
||||
break;
|
||||
case MSPCodes.MSPV2_SET_SETTING:
|
||||
|
@ -1693,7 +1712,6 @@ var mspHelper = (function (gui) {
|
|||
nextFunction();
|
||||
}
|
||||
|
||||
|
||||
function send_next_servo_configuration() {
|
||||
|
||||
var buffer = [];
|
||||
|
@ -1736,24 +1754,41 @@ var mspHelper = (function (gui) {
|
|||
}
|
||||
MSP.send_message(MSPCodes.MSP_SET_SERVO_CONFIGURATION, buffer, false, nextFunction);
|
||||
}
|
||||
};
|
||||
|
||||
//FIXME looks like this is not used and not ever implemented
|
||||
//noinspection JSUnusedLocalSymbols
|
||||
function send_channel_forwarding() {
|
||||
self.sendServoMixer = function (onCompleteCallback) {
|
||||
var nextFunction = sendMixer,
|
||||
servoIndex = 0;
|
||||
|
||||
if (SERVO_RULES.length == 0) {
|
||||
onCompleteCallback();
|
||||
} else {
|
||||
nextFunction();
|
||||
}
|
||||
|
||||
function sendMixer() {
|
||||
|
||||
var buffer = [];
|
||||
|
||||
for (var i = 0; i < SERVO_CONFIG.length; i++) {
|
||||
var out = SERVO_CONFIG[i].indexOfChannelToForward;
|
||||
if (out == undefined) {
|
||||
out = 255; // Cleanflight defines "CHANNEL_FORWARDING_DISABLED" as "(uint8_t)0xFF"
|
||||
}
|
||||
buffer.push(out);
|
||||
// send one at a time, with index
|
||||
|
||||
var servoRule = SERVO_RULES.get()[servoIndex];
|
||||
|
||||
buffer.push(servoIndex);
|
||||
buffer.push(servoRule.getTarget());
|
||||
buffer.push(servoRule.getInput());
|
||||
buffer.push(servoRule.getRate());
|
||||
buffer.push(servoRule.getSpeed());
|
||||
buffer.push(0);
|
||||
buffer.push(0);
|
||||
buffer.push(0);
|
||||
|
||||
// prepare for next iteration
|
||||
servoIndex++;
|
||||
if (servoIndex == 16) { //This is the last rule. Not pretty, but we have to send all rules
|
||||
nextFunction = onCompleteCallback;
|
||||
}
|
||||
|
||||
nextFunction = onCompleteCallback;
|
||||
|
||||
MSP.send_message(MSPCodes.MSP_SET_CHANNEL_FORWARDING, buffer, false, nextFunction);
|
||||
MSP.send_message(MSPCodes.MSP_SET_SERVO_MIX_RULE, buffer, false, nextFunction);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2548,5 +2583,46 @@ var mspHelper = (function (gui) {
|
|||
}
|
||||
};
|
||||
|
||||
self.loadServoConfiguration = function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP_SERVO_CONFIGURATIONS, false, false, callback);
|
||||
};
|
||||
|
||||
self.loadServoMixRules = function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP_SERVO_MIX_RULES, false, false, callback);
|
||||
}
|
||||
|
||||
self.getCraftName = function(callback) {
|
||||
if (semver.gt(CONFIG.flightControllerVersion, "1.8.0")) {
|
||||
MSP.send_message(MSPCodes.MSP_NAME, false, false, function(resp) {
|
||||
var name = "";
|
||||
for (var ii = 0; ii < resp.data.byteLength; ii++) {
|
||||
var c = resp.data.readU8();
|
||||
if (c != 0) {
|
||||
name += String.fromCharCode(c);
|
||||
}
|
||||
}
|
||||
if (callback) {
|
||||
callback(name);
|
||||
}
|
||||
});
|
||||
} else if (callback) {
|
||||
callback(null);
|
||||
}
|
||||
};
|
||||
|
||||
self.setCraftName = function(name, callback) {
|
||||
if (semver.gt(CONFIG.flightControllerVersion, "1.8.0")) {
|
||||
var data = [];
|
||||
name = name || "";
|
||||
for (var ii = 0; ii < name.length; ii++) {
|
||||
data.push(name.charCodeAt(ii));
|
||||
}
|
||||
MSP.send_message(MSPCodes.MSP_SET_NAME, data, false, callback);
|
||||
} else if (callback) {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
return self;
|
||||
})(GUI);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue