circuitpython/ports/atmel-samd
Scott Shawcroft fece0fb432
Fix crash when UART construct fails
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
2021-07-20 17:15:19 -07:00
..
asf4@84f56af132 update submodules to merge commits 2020-09-14 17:22:30 -05:00
asf4_conf Merge pull request #4716 from tyomitch/main 2021-05-08 08:47:29 -05:00
bindings/samd Fix board builds and use MP_ERROR_TEXT in py and extmod 2021-05-05 17:51:52 -07:00
boards Fix three boards and xtensa cache key 2021-07-16 11:15:05 -07:00
common-hal Fix crash when UART construct fails 2021-07-20 17:15:19 -07:00
freetouch@b6859a349e Use merged in FreeTouch 2018-05-23 11:57:35 -07:00
modules run code formatting script 2021-03-15 19:27:36 +05:30
peripherals@a7e39c4d01 samd: Update peripherals submodule 2020-10-17 20:08:32 -05:00
sd_mmc codeformat: Fix filename matching 2021-04-30 10:48:08 -05:00
supervisor Remove MICROPY_PORT_* macros used for never reset 2021-07-15 16:20:04 -07:00
tools run code formatting script 2021-03-15 19:27:36 +05:30
.gitattributes Merge commit 'f869d6b2e339c04469c6c9ea3fb2fabd7bbb2d8c' into nrf2_merge 2017-10-24 22:31:16 -07:00
.gitignore Merge commit 'f869d6b2e339c04469c6c9ea3fb2fabd7bbb2d8c' into nrf2_merge 2017-10-24 22:31:16 -07:00
audio_dma.c RP2040 PWMAudioOut: Release DMA channels after play has finished. 2021-07-01 17:36:29 -04:00
audio_dma.h RP2040 PWMAudioOut: Release DMA channels after play has finished. 2021-07-01 17:36:29 -04:00
background.c run code formatting script 2021-03-15 19:27:36 +05:30
background.h supervisor: factor supervisor_background_tasks from sundry ports 2020-07-15 11:49:44 -05:00
eic_handler.c modifications by pre-commit 2021-03-15 18:11:00 -05:00
eic_handler.h refactor countio based on feedback 2020-05-05 15:23:38 +10:00
fatfs_port.c modifications by pre-commit 2021-03-15 18:11:00 -05:00
ld_defines.c modifications by pre-commit 2021-03-15 18:11:00 -05:00
Makefile Check that select firmwares build on Windows with MSYS2 2021-05-28 16:47:29 -05:00
mpconfigport.h Allow changing size of the filesystem on samd21 per board 2021-07-08 22:19:54 +02:00
mpconfigport.mk turn off keypad by default on all SAMD21, for now 2021-06-18 12:26:48 -04:00
mphalport.c modifications by pre-commit 2021-03-15 18:11:00 -05:00
mphalport.h modifications by pre-commit 2021-03-15 18:11:00 -05:00
qstrdefsport.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
README.rst docs: Improve 5.0.x <-> main branch doc linkrot 2020-06-14 11:12:35 -05:00
reset.c Add some NORETURN attributes 2020-09-28 18:55:56 -05:00
reset.h Add some NORETURN attributes 2020-09-28 18:55:56 -05:00
samd_peripherals_config.h Move pin struct to the peripherals library. 2018-08-02 13:59:05 -07:00
timer_handler.c modifications by pre-commit 2021-03-15 18:11:00 -05:00
timer_handler.h Merge remote-tracking branch 'adafruit/master' into lower_power 2020-04-20 18:25:13 -07:00

SAMD21 and SAMD51
==================

This port supports many development boards that utilize SAMD21 and SAMD51 chips. See
https://circuitpython.org/downloads for all supported boards.


Building
--------

For build instructions see this guide: https://learn.adafruit.com/building-circuitpython/


Debugging
---------

For debugging instructions see this guide: https://learn.adafruit.com/debugging-the-samd21-with-gdb


Port Specific modules
---------------------

.. toctree::
    ../../shared-bindings/samd/index