Replies: 4 comments 4 replies
-
That example is in the Look at the |
Beta Was this translation helpful? Give feedback.
-
Many thanks Earle. I will give that a try this evening. I had not looked at the SDFat directory within your core directory. I had just downloaded and installed SDFat thru the Library Manager. |
Beta Was this translation helpful? Give feedback.
-
Earle, please don't take the question about the frame rate as a dig. I am in awe of your accomplishment with the Pico. A massive undertaking and truly impressive results. THANK YOU VERY MUCH. |
Beta Was this translation helpful? Give feedback.
-
https://github.com/raspberrypi/pico-extras/tree/master/src/rp2_common/pico_sd_card "1 and 4 bit SDIO support using PIO. So it appears there is prototype code to do this at the official github site. |
Beta Was this translation helpful? Give feedback.
-
Hi,
SDFat library example "bench.ino" compiles and runs with Arduino Pico Mbed but with this core I get the error below. Could someone point out what I am doing wrong? Thanks, Bill
bench:68:1: error: 'SdFat' does not name a type
68 | SdFat sd;
| ^~~~~
bench:69:1: error: 'File' does not name a type
69 | File file;
| ^~~~
bench:84:1: error: 'ArduinoOutStream' does not name a type; did you mean 'ArduinoStream_h'?
84 | ArduinoOutStream cout(Serial);
| ^~~~~~~~~~~~~~~~
| ArduinoStream_h
C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino: In function 'void cidDmp()':
bench:90:3: error: 'cid_t' was not declared in this scope; did you mean 'sdfat::cid_t'?
90 | cid_t cid;
| ^~~~~
| sdfat::cid_t
In file included from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/SdCard/SdCardInterface.h:28,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/SdCard/SdioCard.h:28,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/SdCard/SdCard.h:27,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/SdFat.h:32,
from C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:4:
C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/SdCard/SdCardInfo.h:297:27: note: 'sdfat::cid_t' declared here
297 | } attribute((packed)) cid_t;
| ^~~~~
bench:91:8: error: 'sd' was not declared in this scope; did you mean 'std'?
91 | if (!sd.card()->readCID(&cid)) {
| ^~
| std
bench:91:28: error: 'cid' was not declared in this scope
91 | if (!sd.card()->readCID(&cid)) {
| ^~~
bench:95:3: error: 'cout' was not declared in this scope
95 | cout << F("\nManufacturer ID: ");
| ^~~~
bench:96:11: error: 'hex' was not declared in this scope; did you mean 'sdfat::hex'?
96 | cout << hex << int(cid.mid) << dec << endl;
| ^~~
| sdfat::hex
In file included from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/istream.h:31,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/iostream.h:31,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/bufstream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ArduinoStream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/sdios.h:31,
from C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:5:
C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ios.h:265:18: note: 'sdfat::hex' declared here
265 | inline ios_base& hex(ios_base& str) {
| ^~~
bench:96:22: error: 'cid' was not declared in this scope
96 | cout << hex << int(cid.mid) << dec << endl;
| ^~~
bench:96:34: error: 'dec' was not declared in this scope; did you mean 'sdfat::dec'?
96 | cout << hex << int(cid.mid) << dec << endl;
| ^~~
| sdfat::dec
In file included from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/istream.h:31,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/iostream.h:31,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/bufstream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ArduinoStream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/sdios.h:31,
from C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:5:
C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ios.h:257:18: note: 'sdfat::dec' declared here
257 | inline ios_base& dec(ios_base& str) {
| ^~~
bench:96:41: error: 'endl' was not declared in this scope; did you mean 'sdfat::endl'?
96 | cout << hex << int(cid.mid) << dec << endl;
| ^~~~
| sdfat::endl
In file included from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/bufstream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ArduinoStream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/sdios.h:31,
from C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:5:
C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/iostream.h:50:17: note: 'sdfat::endl' declared here
50 | inline ostream& endl(ostream& os) {
| ^~~~
C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino: In function 'void setup()':
bench:125:5: error: 'SysCall' has not been declared
125 | SysCall::yield();
| ^~~~~~~
bench:128:3: error: 'cout' was not declared in this scope
128 | cout << F("\nUse a freshly formatted SD for best performance.\n");
| ^~~~
bench:135:11: error: 'uppercase' was not declared in this scope; did you mean 'sdfat::uppercase'?
135 | cout << uppercase << showbase << endl;
| ^~~~~~~~~
| sdfat::uppercase
In file included from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/istream.h:31,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/iostream.h:31,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/bufstream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ArduinoStream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/sdios.h:31,
from C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:5:
C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ios.h:385:18: note: 'sdfat::uppercase' declared here
385 | inline ios_base& uppercase(ios_base& str) {
| ^~~~~~~~~
bench:135:24: error: 'showbase' was not declared in this scope; did you mean 'sdfat::showbase'?
135 | cout << uppercase << showbase << endl;
| ^~~~~~~~
| sdfat::showbase
In file included from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/istream.h:31,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/iostream.h:31,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/bufstream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ArduinoStream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/sdios.h:31,
from C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:5:
C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ios.h:353:18: note: 'sdfat::showbase' declared here
353 | inline ios_base& showbase(ios_base& str) {
| ^~~~~~~~
bench:135:36: error: 'endl' was not declared in this scope; did you mean 'sdfat::endl'?
135 | cout << uppercase << showbase << endl;
| ^~~~
| sdfat::endl
In file included from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/bufstream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ArduinoStream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/sdios.h:31,
from C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:5:
C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/iostream.h:50:17: note: 'sdfat::endl' declared here
50 | inline ostream& endl(ostream& os) {
| ^~~~
C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino: In function 'void loop()':
bench:150:3: error: 'cout' was not declared in this scope
150 | cout << F("Type any character to start\n");
| ^~~~
bench:152:5: error: 'SysCall' has not been declared
152 | SysCall::yield();
| ^~~~~~~
bench:155:46: error: 'endl' was not declared in this scope; did you mean 'sdfat::endl'?
155 | cout << F("FreeStack: ") << FreeStack() << endl;
| ^~~~
| sdfat::endl
In file included from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/bufstream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/ArduinoStream.h:32,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/sdios.h:31,
from C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:5:
C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/iostream/iostream.h:50:17: note: 'sdfat::endl' declared here
50 | inline ostream& endl(ostream& os) {
| ^~~~
bench:161:8: error: 'sd' was not declared in this scope; did you mean 's'?
161 | if (!sd.begin(SD_CONFIG)) {
| ^~
| s
bench:34:19: error: 'SdSpiConfig' was not declared in this scope; did you mean 'sdfat::SdSpiConfig'?
34 | #define SD_CONFIG SdSpiConfig(SD_CS_PIN, DEDICATED_SPI, SPI_CLOCK)
| ^~~~~~~~~~~
C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:161:17: note: in expansion of macro 'SD_CONFIG'
161 | if (!sd.begin(SD_CONFIG)) {
| ^~~~~~~~~
In file included from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/SdCard/SdSpiCard.h:35,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/SdCard/SdCard.h:28,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/SdFat.h:32,
from C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:4:
c:\users\home\appdata\local\arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\sdfat\src\spidriver\sdspidriver.h:145:7: note: 'sdfat::SdSpiConfig' declared here
145 | class SdSpiConfig {
| ^~~~~~~~~~~
bench:164:7: error: 'sd' was not declared in this scope; did you mean 's'?
164 | if (sd.fatType() == FAT_TYPE_EXFAT) {
| ^~
| s
bench:164:23: error: 'FAT_TYPE_EXFAT' was not declared in this scope; did you mean 'sdfat::FAT_TYPE_EXFAT'?
164 | if (sd.fatType() == FAT_TYPE_EXFAT) {
| ^~~~~~~~~~~~~~
| sdfat::FAT_TYPE_EXFAT
In file included from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/ExFatLib/ExFatVolume.h:27,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/ExFatLib/ExFatLib.h:27,
from C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/SdFat.h:33,
from C:\Users\HOME\AppData\Local\Temp\arduino_modified_sketch_994260\bench.ino:4:
C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat\src/ExFatLib/ExFatPartition.h:41:15: note: 'sdfat::FAT_TYPE_EXFAT' declared here
41 | const uint8_t FAT_TYPE_EXFAT = 64;
| ^~~~~~~~~~~~~~
bench:170:31: error: 'sd' was not declared in this scope; did you mean 's'?
170 | cout << F("Card size: ") << sd.card()->sectorCount()*512E-9;
| ^~
| s
bench:176:8: error: 'file' was not declared in this scope
176 | if (!file.open("bench.dat", O_RDWR | O_CREAT | O_TRUNC)) {
| ^~~~
bench:199:5: error: 'file' was not declared in this scope
199 | file.truncate(0);
| ^~~~
bench:242:5: error: 'file' was not declared in this scope
242 | file.rewind();
| ^~~~
bench:278:3: error: 'file' was not declared in this scope
278 | file.close();
| ^~~~
Multiple libraries were found for "SdFat.h"
Used: C:\Users\HOME\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\1.8.2\libraries\SdFat
Not used: C:\Users\HOME\Documents\Arduino\libraries\SdFat
exit status 1
'SdFat' does not name a type
Beta Was this translation helpful? Give feedback.
All reactions