Go to file
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
.github Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
data Updating MISO 2021-05-22 01:02:06 -04:00
devices/ble_hci Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
docs Merge pull request #5472 from fraziern/fraziern-docs-readme 2021-10-16 17:22:06 -05:00
examples Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
extmod Rename make_new's parameter to all_args 2021-10-15 13:49:33 -05:00
frozen Stage: add support for viewport scrolling 2021-10-09 00:05:49 +02:00
lib Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
LICENSES Add an explicit SPDX license file for ter-u12n. 2020-07-06 19:15:41 +01:00
locale Update translation files 2021-10-22 01:43:30 +02:00
logo Add license to some obvious files. 2020-07-06 19:16:25 +01:00
mpy-cross fix name of windows mpy-cross executable 2021-10-15 08:53:58 -05:00
ports Merge pull request #5484 from dhalbert/samd21-pdmin-fix 2021-10-20 09:47:13 -07:00
py Update help() to have circuitpython.org 2021-10-21 18:07:07 -04:00
shared Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
shared-bindings sdcardio: Remove errant kwarg 2021-10-25 10:03:21 -05:00
shared-module sdcardio: Use CMD25 across multiple writeblocks() calls 2021-10-25 10:59:28 -05:00
supervisor Merge remote-tracking branch 'adafruit/main' into hid-boot-protocol 2021-10-18 15:30:24 -04:00
tests Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
tools Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
.git-blame-ignore-revs top: Update .git-blame-ignore-revs for latest formatting commit. 2021-04-27 23:46:46 +10:00
.gitattributes Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
.gitignore refine stubs-building procedure 2021-06-22 08:59:05 -05:00
.gitmodules Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
.mailmap Add a .mailmap file to collate together multiple author entries. 2020-07-06 19:15:41 +01:00
.pre-commit-config.yaml Try and fix build 2021-09-14 11:10:55 -07:00
.readthedocs.yml .readthedocs.yml: add directive for RTD to build a pdf version of the docs 2020-08-15 14:30:12 -05:00
.rosie.yml Add license to some obvious files. 2020-07-06 19:16:25 +01:00
ACKNOWLEDGEMENTS Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
ACKNOWLEDGEMENTS.license Add license to some obvious files. 2020-07-06 19:16:25 +01:00
BUILDING.md Add required python packages to building docs 2021-09-08 23:48:50 +02:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md from source-of-truth repository. 2020-06-03 10:43:36 +01:00
conf.py Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
CONTRIBUTING.md Fix error 2020-10-26 23:36:54 +01:00
LICENSE LICENSE: Update for move of crypto-algorithms, re1.5, uzlib to lib. 2021-07-12 16:36:40 +10:00
license.rst Improve docs and update to CircuitPython. 2017-01-05 16:20:46 -08:00
main.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
Makefile fix espidf docs 2021-09-17 21:27:18 +05:30
MANIFEST.in-stubs refine stubs-building procedure 2021-06-22 08:59:05 -05:00
README.rst add esp32c3 documentation in readme 2021-10-01 01:26:05 +05:30
README.rst-stubs Actually reduce the README text for the stubs package 2021-06-24 13:41:01 -05:00
requirements-ci.txt build docs dynamically 2021-09-16 00:05:42 +05:30
requirements-dev.txt build docs dynamically 2021-09-16 00:05:42 +05:30
requirements-doc.txt build docs dynamically 2021-09-16 00:05:42 +05:30
setup.py-stubs refine stubs-building procedure 2021-06-22 08:59:05 -05:00
WEBUSB_README.md Rename esp32s2 port to espressif 2021-09-13 16:44:55 -07:00

CircuitPython
=============

.. image:: https://s3.amazonaws.com/adafruit-circuit-python/CircuitPython_Repo_header_logo.png

|Build Status| |Doc Status| |License| |Discord| |Weblate|

`circuitpython.org <https://circuitpython.org>`__ \| `Get CircuitPython <#get-circuitpython>`__ \|
`Documentation <#documentation>`__ \| `Contributing <#contributing>`__ \|
`Branding <#branding>`__ \| `Differences from Micropython <#differences-from-micropython>`__ \|
`Project Structure <#project-structure>`__

**CircuitPython** is a *beginner friendly*, open source version of Python for tiny, inexpensive
computers called microcontrollers.

This package contains the "stubs", or type definitions for CircuitPython.  With some advanced
editors and other tools, this information can be identify TypeErrors, AttributeErrors, and other
problems before you deploy your code to a device and can even help autocomplete your code.

.. |Build Status| image:: https://github.com/adafruit/circuitpython/workflows/Build%20CI/badge.svg
   :target: https://github.com/adafruit/circuitpython/actions?query=branch%3Amain
.. |Doc Status| image:: https://readthedocs.org/projects/circuitpython/badge/?version=latest
   :target: http://circuitpython.readthedocs.io/
.. |Discord| image:: https://img.shields.io/discord/327254708534116352.svg
   :target: https://adafru.it/discord
.. |License| image:: https://img.shields.io/badge/License-MIT-brightgreen.svg
   :target: https://choosealicense.com/licenses/mit/
.. |Weblate| image:: https://hosted.weblate.org/widgets/circuitpython/-/svg-badge.svg
   :target: https://hosted.weblate.org/engage/circuitpython/?utm_source=widget