propa
Well-known member
Hi,
I have tested a 2gb fat16, and 32gb san disk ultra using the play wav from sd and play raw from sd, neither work and hang up before getting to the main program loop. If no disk is inserted I get standard not found error.
When a card is in the serial monitor crashes and has crashed my computer twice now, completely froze it, I'm only using the examples playwav from sd, and changing to builtin sdcard, nothing should be going this drastically wrong.
Has anyone had this issue before?
I'm using an audio shield as well, wouldn't have thought it was going to cause any conflict.
SD > Cardinfo and files example work fine.
However trying to get wav played back has been a total mission.
Anyone else had this same mission?
I have tested a 2gb fat16, and 32gb san disk ultra using the play wav from sd and play raw from sd, neither work and hang up before getting to the main program loop. If no disk is inserted I get standard not found error.
When a card is in the serial monitor crashes and has crashed my computer twice now, completely froze it, I'm only using the examples playwav from sd, and changing to builtin sdcard, nothing should be going this drastically wrong.
Has anyone had this issue before?
I'm using an audio shield as well, wouldn't have thought it was going to cause any conflict.
SD > Cardinfo and files example work fine.
However trying to get wav played back has been a total mission.
Anyone else had this same mission?
Code:
// Simple WAV file player example
//
// Three types of output may be used, by configuring the code below.
//
// 1: Digital I2S - Normally used with the audio shield:
// http://www.pjrc.com/store/teensy3_audio.html
//
// 2: Digital S/PDIF - Connect pin 22 to a S/PDIF transmitter
// https://www.oshpark.com/shared_projects/KcDBKHta
//
// 3: Analog DAC - Connect the DAC pin to an amplified speaker
// http://www.pjrc.com/teensy/gui/?info=AudioOutputAnalog
//
// To configure the output type, first uncomment one of the three
// output objects. If not using the audio shield, comment out
// the sgtl5000_1 lines in setup(), so it does not wait forever
// trying to configure the SGTL5000 codec chip.
//
// The SD card may connect to different pins, depending on the
// hardware you are using. Uncomment or configure the SD card
// pins to match your hardware.
//
// Data files to put on your SD card can be downloaded here:
// http://www.pjrc.com/teensy/td_libs_AudioDataFiles.html
//
// This example code is in the public domain.
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
AudioPlaySdWav playWav1;
// Use one of these 3 output types: Digital I2S, Digital S/PDIF, or Analog DAC
AudioOutputI2S audioOutput;
//AudioOutputSPDIF audioOutput;
//AudioOutputAnalog audioOutput;
AudioConnection patchCord1(playWav1, 0, audioOutput, 0);
AudioConnection patchCord2(playWav1, 1, audioOutput, 1);
AudioControlSGTL5000 sgtl5000_1;
void setup() {
Serial.begin(9600);
// Audio connections require memory to work. For more
// detailed information, see the MemoryAndCpuUsage example
AudioMemory(8);
// Comment these out if not using the audio adaptor board.
// This may wait forever if the SDA & SCL pins lack
// pullup resistors
sgtl5000_1.enable();
sgtl5000_1.volume(0.5);
if (!(SD.begin(BUILTIN_SDCARD))) {
// stop here, but print a message repetitively
while (1) {
Serial.println("Unable to access the SD card");
delay(500);
}
}
}
void playFile(const char *filename)
{
Serial.print("Playing file: ");
Serial.println(filename);
// Start playing the file. This sketch continues to
// run while the file plays.
playWav1.play(filename);
// A brief delay for the library read WAV info
delay(5);
// Simply wait for the file to finish playing.
while (playWav1.isPlaying()) {
// uncomment these lines if you audio shield
// has the optional volume pot soldered
//float vol = analogRead(15);
//vol = vol / 1024;
// sgtl5000_1.volume(vol);
}
}
void loop() {
playFile("001.WAV"); // filenames are always uppercase 8.3 format
delay(500);
}