From c187774a986ce8e2af9f8b5a26aed3e77a17d402 Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 9 Sep 2018 22:08:32 +0200 Subject: [PATCH] fix: hilow fuzzing overlap --- common/lfdemod.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/common/lfdemod.c b/common/lfdemod.c index f6d4f4d89..4ab05bfa9 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -180,6 +180,12 @@ void getHiLo(int *high, int *low, uint8_t fuzzHi, uint8_t fuzzLo) { *low = signalprop.low + ((range * (100-fuzzLo))/100); } + // if fuzzing to great and overlap + if ( *high < *low ) { + *high = signalprop.high; + *low = signalprop.low; + } + if (g_debugMode) prnt("getHiLo fuzzed: High %d | Low %d", *high, *low); } @@ -388,7 +394,7 @@ bool loadWaveCounters(uint8_t *samples, size_t size, int lowToLowWaveLen[], int break; highToLowWaveLen[*waveCnt] = i - firstHigh; //first high to first low - lowToLowWaveLen[*waveCnt] = i - firstLow; + lowToLowWaveLen[*waveCnt] = i - firstLow; *waveCnt += 1; if (i-firstLow < *minClk && i < size) { *minClk = i - firstLow;