From 09c1ad284b784f8cceab4ad6121bb17818f36fc3 Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jul 2012 20:16:03 +0000 Subject: [PATCH] [ersky9x] The siren had a problem with the nose --- src/ersky9x/audio.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/ersky9x/audio.cpp b/src/ersky9x/audio.cpp index 6ac728032..d855ad37c 100644 --- a/src/ersky9x/audio.cpp +++ b/src/ersky9x/audio.cpp @@ -293,13 +293,15 @@ void AudioQueue::wakeup() else #endif if (current.duration > 0) { - state = AUDIO_PLAYING_TONE; + if (state != AUDIO_PLAYING_TONE) { + state = AUDIO_PLAYING_TONE; - register Dacc *dacptr = DACC; - dacptr->DACC_TPR = CONVERT_PTR(Sine_values); - dacptr->DACC_TNPR = CONVERT_PTR(Sine_values); - dacptr->DACC_TCR = 50 ; // words, 100 16 bit values - dacptr->DACC_TNCR = 50 ; // words, 100 16 bit values + register Dacc *dacptr = DACC; + dacptr->DACC_TPR = CONVERT_PTR(Sine_values); + dacptr->DACC_TNPR = CONVERT_PTR(Sine_values); + dacptr->DACC_TCR = 50 ; // words, 100 16 bit values + dacptr->DACC_TNCR = 50 ; // words, 100 16 bit values + } setFrequency(current.freq * 6100 / 2);