Could we make colorpalettes.cpp not include FastLED.h? It doesn’t seem to need it, and by not including it the code becomes more portable (I utilize a lot of the types on my Mac for creating a simulator)
I also have trouble with colorutils.h including pgmspace.h, but I don’t know an elegant way to work around the need for pgmspace stuff without including that header (maybe #define magic)
I have a separate branch that already breaks a lot of this out - including stronger conditionalizing around PROGMEM related stuff.
I can clean up the includes before that gets published. (Need to get 2.1 released first and then need to clean up a lot of the juggling that I was doing on this branch for a contract).
@Corbin_Dunn : we’re moving toward being able to compile totally Arduino-free, so as Dan said I think the short answer is Yes and it’s in the near(ish) future.
Say more about your simulator ideas! There’s clearly a need, or maybe a few different needs. What are you thinking about?
Awesome, sounds like you all are on top of it! My simulator is more than an idea; I have it running and it works pretty well for testing patterns for my LED Cyr wheel project.
I’d need to work on making it a bit more abstract to share the code. It also only works on a Mac; do you or Daniel use a Mac for development? I’m guessing you all use windows, as most hardware people prefer it.
Conceptually it works like this: I have a abstract C++ patterns class that maintains all the state logic for each pattern, and performs the necessary timing. It contains an array of CRGB objects and I do operations on. There are two pure abstract methods: begin() and internalShow(); I subclass this class and override these methods and provide the actual implementation. I can then create a version that is hooked up to NSView (Cocoa) on the Mac, or FastLED on the Teensy/Arduino. Or, the beauty of this design, is I can swap the backend LED processing from FastLED to AdaFruit_NeoPixel, or OctoWS2811, just by having a different subclass.
Here’s an example of a pattern running:
If you are really interested, and have a Mac, let me know, and I can add you to my private github project for it.
Excellent! I’m glad more and more people are using Macs. I also exclusively use Xcode for Teensy/arduino development now. It is create for code completion, cmd-clicking to find symbols, and ease of use for compiling. Email me your github account name (to: corbin at corbinstreehouse …. com), and I’ll give you instructions on how to pull and compile.