fece0fb432
After the script stops with the exception thrown the final gc_sweep will call any finalizers and they usually call deinit. deinit on invalid objects can wreak havoc by changing random memory or (hopefully) crashing. This fixes ensures the object is deinited until initialization succeeds and the object is valid. Do the same fix for I2C and SPI too. Fixes #4700 and fixes #5005 |
||
---|---|---|
.github | ||
data | ||
devices/ble_hci | ||
docs | ||
examples | ||
extmod | ||
frozen | ||
lib | ||
LICENSES | ||
locale | ||
logo | ||
mpy-cross | ||
ports | ||
py | ||
shared-bindings | ||
shared-module | ||
supervisor | ||
tests | ||
tools | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.mailmap | ||
.pre-commit-config.yaml | ||
.readthedocs.yml | ||
.rosie.yml | ||
ACKNOWLEDGEMENTS | ||
ACKNOWLEDGEMENTS.license | ||
BUILDING.md | ||
CODE_OF_CONDUCT.md | ||
conf.py | ||
CONTRIBUTING.md | ||
LICENSE | ||
license.rst | ||
main.c | ||
Makefile | ||
MANIFEST.in-stubs | ||
README.rst | ||
README.rst-stubs | ||
requirements-dev.txt | ||
setup.py-stubs | ||
WEBUSB_README.md |
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