1234567891011121314151617181920212223242526272829303132333435363738 |
- #include <Arduino.h>
-
- #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));
- }
- }
|