This commit is contained in:
bsongis
2014-09-15 11:51:18 +02:00
parent 9ec17f6e68
commit 6190c399c5
2 changed files with 9 additions and 2 deletions
+3 -2
View File
@@ -737,7 +737,7 @@ void AudioQueue::wakeup()
else {
CoEnterMutexSection(audioMutex);
if (ridx != widx) {
normalContext.fragment = fragments[ridx];
normalContext.tone.setFragment(fragments[ridx]);
if (!fragments[ridx].repeat--) {
ridx = (ridx + 1) % AUDIO_QUEUE_LENGTH;
}
@@ -804,8 +804,9 @@ void AudioQueue::playTone(uint16_t freq, uint16_t len, uint16_t pause, uint8_t f
{
CoEnterMutexSection(audioMutex);
if (freq && freq < BEEP_MIN_FREQ)
if (freq && freq < BEEP_MIN_FREQ) {
freq = BEEP_MIN_FREQ;
}
if (flags & PLAY_BACKGROUND) {
AudioFragment & fragment = varioContext.fragment;
+6
View File
@@ -103,6 +103,12 @@ class ToneContext {
uint16_t pause;
} state;
inline void setFragment(AudioFragment & fragment)
{
this->fragment = fragment;
memset(&state, 0, sizeof(state));
}
inline void clear()
{
memset(this, 0, sizeof(ToneContext));