Browse Source

Disable interrupts while opening files from SD card

dds
PaulStoffregen 10 years ago
parent
commit
0260ebf687
2 changed files with 4 additions and 1 deletions
  1. +2
    -0
      play_sd_raw.cpp
  2. +2
    -1
      play_sd_wav.cpp

+ 2
- 0
play_sd_raw.cpp View File

bool AudioPlaySdRaw::play(const char *filename) bool AudioPlaySdRaw::play(const char *filename)
{ {
stop(); stop();
__disable_irq();
rawfile = SD.open(filename); rawfile = SD.open(filename);
__enable_irq();
if (!rawfile) { if (!rawfile) {
//Serial.println("unable to open file"); //Serial.println("unable to open file");
return false; return false;

+ 2
- 1
play_sd_wav.cpp View File

bool AudioPlaySdWav::play(const char *filename) bool AudioPlaySdWav::play(const char *filename)
{ {
stop(); stop();
// TODO: SD.open probably needs to be done with the audio interrupt disabled...
__disable_irq();
wavfile = SD.open(filename); wavfile = SD.open(filename);
__enable_irq();
if (!wavfile) return false; if (!wavfile) return false;
buffer_length = 0; buffer_length = 0;
buffer_offset = 0; buffer_offset = 0;

Loading…
Cancel
Save