#include <Audio.h>
#include <i2c_t3.h>
#include <SD_t3.h>
#include <functional>
#include <EEPROM.h>
#include <SerialFlash.h>
#ifndef _AUDIO_INFRA_H_
#define _AUDIO_INFRA_H_
#define SDCARD_CS_PIN 10
#define SDCARD_MOSI_PIN 7
#define SDCARD_SCK_PIN 14
#define SFLASH_PIN 6
class AudioInfra
{
public:
void setup()
{
AudioMemory(60);
sgtl5000_1.enable();
sgtl5000_1.volume(0.8);
audioInfraPatch1 = new AudioConnection(output1, 0, internalMixer, 0);
audioInfraPatch2 = new AudioConnection(output2, 0, internalMixer, 1);
audioInfraPatch3 = new AudioConnection(internalMixer, 0, audioOutput, 0);
audioInfraPatch4 = new AudioConnection(internalMixer, 0, audioOutput, 1);
SPI.setMOSI(SDCARD_MOSI_PIN);
SPI.setSCK(SDCARD_SCK_PIN);
SerialFlash.begin(SFLASH_PIN);
delay(100);
Serial.println("serial flash begun");
}
AudioMixer4 output1;
AudioMixer4 output2;
AudioAmplifier _input;
private:
AudioOutputI2S audioOutput;
AudioConnection *audioInfraPatch1;
AudioConnection *audioInfraPatch2;
AudioConnection *audioInfraPatch3;
AudioConnection *audioInfraPatch4;
AudioMixer4 internalMixer;
AudioControlSGTL5000 sgtl5000_1;
};
AudioInfra *audioInfra = new AudioInfra();
#endif