Dear friends,
Tried to interface LOLIN32 with SD card but got compilation error:
B4X:
D:\DEVELO~1\WEMOSP~1\WEMOS_SD\B4R_SD~1\Objects\bin\sketch\rSD.cpp:11:7: note: initializing argument 2 of 'bool B4R::B4RSD::open(B4R::B4RString*, Int)'
bool B4RSD::open (B4RString* FileName, Int mode) {
^
D:\DEVELO~1\WEMOSP~1\WEMOS_SD\B4R_SD~1\Objects\bin\sketch\rSD.cpp: In member function 'bool B4R::B4RSD::OpenReadWrite(B4R::B4RString*)':
rSD.cpp:25: error: invalid conversion from 'const char*' to 'Int {aka short int}' [-fpermissive]
return open(FileName, FILE_WRITE);
^
D:\DEVELO~1\WEMOSP~1\WEMOS_SD\B4R_SD~1\Objects\bin\sketch\rSD.cpp:11:7: note: initializing argument 2 of 'bool B4R::B4RSD::open(B4R::B4RString*, Int)'
bool B4RSD::open (B4RString* FileName, Int mode) {
^
Multiple libraries were found for "SD.h"
Used: C:\Users\RAJESH\Documents\Arduino\hardware\espressif\esp32\libraries\SD
Not used: C:\Program Files (x86)\Arduino\libraries\SD
exit status 1
It seems there is some incompatibility with ESP32 SD library! (Probably needs a new/modified wrapper!)
This Arduino sketch works fine:
Private Sub AppStart
Serial1.Initialize(115200)
Log("AppStart")
Log("Initialize: ", sd.Initialize(5)) '4 is the CS pin when using the ethernet shield
Log("OpenReadWrite: ", sd.OpenReadWrite("/log.txt"))
sd.Stream.WriteBytes("abcde", 0, 5)
sd.Close
Log("Open: ", sd.OpenRead("/log.txt"))
Log("Size: ", sd.CurrentFile.Size)
sd.Close
Log("Free memory: ", AvailableRAM)
End Sub
Private Sub AppStart
Serial1.Initialize(115200)
Log("AppStart")
Log("Initialize: ", sd.Initialize(5)) '4 is the CS pin when using the ethernet shield
Log("OpenReadWrite: ", sd.OpenReadWrite("/log.txt"))
sd.Stream.WriteBytes("abcde", 0, 5)
sd.Close
Log("Open: ", sd.OpenRead("/log.txt"))
Log("Size: ", sd.CurrentFile.Size)
sd.Close
Log("Free memory: ", AvailableRAM)
End Sub