From 924ca0d30cf934e3932cce1885c5da7029d2fe90 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Thu, 13 Jan 2022 18:24:31 +0100 Subject: [PATCH 1/2] Update RCSwitch.cpp --- lib/lib_rf/rc-switch/src/RCSwitch.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/lib_rf/rc-switch/src/RCSwitch.cpp b/lib/lib_rf/rc-switch/src/RCSwitch.cpp index aed787bea..69b3f37a3 100644 --- a/lib/lib_rf/rc-switch/src/RCSwitch.cpp +++ b/lib/lib_rf/rc-switch/src/RCSwitch.cpp @@ -149,7 +149,7 @@ static const RCSwitch::Protocol PROGMEM proto[] = { { 400, 0, { 0, 0 }, 1, { 1, 1 }, { 1, 2 }, { 2, 1 }, false, 43 }, // 31 (Mertik Maxitrol G6R-H4T1) { 365, 0, { 0, 0 }, 1, { 18, 1 }, { 3, 1 }, { 1, 3 }, true, 0 }, // 32 (1ByOne Doorbell) from @Fatbeard https://github.com/sui77/rc-switch/pull/277 { 340, 0, { 0, 0 }, 1, { 14, 4 }, { 1, 2 }, { 2, 1 }, false, 0 }, // 33 (Dooya Control DC2708L) - { 120, 0, { 0, 0 }, 1, { 1, 28 }, { 1, 3 }, { 3, 1 }, false, 0 }, // 34 DIGOO SD10 + { 120, 0, { 0, 0 }, 1, { 1, 28 }, { 1, 3 }, { 3, 1 }, false, 0 }, // 34 DIGOO SD10 - so as to use this protocol RCSWITCH_SEPARATION_LIMIT must be set to 2600 { 20, 0, { 0, 0 }, 1, { 239, 78 }, {20, 35 }, {35, 20}, false, 10000 } // 35 Dooya 5-Channel blinds remote DC1603 }; @@ -164,11 +164,7 @@ volatile unsigned int RCSwitch::nReceivedBitlength = 0; volatile unsigned int RCSwitch::nReceivedDelay = 0; volatile unsigned int RCSwitch::nReceivedProtocol = 0; int RCSwitch::nReceiveTolerance = 60; -const unsigned int RCSwitch::nSeparationLimit = 2600; // 4300 default -// separationLimit: minimum microseconds between received codes, closer codes are ignored. -// according to discussion on issue #14 it might be more suitable to set the separation -// limit to the same time as the 'low' part of the sync signal for the current protocol. -// should be set to the minimum value of pulselength * the sync signal +const unsigned int RCSwitch::nSeparationLimit = RCSWITCH_SEPARATION_LIMIT; unsigned int RCSwitch::timings[RCSWITCH_MAX_CHANGES]; unsigned int RCSwitch::buftimings[4]; #endif From bd4b2b58d2fd091215953c40d11c2cfe146f300a Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Thu, 13 Jan 2022 18:26:25 +0100 Subject: [PATCH 2/2] RCSWITCH_SEPARATION_LIMIT 4100 --- lib/lib_rf/rc-switch/src/RCSwitch.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/lib_rf/rc-switch/src/RCSwitch.h b/lib/lib_rf/rc-switch/src/RCSwitch.h index 613d654d7..6d660c0db 100644 --- a/lib/lib_rf/rc-switch/src/RCSwitch.h +++ b/lib/lib_rf/rc-switch/src/RCSwitch.h @@ -61,6 +61,12 @@ // Для keeloq нужно увеличить RCSWITCH_MAX_CHANGES до 23+1+66*2+1=157 #define RCSWITCH_MAX_CHANGES 67 // default 67 +// separationLimit: minimum microseconds between received codes, closer codes are ignored. +// according to discussion on issue #14 it might be more suitable to set the separation +// limit to the same time as the 'low' part of the sync signal for the current protocol. +// should be set to the minimum value of pulselength * the sync signal +#define RCSWITCH_SEPARATION_LIMIT 4100 + class RCSwitch { public: