It's working more or less...
This commit is contained in:
@@ -7,33 +7,53 @@
|
||||
#include <Audio.h>
|
||||
#include "esmp3.h"
|
||||
#include <Ticker.h>
|
||||
#include <MFRC522v2.h>
|
||||
#include <MFRC522DriverSPI.h>
|
||||
#include <MFRC522DriverPinSimple.h>
|
||||
#include <MFRC522Debug.h>
|
||||
#include <Arduino.h>
|
||||
#include <Wire.h>
|
||||
|
||||
Controller controller;
|
||||
Audio audio;
|
||||
Ticker ticker_save_audio_current_time;
|
||||
PlaylistManager* pm;
|
||||
MFRC522* rfid;
|
||||
|
||||
void setup() {
|
||||
pinMode(PIN_CS_SD, OUTPUT); digitalWrite(PIN_CS_SD, HIGH);
|
||||
pinMode(PIN_CS_RFID, OUTPUT); digitalWrite(PIN_CS_RFID, HIGH);
|
||||
Serial.begin(115200);
|
||||
WiFi.begin("Schlenz", "1410WischlingenPanda");
|
||||
Serial.print("Connecting to WiFi...");
|
||||
log_i("Connecting to WiFi...");
|
||||
uint8_t i=9;
|
||||
while(WiFi.status() != WL_CONNECTED) {
|
||||
Serial.print(".");
|
||||
delay(500);
|
||||
Serial.print(i);
|
||||
Serial.print("... ");
|
||||
delay(1000);
|
||||
i--;
|
||||
if (i==0) {
|
||||
Serial.println("Could not connect to WiFi. Restarting in 1s.");
|
||||
delay(1000);
|
||||
ESP.restart();
|
||||
}
|
||||
}
|
||||
Serial.println();
|
||||
Serial.print("Connected to WiFi. IP address: ");
|
||||
Serial.println(WiFi.localIP());
|
||||
|
||||
ArduinoOTA.begin();
|
||||
Serial.println("Waiting for OTA...");
|
||||
for(int i=0; i<20; i++) {
|
||||
ArduinoOTA.handle();
|
||||
delay(100);
|
||||
}
|
||||
Serial.println("Initializing SPI...");
|
||||
SPI.begin();
|
||||
SPI.setHwCs(false);
|
||||
SPIMaster::initialize();
|
||||
//SPI.setHwCs(false);
|
||||
//SPIMaster::initialize();
|
||||
|
||||
Serial.print("Initializing SD card...");
|
||||
SPIMaster::enable_sd();
|
||||
while(!SD.begin(14, SPI, 25000000)) {
|
||||
//SPIMaster::enable_sd();
|
||||
while(!SD.begin(PIN_CS_SD, SPI, 25000000)) {
|
||||
for(int i=0; i<10; i++) {
|
||||
if(SPI.transfer(0xFF)==0xFF) break;
|
||||
delay(10);
|
||||
@@ -46,15 +66,29 @@ void setup() {
|
||||
Serial.println("Initializing PlaylistManager...");
|
||||
pm = new PlaylistManager();
|
||||
|
||||
Serial.println("Setting up rfid reader...");
|
||||
pinMode(PIN_CS_RFID, OUTPUT);
|
||||
MFRC522DriverPin* pin = new MFRC522DriverPinSimple(PIN_CS_RFID);
|
||||
MFRC522Driver* spi = new MFRC522DriverSPI(*pin);
|
||||
rfid = new MFRC522(*spi);
|
||||
rfid->PCD_Init();
|
||||
MFRC522Debug::PCD_DumpVersionToSerial(*rfid, Serial);
|
||||
|
||||
Serial.println("Setting up buttons...");
|
||||
pinMode(PIN_BTN_VOL_UP, INPUT_PULLUP);
|
||||
pinMode(PIN_BTN_VOL_DOWN, INPUT_PULLUP);
|
||||
pinMode(PIN_BTN_TRACK_NEXT, INPUT_PULLUP);
|
||||
pinMode(PIN_BTN_TRACK_PREV, INPUT_PULLUP);
|
||||
|
||||
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.");
|
||||
|
||||
audio.setVolume(3);
|
||||
audio.connecttospeech("Die Papabox ist nun einsatzbereit!", "de_DE");
|
||||
}
|
||||
|
||||
void loop() {
|
||||
@@ -63,6 +97,34 @@ void loop() {
|
||||
audio.loop();
|
||||
}
|
||||
|
||||
void save_audio_current_time() {
|
||||
pm->set_audio_current_time(audio.getAudioCurrentTime());
|
||||
}
|
||||
void audio_info(const char *info){
|
||||
Serial.print("info "); Serial.println(info);
|
||||
}
|
||||
void audio_id3data(const char *info){ //id3 metadata
|
||||
Serial.print("id3data ");Serial.println(info);
|
||||
}
|
||||
void audio_eof_mp3(const char *info){ //end of file
|
||||
Serial.print("eof_mp3 ");Serial.println(info);
|
||||
controller.next_track();
|
||||
}
|
||||
void audio_showstation(const char *info){
|
||||
Serial.print("station ");Serial.println(info);
|
||||
}
|
||||
void audio_showstreamtitle(const char *info){
|
||||
Serial.print("streamtitle ");Serial.println(info);
|
||||
}
|
||||
void audio_bitrate(const char *info){
|
||||
Serial.print("bitrate ");Serial.println(info);
|
||||
}
|
||||
void audio_commercial(const char *info){ //duration in sec
|
||||
Serial.print("commercial ");Serial.println(info);
|
||||
}
|
||||
void audio_icyurl(const char *info){ //homepage
|
||||
Serial.print("icyurl ");Serial.println(info);
|
||||
}
|
||||
void audio_lasthost(const char *info){ //stream URL played
|
||||
Serial.print("lasthost ");Serial.println(info);
|
||||
}
|
||||
void audio_eof_speech(const char *info){
|
||||
Serial.print("eof_speech ");Serial.println(info);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user