
Ah, nice. Building Haskell applications on the Raspberry Pi which is a
32-bit 700 Mhz CPU with 512MB of RAM is still pretty painful. So, I
think that running GHC on something even less powerful is probably not
going to work well. But, handling a subset of Haskell for onsite
programming could work. Using Haskell Source Extensions and the new
Haskell Type Extensions should be enough to allow you to create an
onboard mini-Haskell interpreter? It would actually be pretty neat to
be able to extend all sorts of Haskell applications with a
Haskell-subset scripting language..
I'd definitely be interested in exploring this more. I recently got
into multirotors and I am also working on a semi-autonomous rover
project -- plus I just want to see Haskell used more in educational
robotics (http://www.haskell.org/haskellwiki/RoboticOverlords).
- jeremy
On Wed, Feb 20, 2013 at 4:28 PM, Mike Meyer
On Wed, Feb 20, 2013 at 4:01 PM, Jeremy Shaw
wrote: Another option would be to use Atom. I have successfully used it to target the arduino platform before. Running the entire OS on the embedded system seems dubious. Assuming you are using something the 9x family of transmitters -- they are slow and have very little internal memory. Plus trying to programming using a 6 buttons would be a royal pain. If you really want in-field programming, then you might at least using a raspberry pi with a small bluetooth keyboard and have it upload to the transmitter.
Atom does look interesting. Thanks for the pointer.
The target transmitter is the Walkera Devo line. These have much more capable CPUs than the various 9x boards: 32 bit ARMs at 72MHz with comparable amounts of storage. Some have 9x-like screen/button combos, others have touch screens. The deviationTx software runs on all of them.
Settings are stored in a FAT file system that can be accessed as a USB drive. I'm thinking that a traditional configuration interface on the transmitter, storing the config information as program text. The only actual programming would be done by replacing the virtual channel/switch feature with expressions or short programs.