My high school is starting an FRC team and I am designated as the programmer since everybody else doesn’t have any programming background. I primarily use a MacBook for daily use and other programming (outside of FRC) and unfortunately the driver station isn’t supported on Mac. The Windows laptop we have from the kit of parts is very slow and not a good development machine.
Is it possible to have the code simulation run on my Mac and have the driver station on the team laptop connect to the code that way? A reason I’m thinking that it could be possible because in the logs of the WPILib simulation output in VSCode I see:
NT: Listening on NT3 port 1735, NT4 port 5810
...
NT: Got a NT4 connection from 127.0.0.1 port 52672
NT: CONNECTED NT4 client 'Dashboard@1' (from 127.0.0.1:52672)
I’m wondering if I can configure the IP address and port that the driver station listens on for the code simulation. I have my Mac and laptop connected with Tailscale so I can use my tailnet IP addresses and in theory that would work nicely.
Before you go down a rabbit hole, have you tried using the simulation DS? It won’t perfectly emulate the way the real DS handles joystick axes in some cases, but it should be good enough.
Once you do have your program running on a roboRIO, you can deploy code with your mac and run dashboards, while running the real DS on another computer.
Not quite understanding how to use the simulation DS, hopefully one of our mentors can help me with it.
Your second point is more of what I’m envisioning. What I’m trying to do is really just for development.
Thank you, I’ll take a look at that.
Do you or does someone else know how I can achieve what I’m trying to do? Pointing the Driver Station to a new IP address for my simulated robot code?
I’d really like to have the driver station use the code simulation server running on my Mac, rather than the code simulating locally.
Please let me know if I’m not going about this right - I’m new to all these systems.
This isn’t possible, but it also isn’t necessary to use the driver station when simulating your code. If you just run the robot in simulation, the simulation GUI can do everything that the driver station would be doing (as mentioned in the documentation linked above), including changing the robot mode and using joysticks.
Thank you, this is very helpful for me.
Mac programmer here!
As @virtuald the Sim GUI can do everything the DS Sim can. I would like to add that you can deploy code from your mac onto your robot and use the Driver Station to control the robot (if not simulating)
If you have any other mac FRC questions feel free to ask them, as I had to navigate the frc mac programming learning curve this year!
After talking with our programming mentor and actually getting a program working, I realized that the simulation DS was not the thing to use
Deploying the code from Mac and running the real DS on Windows works just fine and it’s what I was envisioning