Replies: 6 comments 5 replies
-
You need to use the examples/etc. from the Files->Examples->ESP8266SDFAT, not the SdFat library you've got installed. Those do build on the Pico. You can also use the LittleFS->SpeedTest example (there is a SD mode) or the examples in the SD library. |
Beta Was this translation helpful? Give feedback.
-
Hello, thanks for the quick reply! I tried the example "ESP8266SDFAT->bench", and get this build error:
|
Beta Was this translation helpful? Give feedback.
-
Thank you, I did that and now it builds OK (is there a way to force Arduino IDE to pick up your library? Or should I remove SDFat any time I build for Pico? I need it for other boards). But the benchmark does not run (does not find the SDcard. Same reader works ok on Arduino Zero so I rule out a faulty reader/card). So I tried your suggestion to use LittleFS Speed Test, but when I uncomment I get a build error:
|
Beta Was this translation helpful? Give feedback.
-
Just out of curiosity, I tested the original SDFat (from Bill Greiman) with the Pico. I used the latest SDFat 2.2.0 It works, and peaks at 920 KB/s with the Pico overclocked to 250 MHz. Discussing the performance figures with Bill Greiman, he wrote a test patch for the library which should allow 2.5x the speed (!) Unfortunately it does not build with Arduino-Pico core, because of an incompatibility with the definition of SPIClass. Please, if/when you have the time/interest, could it be possible for you to have a look at this (short) discussion? Many thanks for your work on Arduino-Pico. Without this core, I would never had a use for the Pico! |
Beta Was this translation helpful? Give feedback.
-
It would be great if the API would be consistent with Adafruit, Teensy, STM32, and other board packages. Adafruit uses:
Others omit the block argument. Having this as a member of SPIClass so I can use a pointer allows a second SPI port to be used in a dedicated way. This is a major advantage in handling internal operations in cards. SD cards now have flash pages sizes of 16KB or more with large RAM buffers to emulate 512 byte sectors. Every time you raise CS, the card write a page. The data then must be copied to a new erased page for the next sector. This can increase flash writes by a factor of 32 or more. For high end cards internal data copy and write can be 100 or more MB/sec |
Beta Was this translation helpful? Give feedback.
-
I do use an "unofficial" solution to force the use of the SdFat.h from ESP8266SdFat: Create the file ESP8266SdFat.h which has the following code and the do not use |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
I'm using Arduino 1.8.19 + Arduino-Pico core v2.4.1 and have SdFat v2.2.0 installed (needed for various other boards).
I'd like to try a few SdFat examples (notably "bench") with my Raspberry Pico, but SdFat v2.2.0 does not build (error below).
By the way I opened an issue on SdFat github.
I seem to understand you ship a fork of SdFat with Arduino-Pico, but it's not picked up it seems (and it's not listed under "Examples for Raspberry Pi Pico").
Any suggestion? How can I "force" Arduino IDE to pick up the bundled SdFat library instead of the standard one?
Build error (for "bench", but it's the same with every SdFat example sketch):
Beta Was this translation helpful? Give feedback.
All reactions