3#if (defined ESP32 && defined ARDUINO)
20MountImpl::MountResult ArduinoSdSpiFs::mountImpl(
21 std::function<
void()> unmount_fn) {
22 pdrv_ = sdcard_init(cs_pin_, spi_, frequency());
24 return MountImpl::MountError(kGenericMountError);
26 if (!sdcard_mount(pdrv_, mountPoint(), maxOpenFiles(),
27 formatIfMountFailed())) {
28 sdcard_unmount(pdrv_);
31 return MountImpl::MountError(kGenericMountError);
33 return MountImpl::Mounted(std::unique_ptr<MountImpl>(
34 new PosixMountImpl(mountPoint(), readOnly(), unmount_fn)));
37void ArduinoSdSpiFs::unmountImpl() {
39 sdcard_unmount(pdrv_);
46Filesystem::MediaPresence ArduinoSdSpiFs::checkMediaPresence() {
49 if (f_getfree(
"0:", &fre_clust, &fsinfo) != 0) {
50 return Filesystem::kMediaAbsent;
52 return (fsinfo->csize == 0) ? Filesystem::kMediaAbsent
53 : Filesystem::kMediaPresent;
56ArduinoSdSpiFs CreateArduinoSdSpiFs() {
return ArduinoSdSpiFs(); }
58ArduinoSdSpiFs SD_SPI = CreateArduinoSdSpiFs();
roo::basic_string_view< CharT, Traits > basic_string_view