Add Common Issues and Solutions FAQ document#3108
Add Common Issues and Solutions FAQ document#3108jasondaming wants to merge 2 commits intowpilibsuite:mainfrom
Conversation
Creates comprehensive FAQ document covering frequently asked questions and common issues in FRC, organized into categories: - Build and deployment issues (connection, imaging, Gradle) - Hardware issues (CAN bus, brownouts, pneumatics, motor controllers) - Programming issues (null pointers, command-based, vendor libraries, crashes) - Driver Station issues (communication, joysticks, dashboards) - Firmware and software updates - Network configuration (radio, competition, camera, sensors) Each issue includes symptoms, solutions, and links to relevant documentation. Fixes wpilibsuite#515
sciencewhiz
left a comment
There was a problem hiding this comment.
I think in general it's better to have these in the document where the person would run into the problem, for example the imaging troubleshooting belongs in the imaging article(s).
Where I think having a separate article is useful for things like, my robot died on the field, or wouldn't connect on the field and things like that.
| - **Verify Network Adapter Settings:** | ||
|
|
||
| - Disable all network adapters except the one connecting to the robot | ||
| - Turn off WiFi adapter if using wired connection |
There was a problem hiding this comment.
| - Turn off WiFi adapter if using wired connection | |
| - Turn off Wi-Fi adapter if using wired connection |
| - **Check Connection Method:** | ||
|
|
||
| - USB connection: ``172.22.11.2`` | ||
| - Ethernet/Wireless: ``10.TE.AM.2`` (where TE.AM is your team number) |
There was a problem hiding this comment.
| - Ethernet/Wireless: ``10.TE.AM.2`` (where TE.AM is your team number) | |
| - Ethernet/Wireless: ``10.TE.AM.2`` (where ``TE.AM`` is your team number) |
| - **Prevention Techniques:** | ||
|
|
||
| - Initialize variables when declared with default values | ||
| - Use ``"Test".equals(s)`` instead of ``s.equals("Test")`` to avoid NPE if s is null |
There was a problem hiding this comment.
| - Use ``"Test".equals(s)`` instead of ``s.equals("Test")`` to avoid NPE if s is null | |
| - Use ``"Test".equals(s)`` instead of ``s.equals("Test")`` to avoid NPE if ``s`` is null |
|
|
||
| **Solutions:** | ||
|
|
||
| - **Common Mistakes:** |
There was a problem hiding this comment.
Perhaps add something about commands groups require all their required subsystems during the entire run of the group, not only during each required command (not sure on the best wording, and if should use "composition" instead of "group").
| - Delete ``.gradle`` folder in project | ||
| - Re-install vendor dependencies | ||
|
|
||
| - **Year Transitions:** Must update vendor libraries when importing previous year's project |
There was a problem hiding this comment.
| - **Year Transitions:** Must update vendor libraries when importing previous year's project | |
| - **Year Transitions:** Must update vendor libraries when importing previous year's project or a beta version project |
IIRC
| - Clear Gradle cache | ||
| - Refresh dependencies: ``./gradlew --refresh-dependencies`` | ||
| - Delete ``.gradle`` folder in project | ||
| - Re-install vendor dependencies |
There was a problem hiding this comment.
| - Re-install vendor dependencies | |
| - Re-install vendor dependencies - make sure you're connected to the Internet on the first install |
|
|
||
| - Communications indicator red | ||
| - "No Robot Communication" message | ||
| - Can see robot WiFi but DS shows no connection |
There was a problem hiding this comment.
| - Can see robot WiFi but DS shows no connection | |
| - Can see robot Wi-Fi but DS shows no connection |
|
|
||
| **Solutions:** | ||
|
|
||
| - **Dashboard Selection:** Configure on Setup Tab: LabVIEW Dashboard, SmartDashboard, or Shuffleboard |
There was a problem hiding this comment.
| - **Dashboard Selection:** Configure on Setup Tab: LabVIEW Dashboard, SmartDashboard, or Shuffleboard | |
| - **Dashboard Selection:** Configure on Setup Tab: Elastic, LabVIEW Dashboard, SmartDashboard, or Shuffleboard |
| - **Prerequisites:** | ||
|
|
||
| - Radio connected via Ethernet to computer | ||
| - Computer IP set to DHCP or 10.0.0.5 |
There was a problem hiding this comment.
| - Computer IP set to DHCP or 10.0.0.5 | |
| - Computer IP set to DHCP or ``10.0.0.5`` |
| - Must use wired Ethernet to field | ||
| - Radio automatically configured by FMS | ||
|
|
||
| - **Network Adapter:** Use wired Ethernet for DS at competition, disable WiFi on DS laptop |
There was a problem hiding this comment.
| - **Network Adapter:** Use wired Ethernet for DS at competition, disable WiFi on DS laptop | |
| - **Network Adapter:** Use wired Ethernet for DS at competition, disable Wi-Fi on DS laptop |
- Command-Based vs traditional programming - PID on motor controller vs roboRIO - Trajectory followers (Ramsete, Holonomic, PathPlanner/Choreo) - Dashboard comparison (Shuffleboard, Glass, SmartDashboard, third-party) - Programming language comparison (Java, C++, Python) Addresses questions from wpilibsuite#1366
Summary
Fixes #515