circuitpython/lib
Jeff Epler 2f120c70ee rgbmatrix: recover gracefully from allocation errors
e.g., allocating a 192x32x6bpp matrix would be enough to trigger this
reliably on a Metro M4 Express using the "memory hogging" layout.
Allocating 64x32x6bpp could trigger it, but somewhat unreliably.

There are several things going on here:
 * we make the failing call with interrupts off
 * we were throwing an exception with interrupts off
 * protomatter failed badly in _PM_free when it was partially-initialized

Incorporate the fix from protomatter, switch to a non-throwing malloc
variant, and ensure that interrupts get turned back on.

This decreases the quality of the MemoryError (it cannot report the size
of the failed allocation) but allows CircuitPython to survive, rather
than faulting.
2020-09-01 10:55:45 -05:00
..
axtls@43a6e6bd3b WIP: complete manual inspection of all significant changes 2018-07-23 21:34:25 -04:00
berkeley-db-1.xx@35aaec4418 berkeley-db-1.xx: Update, allow to override MINCACHE, DEFPSIZE. 2017-09-10 13:51:51 +03:00
cmsis/inc lib/cmsis: upgrade CMSIS-CORE to V4.30 2016-09-30 16:19:03 +10:00
embed Two fixes and translate more strings. 2018-08-09 13:29:30 -07:00
libc Add license to some obvious files. 2020-07-06 19:16:25 +01:00
libffi@e9de7e35f2 lib/libffi: Add libffi as a submodule. 2015-10-17 15:52:35 +03:00
libm libm: rem_pio2: Reduce size of static array 2020-08-04 14:45:45 -05:00
libm_dbl Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
memzip Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
mp3@bc58a65496 lib/mp3: update to 1.2.2 release 2020-07-09 10:05:08 -05:00
mp-readline Handle home, delete, & emacs key w/ utf-8 in repl 2020-08-19 23:25:20 -04:00
netutils Add license to some obvious files. 2020-07-06 19:16:25 +01:00
nrfutil@9e7dfb28a5 update nrfutil to 0.5.2d with singlebank option 2018-05-17 15:20:07 +07:00
oofatfs Add license to some obvious files. 2020-07-06 19:16:25 +01:00
protomatter@2a1ba8fa47 rgbmatrix: recover gracefully from allocation errors 2020-09-01 10:55:45 -05:00
timeutils Add license to some obvious files. 2020-07-06 19:16:25 +01:00
tinytest Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
tinyusb@22100b252f update tinyusb to commit 22100b252 2020-07-29 19:18:46 +07:00
upytesthelper lib/upytesthelper: MicroPython test helper layer on top of tinytest. 2017-12-13 09:07:51 +02:00
utils pyexec: Handle a ctrl-c that comes in "very late" 2020-08-25 11:45:00 -05:00
uzlib@f966da0fab uzlib: Upgrade to uzlib v2.9 release 2018-09-09 20:22:25 -05:00
README.md lib: Add basic README. 2014-09-18 00:13:03 +01:00

This directory contains standard, low-level C libraries with emphasis on being independent and efficient. They can be used by any port.