Problèmes connus¶
This article details known issues (and workarounds) for FIRST® Control System Software.
Questions ouvertes¶
Unable to deploy on macOS when multiple VS Code versions are installed¶
Issue: On macOS, having multiple installed copies of Visual Studio Code can cause deploy operations to fail because of macOS local network privacy
Workaround: Open Settings -> Privacy and Security -> Local Network Access and ensure that all VS Code versions are allowed Local Network Access.
If that doesn’t work, you can run the following commands in a terminal and then reboot. This allows any program to access the robot’s network.
sudo defaults write com.apple.network.local-network AllowedEthernetLocalNetworkAddresses -array "10.0.0.0/8"
sudo defaults write com.apple.network.local-network AllowedWiFiLocalNetworkAddresses -array "10.0.0.0/8"
Avertissement
This also allows any program to access any network with the address in the range of 10.x.x.x, which may be undesirable if you connect to other networks in that range beside’s the robot’s network. If you only access a robot with a single team number, you can substitute 10.TE.AM.0/24` (TE.AM IP Notation). If you only access the robot’s network over eithernet or WiFi, you can only run the appropriate command.
Driver Station randomly disabled¶
Issue: The Driver Station contains safety mechanisms to protect against control issues. Some teams have seen this cause the robot to disable.
Workaround: There are multiple potential causes for tripping the safety mechanisms.
Note
The safety mechanisms will not disable the robot when connected to the FMS.
Some teams have seen this happen only when the robot is operated wirelessly, but not when operated via USB or ethernet tether. Some potential mitigations:
Try relocating the robot radio to a better location (high in the robot and away from motors or large amounts of metal). Follow the manufacturer’s recommended mounting
Measure your robot’s bandwidth and ensure you have margin under the 7 Mbps bandwidth limit
See if the Wi-Fi environment is congested using a tool like WiFi Analyzer.
Utilize the recommended 2 radio setup. 1. Ensure the DS Radio is mounted high, away from interference and humans walking between the DS radio and the robot. 2. Use ethernet to connect the DS computer to the DS Radio
Update the Wi-Fi drivers for the DS computer.
Some teams have seen this happen due to software that is running on the driver station (such as Autodesk updater or Discord). Some potential mitigations:
Reboot the driver station computer
Close software that is running in the background
Follow the Driver Station Best Practices
While rare, this can be caused by robot code that oversaturates the Systemcore processor or network connection. If all other troubleshooting steps fail, you can try running with one of the WPILib example programs to see if the problem still occurs.
If you identify software that interferes with driver station, please open an issue at https://github.com/wpilibsuite/FirstDriverStation-Public/issues
Simulation crashes on Mac after updating WPILib¶
Issue: On macOS, after updating the project to use a newer version of WPILib, running simulation immediately crashes without the GUI appearing.
Workaround: In VS Code, run WPILib | Run a command in Gradle, clean. Alternatively, run ./gradlew clean in the terminal or delete the build directory.
Compilation invalide en raison de l’absence de GradleRIO¶
Problème: Très rare, le cache Gradle d’un utilisateur sera brisé et ils recevront des erreurs similaires à ce qui suit:
Could not apply requested plugin [id: ‘edu.wpi.first.GradleRIO’, version: ‘2020.3.2’] as it does not provide a plugin with id ‘edu.wpi.first.GradleRIO’
Solution de contournement:
Delete your Gradle cache located under ~$USER_HOME/.gradle. Windows machines may need to enable the ability to view hidden files. This issue has only shown up on Windows so far. Please report this issue if you get it on an alternative OS.
C++ Intellisense - Les fichiers ouverts au lancement ne fonctionnent pas correctement¶
Problème: En C++, les fichiers ouverts au lancement de VS Code auront des problèmes avec Intellisense affichant les suggestions de toutes les options d’une unité de compilation et pas seulement celles appropriées ou ne trouvant pas de fichiers d’en-tête. Il s’agit d’un bogue dans VS Code.
Solution de contournement:
Fermez tous les fichiers dans VS Code, mais laissez VS Code ouvert
Supprimer le fichier c_cpp_properties.json dans le dossier .vscode, s’il existe
Run the « Refresh C++ Intellisense » command in VS Code.
En bas à droite, vous devriez voir quelque chose qui ressemble à une plate-forme (linuxathena ou windowsx86-64, etc.). S’il ne s’agit pas de linuxathena, cliquez dessus et définissez-le sur linuxathena (version)
Attendez ~ 1 min
Ouvrez le fichier cpp principal (pas un fichier d’en-tête avec extension .h). Intellisense devrait maintenant fonctionner
Problèmes avec les Dashboards WPILib et de simulation sur les éditions Windows N¶
Problème : Le code WPILib utilisant CSCore (dashboards et code robot simulé) aura des problèmes sur les versions Education N de Windows.
Le shuffleboard fonctionnera, mais ne chargera pas les caméras
Smartdashbard va planter au démarrage
La simulation de robot va planter au démarrage
Solution: Install the Media Feature Pack
Fixed in WPILib 2027.0.0-alpha-2¶
I2C numbering backwards¶
The I2C numbering in WPILib is backwards from what the labels are on Systemcore. This will be fixed in Alpha 2 and later releases.
DutyCycle.getOutput crashes¶
Attempting to call DutyCycle.getOutput() or DutyCycleEncoder.get() without calling setAssumedFrequency() will crash. This is because currently the HW does not report frequency, which doesn’t allow us to compute a percentage output. This also means getFrequency() also will fail.
Use DutyCycle.getHighTime() or DutyCycleEncoder.setAssumedFrequency(), and use the value specified in the datasheet of the sensor to compute a percentage output.
Fixed in VH-109 fimware version 2.0.0¶
Systemcore won’t get 10.TE.AM.2 address from Radio.¶
Due to the change in Hostname, the radio will not hand out .2 to Systemcore. Use the IP address displayed on the Systemcore screen if you need to know the IP address.
Generally, everything should work in this configuration. But if you run into issues where the DS cannot connect (And you’re sure the team number is set, it’s required to connect the DS and can be verified on the screen), you can manually type the IP address into the team number selector in the DS.