Skip to content

Commit d5f71ce

Browse files
lbernstoneme-no-dev
authored andcommitted
Added a parameter for max files in SD (#2563)
1 parent 7df50a9 commit d5f71ce

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

libraries/SD/src/SD.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ using namespace fs;
2222

2323
SDFS::SDFS(FSImplPtr impl): FS(impl), _pdrv(0xFF) {}
2424

25-
bool SDFS::begin(uint8_t ssPin, SPIClass &spi, uint32_t frequency, const char * mountpoint)
25+
bool SDFS::begin(uint8_t ssPin, SPIClass &spi, uint32_t frequency, const char * mountpoint, uint8_t max_files)
2626
{
2727
if(_pdrv != 0xFF) {
2828
return true;
@@ -35,7 +35,7 @@ bool SDFS::begin(uint8_t ssPin, SPIClass &spi, uint32_t frequency, const char *
3535
return false;
3636
}
3737

38-
if(!sdcard_mount(_pdrv, mountpoint)){
38+
if(!sdcard_mount(_pdrv, mountpoint, max_files)){
3939
sdcard_unmount(_pdrv);
4040
sdcard_uninit(_pdrv);
4141
_pdrv = 0xFF;

libraries/SD/src/SD.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class SDFS : public FS
2828

2929
public:
3030
SDFS(FSImplPtr impl);
31-
bool begin(uint8_t ssPin=SS, SPIClass &spi=SPI, uint32_t frequency=4000000, const char * mountpoint="/sd");
31+
bool begin(uint8_t ssPin=SS, SPIClass &spi=SPI, uint32_t frequency=4000000, const char * mountpoint="/sd", uint8_t max_files=5);
3232
void end();
3333
sdcard_type_t cardType();
3434
uint64_t cardSize();

libraries/SD/src/sd_diskio.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -711,7 +711,7 @@ uint8_t sdcard_unmount(uint8_t pdrv)
711711
return 0;
712712
}
713713

714-
bool sdcard_mount(uint8_t pdrv, const char* path)
714+
bool sdcard_mount(uint8_t pdrv, const char* path, uint8_t max_files)
715715
{
716716
ardu_sdcard_t * card = s_cards[pdrv];
717717
if(pdrv >= FF_VOLUMES || card == NULL){
@@ -725,7 +725,7 @@ bool sdcard_mount(uint8_t pdrv, const char* path)
725725

726726
FATFS* fs;
727727
char drv[3] = {(char)('0' + pdrv), ':', 0};
728-
esp_err_t err = esp_vfs_fat_register(path, drv, 5, &fs);
728+
esp_err_t err = esp_vfs_fat_register(path, drv, max_files, &fs);
729729
if (err == ESP_ERR_INVALID_STATE) {
730730
log_e("esp_vfs_fat_register failed 0x(%x): SD is registered.", err);
731731
return false;

libraries/SD/src/sd_diskio.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
uint8_t sdcard_init(uint8_t cs, SPIClass * spi, int hz);
2222
uint8_t sdcard_uninit(uint8_t pdrv);
2323

24-
bool sdcard_mount(uint8_t pdrv, const char* path);
24+
bool sdcard_mount(uint8_t pdrv, const char* path, uint8_t max_files);
2525
uint8_t sdcard_unmount(uint8_t pdrv);
2626

2727
sdcard_type_t sdcard_type(uint8_t pdrv);

0 commit comments

Comments
 (0)