Firmware 1.6.0 available & beyond
More bug fixes and new features...and more on the way!
I've just pushed up another firmware release, version 1.6.0. This has some nice new features and fixes a handful of bugs that have been reported - thanks again to everybody for being vigilant and patient as we continue to improve the Make Controller!
One of the nicest changes is that you can now call System_Samba(1) - or /system/samba 1 from OSC - to fully erase the board and put it in uploader mode, without having to unplug/replug it. This has been a huge pain since day one and it was only with the help of Lou Sortman that we were able to get this working.
Check the rest of the changes at the changelog or get down and dirty with the code revision history.
Firmware Future
We have a few things in the works for the Make Controller firmware in the not too distant future. We're planning a firmware 2.0 release (not sure exactly when, just yet) that will upgrade the Make Controller code base form C to C++. This means you can do all the nice object oriented things you might be used to from other modern languages right on the Make Controller.
For example, working with an analog in will no longer look like AppLed_SetState(1). Now you can make an AppLed object and call methods on it:
AppLed led(1); // create a new LED for channel 1 led.on(); // turn it on led.off(); // turn it off
This gets to be pretty interesting for programs that are even slightly more complicated - organizing your project with objects can be more intuitive and cleaner (once you get used to it, if you're not familiar already!). We think this is a great leap forward and will make writing Make Controller firmware easier and more fun!
For those of you mainly using OSC on the Make Controller, this won't have a very big effect at all. But for people writing code on the Controller this does mean, however, that the API will change pretty completely from what it looks like now. Almost all the concepts are the same, the syntax will just be slightly different. We'll make any bugfix releases that we need to on the 1.x firmware line, but otherwise most of the new development will be done in C++ for a 2.0 release. If you have any concerns, thoughts, or ideas about this, please discuss it with us on the forum, or send us email.
Otherwise, you can always track the progress in the cpp branch of the firmware tree. A lot of the most fundamental work is done, but there's a lot left to transition the existing system over. Again, let us know if you have any questions or thoughts - thanks!

