From fb3990086eb4d9e2aa66e5672e69fe3fbd84a696 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Sun, 10 Jul 2022 00:54:29 +0300 Subject: [PATCH] fix --- armsrc/hfsnoop.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/armsrc/hfsnoop.c b/armsrc/hfsnoop.c index 9acbf2d25..08860da9d 100644 --- a/armsrc/hfsnoop.c +++ b/armsrc/hfsnoop.c @@ -48,13 +48,16 @@ static void RAMFUNC skipSniff(uint8_t *dest, uint16_t dsize, uint8_t skipMode, u accum = val & 0xff; if (accum < (val >> 8)) accum = val >> 8; + break; case HF_SNOOP_SKIP_MIN: if (accum > (val & 0xff)) accum = val & 0xff; if (accum > (val >> 8)) accum = val >> 8; + break; case HF_SNOOP_SKIP_AVG: - accum += (val & 0xff) + (val >> 8); + accum += (val & 0xff) + (val & 0xff); + break; default: { // HF_SNOOP_SKIP_DROP and the rest if (ratioindx == 0) accum = val & 0xff; @@ -63,7 +66,6 @@ static void RAMFUNC skipSniff(uint8_t *dest, uint16_t dsize, uint8_t skipMode, u ratioindx++; if (ratioindx >= skipRatio) { - ratioindx = 0; if (skipMode == HF_SNOOP_SKIP_AVG && skipRatio > 0) { accum = accum / (skipRatio * 2); if (accum <= 0xff) @@ -73,9 +75,11 @@ static void RAMFUNC skipSniff(uint8_t *dest, uint16_t dsize, uint8_t skipMode, u } else { *dest = accum; } + dest++; dsize --; accum = (skipMode == HF_SNOOP_SKIP_MIN) ? 0xffffffff : 0; + ratioindx = 0; } } }