The minix files here might be the same thing: I'm guessing that this will use the standard SPI access and not the SDIO? Anyway it works and shows that the card can be accessed and files seen. I see that this uses libraries Sd2Card SdVolume and SdFile and not the SdFat libraries unless they are referenced under the hood so to speak. I have #define USE_SDIO 1 and const int chipSelect = BUILTIN_SDCARD. Type '1' for SdFatSdioEX or '2' for SdFatSdio Note the difference is speed and busy yield time. SdFatSdio uses a traditional DMA SDIO implementation. Compiles out of the box for the Teens圓.5 and shows a massive performance increase using the EX library.Ĭode: SdFatSdioEX uses extended multi-block transfers without DMA. I am no expert with C++ and so I am confused where these libraries are defined, or even what functions they support. Uses libraries SdFatSdio and SdFatSdioEX. Note that this code does not work out of the box for the Teensy 3.5. Nightmare! NOTE: now fixed thanks to the information in this thread. If understand correctly the EX library uses high speed SDIO mode and the other uses regular SPI? When USE_SDIO is set to 1 it works, when set to 0 it fails (and my fixes like changing the chip select to BUILTIN_SDCARD and/or adding #including all hell breaks loose. I see "sd" declared either as SdFatSdioEX (works very fast) or as SdFat. ![]() I have tried example sketches and they appear to show that everything can work correctly. In order to get the code to compile I had to install the SdFat library from the library manager (V1.1.0). I have to say that I am confused by the various libraries, and even which mode the SD card is in (SPI or SDIO). usr/share/arduino/hardware/arduino/avr/cores/arduino/HardwareSerial.h:128: multiple definition of `wcreceive(int, char**)'Ĭollect2: error: ld returned 1 exit status usr/share/arduino/hardware/arduino/avr/cores/arduino/HardwareSerial.h:128: multiple definition of `rzfiles()' usr/share/arduino/hardware/arduino/avr/cores/arduino/HardwareSerial.h:128: multiple definition of `rzfile()' usr/share/arduino/hardware/arduino/avr/cores/arduino/HardwareSerial.h:128: multiple definition of `tryzhdrtype' usr/share/arduino/hardware/arduino/avr/cores/arduino/HardwareSerial.h:128: multiple definition of `tryz()' Zmodem/zmodem_rz.cpp.o: In function `getfree()': Zmodem_rz.cpp.o:/usr/share/arduino/hardware/arduino/avr/cores/arduino/HardwareSerial.h:128: first defined here ![]() What ar you compiling with? with the arduino 1.6.5 IDE I get these sorts of errors It would be fabulous if someone with an SDCard on an Uno, or better yet a Nano because it has little less flash available, would take the latest version for a test drive and let me know how it runs! Over here at GitHub: I put some macros into zmodem_config.h that allow you to disable send, receive, or the file manager commands just incase, but I'm hopeful it's not necessary to do so. I didn't think it could be done at first, but it appears I proved myself wrong. I even managed to do that and not have to choose to enable only one of send or receive. So jferguson and others who might be interested, I did a large scale overhaul to my ZModem sketch and I actually got it down (with a lot of very creative and unorthodox wrangling) to just under 30K of Flash and just under 2K of RAM needed. I'm waking this thread up again because you guys show more signs of life than the folks at and I'm hoping someone will test my new sketch version on a small Arduino board.
0 Comments
Leave a Reply. |