Understanding the FRC Control System

What little notes I had are now lost and trying to find the information again is a pain, so I ask the CD community.

  1. what are all the upd/tcp port numbers that the system uses ? this is more curiosity.

  2. does anyone have zip files or packages of driver stations from a couple of years ago, 2012, or before of the default NI FRC dashboard project. This year it is in C:\Program Files (x86)\National Instruments\LabVIEW 2012\ProjectTemplates\FRC Templates\Dashboard. I would like to download an older version.

  3. is there a good place to go to find solid examples of using the FRC dashboard with LabVIEW, Java, and C++ robot programs ?

  4. ditto for SmartDashboard ?

  5. what is the correct way to send data from the robot to the DS when using the default dashboard

  6. ditto for SmartDashboard ?

  7. what is a crisp definition of the ‘network tables’ in SmartDashboard ?

  1. I did this from code and not the spec, but I think it captures the majority of the port info.

TCP ports being used
1735 is used by SmartDashboard/NetworkTables

UDP ports being used
1166 is how DS sends Kinect data do dashboard
1190 is used to send DS data to field displays
1165 is how DS sends other data to dashboard
1150 is used to identify other DSes and shut down all but one.
1135 is how simulator overrides the robot IP
1122 and 1123 and 1124 is used for usage data
1155 and 1190 is between Kinect server and DS
1145, 1120, and 1160 are used between FMS and DS
1110 and 1115 are used for control data from DS to robot

  1. Which year do you want. The default DS is just a built version of the LabVIEW template by the way.

  2. I think/hope tutorial six on the Getting Started page works well for LV. I’ve seen some good stuff from teams too.

  3. For LV, if you use the SD VIs, it will work fine with SmartDashboard app. I’m not sure about a tutorial.

  4. The default dashboard supports both SD and the packed data protocol. Custom visualization is accomplished by opening the source to the dashboard and dropping and naming the controls. You can use the other protocol or explicit SD reads and writes as well.

  5. If you use the SD read or write VIs, it will work with SmartDashboard.

  6. It implements name/value pair storage and replicates it between one server, typically robot, and a number of clients such as the dashboard. The name is often segmented with /'s grouping them into “tables”.

Greg McKaskle

The FMS whitepaper has more good details. http://www.usfirst.org/sites/default/files/uploadedFiles/Robotics_Programs/FRC/Game_and_Season__Info/2013/FMSWhitePaper_RevA.pdf