Technical Details |
||||
|
The Hardware
The Software
The software, dubbed EverSequence , let's you design light sequences much like you do in the online version on this site, except that it is much more robust, with a lot of features like cut-and-paste, the ability to label each realy, group select, etc., that I was too lazy to implement in the web version. It supports configurable plug-ins for different interface cards (just the EECI and Pencom cards, so far), and also provides support for looping, pausing, and controling X10 compatible devices..again, none of which is available online. EverSequence is in it's fourth revision now (basically, I've revised it every Christmas, four years is a row). In 2007, the most significant change was that I added the ability for it to opperate in "Slave Mode". In Slave Mode, lights sequence requests can be queued up for processing by sequencer. This is how I interfaced the requests submitted via the web interface without having to do a whole lot of new work. Most of the work went into creating a DHTML interface for designing simple sequences - most of the stuff for actually controling the relays stayed the same (with the exception of a lot of cleanup and refactoring which I wind up doing every year :-). In 2008, I finished up some major refactoring I started last year to improve the scaleability and to make sequences "time accurate". That basically means if a span is set to start at +59.5 seconds into the sequence, it will..regardless of how many spans are in the sequence. Before, the more spans, the slower the sequence got. This would have been a real problem when trying to synchronize with sound - which is another big improvement I added this year. Anyway, that's pretty much done now, so it scales a lot better AND the new support for sound works - and not just short sound bites, like I orginially planned, but entire mp3's. So it's no problem to set sequences up for stuff like Trans Siberian Orchestra! That year, I also added a little timer utility to load a given sequence at a particular time or to repeat a sequence ever x seconds between such-and-such times. Also, earlier this year, I started switching my home light automation stuff from X10 over to Insteon. As part of that, I bought the SmartLinc, which is a nice little Ethernet-attached controler with an embedded web server, so from any browser, including the iPhone, I can turn various lights and appliances on and off. Anyway, since I'm basically switching over to that, I went ahead and knocked out a plugin for controling Insteon devices via the SmartLinc. That should let me do some nice fades, etc., if I get some extra Insteon modules quick enough. I'm at well over 15000 lines of code on this sucker now and I think I've had about enough of it. Probabaly just a few more bug fixes from hear on out is all I really have the energy for :-)
Well, as of this writing, it is now 2010. Last year I improved the Rewind and Forward accuracy, I added Fast Rewind and Fast Forward, I improved save speed, and I started moving widgets to toolbars. This year, I added a driver plugin for the Arduino micro-controller connected via serial or USB port. I also did some work to refactor the plugin loading in order to support loading more than one driver - permitting different channels to be serviced by different devices.
This year, I've also decided to incorporate a lot more technology into the Light Suit. I'm documenting progress on that, as well as various other AustinLightGuy activities, at my new blog, austinlightguy.wordpress.com. |
||||