Introduction to SmartDashboard Labview library

I’m hoping to get some help locating a beginner’s guide to the Smartdashboard library of functions in Labview. Just a basic walkthrough of functionality. So far, I’ve found this document:

Which led me to this website:

Where I eventually found a link to the project page:

That last link seems to be the source of the project, but I can’t find any useful tutorials or manuals specifically for the set of Labview functions that are included in the FRC Labview updates. Most of the descriptions I’m finding online are specifically geared to c++ and java development.

I appreciate the help.

EDIT: I did find this page as well:
but, again, it doesn’t seem to address specifically the Labview library.
I followed this guide and it was relatively easy to set up. Has a lot of photos to help you through it.

Hope it Helps!

Apologies. I missed that you said LabView. SmartDashboard is a Java based dashboard. It is based on the WPILib library for Java and C++. As such, you need Java or C++ in order to use it. I do not have much experience with LabView as my team uses C++. What you should look for is libraries to modify the existing “LabView Dashboard”.

I apologize for the naming confusion. SmartDashboard is used both for the Java dashboard utility and for the shared variables implementation API that I believe the OP was referring to.

The SD (SmartDashboard) VIs have some amount of context help, so if you show the context help ctl-h and hover over the icons in the palette or diagram, it will give you the basics. I believe the other documentation that was produced was put on the site and is about modifying the dashboard. I’m not sure there is comprehensive SD reference material this year.

Greg McKaskle

Oh ok, thanks Greg. I was able to figure out basic functionality by using the context help, but I wanted to make sure I wasn’t missing anything. So NI wrote the SD VIs and not WPI? Was there collaboration or is it coincidence that the names for the two different things are the same?

The WPI Smart Dashboard uses the NetworkTables protocol to do the data transfer. The protocol spec for NetworkTables is located here: NI implemented NetworkTables in LabVIEW. They then made the SmartDashboard VIs use the same namespace as the WPI Smart Dashboard. You can use the SmartDashboard VIs on the dashboard to read/write data to a Java/C++ robot (which use the Smart Dashboard class to read/write data). Or you can use the SmartDashoard VIs on the robot to to read/write data to the WPI Smart Dashboard.

Story-time, story-time:

The initial libraries for FRC were a collaboration between NI, WPI, and FIRST. They try to expose all of the capabilities of the cRIO and kit of parts with numerous levels of abstraction.

From the beginning, we wanted to include a higher level communication feature and attempted to use something from NI called Network Variables. Unfortunately, they were very heavyweight with lots of features and not really focused on the right things. For that reason, they were withheld and the communications were achieved with TCP and UDP sockets.

A few years ago, WPI students released SmartDashboard to display values and used NetworkTables to communicate the data between robot and dashboard. The NetworkTable exposed named tables filled with variables. The table named SmartDashboard contains the ones for display, and other tables could be used for other purposes.

This last year, the protocol was reworked and the implementations were simplified and provided for all major languages and major tools.

We briefly considered other names to help make it clear what was what, but none of them could overcome the momentum.

Does that help?
Greg McKaskle