This pull request is a fairly large refactoring of the library:
pulls the Color* classes and wheel_color() function into a separate color.py library (needed by the next step)
separates the animations from the core LED control library
makes each animation its own class with its own state, moves parameters that stay static into the constructor, and adds a generic step() function for each.
adds a .run() method to each animation (through the BaseAnimation class) that loops it w/ optional sleep value
For the color.py and animation.py modules, I went with standard PEP8 python style (spaces instead of tabs, underscore_naming instead of camelCase naming, etc.). I didn't touch LPD8806.py more than absolutely necessary in this pull, so it's still formatted as originally written.
I've tested out each animation and the example demo on my 160-LED Adafruit strip, and all seemed to be well.
Let me know if you have comments. It's a pretty big change, but (IMHO) a net win for using the library if all you need is the LED control code, not the animations themselves.
Hi Adam,
This pull request is a fairly large refactoring of the library:
For the color.py and animation.py modules, I went with standard PEP8 python style (spaces instead of tabs, underscore_naming instead of camelCase naming, etc.). I didn't touch LPD8806.py more than absolutely necessary in this pull, so it's still formatted as originally written.
I've tested out each animation and the example demo on my 160-LED Adafruit strip, and all seemed to be well.
Let me know if you have comments. It's a pretty big change, but (IMHO) a net win for using the library if all you need is the LED control code, not the animations themselves.