I know I keep jumping around, but I am having some fun!
About a week or two ago, I purchased a Teensy 3.1 board as it looked like it could be fun to try out. I am not sure if anyone else will be interested, but just in case...
So while taking a break from working with the BeagleBone Black (and waiting for my Odroid U3 to arrive tomorrow ), I started to play with this little guy.
Hopefully sometime tomorrow I will have my PhantomX Hexapod running on this. I may not start off by fully mounting this guy, but may still simply power it using a wall wart or plugged into my PC (for now).
Currently I have my AX-12 servo test program working with this board. (Actually this is the version of my test program that I converted to try out using standard Arduino Serial streams a few weeks ago).
Some of the nice things about this board (other than being small include)
cheap ($20), faster 72mhz (can push to 96?), Lots of memory (256K, 64K, 2K), Lots of IO pins including lots of analog pins, and while like the Teensy 3.0, it runs on 3.3v, but unlike the 3.0 the digital IO pins are 5v tolerant. 3 Uarts plus the USB.
One thing I found out once I started playing with it, which is nice. The Serial ports have support for Half duplex built in. Once you turn this on, both RX and TX use the same IO pin.
So I hacked up my AX12 serial code base, that at init time, I or in the appropriate bits to correct memory location and then in the SetRX and SetTx, I simply need to tell the system, the direction the TX pin should be used.
So far I have verified by Logic Analyzer that I am generating the appropriate packets. I then hooked up the board to a powered AX bus where I only have one servo currently connected. At first my code was not picking up the responses, and I figured out that the time out loops were not long enough. I increased them and now, I can tell the servo to go to positions, ...
So next step is to hook it up to the PhantomX. (Once I dig up another XBee adapter out of my stashes).