From 374a72fb070fd0f46687e8e45cd2eecba1cb42f4 Mon Sep 17 00:00:00 2001 From: cryptogopher Date: Sun, 9 Oct 2022 15:29:30 +0200 Subject: [PATCH] Move tube to separate file --- temperature.ino => bme280.ino | 0 metronom.ino | 22 ++-------------------- tube.ino | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+), 20 deletions(-) rename temperature.ino => bme280.ino (100%) create mode 100644 tube.ino diff --git a/temperature.ino b/bme280.ino similarity index 100% rename from temperature.ino rename to bme280.ino diff --git a/metronom.ino b/metronom.ino index 1f4dde7..733347e 100644 --- a/metronom.ino +++ b/metronom.ino @@ -1,6 +1,5 @@ #include "SAMDTimerInterrupt.h" #include "SAMD_ISR_Timer.h" -#include "grove_alphanumeric_display.h" #define HW_TIMER_INTERVAL_MS 10 SAMDTimer ITimer(TIMER_TC3); @@ -8,7 +7,6 @@ SAMD_ISR_Timer ISR_Timer; void TimerHandler(void) { ISR_Timer.run(); } -Seeed_Digital_Tube tube; const int COUNTDOWN = 240; const int PERIOD_MS = 1000; @@ -28,12 +26,7 @@ volatile float temperature = 0.0; void setup() { initButton(); initTemperature(); - - // Wire initialized by temperature sensor - tube.setTubeType(TYPE_4, TYPE_4_DEFAULT_I2C_ADDR); - tube.setBrightness(15); - tube.setBlinkRate(BLINK_OFF); - tube.setPoint(true,true); + initTube(); ITimer.attachInterruptInterval_MS(10, TimerHandler); ISR_Timer.setInterval(PERIOD_MS, runMetronome); @@ -47,19 +40,8 @@ void runMetronome() { digitalWrite(BUTTON_LED_PIN, countdown % 2 ? HIGH : LOW); } else if (countdown == 0) { - //tone(BUZZER_PIN, 1000, 100); + //tone(BUZZER_PIN, 300, 100); } } -void updateTube() { - char tube_str[5]; - - if (countdown <= 0) - sprintf(tube_str, "%4u", (unsigned int) (temperature * 100.0)); - else - sprintf(tube_str, "%4u", countdown); - - tube.displayString(tube_str); -} - void loop() {} diff --git a/tube.ino b/tube.ino new file mode 100644 index 0000000..2050ce3 --- /dev/null +++ b/tube.ino @@ -0,0 +1,22 @@ +#include "grove_alphanumeric_display.h" + +Seeed_Digital_Tube tube; + +void initTube() { + // Wire initialized by temperature sensor + tube.setTubeType(TYPE_4, TYPE_4_DEFAULT_I2C_ADDR); + tube.setBrightness(15); + tube.setBlinkRate(BLINK_OFF); + tube.setPoint(true,true); +} + +void updateTube() { + char tube_str[5]; + + if (countdown <= 0) + sprintf(tube_str, "%4u", (unsigned int) (temperature * 100.0)); + else + sprintf(tube_str, "%4u", countdown); + + tube.displayString(tube_str); +}