Update on Library support (eg FastLED)

Hello industrious and inventive SparkCore crew!

Could you share with us any updates on a likely timeline for support of Libraries? In particular, I’m interested in when we might start seeing support for large, multi-file libraries. Our “FastLED” library is about 25 source files, plus more than a dozen example sketches. We’re eager to get FastLED ported to SparkCore, but the current state of the SparkCore IDE is a bit prohibitive (that’s a lot of files to add to every sketch), not just for us as library developers, but also for our (mutual) users.

The last update that I think I saw of this topic was on the blog in February. http://blog.spark.io//2014/02/10/sprint-five/

Any new updates to share? Even a broad rough timeline would be helpful, like “we hope to have something to share this spring” or “we’re hoping to get to it in the fall” would help us set expectations and prioritize our support and porting work.

Thanks very much for all your work so far; I love recommending the SparkCore to people and can’t wait to be able to start porting FastLED, too, and see what people can do with the two together.

Cheers-
-Mark

4 Likes

I can’t put an exact date on it, but it is in active development. I think the timeframe is the next 2-4 weeks. There’s a lot of work making sure we get the library spec just right so that it’s easily extensible and backwards compatible when future updates are released.

3 Likes

Hi @kriegsman,

Good question! Lots of progress has been made on library support, and we’re in the final polishing stages now. @wgbartley is right and we’re hoping to have something released and ready for your library in the next sprint (2-3 weeks).

Thanks!
David

Fantastic, and thank you for the update. We’re happy to help you test, when the time comes, too.

We don’t have STM32 support yet, but once the library dev loop is up and going, we’ll be able to get to work. We already have fast hardware-level support for SAM and K20, so we’re already in the neighborhood.

1 Like

@kriegsman,

If you would love to see a screenshot of the library,

I’ll be updating that thread whenever we make progress :wink:

@kriegsman, hello, Mark, i’ve waited your library for a long time:)
First of all- most of advanced spark users, as i know, uses local compile and upload tools.
Secondly - if you need i can share to you my code of DMA data transfers to leds:)

If I may add a plea for some updated documentation in this (and other) areas. There is folklore / verbal history / notes here / stuff known only to those who have buried themselves in the code which need to be folded back into the docs. Even the COMPLETE list of what libraries and functions are available is not easily discernible. E.g. the advice which is given readily on the forum to include math.h to get access to a few more functions needs to be documented. If I just don’t know where to look please slap my wrist but TELL ME. Thanks :slight_smile:

any updates on the support for multi file libraries? and the progress of porting the FastLed library?

Here, here! Would love to use FastLED w/ Spark Core. Any news on this?

Can another post the link for library of interest?

Library feature has been available for awhile and I can attempt to port it :slight_smile:

1 Like

Thanks

This library is using a ton of platform specific functions!

Porting it is going be painful. :stuck_out_tongue:

Any reason why this library is preferred?

Yes. In short: FastLED is faster and better for controlling LEDs.

For LED projects where controlling subtleties of color and animation are important, issues like color correction, ability to scale brightness while preserving color predictably, dithering/fading between items in an animation, etc. are important. FastLED provides more robust tools to cover lots of that stuff than the Neopixel library which is bare bones. (And there are lots of projects being shared among people who are crafting cool LED mojo in FastLED, lots of stuff evolving there to work from rather than starting over from scratch).

(FadeCandy offers some of that functionality too, as an alternative, though I’m not sure whether FadeCandy has as active a community): https://github.com/scanlime/fadecandy

@savage, in the FastLED github readme file:

What types of platforms are we thinking about supporting in the future? Here's a short list: RFDuino, SparkCore, MSP430, ChipKit32, Maple, Beagleboard

So it seems that there will be support for the Core at some point. :smile:

@peekay123 – Yes, I saw that. But then I saw the first message in this thread by @kriegsman , which implies that the FastLED crew need some evolution in the SparkCore IDE before libraries as large as FastLED can be supported. (Am I reading that first message wrong, or is there a block that FastLED is waiting on?)

Thanks,

Sean

@savage, I believe they are waiting for better multi-file library support in the IDE. However, they could release a Spark version that can be compiled locally or with Spark CLI!

Hi all! Yes- Dan and I are eager to get FastLED fully ported to the SparkCore IDE. We’ve been plenty busy releasing v3 (out now), and the v3.1 branch has parallel output on several ARM boards and interrupt-friendliness on both ARM and AVR. What with all that, we haven’t kept super current with SparkCore IDE support for multiple files – through we had some good talks with the SparkCore folks at Maker Faire SF a little while back.

I’ll use this conversation as a reminder to go check out multi-file support and see if we can get going.

We (or anyone else–open source!) could make a version “compacted” into a single file, but as you might imagine, we’d rather get full support for everyone using the SparkCore IDE if we have a choice.

We think FastLED and SparkCore are a great combination, and we’re hoping we can make them work together really well!

7 Likes

Any update on getting FastLED ported to the SparkCore IDE?

1 Like

After a summer/fall filled with a contract job eating up all of my free time I’m finally grabbing the SparkCore dev tools to work on doing the library port. Initially, I’m going to be doing the port for the spark CLI. The IDE compatible version of the library may take a little bit longer to get done (mostly because I don’t want to have to maintain a separate tree just for supporting the spark core web ide).

1 Like

Thanks Daniel. Really appreciate all the work you do for the FastLED community!

As someone who does a fair amount of contract work on top of a full time job, I appreciate the tension between the paying gig and the creative projects I would rather be working on.

B