#include #include "config.h" #include "config_pins.h" unsigned long last_led_blink_time = 0; unsigned long beep_stop_time = 0; void async_beep(int time, int freq) { beep_stop_time = millis() + time; tone(BEEPER, freq); } void blocking_beep(int time, int freq, int repeat = 0) { for (int i = 0; i <= repeat; i++) { tone(BEEPER, freq); delay(time); noTone(BEEPER); if ((repeat > 0) && (i < repeat)) { delay(time); } } } void common_run(unsigned long t) { // stop async beep if ((beep_stop_time > 0) && (t > beep_stop_time)) { noTone(BEEPER); beep_stop_time = 0; } // blink heartbeat LED if ((t - last_led_blink_time) >= LED_BLINK_INTERVAL) { last_led_blink_time = millis(); digitalWrite(LED_PIN, !digitalRead(LED_PIN)); } }