From ca6debd4cf8b09ee6f51bd95d99ad490feb200a0 Mon Sep 17 00:00:00 2001 From: mikeller Date: Tue, 10 Jan 2017 00:15:52 +1300 Subject: [PATCH] Reordered DShot protocols in ascending order. --- js/msp/MSPHelper.js | 27 ++++++++++++++++++++++++--- tabs/configuration.js | 9 +++++---- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/js/msp/MSPHelper.js b/js/msp/MSPHelper.js index 063de2b0..687a6eb3 100644 --- a/js/msp/MSPHelper.js +++ b/js/msp/MSPHelper.js @@ -25,8 +25,29 @@ function MspHelper () { }; } +MspHelper.prototype.reorderPwmProtocols = function (protocol) { + var result = protocol; + if (semver.lt(CONFIG.apiVersion, "1.26.0")) { + switch (protocol) { + case 5: + result = 7; + + break; + case 7: + result = 5; + + break; + default: + break; + } + } + + return result; +} + MspHelper.prototype.process_data = function(dataHandler) { var self = this; + var data = dataHandler.dataView; // DataView (allowing us to view arrayBuffer as struct/union) var code = dataHandler.code; if (!dataHandler.unsupported) switch (code) { @@ -615,7 +636,7 @@ MspHelper.prototype.process_data = function(dataHandler) { PID_ADVANCED_CONFIG.gyro_sync_denom = data.readU8(); PID_ADVANCED_CONFIG.pid_process_denom = data.readU8(); PID_ADVANCED_CONFIG.use_unsyncedPwm = data.readU8(); - PID_ADVANCED_CONFIG.fast_pwm_protocol = data.readU8(); + PID_ADVANCED_CONFIG.fast_pwm_protocol = self.reorderPwmProtocols(data.readU8()); PID_ADVANCED_CONFIG.motor_pwm_rate = data.readU16(); if (semver.gte(CONFIG.apiVersion, "1.24.0")) { PID_ADVANCED_CONFIG.digitalIdlePercent = data.readU16() / 100; @@ -1134,12 +1155,12 @@ MspHelper.prototype.crunch = function(code) { buffer.push8(SENSOR_ALIGNMENT.align_gyro) .push8(SENSOR_ALIGNMENT.align_acc) .push8(SENSOR_ALIGNMENT.align_mag); - break + break; case MSPCodes.MSP_SET_ADVANCED_CONFIG: buffer.push8(PID_ADVANCED_CONFIG.gyro_sync_denom) .push8(PID_ADVANCED_CONFIG.pid_process_denom) .push8(PID_ADVANCED_CONFIG.use_unsyncedPwm) - .push8(PID_ADVANCED_CONFIG.fast_pwm_protocol) + .push8(self.reorderPwmProtocols(PID_ADVANCED_CONFIG.fast_pwm_protocol)) .push16(PID_ADVANCED_CONFIG.motor_pwm_rate); if (semver.gte(CONFIG.apiVersion, "1.24.0")) { buffer.push16(PID_ADVANCED_CONFIG.digitalIdlePercent * 100); diff --git a/tabs/configuration.js b/tabs/configuration.js index 11997c2b..47f04c9d 100644 --- a/tabs/configuration.js +++ b/tabs/configuration.js @@ -206,17 +206,18 @@ TABS.configuration.initialize = function (callback, scrollPosition) { } if (semver.gte(CONFIG.flightControllerVersion, "3.1.0")) { - escprotocols.push('DSHOT600'); - escprotocols.push('DSHOT300'); escprotocols.push('DSHOT150'); + escprotocols.push('DSHOT300'); + escprotocols.push('DSHOT600'); } var esc_protocol_e = $('select.escprotocol'); for (var i = 0; i < escprotocols.length; i++) { - esc_protocol_e.append(''); + esc_protocol_e.append(''); } - esc_protocol_e.val(PID_ADVANCED_CONFIG.fast_pwm_protocol+1); + + esc_protocol_e.val(PID_ADVANCED_CONFIG.fast_pwm_protocol + 1); esc_protocol_e.change(function () { if ($(this).val() - 1 >= self.DSHOT_PROTOCOL_MIN_VALUE) {