From 56c4db624a0e1d276a5a669a07c0d0a6f3d9d918 Mon Sep 17 00:00:00 2001 From: "bernet.andre@gmail.com" Date: Mon, 1 Apr 2013 21:22:18 +0000 Subject: [PATCH] [ARM] Vario sounds improved? --- src/maths.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/maths.cpp b/src/maths.cpp index ef153ac7c..871839d63 100644 --- a/src/maths.cpp +++ b/src/maths.cpp @@ -127,13 +127,23 @@ void varioWakeup() } if (verticalSpeed < 0 || (int16_t)(s_varioTmr-tmr10ms) < 0) { - uint8_t SoundVarioBeepTime = (1600 - verticalSpeed) / 100; #if defined(CPUARM) - uint8_t SoundVarioBeepFreq = (verticalSpeed * 10 + 16000) >> 7; + uint8_t SoundVarioBeepTime; + uint8_t SoundVarioBeepFreq; + if (verticalSpeed > 0) { + SoundVarioBeepTime = (8000 - verticalSpeed * 5) / 100; + SoundVarioBeepFreq = (verticalSpeed * 4 + 8000) >> 7; + } + else { + SoundVarioBeepTime = 20; + SoundVarioBeepFreq = (verticalSpeed * 3 + 8000) >> 7; + } + s_varioTmr = tmr10ms + (SoundVarioBeepTime/2); #else + uint8_t SoundVarioBeepTime = (1600 - verticalSpeed) / 100; uint8_t SoundVarioBeepFreq = (verticalSpeed * 10 + 16000) >> 8; -#endif s_varioTmr = tmr10ms + (SoundVarioBeepTime*2); +#endif AUDIO_VARIO(SoundVarioBeepFreq, SoundVarioBeepTime); }