#include #include #include #include "spi_master.h" #include "playlist_manager.h" #include "controller.h" #include #include "esmp3.h" #include Controller controller; Audio audio; Ticker ticker_save_audio_current_time; PlaylistManager* pm; void setup() { Serial.begin(115200); WiFi.begin("Schlenz", "1410WischlingenPanda"); Serial.print("Connecting to WiFi..."); while(WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println(); Serial.print("Connected to WiFi. IP address: "); Serial.println(WiFi.localIP()); ArduinoOTA.begin(); Serial.println("Initializing SPI..."); SPI.begin(); SPI.setHwCs(false); SPIMaster::initialize(); Serial.print("Initializing SD card..."); SPIMaster::enable_sd(); while(!SD.begin(14, SPI, 25000000)) { for(int i=0; i<10; i++) { if(SPI.transfer(0xFF)==0xFF) break; delay(10); } Serial.print("."); delay(100); } Serial.println(); Serial.println("Initializing PlaylistManager..."); pm = new PlaylistManager(); Serial.println("Setting up audio..."); audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT); audio.setVolume(15); audio.forceMono(true); Serial.println("Setting up tickers..."); ticker_save_audio_current_time.attach(5, save_audio_current_time); Serial.println("Setup finished."); } void loop() { ArduinoOTA.handle(); controller.handle(); audio.loop(); } void save_audio_current_time() { pm->set_audio_current_time(audio.getAudioCurrentTime()); }