From 8e465d076cda98c9a193bcb12e285c8a1311d791 Mon Sep 17 00:00:00 2001 From: iceman1001 <iceman@iuse.se> Date: Tue, 19 Mar 2019 17:53:42 +0100 Subject: [PATCH 1/2] chg: use found clock is common --- client/cmddata.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index b50d44649..72cab3755 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -482,13 +482,19 @@ int ASKDemod_ext(const char *Cmd, bool verbose, bool emSearch, uint8_t askType, int foundclk = 0; //amplify signal before ST check - if (amp == 'a') + if (amp == 'a') { askAmp(bits, BitLen); - + } + size_t ststart = 0, stend = 0; // if (*stCheck) bool st = DetectST(bits, &BitLen, &foundclk, &ststart, &stend); - clk = (clk == 0) ? foundclk : clk; + + if ( clk == 0 ) { + if ( foundclk == 32 || foundclk == 64 ) { + clk = foundclk; + } + } if (st) { *stCheck = st; From 1650889d255f36437741371bcf94aa86974b2fb0 Mon Sep 17 00:00:00 2001 From: iceman1001 <iceman@iuse.se> Date: Tue, 19 Mar 2019 17:53:58 +0100 Subject: [PATCH 2/2] chg: also detect RF/100 --- common/lfdemod.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/common/lfdemod.c b/common/lfdemod.c index 3b4a3a30c..1300a1822 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -311,10 +311,10 @@ size_t findModStart(uint8_t *src, size_t size, uint8_t expWaveSize) { } int getClosestClock(int testclk) { - uint16_t clocks[] = {8, 16, 32, 40, 50, 64, 128, 256, 384}; - uint8_t limit[] = {1, 2, 4, 4, 5, 8, 8, 8, 8}; + uint16_t clocks[] = {8, 16, 32, 40, 50, 64, 100, 128, 256, 384}; + uint8_t limit[] = {1, 2, 4, 4, 5, 8, 8, 8, 8, 8}; - for (uint8_t i = 0; i < 9; i++) + for (uint8_t i = 0; i < 100; i++) if (testclk >= clocks[i] - limit[i] && testclk <= clocks[i] + limit[i]) return clocks[i]; @@ -487,13 +487,14 @@ int DetectStrongAskClock(uint8_t *dest, size_t size, int high, int low, int *clo getNextLow(dest, size, low, &i); // clock, numoftimes, first idx - uint16_t tmpclk[9][3] = { + uint16_t tmpclk[10][3] = { {8, 0, 0}, {16, 0, 0}, {32, 0, 0}, {40, 0, 0}, {50, 0, 0}, {64, 0, 0}, + {100, 0, 0}, {128, 0, 0}, {256, 0, 0}, {384, 0, 0}, @@ -515,7 +516,7 @@ int DetectStrongAskClock(uint8_t *dest, size_t size, int high, int low, int *clo int foo = getClosestClock(minClk); if (foo > 0 ) { - for (uint8_t i = 0; i < 9; i++) { + for (uint8_t i = 0; i < 10; i++) { if ( tmpclk[i][0] == foo ) { tmpclk[i][1]++; @@ -530,7 +531,7 @@ int DetectStrongAskClock(uint8_t *dest, size_t size, int high, int low, int *clo // find the clock with most hits and it the first index it was encountered. int max = 0; - for (uint8_t i = 0; i < 9; i++) { + for (uint8_t i = 0; i < 10; i++) { if (g_debugMode == 2) { prnt("DEBUG, ASK, clocks %u | hits %u | idx %u" , tmpclk[i][0]