No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

common.cpp 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include <Arduino.h>
  2. #include "config.h"
  3. #include "config_pins.h"
  4. //#define DISABLE_BEEPING
  5. unsigned long last_led_blink_time = 0;
  6. #ifndef DISABLE_BEEPING
  7. unsigned long beep_stop_time = 0;
  8. #endif // DISABLE_BEEPING
  9. void async_beep(int time, int freq) {
  10. #ifndef DISABLE_BEEPING
  11. beep_stop_time = millis() + time;
  12. tone(BEEPER, freq);
  13. #endif // DISABLE_BEEPING
  14. }
  15. void blocking_beep(int time, int freq, int repeat = 0) {
  16. #ifndef DISABLE_BEEPING
  17. for (int i = 0; i <= repeat; i++) {
  18. tone(BEEPER, freq);
  19. delay(time);
  20. noTone(BEEPER);
  21. if ((repeat > 0) && (i < repeat)) {
  22. delay(time);
  23. }
  24. }
  25. #endif // DISABLE_BEEPING
  26. }
  27. void common_run(void) {
  28. unsigned long t = millis();
  29. #ifndef DISABLE_BEEPING
  30. // stop async beep
  31. if ((beep_stop_time > 0) && (t > beep_stop_time)) {
  32. noTone(BEEPER);
  33. beep_stop_time = 0;
  34. }
  35. #endif // DISABLE_BEEPING
  36. // blink heartbeat LED
  37. if ((t - last_led_blink_time) >= LED_BLINK_INTERVAL) {
  38. last_led_blink_time = t;
  39. digitalWrite(LED_PIN, !digitalRead(LED_PIN));
  40. }
  41. }