Prevent the 'tone(f,d)' function from being interrupted

This commit is contained in:
Scott Lahteine 2016-08-02 19:13:04 -07:00
parent b73203a0b7
commit 6110d57c16

View File

@ -23,6 +23,7 @@
#ifndef __BUZZER_H__ #ifndef __BUZZER_H__
#define __BUZZER_H__ #define __BUZZER_H__
#include "types.h"
#include "fastio.h" #include "fastio.h"
#include "circularqueue.h" #include "circularqueue.h"
#include "temperature.h" #include "temperature.h"
@ -127,7 +128,9 @@ class Buzzer {
if (this->state.tone.frequency > 0) { if (this->state.tone.frequency > 0) {
#if ENABLED(SPEAKER) #if ENABLED(SPEAKER)
CRITICAL_SECTION_START;
::tone(BEEPER_PIN, this->state.tone.frequency, this->state.tone.duration); ::tone(BEEPER_PIN, this->state.tone.frequency, this->state.tone.duration);
CRITICAL_SECTION_END;
#else #else
this->on(); this->on();
#endif #endif