pimoroni-pico icon indicating copy to clipboard operation
pimoroni-pico copied to clipboard

Micropython Plasma module doesn't expose stop

Open defsdoor opened this issue 3 years ago • 1 comments

Would be very useful to be able to stop the updating to allow painting without updating, and then re-starting.

I see there is a stop method in ws2812 - its just not exposed in the plasma micropython module.

A method to read an LED would be useful too, this would enable a 2nd strip to be created as an off screen buffer, make use of the set_hsv, set_rgb methods, and then copy it to the strip that is being displayed. Taking that one step further, the option to set an LED with another LED would be nice too.

Is there any guidance on cross compiling etc.. - I'd be happy to have a go at this myself and submit a PR

defsdoor avatar Nov 04 '21 09:11 defsdoor

Cross-compiling is something of a hassle but the steps to accomplish it are laid out in - https://github.com/pimoroni/pimoroni-pico/blob/v0.3.3/.github/workflows/micropython.yml

I've got an open issue reminding me to document this in a more human-readable way.

I just added the update() function, I wish I'd seen this Issue before I merged that. Hindsight is 20/20, eh.

If you fancy having a go, though, it's a succinct example of what and where you need to change to bind a new method in MicroPython: https://github.com/pimoroni/pimoroni-pico/pull/237/files

Getting colours is more of an issue, since there's only a back buffer and the colours are mangled through gamma correction and not recoverable. I have an outstanding Issue to look into double-buffering Plasma to solve this problem and make working with the LEDs generally nicer: https://github.com/pimoroni/pimoroni-pico/issues/239

Gadgetoid avatar Jan 25 '22 15:01 Gadgetoid