BlinkenLights is a set of .NET extensions for ThingM's blink(1) multi-colored LED. What You Need ============= To run BlinkenLights, you'll need at least one blink(1) LED, which you can get here: http:/thingm.com. You'll also need Visual Studio 2012. Getting Started =============== Get the source and build. Plug in your blink(1). Run the Demo project and watch the console window. What BlinkenLights Gives You ============================ The basic .NET library for the blink(1) allows you to set blink(1)'s color and to fade between colors. That's about it. The BlinkenLights type adds the following features: - The ability to set the LED colour using the constants in System.Drawing.Color, which supplements the native method of passing R/G/B values. - The ability to switch on the LED for a specified length of time, without the calling thread blocking. - The ability to flash the LED repeatedly between two colours, again without the calling thread blocking. Flashing can continue for a specified number of iterations, or until some specified condition returns 'true'. - The ability to cycle between an array of colors, without the calling thread blocking. What's The Point? ================= See ThingM's web site (http:/thingm.com) for an explanation of the background to blink(1). The point of BlinkenLights is to: - extend the very basic software functionality provided by ThingM. - illustrate how F# and C# can interact to provide interesting features with very concise code. - illustrate some basic asynchronous processing in F#. Acknowledgements ================ Backgrounding code is derived from ThrottlingAgent by Tomas Petricek: http://fssnip.net/snippet/5o/1 Blink1Lib - Basic blink(1) Library for .net - ThingM