Go to file
Jeff Epler 7d6ac96001 GifWriter: improve efficiency
* Increase colorspace conversion efficiency.
   This not only avoids a function call, it avoids the time-consuming
   switch statement in conver_pixel (replacing it with a single
   conditional on the byteswap flag + accounting for BGR/RGB during
   palette creation)

 * Buffer all the bytes of a single frame together.  By reducing
   low level write calls we get a decent speed increase even though
   it increases data-shuffling a bit.

Together with some other changes that enable "double buffered" camera
capture, this gets me to 8.8fps capturing QVGA (320x240) gifs and
11fps capturing 240x240 square gifs.
2021-10-26 11:11: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 Fix _bleio.start_advertising arg check; add doc to SocketPool.socket() 2021-10-25 08:43:57 -04: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 Implement gifio.GifWriter 2021-10-26 08:54:18 -05: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 Disable gifio if no displayio & for small boards 2021-10-26 08:54:18 -05:00
py Disable gifio if no displayio & for small boards 2021-10-26 08:54:18 -05:00
shared Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
shared-bindings Fix typing 2021-10-26 08:54:18 -05:00
shared-module GifWriter: improve efficiency 2021-10-26 11:11:28 -05:00
supervisor add missing varriables to devices.h generator 2021-10-24 11:45:15 -07:00
tests Update module list in test 2021-10-26 08:54:18 -05:00
tools allow any character except / in port or board name 2021-10-22 20:08:02 +05:30
.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 merged commits from main 2021-09-19 15:51:43 +02: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 merged commits from main 2021-09-19 15:51:43 +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 merged commits from main 2021-09-19 15:51:43 +02:00
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 merged commits from main 2021-09-19 15:51:43 +02:00
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 merged commits from main 2021-09-19 15:51:43 +02: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