I'm helping a friend with a Christmas display controller and thought that I should update my unified RGBW pixel driver.
-- now supports single-shot (default) and auto-refresh (old driver) modes.
A friend reported occasional ghosting when using auto-refresh with long strips. I think this may have happened because buffer updates occurred while the driver cog was part-way through an update cycle (race condition).
Starting the driver hasn't changed, though one is able to use a 0 reset delay now (this should only be done in 1-shot mode). After starting the driver, the pixels can be updated with the .show() method. This will refresh the pixels and wait for another call to .show(). If you'd like the pixels to auto-update call the .auto_run() method after starting the driver.
Before updating ObEx I am posting here for testing and feedback for those who are inclined.