Using the Framework properly

I am new to FRC, and have some questions about the Robot Framework. Probably there is a document that explains everything, but I have not found it in a lot of searching and reading.

  1. We run in Teleop mode (as set on the Driver Station), and our code works as expected, but when we stop the VI (with the Stop button on the main While Loop), the code does not transition to the Finish VI. Pressing the Finish button in the Robot Main front panel doesn’t seem to work either. In both cases we get the classic “depressed button” look that says “you’ve pressed the button, but LabVIEW hasn’t read it.” We have resorted to stoping Robot Main from the tool bar, but clearly this won’t cut it in competition.

  2. When we start Driver Station.exe, we also get a Dashboard. But it is not our dashboard. To get our Dashboard, we have to kill the default one, and start our own only after Enabling Teleop mode. This does not seem right, or like it will be useful in competition. How do we make Driver Station.exe launch our Dashboard?

  3. If we are not planning on using a Classmate in competition, how do we set up our own laptop to behave properly at a competition?

  4. Beyond that, is there a document that explains exactly what sort of control is taken over our robot during a competition? I know that somehow the “ring master” has control of enabling our robot, but some details would be very helpful.

  1. In our particular usage of LabVIEW and the cRIO, Finish.vi will never actually be called.
    We also will not be using any LabVIEW front panels during competition, so don’t figure on ever using any controls placed there during competition, just use them while debugging.

  2. The Driver Station starts Dashboard.exe located at C:\Program Files\FRC Dashboard
    If you want yours to be run you can rename it to Dashboard.exe and replace the default one already in the folder, or you can modify the .ini file that tells the Driver Station which one to run.
    The .ini file is located at C:\Documents and Settings\All Users\Documents\FRC\FRC DS Data Storage.ini (a slight relocation from 2010)

  3. You need to create a “Driver” user account with that specific name, and run in that when you hookup to the Field system (FMS). You must make sure that your Ethernet IP address/net mask are set correctly.

  4. FMS rules all.

  • Basically, you plug the Ethernet cable provided at each Player Station into your Classmate or laptop.
  • FMS detects the Driver Station application and locks it to FMS use only. The controls for Teleop/Autonomus/Practice and some other stuff will all disappear to be replaced by “FMS Connected” and you’ll see the FMS light on your Diagnostics tab light up green.
  • FMS will only connect to a Driver user account with the correct team number for that Player Station.
  • FMS creates a Virtual Private Network (VPN) dedicated to just your team through the Field Access Point router.
  • At the beginning of the event you will setup your robot radio at a special WPA kiosk. You will switch it to Bridge and it will get a secret passkey that FMS has generated.
  • On the field, once FMS setsup your VPN, the Field Router will connect to your robot’s radio/bridge. On your Driver station you will se red statuses gradually replaced by green statuses as the robot boots up.
  • FMS then controls the start of the match Autonomous and the end, as well as the transition to teleop and the finish.
  • When you leave the Player Station after the match, your Driver Station will show “FMS Locked”. Your F1 to enable, and space bar to disable will work for teleop testing in the pits, but you still won’t have the Teleop/Autonomous/Practice choices. When you plug in to the Player Station for the next match the status will switch back to FMS Connected.
    *]If you need the Autonomous/Practice choices in the pit you will have to log out of the Driver account and log back in to clear the FMS Locked state.

Mark-

Thanks for the quick and helpful reply. In the above quote, I am assuming that you are using the Royal “our”, meaning everyone using the FRC Robot Framework in LabVIEW.

That means I/we should close all references in the Teleop VI, instead of the Finish VI (in contradiction to the advice in the FRC Mastery videos…)

That’s an all-inclusive “our”.

Do not close references except in Finish.vi.

Just don’t worry about Finish.vi running or not.
We’re killing the robot power to stop our robots, so there will never be time left over to run the Finish.vi, but for our purposes the devices we open are by default closed by the lack of power to keep them running.
The next time we start is a power-up and a fresh start for the software. It’s just the particular way we are doing things.
Out in industry or at University it’s more common to open and close devices without throwing a circuit breaker to accomplish it…