From 5051a13711c2151f976a932ed660121686b4fc9b Mon Sep 17 00:00:00 2001 From: Geoffrey Merck Date: Sun, 26 Apr 2020 08:16:08 +0200 Subject: [PATCH] Fix invalid values passed to arm_sin_q15 --- FMCTCSSTX.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/FMCTCSSTX.cpp b/FMCTCSSTX.cpp index e513d70..754612a 100644 --- a/FMCTCSSTX.cpp +++ b/FMCTCSSTX.cpp @@ -111,6 +111,8 @@ uint8_t CFMCTCSSTX::setParams(uint8_t frequency, uint8_t level) m_values[i] = q15_t(__SSAT((value >> 15), 16)); arg += entry->increment; + if(arg < 0)//did we exceed max value of q15_t and flip over ? + arg += 32768;//bring arg back to valid values for ::arm_sin_q15, as per doc it needs to be in the range 0 to 0.99999999 (aka 0 - 32767) } return 0U;