Note: As of the end of December 2018, our site has changed hosts and some architecture. As a result, all tutorials are now have a /tutorials in their paths. You will need to update bookmarks.


Our Future . . .

When I initially created this site in 2014, it was to serve two primary purposes.

  1. To document the tips, tricks, and other higher level development practices that make programming for FRC in LabVIEW easier.
  2. Provide a common place for LabVIEW teams to find resources.

At first, this meant documenting the architectural and similar tools that I had learned on my way to becoming a Certified LabVIEW Developer, that had been put to use by the team I was currently mentoring (#3937, Breakaway). (This had the added bonus of helping the senior programmer that had been soaking all this up document it for his successor.)

Since then, this site has had a few additions and updates (mostly by me).

While I have often invited other teams (I am no longer in the AR area and have pretty much lost contact with Breakaway) on CD and at the regionals I've been at to write tutorials for specific topics that they had solved, I was rarely met with a response (specifically once - shout out to the Huskie Robotics 3061 for actually following through, but they were the only ones).


In recent years, I have found myself going through some family changes and needing to dial back my commitment to other activities.

This leaves this site both:

  1. Looking for a new champion/curator, that is willing to:
    • maintain the back end,
    • make sure material that becomes obsolete is either updated, or moved to the archives section of the menu,
    • and either write content or get other teams to write content to help this site remain relevant.
  2. Looking for a new source of funding/hosting. (I have been personall providing the $36/yr that it costs to maintain it using Google Domains for the domain name - and email - and Hosting24 for the hosting; I have thought about using some sort of a Donate button, but have not been able to find a platform that allows for *only* raising the target amount). (With moving to Github's gh-pages for hosting, the cost has been reduced to $12/yr, mitigating this need).


If you have any interest in seeing the continuation of this site, please let me know.

FRC LabVIEW Tutorials - Gyro - Dashboard

To Display a Gyro on the Dashboard

The default dashboard does not read anything, so the first step is to add a read into the dashboard code. To do this, open an FRC Dashboard Project.

open dashboard project

Open Dashboard If you right click on the Gyro indicator and select find terminal, LabVIEW will point you here.

Gyro indicator in block diagram

Notice that there is nothing wired into it. To adjust this, use a dashboard read to get the gyro value that you will now send from either Teleop or timed tasks.

It should look something like this.

Using a dashboard read to set the indicator

Save the vi, and build the executable in the project. When the build is complete, explore the build and note where it is (personally I put a shortcut to it on the desktop). Once that is complete, close out of that project and open your robot project.

At this point, you need to decide whether to put the update code in Teleop or timed tasks, personally I prefer to put it in Periodic Tasks, but some might say to put everything in Teleop and get rid of all the other parallel loops in the architecture. For this example, I will put it in Periodic Tasks, but to put it in Teleop only requires taking what is inside the loop presented here and putting it in Teleop.

To read the gyro and send it to the dashboard, could look something like this (notice: constantly doing the DevRef get is time consuming, consider putting that outside the loop and passing the resulting DevRef into the loop)

reading the gyro

Finally, the gyro does need to be wired (There are plenty of documentation on that, like this one) and opened in the like so.

opening the gyro in

To use the dashboard you just created

Easiest way, open it, then open the Driver Station. The DS should recognize that a dashboard is already open and just work with it.

Some things to consider for improvement

  1. Inserting a division with remainder in between the gyro read and dashboard write so that it is divided by 360 and the remainder is written (this will make the gyro display on the dashboard always point the correct direction).

  2. Also writing the value to a global variable to be read in Teleop or Autonomous and used.

If this tutorial inadvertently leaves some details out, please tell us about it and we will update it.

Google Form to request details