We currently develop two different pieces of software:
- Helmsman - this is Wiring (C++) code written for the Arduino DuemilaNove microcontroller board. Helmsman controls the rudder and the sails and has direct access to those electronic subsystems (compass and wind sensor) needed to execute the orders issued by the Admiral.
- Admiral - this is Python [2.6+] code designed to run on any hardware supporting the language. The main function of the Admiral is that of issuing orders to the Helmsman (mostly requests of following a given heading). However Admiral has two separate modes of operation:
- Onboard mode (running on an onboard embedded system) - in this mode, Admiral's only additional task is that of logging data and [eventually] that of opening a wireless bridge with the mission control.
- Mission Control mode (running on a regular computer connected via wireless to the boat) - in this mode, Admiral is a powerful development and debugging platform: developers have complete telemetry over the boat with visual representation of data (live tracking on a map, rudder position, heeling angle, heading, wind direction, etc... Developer can also trigger test execution on the boat.