summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2021-03-15run code formatting scriptmicroDev
2021-03-10raspberrypi: Enable mp3 playbackJeff Epler
The rp2040 is _very_ marginal for mp3 playback, and currently sometimes triggers a bug that gives garbled audio output. However, it does work for some limited situations.
2021-03-08Update TinyUSBScott Shawcroft
2021-03-04change esp build cache key (again)Dan Halbert
2021-03-04update tinyusbhathach
2021-03-01protomatter: get an rp2 fix by updatingJeff Epler
2021-02-26Merge remote-tracking branch 'origin/main' into update-protomatter-rp2Jeff Epler
2021-02-24Update tinyUSBKamil Tomaszewski
2021-02-24Update tinyUSBKamil Tomaszewski
2021-02-12Enable protomatter on RP2040 buildsJeff Epler
Also found a race condition between timer_disable and redraw, which would happen if I debugger-paused inside common_hal_rgbmatrix_timer_disable or put a delay or print inside it. That's what pausing inside reconstruct fixes. So that the "right timer" can be chosen, `timer_allocate` now gets the `self` pointer. It's guaranteed at this point that the pin information is accurate, so you can e.g., find a PWM unit related to the pins themselves. This required touching each port to add the parameter even though it's unused everywhere but raspberrypi.
2021-01-26protmatter: Update to version that supports tilingJeff Epler
2021-01-25Update TinyUSBKamil Tomaszewski
2021-01-21Switch to upstream TinyUSBScott Shawcroft
2021-01-20Add initial RP2040 supportScott Shawcroft
The RP2040 is new microcontroller from Raspberry Pi that features two Cortex M0s and eight PIO state machines that are good for crunching lots of data. It has 264k RAM and a built in UF2 bootloader too. Datasheet: https://pico.raspberrypi.org/files/rp2040_datasheet.pdf
2021-01-14update uzlib to v2.9.5Jeff Epler
uzlib isn't actually used in any firmwares, but is built into the "unix" port used for testing. The main benefit of the update is to fix problems encountered on Windows, as the old ref of uzlib had filenames with embedded colons; this has been fixed upstream. uzlib seems to have been reabsed since the version that we took; this doesn't really matter to us.
2021-01-08update tinyusb; _ticks_enabled only for SAMD21Dan Halbert
2020-12-01address review commentsDan Halbert
2020-11-24update to have tud_connected()hathach
2020-11-23update tinyusb to fix cdc connection racehathach
issue is fixed in https://github.com/hathach/tinyusb/pull/557
2020-11-10protomatter: Update to upstream tag 1.0.10Jeff Epler
Among other things this fixes a problem with blanking the display and Closes #3664.
2020-10-10rgbmatrix: update protomatter to 1.0.5 tagJeff Epler
this is compile-tested on stm32f405 feather matrixportal nrf52840 feather but not actually tested-tested.
2020-10-03Update protomatterJeff Epler
This brings in the following, and updates us to the 1.0.4 release tag: Submodule lib/protomatter 2a1ba8fa4..5f07ec618: > Bumping version for release > Merge pull request #21 from makermelissa/master > Merge pull request #20 from makermelissa/master > Merge pull request #18 from jepler/fix-cpy-3184 > Merge pull request #14 from hierophect/cpy-timer-allocator We previously had the _changes_ of jepler/fix-cpy-3184 and hierophect/cpy-timer-allocator but not their merge commits. The only other changes in protomatter were one formatting change in the core, plus several Arduino sketches. So this should make no practical difference for CPy.
2020-09-25Update TinyUSB to get MIDI SysEx fixScott Shawcroft
Fixes #3465
2020-09-03Merge remote-tracking branch 'adafruit/main' into native_wifiScott Shawcroft
2020-09-01rgbmatrix: recover gracefully from allocation errorsJeff Epler
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-08-27Merge remote-tracking branch 'adafruit/main' into native_wifiScott Shawcroft
2020-08-25Merge remote-tracking branch 'adafruit/main' into native_wifiScott Shawcroft
2020-08-25pyexec: Handle a ctrl-c that comes in "very late"Jeff Epler
In relatively unusual circumstances, such as entering `l = 17 ** 17777` at the REPL, you could hit ctrl-c, but not get KeyboardInterrupt. This can lead to a condition where the display would stop updating (#2689).
2020-08-19Handle home, delete, & emacs key w/ utf-8 in replGeorge Waters
2020-08-19Add basic error handlingScott Shawcroft
2020-08-09Count utf8 chars, not every byte for lineGeorge Waters
2020-08-09Try too make new utf-8 code smaller againGeorge Waters
2020-08-09Fix failed unix buildGeorge Waters
2020-08-09Refactor utf-8 code, reduce impact on code sizeGeorge Waters
2020-08-09Fix repl support for unicodeGeorge Waters
Currently when a utf8 character that is bigger than 1 byte is typed in the repl, it isn't handled how it should be. If you try to move the cursor in any direction the text gets messed up. This fixes that.
2020-08-04libm: rem_pio2: Reduce size of static arrayJeff Epler
This array was of 32-bit values, but the entries were only ever in the 0-255 range. Convert to uint8_t. Testing performed: The result of the sum-of-sin was unchanged >>> import math; sum(math.sin(2.**i) for i in range(21)) 1.42069
2020-08-04libm: ef_rem_pio2.c: Save ROM-tables at the expense of speedJeff Epler
This function computes the remainder of a value `x` modulo pi/2, to high precision. It does this by dividing the flotaing point values into several ranges by magnitude, and applies successively slower but more accurate algorithms. The last two steps, one covering values up to around 2^7 * pi/2 (called "medium size") and a final one covering all possible float values, require big tables. By eliminating the "medium size" case, a table and some code are removed from the binary. This makes some cases take longer, but saves hundreds of bytes. It does _NOT_ affect the result, only the speed. ``` [desktop python] >>> sum(math.sin(2.**i) for i in range(21)) 1.4206898748939305 [trinket m0, before change to ef_rem_pio2.c] >>> sum(math.sin(2.**i) for i in range(21)) 1.42069 [trinket m0, after change to ef_rem_pio2.c] >>> sum(math.sin(2.**i) for i in range(21)) 1.42069 ```
2020-07-29update tinyusb to commit 22100b252hathach
fix warnings on esp32s2 and stm32
2020-07-29update tinyusb from commmit dc5445e2f to 78f1576e9hathach
2020-07-22Merge branch 'main' into stm32-timer-allocatorhierophect
2020-07-16Check out active protomatter PRLucian Copeland
2020-07-13Merge pull request #3003 from Flameeyes/masterScott Shawcroft
License tagging according to REUSE specifications.
2020-07-09lib/mp3: update to 1.2.2 releaseJeff Epler
This fixes the audio clipping bug
2020-07-06Add license to some obvious files.Diego Elio Pettenò
2020-06-03Fix up end of file and trailing whitespace.Diego Elio Pettenò
This can be enforced by pre-commit, but correct it separately to make it easier to review.
2020-05-21lib: tinyusb: update to get tud_task_is_queue_emptySean Cross
This update gives us access to a function we can run with interrupts disabled to determine if the queue is empty. Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-18Update TinyUSB and shorten USB task delayScott Shawcroft
2020-05-07Fix build after #2831 (stm32f4xx rgbmatrix) broke itJeff Epler
2020-05-06Merge pull request #2831 from jepler/rgbmatrix-stmScott Shawcroft
stm: enable RGBMatrix
2020-04-30stm: enable protomatterJeff Epler
Testing performed: on stm32f405 feather, all pins change in plausible ways on a logic probe. Didn't actually drive a display yet.