circuitpython/shared-module/sdcardio
Jeff Epler f22299d2b3 sdcardio: Use CMD25 across multiple writeblocks() calls
This increases write rates (of gifio from #5490) from about 2.4fps to over
5fps by making more efficient use of the SD card protocol.

Because of details of oofatfs, it usually manages 64 writes in a single
CMD25, then two writes in a different area of the SD card (presumably,
filesystem metadata).  I couldn't find where to increase "64" to a higher
number. This may depend on the allocation size of the filesystem.

I tried preallocating too, but oddly it significantly lowered the write
rate.

Any trailing data is committed when the file is close()d, or when
the `sync` method of the SDCard object is called.
2021-10-25 10:59:28 -05:00
..
__init__.c sdcardio: implement new library for SD card I/O 2020-06-26 11:50:23 -05:00
__init__.h sdcardio: implement new library for SD card I/O 2020-06-26 11:50:23 -05:00
SDCard.c sdcardio: Use CMD25 across multiple writeblocks() calls 2021-10-25 10:59:28 -05:00
SDCard.h sdcardio: Use CMD25 across multiple writeblocks() calls 2021-10-25 10:59:28 -05:00