Skip to content

Simulating Joysticks and the Driver Station

Paul Friederichsen edited this page Nov 6, 2015 · 3 revisions

As of Toast v2.0.1, the Simulation Environment has gained the ability to use the official FRC Driver Station (and the unofficial QDriverStation) as control targets. In short, this means that you can use real joysticks and the real driver station in a simulation environment.

Before trying to connect with the driver station, please make sure of the following details:

  • You must have Bonjour installed. This comes with Apple iTunes, and is most likely already on your computer.

Connecting to the Toast Simulator through the Driver Station is very simple.

  • Open your Toast.conf configuration file (under run/toast/config/) and change the sim.bonjour.enabled option to true.
  • Open the Driver Station and under "Team Number" type "TOAST" (if TOAST fails to work, use 9990 instead)
  • Also ensure you are using the 2015 DS and FMS protocol

For most users, the setup process is now complete. If you wish to do more advanced setup, feel free to read on.

Customizing your DS Interface

You can change a number of details regarding Toast's Simulator. By default, Toast will add a proxy to Bonjour that will reroute roboRIO-TOAST.local and roboRIO-9990.local to localhost (127.0.0.1). This means that the Driver Station can connect to the running Toast instance on the machine. If you wish to disable this behavior (i.e. not proxy), you can set the sim.bonjour.enabled config option to false. If you want to use a team number other than 9990, you can change the sim.bonjour.target value in the configuration to another value.

Setting the sim.ds.enabled option to false will prevent Toast from listening for Driver Station connections.

Connecting from another computer's Driver Station

If the computer that is running the Driver Station is different from the computer that is running the Toast simulator, there is a way to create a connection between these two systems, although it is more complicated.

  • Step 1: Choose a team number. Try to set this to something like 9991, where it is unlikely to cause conflicts. If you are using the default FRC Driver Station, you can even use letters like SIM or TOAST.

  • Step 2: Create a mDNS proxy. Windows and Macintosh computers that have Bonjour installed can run

dns-sd -P roboRIO-TEAM _ni._tcp local 3580 roboRIO-TEAM.local target_ip

where TEAM is the team number you have chosen, and target_ip is the IP Address or Hostname of the machine running the Toast simulator.

  • Step 3: Connect. Start up the Toast Simulator and open your Driver Station. Set the Target Team Number in the Driver Station and you should be able to connect the Driver Station to the Toast Simulator.