From e7143c113d9e758d7ce9ae826b46cef9bd462a7f Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 15 Apr 2019 13:14:16 +0200 Subject: [PATCH] Overflow fixed --- radio/src/telemetry/frsky_pxx2.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/telemetry/frsky_pxx2.cpp b/radio/src/telemetry/frsky_pxx2.cpp index effc41549..7dca6f57c 100644 --- a/radio/src/telemetry/frsky_pxx2.cpp +++ b/radio/src/telemetry/frsky_pxx2.cpp @@ -187,8 +187,8 @@ void processSpectrumAnalyserFrame(uint8_t module, uint8_t * frame) // TRACE("Fq=%u, Pw=%d, X=%d, Y=%d", *frequency, int32_t(*power), D * 128 / 40000000, int32_t(127 + *power)); - int32_t position = *frequency - reusableBuffer.spectrumAnalyser.freq + (reusableBuffer.spectrumAnalyser.span / 2); - unsigned x = (position * LCD_W) / reusableBuffer.spectrumAnalyser.span; + int32_t position = *frequency - (reusableBuffer.spectrumAnalyser.freq - reusableBuffer.spectrumAnalyser.span / 2); + int32_t x = (position * LCD_W / 8) / (reusableBuffer.spectrumAnalyser.span / 8); if (x < LCD_W) { reusableBuffer.spectrumAnalyser.bars[x] = 127 + *power; }