We inherited a labview groundstation GUI from the awesome guys over at RMC after Sailbot 2011, since it seems that thier program will be put on hiatus by the end of the year due to lack of interest. Part of this came from the ArduPilot system from . The GUI uses LabView, which Mech Eng students are exposed to in class, but the software team has to learn a bit about.


Introduction to NI LabView

There seems to be a runtime version of LabView - maybe this will work on the netbook? See (scroll down)


LabView is installed on the computers on the second floor plaza of the ILC. There is no after hours access to the plazas in the summer due to the lack of iCons, so we got the install disks from David Lay for our computer, which is covered under the site license. When we get a new laptop, we will need to borrow these disks again.

Integration with Data via Raven XEdit

see also: Raven X

As of September 2011 (not long after we got Raven X) we are thinking of having the Arduino act as a server and respond to general/blank HTTP requests with sensor information, and maybe some very basic menu commands like "come home" with specific requests. Hosting this information on a website requires changing how LabView aquires the data, since it is no longer arriving via a (virtual) serial port via Zigbee.

Possible solutions include:


July 18th, 2011Edit

GPS Data notesEdit

See Wind Sensor page, under GPS Data heading.

June 29/2011Edit

Set up with with one xbee through Serial connection to desktop, and another through USB to netbook. Tested the setup with hyperterminal first (type on one computer, showed up on the other). Note that you can echo the character locally in hyperterminal by going File->Properties-> Settings Tab ->ASCII Setup then check the "Echo typed characters locally" box.

Then opened LabView and . It crashed when I first booted, since it tried to run and the serial port was set to COM5. Change this to COM1 (when using Serial connection, use windows device manager to see the port number if using the USB xbee dock), then run by clicking the arrow in the top left. You stop by pressing the stop sign that appears. Sent the string:

###TAIL: 56***

and the tail dial moved. Then sent one by one

###SPD: 1337***      //ground speed

###SPOS: 22***       //sail position

###vwR: 8***         //relative wind speed

###vwthetaT: 178***  //theoretical wind angle

which all reacted appropriately. A glossary will need to be made for all the signals, but for now its not hard to interpret from the labview diagram, once you know what you're looking for. Simply typing the string in seemed to time out, since the "Part 1" display at the bottom of the view would only show part of the message. Typing first in notepad, then pasting in hyperterminal by right clicking and choosing "Paste to Host" (ctrl + V didn't seem to work) worked

This is very promising since all we will need to do is integrate these update string into our code, once the above is resolved

July 4th, 2011Edit

Installed google earth, and now pressing the button launches it :) Still need to send GPS coordinates so that we appear in the right place.

So it turns out you need to update all aspects at the same time, see rmc code Boat_transmit function. If you send only one thing at a time, it resets the others. An example of this is

###RUD: 23 JIB: 43***

but really all the aspects should be between the ### and the ***, as labview updates everything at once, anything not updated will be set to 0.

Another thing we learned is that you can send a text file through hyperterminal using Transfer -> Send text file. It saves the copying and pasting.


Performance was greatly improved after the elimination and simplification of several components in the groundstation. After testing, it was determined that the main cause in delay was from the length of the loop in the arduino code. Removing these delays greatly improved the speed at which labview updated and gave much smoother performance. It may be better to just call sensordata and transmit instead of the delay function, as this wasted time can be used to maintain better groundstation performance.

Performance in sending data is still very slow.


A Glossary of commands currently included in the RMC code:


LAT: current Latitude -still need to figure out the correct format to send data
LON: current longitude - looks like RMC is sending degrees minutes decimal minutes 
DDMM.mmmm, then dividing by 10 before sending 
ALT: altitude
GPS: gps lock
SPD: ground speed

Wind direction and Velocity

vwR: relative wind speed


ROL: <side to side on the orange bar, the heeling of the boat>


DMD: dmode- decision mode on the trimeran
WPT: waypoint index number


RUD: tail position
MAIN: main position
JIB: jib position

Current actions

brng: bearing
setPoint: direction towards next waypoint
WT: wind test setting in the RMC code
T21: stationkeeping related code

To find the Compass figure, go to controls, select a control, and it windrose.ctl.