From ee436111b1f3ec022d67e0ee73279103b85ebd45 Mon Sep 17 00:00:00 2001 From: "Pawel Spychalski (DzikuVx)" Date: Fri, 23 Jul 2021 07:52:28 +0200 Subject: [PATCH] Cleanup ESC protocols --- js/defaults_dialog.js | 4 + js/fc.js | 253 ++++++++++++++++++++++++++---------------- 2 files changed, 164 insertions(+), 93 deletions(-) diff --git a/js/defaults_dialog.js b/js/defaults_dialog.js index 365d6935..f314dbb9 100644 --- a/js/defaults_dialog.js +++ b/js/defaults_dialog.js @@ -26,6 +26,10 @@ helper.defaultsDialog = (function () { key: "looptime", value: 500 }, + { + key: "motor_pwm_rate", + value: 1000 + }, { key: "motor_pwm_protocol", value: "ONESHOT125" diff --git a/js/fc.js b/js/fc.js index 055f524d..51b6afca 100644 --- a/js/fc.js +++ b/js/fc.js @@ -657,101 +657,168 @@ var FC = { ]; }, getEscProtocols: function () { - return { - 0: { - name: "STANDARD", - message: null, - defaultRate: 400, - rates: { - 50: "50Hz", - 400: "400Hz" - } - }, - 1: { - name: "ONESHOT125", - message: null, - defaultRate: 1000, - rates: { - 400: "400Hz", - 1000: "1kHz", - 2000: "2kHz" - } - }, - 2: { - name: "ONESHOT42", - message: null, - defaultRate: 2000, - rates: { - 400: "400Hz", - 1000: "1kHz", - 2000: "2kHz", - 4000: "4kHz", - 8000: "8kHz" - } - }, - 3: { - name: "MULTISHOT", - message: null, - defaultRate: 2000, - rates: { - 400: "400Hz", - 1000: "1kHz", - 2000: "2kHz", - 4000: "4kHz", - 8000: "8kHz" - } - }, - 4: { - name: "BRUSHED", - message: null, - defaultRate: 8000, - rates: { - 8000: "8kHz", - 16000: "16kHz", - 32000: "32kHz" - } - }, - 5: { - name: "DSHOT150", - message: null, - defaultRate: 4000, - rates: { - 4000: "4kHz" - } - }, - 6: { - name: "DSHOT300", - message: null, - defaultRate: 8000, - rates: { - 8000: "8kHz" - } - }, - 7: { - name: "DSHOT600", - message: null, - defaultRate: 16000, - rates: { - 16000: "16kHz" - } - }, - 8: { - name: "DSHOT1200", - message: "escProtocolNotAdvised", - defaultRate: 16000, - rates: { - 16000: "16kHz" + + if (semver.gte(CONFIG.flightControllerVersion, "3.1.0")) { + return { + 0: { + name: "STANDARD", + message: null, + defaultRate: 400, + rates: { + 50: "50Hz", + 400: "400Hz" + } + }, + 1: { + name: "ONESHOT125", + message: null, + defaultRate: 1000, + rates: { + 1000: "1kHz", + 2000: "2kHz" + } + }, + 2: { + name: "MULTISHOT", + message: null, + defaultRate: 2000, + rates: { + 1000: "1kHz", + 2000: "2kHz" + } + }, + 3: { + name: "BRUSHED", + message: null, + defaultRate: 8000, + rates: { + 8000: "8kHz", + 16000: "16kHz", + 32000: "32kHz" + } + }, + 4: { + name: "DSHOT150", + message: null, + defaultRate: 4000, + rates: { + 4000: "4kHz" + } + }, + 5: { + name: "DSHOT300", + message: null, + defaultRate: 8000, + rates: { + 8000: "8kHz" + } + }, + 6: { + name: "DSHOT600", + message: null, + defaultRate: 16000, + rates: { + 16000: "16kHz" + } } - }, - 9: { - name: "SERIALSHOT", - message: "escProtocolExperimental", - defaultRate: 4000, - rates: { - 4000: "4kHz" + }; + } else { + return { + 0: { + name: "STANDARD", + message: null, + defaultRate: 400, + rates: { + 50: "50Hz", + 400: "400Hz" + } + }, + 1: { + name: "ONESHOT125", + message: null, + defaultRate: 1000, + rates: { + 400: "400Hz", + 1000: "1kHz", + 2000: "2kHz" + } + }, + 2: { + name: "ONESHOT42", + message: null, + defaultRate: 2000, + rates: { + 400: "400Hz", + 1000: "1kHz", + 2000: "2kHz", + 4000: "4kHz", + 8000: "8kHz" + } + }, + 3: { + name: "MULTISHOT", + message: null, + defaultRate: 2000, + rates: { + 400: "400Hz", + 1000: "1kHz", + 2000: "2kHz", + 4000: "4kHz", + 8000: "8kHz" + } + }, + 4: { + name: "BRUSHED", + message: null, + defaultRate: 8000, + rates: { + 8000: "8kHz", + 16000: "16kHz", + 32000: "32kHz" + } + }, + 5: { + name: "DSHOT150", + message: null, + defaultRate: 4000, + rates: { + 4000: "4kHz" + } + }, + 6: { + name: "DSHOT300", + message: null, + defaultRate: 8000, + rates: { + 8000: "8kHz" + } + }, + 7: { + name: "DSHOT600", + message: null, + defaultRate: 16000, + rates: { + 16000: "16kHz" + } + }, + 8: { + name: "DSHOT1200", + message: "escProtocolNotAdvised", + defaultRate: 16000, + rates: { + 16000: "16kHz" + } + }, + 9: { + name: "SERIALSHOT", + message: "escProtocolExperimental", + defaultRate: 4000, + rates: { + 4000: "4kHz" + } } - } - }; + }; + } }, getServoRates: function () { return {