This page is an evolving resource for FRC programming (especially Java) and controls.
Critical Links
- WPILib
- CTRE Phoenix Framework Download
- Rev Hardware Client
- FRC Kit of Parts (KOP)
- Chief Delphi Forums
- FRC reddit
- JDK 11 JavaDoc
- FRC Java API JavaDoc
- Windows Fast Startup
Quick Build Programming Session
Java Learning Resources
- Official Oracle Java Tutorials
- Udemy (Java Tutorial for Complete Beginners)
- Code Abbey
- Online Java IDE (TutorialsPoint)
- Online Java IDE (compilejava)
Java Presentation
(Presented by Team 3528 at Liberty Robotics Massive Mini on 10/8/2016)
Controls Resources
Cool Editors
Git Version Control
3528 Robot Code
Networking Tips and Troubleshooting
RoboRIO connectivity
- USB: 172.22.11.2
- Wifi or Ethernert (mDNS connecting through the radio): roboRIO-TEAM-FRC.local (ex: ping roboRIO-3528-FRC.local)
- Ethernet directly into the RoboRIO: self-assigned link-local address (169.254.0.0/16)
Common FRC IP Addresses
- Radio: 10.TE.AM.1
- RoboRIO Static: 10.TE.AM.2
- RoboRIO USB: 172.22.11.2
- RoboRIO mDNS: roboRIO-####-FRC.local
- RoboRIO ethernet: DHCP
- DHCP Range: 10.TE.AM.20 – 199
- IP Networking at the Event
Command-line network setup (useful for scripting)
(This not as necessary with the RoboRIO since most everything is configured automagically using mDNS.)
Run the following from an admin command prompt:
netsh interface ip set address name="Wireless Network Connection" static <ip address> <netmask> <gateway>
Replace:
- <ip address> with your desired ip address (example: 10.35.28.42)
- <netmask> with your desired netmask (usually: 255.0.0.0)
- <gateway> with your desired gateway (example: 10.35.28.2)
(You’ll need to modify the ip addresses to use your team number. You may need to change the name of your wireless card as well.)
In times of (network) trouble
- Make sure mDNS is running
- Make sure you can ping your router/radio
- Make sure you can ping roboRIO-TEAM-FRC.local (ex: ping roboRIO-3528-FRC.local)
- Disable Windows or other installed Firewalls
- Disable all other network adapters except the one you’re connecting to the robot
- Switch to a wired connection
- Try USB
If you get errors deploying code but it works with the firewall off, disable stateful ftp blocking. Run the following in an admin command window:
netsh advfirewall set global StatefulFTP disable
Essential Files / Locations / Settings
(Note: if you’re running 32bit windows, your program files directory is found in “C:\Program Files” instead of “C:\Program Files (x86)”)
RoboRIO Firmware
C:\Program Files (x86)\National Instruments\Shared\Firmware\cRIO\76F2\
RoboRIO Images
C:\Program Files (x86)\National Instruments\LabVIEW 2020\project\roboRIO Tool\FRC Images\
RoboRIO Imaging Tool
C:\Program Files (x86)\National Instruments\LabVIEW 2019\project\roboRIO Tool
Bridge (radio) Config Utility
C:\Program Files (x86)\FRC Radio Configuration Utility\FRC Radio Configuration Utility.exe
Drive Station Config File
C:\Users\Public\Documents\FRC\FRC DS Data Storage.ini
Setting (in above file) to Launch SmartDashboard
DashboardCmdLine = “C:\\ProgramData\\Oracle\\Java\\javapath\\java.exe -jar C:\\Users\\<your user id>\\wpilib\\tools\\SmartDashboard.jar”
Development Environment
2019: C:\Users\Public\frc2019
2022: C:\Users\Public\wpilib\2022