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:

  1. 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

  2. Measure your robot’s bandwidth and ensure you have margin under the 7 Mbps bandwidth limit

  3. See if the Wi-Fi environment is congested using a tool like WiFi Analyzer.

  4. 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

  5. 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:

  1. Reboot the driver station computer

  2. Close software that is running in the background

  3. 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:

  1. Fermez tous les fichiers dans VS Code, mais laissez VS Code ouvert

  2. Supprimer le fichier c_cpp_properties.json dans le dossier .vscode, s’il existe

  3. Run the « Refresh C++ Intellisense » command in VS Code.

  4. 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)

  5. Attendez ~ 1 min

  6. 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.