It's been a while since my last post, and wanted to provide an update on my software exploits this month. Lots of trial and error, but only limited progress. I spent a couple of weeks trying to get the Chumby to work as a CNC controller. I actually got it talking with the TinyG unit, had status data, used the touchscreen, etc, but I decided that to move it further would be counterproductive.
The first problem was the particular Chumby I was using - it seems to have a problem with the power regulator or the power connector, since it flakes out when the cable is moved around even a small amount. After trying a few different ways to try to feed the thing power, I decided it was going to be dicey. The other reason is the age of the Chumby internals - the ARM system it is using is old enough where many of the tools I wanted to use were simply not available. I could get a version of java for example, but the standard Oracle JRE wouldn't work because it was ARM v7. To top it all off, since the Chumby doesn't have any native framebuffer libraries, I ended up spending more time than I wanted simply developing methods to write to the raw framebuffer.
It's been a LONG time since I've implemented a line drawing algorithm. Or writing out a bitmapped font one bit at a time. Or double buffering.
So for all of these reasons, I've dropped the Chumby.
I do have a backup plan however, and that's to use my Viewsonic Gtablet. It's a great little Android-based unit. It's bigger than the Chumby, which for my purposes is fine. With the help of the clever people at Team DRH, I have Android "Ice Cream Sandwich" installed, and the kernel understands USB serial IO! While I have started to work on a UI and plan to use the Java RXTX serial communication classes, I may find a way to team up with the Synthetos folks with the UI system. It's JavaFX-based, which isn't available on Android so far as I can see. Hopefully I'll know more soon.
If an Android-based CNC controller is of interest to you, please let me know!