mirror of
https://github.com/Crocmagnon/buzzer.git
synced 2025-04-21 17:05:27 +02:00
51 lines
1 KiB
C++
51 lines
1 KiB
C++
#include <Arduino.h>
|
|
#include <Adafruit_SSD1306.h>
|
|
#include <ESPAsyncWebServer.h>
|
|
#include <Audio.h>
|
|
#include <Preferences.h>
|
|
|
|
#include "setup.h"
|
|
#include "utils.h"
|
|
#include "config.h"
|
|
|
|
byte buttonLastState = HIGH;
|
|
|
|
void setup()
|
|
{
|
|
// Setup GPIO
|
|
pinMode(LED, OUTPUT);
|
|
digitalWrite(LED, LOW);
|
|
pinMode(BUTTON, INPUT_PULLUP);
|
|
buttonLastState = digitalRead(BUTTON);
|
|
|
|
Serial.begin(115200);
|
|
Serial.println("Serial... OK");
|
|
|
|
preferences.begin("buzzer", false);
|
|
Serial.println("Preferences... OK");
|
|
|
|
setupScreen();
|
|
setupSPIFFS();
|
|
setupSDCard();
|
|
setupAudio();
|
|
selectDefaultFile();
|
|
setupWifi();
|
|
setupWebServer();
|
|
diagnosticPrintln("Configuration OK!");
|
|
|
|
displayWifiCreds();
|
|
displaySelectedFile();
|
|
|
|
// Setup is done, light up the LED
|
|
Serial.println("All setup & ready to go!");
|
|
digitalWrite(LED, HIGH);
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
byte buttonCurrentState = digitalRead(BUTTON);
|
|
if (buttonCurrentState == LOW && buttonLastState == HIGH)
|
|
play();
|
|
buttonLastState = buttonCurrentState;
|
|
audio.loop();
|
|
}
|