diff options
author | Michel Pastor <shellixyz@users.noreply.github.com> | 2019-02-08 23:10:12 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-08 23:10:12 +0300 |
commit | 5f6e453fe9663455f1f627255dd0226e68475b2e (patch) | |
tree | 4527af3537f23b572aafae1bda510d3140c4543b /js | |
parent | 0a720f44f6bb3c3e7214aa7ecbf8643138bd96d8 (diff) |
Increase max servo mix rate to 1000% (#672)
Diffstat (limited to 'js')
-rw-r--r-- | js/msp/MSPHelper.js | 36 |
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); |