#include <Audio.h>
#include <Wire.h>
#include <SD.h>
#include <SPI.h>
#define CS_MEM 6
#define CS_SD 10
#define CLK_L 0 // left clock input
volatile uint8_t LCLK; // left channel clock
void CLK_ISR_L()
{
LCLK = true;
}
AudioPlaySdWav wavL;
//AudioPlaySdWav wavR;
AudioMixer4 mix;
AudioOutputI2S codec;
// Create Audio connections between the components
//
AudioConnection c1(wavL, 0, mix, 0);
AudioConnection c2(wavL, 0, mix, 1);
AudioConnection c3(mix, 0, codec, 0);
AudioConnection c4(mix, 0, codec, 1);
// using pcm5102a
// AudioControlSGTL5000 audioShield;
void setup() {
AudioMemory(15);
pinMode(CS_SD, OUTPUT);
pinMode(CS_MEM, OUTPUT);
digitalWrite(CS_MEM, HIGH);
pinMode(CLK_L, INPUT_PULLUP);
attachInterrupt(CLK_L, CLK_ISR_L, FALLING);
SPI.setMOSI(7);
SPI.setSCK(14);
if (SD.begin(CS_SD)) Serial.println("ok");
}
void loop() {
while(1) {
if (LCLK) {
LCLK = false;
wavL.play("ATARI.WAV");
}
}
}