* have a basic pg working needs optimizing
* working well ported some examples from GU
* started on micropython module
* Fixes to get new Hub75 compiling in MP
* stripped down for faster compilling
* Update hub75.cmake
* added hub75 to galatic and eviro as it is needed for picographics
* Update picographics.c
* added hu75 update
* added _ModPicoGraphics_obj_t
* Update hub75.cpp
* update bindings
* some examples needs linting
* added other panel sizes and linted
* Update picographics.cpp
* Update picographics.c
* fixing gc memory allocation
* Update hub75.cpp
* Update interstate75_balls_demo.cpp
* review
* broke
* working with built in panel defs
* still borked
* not much change needs review
* Update hub75.cpp
* reverted alot of things
* adding i75 lib
* lots of updates ready to test compile mp
* Update picographics.h
* little tweaks
* an inability to count fixed!
* fixed some readme's
* lots of tiding
* fixed linting and removed experimental code
* Minor formatting
* Minor formatting and cmake tidy
* Removed unneeded parts of examples
* Final tidy
* tidy examples and adding more
* updated to new library
* documentation tweaks
* fixed inclusion of interstate75 module
* syncing some stuff
* fixed linting
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
Defensively tear down DMA/PIO so it's in a known good state upon (soft)reset.
Issue was a race condition with DMA interrupts firing and not being achknowledged, leaving a stuck raised IRQ.
The blocking wait for DMA transactions also exacerbated this, turning a borken DMA interrupt and blank screen into an unrecoverable hardlock.
...not that the blank screen was recoverable without a soft reset anyway!
The FM6126A register write was causing some weirdness on soft reset where the pin state wasn't predictable.
Have twiddled some pins at startup to ensure everything works as expected.
Add set_hsv and set_all_hsv (since setting individual pixels with hsv is S L O W)
Made "flip()" blocking, it was easy to accidentally get a little tearing.
Switch MicroPython HUB75 driver over to DMA/PIO.
TODO:
* Move this into drivers for C++ use too
* Fix hitting "Stop" in Thonny causing rows to stick on the display (this is bad, and should not happen)
* Fix "Stop -> Start" in Thonny causing weird display issues (it's not memory offets, maybe DMA/PIO issues?)