Xbee RC controller

The Xbee RC controller was the solution to the range issues found on the RC unit. It effectively gives us an RC unit with at least 400 metres of range. It works by adding a 3rd xbee unit to our setup.

Implementation
This unit runs off of a Arduino Uno. The Uno is attached to the joysticks of an old RC controller, which behave as potentiometres. It then sends the data to the Arduino mega. In order to facilitate data transfere the Uno only sends data when the request character, '~' is sent. This causes the controller to spit out codes for both the sails and rudder which are encoded - see the code. These values are then transfered into actual servo motions. The transmission is terminated by the " | " symbol. It is important to end transmission the Uno will continue to spit out serial data causing invalid menu returns. Also any serial communication other than the Uno will cause lag in the termination sequence as it will have more data to sort through before finding the termination symbol.

Panic Button
As of September 2011, we are planning to move back to a "real" multi-channel RF transmitter that will control two multiplexers with the extra channels, to override autonomous control and give us the ability to return to RC mode extremely easily. In the mean time, (i.e. until the new PCBs are printed) we have added a "panic button" to the Xbee RC controller that sends "rrr" several times a second. The first serial byte received by the Arduino should kick it back to the menu, and the command "r" puts it back into RC mode. This will be useful in the possible case that the computer running the LabView GUI crashes.