adafruit / Adafruit_VS1053_Library

This is a Arduino library for the Adafruit VS1053 Codec Breakout and Music Maker Shields
https://www.adafruit.com/products/1381
134 stars 112 forks source link

Using SDfat on RP2040 (earlephilhower core) #90

Open madias123 opened 1 year ago

madias123 commented 1 year ago

Using the sdfat option with #define PREFER_SDFAT_LIBRARY 1 causes many compiler errors. I think it's the same as https://github.com/adafruit/Adafruit_VS1053_Library/issues/88

 In file included from C:\Users\test\AppData\Local\Temp\.arduinoIDE-unsaved202359-3360-1cplq83.wffl\player_simple\player_simple.ino:3:
c:\Users\test\Documents\Arduino\libraries\Adafruit_VS1053_Library/Adafruit_VS1053.h:341:3: error: 'File' does not name a type; did you mean 'SdFile'?
  341 |   File currentTrack;             //!< File that is currently playing
      |   ^~~~
      |   SdFile
c:\Users\test\Documents\Arduino\libraries\Adafruit_VS1053_Library/Adafruit_VS1053.h:359:31: error: 'File' has not been declared
  359 |   unsigned long mp3_ID3Jumper(File mp3);
      |                               ^~~~
In file included from C:\Users\test\AppData\Local\Temp\.arduinoIDE-unsaved202359-3360-1cplq83.wffl\player_simple\player_simple.ino:5:
C:\Users\test\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\3.2.2\libraries\SD\src/SD.h:232:16: error: conflicting declaration 'SDClass SD'
  232 | extern SDClass SD;
      |                ^~
In file included from C:\Users\test\AppData\Local\Temp\.arduinoIDE-unsaved202359-3360-1cplq83.wffl\player_simple\player_simple.ino:3:
c:\Users\test\Documents\Arduino\libraries\Adafruit_VS1053_Library/Adafruit_VS1053.h:24:14: note: previous declaration as 'SdFat SD'
   24 | extern SdFat SD;
      |              ^~
C:\Users\test\AppData\Local\Temp\.arduinoIDE-unsaved202359-3360-1cplq83.wffl\player_simple\player_simple.ino: In function 'void setup()':
C:\Users\test\AppData\Local\Temp\.arduinoIDE-unsaved202359-3360-1cplq83.wffl\player_simple\player_simple.ino:49:25: error: could not convert 'FatVolume::open(const char*, oflag_t)(((const char*)"/"), 0)' from 'File32' to 'fs::File'
   49 |   printDirectory(SD.open("/"), 0);
      |                  ~~~~~~~^~~~~
      |                         |
      |                         File32
Multiple libraries were found for "SD.h"
  Used: C:\Users\test\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\3.2.2\libraries\SD
  Not used: C:\Users\test\AppData\Local\Arduino15\libraries\SD
exit status 1

Compilation error: could not convert 'FatVolume::open(const char*, oflag_t)(((const char*)"/"), 0)' from 'File32' to 'fs::File 
madias123 commented 1 year ago

This could be fixed by https://github.com/adafruit/Adafruit_VS1053_Library/pull/87

Please accept this pull request.