Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/iNavFlight/inav-configurator.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorMichel Pastor <shellixyz@users.noreply.github.com>2019-02-08 23:10:12 +0300
committerGitHub <noreply@github.com>2019-02-08 23:10:12 +0300
commit5f6e453fe9663455f1f627255dd0226e68475b2e (patch)
tree4527af3537f23b572aafae1bda510d3140c4543b /js
parent0a720f44f6bb3c3e7214aa7ecbf8643138bd96d8 (diff)
Increase max servo mix rate to 1000% (#672)
Diffstat (limited to 'js')
-rw-r--r--js/msp/MSPHelper.js36
1 files changed, 27 insertions, 9 deletions
diff --git a/js/msp/MSPHelper.js b/js/msp/MSPHelper.js
index d6c19da2..b1428016 100644
--- a/js/msp/MSPHelper.js
+++ b/js/msp/MSPHelper.js
@@ -512,14 +512,27 @@ var mspHelper = (function (gui) {
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),
- data.getInt8(i + 1),
- data.getInt8(i + 2),
- data.getInt8(i + 3)
- ));
+ if (semver.gte(CONFIG.flightControllerVersion, "2.1.0")) {
+ if (data.byteLength % 8 === 0) {
+ for (i = 0; i < data.byteLength; i += 8) {
+ SERVO_RULES.put(new ServoMixRule(
+ data.getInt8(i),
+ data.getInt8(i + 1),
+ data.getInt16(i + 2, true),
+ data.getInt8(i + 4)
+ ));
+ }
+ }
+ } else {
+ if (data.byteLength % 7 === 0) {
+ for (i = 0; i < data.byteLength; i += 7) {
+ SERVO_RULES.put(new ServoMixRule(
+ data.getInt8(i),
+ data.getInt8(i + 1),
+ data.getInt8(i + 2),
+ data.getInt8(i + 3)
+ ));
+ }
}
}
SERVO_RULES.cleanup();
@@ -2267,7 +2280,12 @@ var mspHelper = (function (gui) {
buffer.push(servoIndex);
buffer.push(servoRule.getTarget());
buffer.push(servoRule.getInput());
- buffer.push(servoRule.getRate());
+ if (semver.gte(CONFIG.flightControllerVersion, "2.1.0")) {
+ buffer.push(lowByte(servoRule.getRate()));
+ buffer.push(highByte(servoRule.getRate()));
+ } else {
+ buffer.push(servoRule.getRate());
+ }
buffer.push(servoRule.getSpeed());
buffer.push(0);
buffer.push(0);