| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #ifdef PIN_BUZZER
- #include "buzzer.h"
- void genericBuzzer::begin() {
- Serial.print("DBG: Setting up buzzer on pin ");
- Serial.println(PIN_BUZZER);
- #ifdef PIN_BUZZER_EN
- pinMode(PIN_BUZZER_EN, OUTPUT);
- digitalWrite(PIN_BUZZER_EN, HIGH);
- #endif
- quiet(false);
- pinMode(PIN_BUZZER, OUTPUT);
- startup();
- }
- void genericBuzzer::play(const char *melody) {
- if (isPlaying()) // interrupt existing
- {
- rtttl::stop();
- }
- if (_is_quiet) return;
- rtttl::begin(PIN_BUZZER,melody);
- // Serial.print("DBG: Playing melody - isQuiet: ");
- // Serial.println(isQuiet());
- }
- bool genericBuzzer::isPlaying() {
- return rtttl::isPlaying();
- }
- void genericBuzzer::loop() {
- if (!rtttl::done()) rtttl::play();
- }
- void genericBuzzer::startup() {
- play(startup_song);
- }
- void genericBuzzer::shutdown() {
- play(shutdown_song);
- }
- void genericBuzzer::quiet(bool buzzer_state) {
- _is_quiet = buzzer_state;
- }
- bool genericBuzzer::isQuiet() {
- return _is_quiet;
- }
- #endif // ifdef PIN_BUZZER
|