I am at my wits’ end. I was trying to do a simple project having the ESP32 Wroom play a MP3 file from a MicroSD card and playing it through a small speaker with the MAX98357A. I keep getting these errors that I don’t know how to fix.
Here’s my code
/*
ESP32 SD I2S Music Player
esp32-i2s-sd-player.ino
Plays MP3 file from microSD card
Uses MAX98357 I2S Amplifier Module
Uses ESP32-audioI2S Library - https://github.com/schreibfaul1/ESP32-audioI2S
*
DroneBot Workshop 2022
https://dronebotworkshop.com
*/
// Include required libraries
#include "Arduino.h"
#include "Audio.h"
#include "SD.h"
#include "FS.h"
// microSD Card Reader connections
#define SD_CS 5
#define SPI_MOSI 23
#define SPI_MISO 18
#define SPI_SCK 19
// I2S Connections
#define I2S_DOUT 22
#define I2S_BCLK 26
#define I2S_LRC 25
// Create Audio object
Audio audio;
void setup() {
// Set microSD Card CS as OUTPUT and set HIGH
pinMode(SD_CS, OUTPUT);
digitalWrite(SD_CS, HIGH);
// Initialize SPI bus for microSD Card
SPI.begin(SPI_SCK, SPI_MISO, SPI_MOSI);
// Start Serial Port
Serial.begin(115200);
// Start microSD Card
if(!SD.begin(SD_CS))
{
Serial.println("Error accessing microSD card!");
while(true);
}
// Setup I2S
audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
// Set Volume
audio.setVolume(5);
// Open music file
audio.connecttoFS(SD,"/AnniversaryAlbum.mp3");
}
void loop()
{
audio.loop();
}
And here are the errors
c:\Users\17733\Documents\Arduino\libraries\SPI\src\SPI.cpp: In member function 'void SPIClass::end()':
c:\Users\17733\Documents\Arduino\libraries\SPI\src\SPI.cpp:126:17: error: too many arguments to function 'bool spiDetachSCK(spi_t*)'
126 | spiDetachSCK(_spi, _sck);
| ~~~~~~~~~~~~^~~~~~~~~~~~
In file included from c:\Users\17733\Documents\Arduino\libraries\SPI\src\SPI.h:29,
from c:\Users\17733\Documents\Arduino\libraries\SPI\src\SPI.cpp:22:
C:\Users\17733\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.0\cores\esp32/esp32-hal-spi.h:72:6: note: declared here
72 | bool spiDetachSCK(spi_t *spi);
| ^~~~~~~~~~~~
c:\Users\17733\Documents\Arduino\libraries\SPI\src\SPI.cpp:128:22: error: too many arguments to function 'bool spiDetachMISO(spi_t*)'
128 | spiDetachMISO(_spi, _miso);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~
C:\Users\17733\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.0\cores\esp32/esp32-hal-spi.h:73:6: note: declared here
73 | bool spiDetachMISO(spi_t *spi);
| ^~~~~~~~~~~~~
c:\Users\17733\Documents\Arduino\libraries\SPI\src\SPI.cpp:131:22: error: too many arguments to function 'bool spiDetachMOSI(spi_t*)'
131 | spiDetachMOSI(_spi, _mosi);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~
C:\Users\17733\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.0\cores\esp32/esp32-hal-spi.h:74:6: note: declared here
74 | bool spiDetachMOSI(spi_t *spi);
| ^~~~~~~~~~~~~
c:\Users\17733\Documents\Arduino\libraries\SPI\src\SPI.cpp: In member function 'void SPIClass::setHwCs(bool)':
c:\Users\17733\Documents\Arduino\libraries\SPI\src\SPI.cpp:148:20: error: too many arguments to function 'bool spiDetachSS(spi_t*)'
148 | spiDetachSS(_spi, _ss);
| ~~~~~~~~~~~^~~~~~~~~~~
C:\Users\17733\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.0\cores\esp32/esp32-hal-spi.h:78:6: note: declared here
78 | bool spiDetachSS(spi_t *spi);
| ^~~~~~~~~~~
Multiple libraries were found for "SD.h"
Used: C:\Users\17733\Documents\Arduino\libraries\SD
Not used: C:\Users\17733\AppData\Local\Arduino15\libraries\SD
Not used: C:\Users\17733\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.0\libraries\SD
Multiple libraries were found for "SPI.h"
Used: C:\Users\17733\Documents\Arduino\libraries\SPI
Not used: C:\Users\17733\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.0\libraries\SPI
Multiple libraries were found for "SD_MMC.h"
Used: C:\Users\17733\Documents\Arduino\libraries\SD_MMC
Not used: C:\Users\17733\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.0\libraries\SD_MMC
Multiple libraries were found for "Audio.h"
Used: C:\Users\17733\Documents\Arduino\libraries\ESP32-audioI2S-master
Not used: C:\Users\17733\Documents\Arduino\libraries\Audio
Multiple libraries were found for "FS.h"
Used: C:\Users\17733\Documents\Arduino\libraries\FS
Not used: C:\Users\17733\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.0\libraries\FS
Multiple libraries were found for "FFat.h"
Used: C:\Users\17733\Documents\Arduino\libraries\FFat
Not used: C:\Users\17733\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.0\libraries\FFat
exit status 1
Compilation error: exit status 1
Any help would be appreciated