summaryrefslogtreecommitdiff
path: root/lib/protomatter
AgeCommit message (Collapse)Author
2021-03-01protomatter: get an rp2 fix by updatingJeff Epler
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
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-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-07-16Check out active protomatter PRLucian Copeland
2020-05-07Fix build after #2831 (stm32f4xx rgbmatrix) broke itJeff Epler
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.
2020-04-14nrf: protomatter portJeff Epler
2020-04-14Add Protomatter and FramebufferDisplayJeff Epler