No description
Find a file
Jeff Epler f331a85ec5 raspberrypi: Don't block DMA_IRQ_1 during common_hal_mcu_disable_interrupts
doing so causes the picodvi display on rp2350 to blank, because this
irq is handed by cpu0.

Instead, use the BASEPRI register so that common_hal_mcu_disable_interrupts
masks interrupts with lower priority (higher priority values) than
PICO_ELEVATED_IRQ_PRIORITY. This has the effect of masking "regular"
interrupts while still letting this priority interrupt occur.

port_idle_until_interrupt now needs to directly manipulate the interrupt
enable state, because an interrupt masked via BASEPRI also does not
cause the WFI instruction to complete. Since I don't know that
`nesting_count==0` is a precondition of `port_idle_until_interrupt`,
also set and restore BASEPRI before WFI.

Because RP2040 is Cortex M0+ lacking BASEPRI, the old implementation
is used there.
2025-02-12 14:21:08 -06:00
.codespell add formatting/spelling exceptions 2024-07-29 18:59:59 -04:00
.devcontainer install most current version of CMAKE from kitware 2024-11-26 09:43:53 +01:00
.github Add Zephyr port 2025-02-04 11:24:13 -08:00
data merge from 8.2.9 2023-12-06 14:18:01 -05:00
devices/ble_hci fix ble_serial_connected() 2024-10-03 16:55:00 -04:00
docs Switch to ruff like MicroPython 2025-02-05 11:09:15 -08:00
examples non-conflict merge changes 2024-09-05 14:54:18 -04:00
extmod add static to 'extmod/vfs_fat.c: fat_vfs_label_obj' 2024-10-04 16:55:35 +08:00
frozen revert asyncio due to failing tests 2025-01-28 12:18:34 -05:00
lib Add Zephyr port 2025-02-04 11:24:13 -08:00
LICENSES updates before header conversion 2024-05-17 14:56:28 -04:00
locale Translated using Weblate (Spanish) 2025-02-09 17:02:29 +00:00
logo non-conflict merge changes 2024-09-05 14:54:18 -04:00
mpy-cross change remaining STATIC to static 2024-09-03 17:40:07 -04:00
ports raspberrypi: Don't block DMA_IRQ_1 during common_hal_mcu_disable_interrupts 2025-02-12 14:21:08 -06:00
py Switch to ruff like MicroPython 2025-02-05 11:09:15 -08:00
shared Add Zephyr port 2025-02-04 11:24:13 -08:00
shared-bindings audio: reduce code size 2025-02-06 21:56:09 -06:00
shared-module audio: reduce code size 2025-02-06 21:56:09 -06:00
supervisor Fix CIRCUITPY_PORT_SERIAL guard in serial_early_init. 2025-02-08 08:42:14 -08:00
tests Switch to ruff like MicroPython 2025-02-05 11:09:15 -08:00
tools ci_set_matrix: the boards set needs to be a copy 2025-02-07 12:10:10 -06:00
.codespellrc fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
.git-blame-ignore-revs top: Update .git-blame-ignore-revs for latest format/spell commits. 2024-03-07 16:29:46 +11:00
.gitattributes merge from main 2024-07-29 17:41:46 -04:00
.gitignore MPy v1.22 merge: initial merge; not compiled yet 2024-07-25 15:16:24 -04:00
.gitmodules Merge pull request #9901 from jepler/rp3250b-pio 2025-01-09 10:26:57 -08:00
.mailmap More updates to mailmap based on git shortlog inspection 2024-07-26 12:40:04 -05:00
.pre-commit-config.yaml Switch to ruff like MicroPython 2025-02-05 11:09:15 -08:00
.readthedocs.yml non-conflict merge changes 2024-09-05 14:54:18 -04: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 rename ports/nrf to ports/nordic 2024-03-19 17:36:57 -04:00
CODE_OF_CONDUCT.md Fix up Contributor Covenant homepage link 2023-04-10 15:33:38 +12:00
conf.py Switch to ruff like MicroPython 2025-02-05 11:09:15 -08:00
CONTRIBUTING.md fix documentation typo 2024-08-23 03:42:31 +00:00
LICENSE non-conflict merge changes 2024-09-05 14:54:18 -04:00
LICENSE_MicroPython non-conflict merge changes 2024-09-05 14:54:18 -04:00
main.c Add Zephyr port 2025-02-04 11:24:13 -08:00
Makefile update doc build for ports/analog 2025-01-13 23:45:44 -05:00
MANIFEST.in-stubs refine stubs-building procedure 2021-06-22 08:59:05 -05:00
pyproject.toml Switch to ruff like MicroPython 2025-02-05 11:09:15 -08:00
README.rst Document safe mode wait in README. 2025-01-02 21:51:11 +00:00
README.rst-stubs Actually reduce the README text for the stubs package 2021-06-24 13:41:01 -05:00
requirements-ci.txt only install awscli when required 2023-01-16 17:03:39 +05:30
requirements-dev.txt require specific ruff version 2025-02-06 19:03:15 -06:00
requirements-doc.txt pin sphinx temporarily while debugging doc build 2024-10-10 18:48:22 -04:00
runtime.py Switch to ruff like MicroPython 2025-02-05 11:09:15 -08:00
setup.py-stubs Fix version in circuitpython-stubs 2025-01-10 15:24:05 -06: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