Problemas Conocidos

Este artículo detalla problemas conocidos (y soluciones) para el Software de Control de Sistema de FRC®

Problemas Abiertos

AdvantageScope isn’t updated by WPILib Installer on macOS

Issue: When running the WPILib Installer, a pop-up saying "WPILibInstaller" was prevented from modifying apps on your Mac. and AdvantageScope remains version 3.0.1. This issue occurs when upgrading WPILib, when a beta version of WPIlib or WPILib 2024.1.1 was installed on macOS.

Workaround: Delete AdvantageScope from ~/wpilib/tools and re-run the WPILib Installer.

Driver Station randomly disabled

Issue: The Driver Station contains tighter safety mechanisms in 2024 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.

Nota

The new safety mechanisms will not disable the robot when connected to the FMS.

Driver Station 24.0.1 from Game Tools 2024 Patch 1 contains an update to the safety controls that may resolve the issue in certain circumstances. If the issue is still seen with this version installed, please continue with the troubleshooting steps below.

The Driver Station software has new tools for control packet delays that could cause this. The control system team requests that teams that experience this issue post screenshots of the Driver Station Timing window to https://github.com/wpilibsuite/allwpilib/issues/6174

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

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

  3. See if the Wi-Fi environment is congested using a tool like WiFi Analyzer. As the 5 ghz WiFi spectrum has more channels and is less crowded, switching the robot radio to operate at 5 ghz will likely improve WiFi communication.

  4. Update the Wi-Fi drivers for the computer.

  5. If you operate multiple robots in close proximity in access point mode, setting up a router and operating the radios in bridge mode will reduce the number of wireless access points and may improve communications

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 roboRIO 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 post it to https://github.com/wpilibsuite/allwpilib/issues/6174

Driver Station Reports Less Free RAM then is Available

Issue: The Driver Station diagnostic screen reports free RAM that is misleadingly low. This is due to Linux’s use of memory caches. Linux will cache data in memory, but then relinquish when the robot programs requests more memory. The Driver Station only reports memory that isn’t used by caches.

Workaround: The true memory available to the robot program is available in the file /proc/meminfo. Use ssh to connect to the robot, and run cat /proc/meminfo.

MemTotal:         250152 kB
MemFree:           46484 kB
MemAvailable:     126956 kB

The proper value to look is as MemAvailable, rather then MemFree (which is what the driver station is reporting).

Driver Station Reporting No Code

Issue: There is a rare occurrence in the roboRIO 2.0 that causes the roboRIO to not properly start the robot program. This causes the Driver Station to report a successful connection but no code, even though code is deployed on the roboRIO.

Workaround: We are currently investigating the root cause, but FIRST volunteers have been made aware and the recommendation is to reboot the roboRIO when this occurs.

Nota

Pressing the physical User button on the roboRIO for 5 seconds can also cause the robot code to not start, but a reboot will not start the robot code. If the robot code does not start after rebooting, press the User button. Ensure that nothing on the robot is in contact with the User button.

Radio Second Port Sometimes Fails to Communicate

Issue: There is a rare occurrence in the OM5P Radios that causes the second Ethernet port (the one farthest from the power plug) to not communicate.

Workaround: Generally, power cycling the radio will restablish communication with the second port. Alternately, utilize a network switch such as the tp-link switch formerly available from FIRST Choice or the brainboxes SW-005 and plug all ethernet devices into the network switch and then plug the switch into the radio’s first Ethernet port. This also allows easier tethering while at competition.

Onboard I2C Causing System Lockups

Issue: Use of the onboard I2C port on the roboRIO 1 or 2, in any language, can result in system lockups. The frequency of these lockups appears to be dependent on the specific hardware (i.e. different roboRIOs will behave differently) as well as how the bus is being used.

Workaround: The only surefire mitigation is to use the MXP I2C port or another device to read the I2C data. Accessing the device less frequently and/or using a different roboRIO may significantly reduce the likelihood/frequency of lockups, it will be up to each team to assess their tolerance of the risk of lockup. This lockup can not be definitively identified on the field and a field fault will not be called for a match where this behavior is believed to occur. This lockup is a CPU/kernel hang, the roboRIO will completely stop responding and will not be accessible via the DS, webpage or SSH. If you can access your roboRIO via any of these methods, you are experiencing a different issue.

Several alternatives exist for accessing the REV color sensor without using the roboRIO I2C port. A similar approach could be used for other I2C sensors.

  • Use a Raspberry Pi Pico. Supports up to 2 REV color sensors, sends data to the roboRIO via serial. The Pi Pico is low cost (less than $10) and readily available.

  • Use a Raspberry Pi. Supports 1-4 color sensors, sends data to the roboRIO via NetworkTables. Primarily useful for teams already using a Raspberry Pi as a coprocessor.

Updating Properties on roboRIO 2.0 may be slow or hang

Issue: Updating the properties on a roboRIO 2.0 without reformatting using the Imaging Tool (such as setting the team number) may be slow or hang.

Workaround: After a few minutes of the tool waiting the roboRIO should be able to be rebooted and the new properties should be set.

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.

Construcción inválida debido a la falta de GradleRIO

Problema: En raras ocasiones, el caché de Gradle de un usuario se rompe y se muestran errores similares a los siguientes:

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’

Solución Alternativa:

Elimina tu caché de Gradle ubicado en ~$USER_HOME/.gradle. Las máquinas Windows pueden necesitar habilitar la capacidad de ver archivos ocultos. Este problema sólo ha aparecido en Windows hasta ahora. Por favor, informe este problema si lo tiene en un sistema operativo alternativo.

Caracteres Chinos al iniciar la Driver Station

Problema: Rara vez, al iniciar la driver station se mostrarán caracteres Chinos en vez de texto en Inglés. Esto aparece solo cuando Windows esta configurado en otro idioma que no es Inglés.

Chinese character appearing in the Driver Station log window.

Solución alternativa: Hay dos soluciones alternativas conocidas:

  1. Copie y pegue los caracteres Chinos en un bloc de notas, y el texto en Inglés se mostrará.

  2. Cambie temporalmente el lenguaje de Windows a Inglés.

C++ Intellisense - Los Archivos Abiertos al Iniciarse No Funcionan Correctamente

Problema: En C++, los archivos que se abren cuando se inicia VS Code tendrán problemas con Intellisense mostrando sugerencias de todas las opciones desde una unidad de compilación y no solo las apropiadas o no encontrando archivos de encabezado. Este es un error en VS Code.

Solución Alternativa:

  1. Cierre todos los archivos en VS Code, pero deje VS Code abierto

  2. Elimine el archivo c_cpp_properties.json en la carpeta .vscode, si existe

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

  4. En la esquina inferior derecha debe ver algo que se vea como una plataforma (linuxathena o windowsx86-64 etc). Si no es linuxathena de click y configure a linuxathena (lanzamiento)

  5. Espere ~1 min

  6. Abra el archivo main cpp (no el archivo de título). Intellisense debe de funcionar ahora

Issues with WPILib Dashboards and Simulation on Windows N Editions

Issue: WPILib code using CSCore (dashboards and simulated robot code) will have issues on Education N editions of Windows.

  • Shuffleboard will run, but not load cameras

  • Smartdashbard will crash on start-up

  • Robot Simulation will crash on start-up

Solución: Intalar el Media Feature Pack

Fixed in WPILib 2024.2.1

Visual Studio Code Reports Unresolved Dependency

Issue: Java programs will report Unresolved dependency: org.junit.platform junit-platform-launcherJava(0) on build.gradle. Programs that use unit tests will fail to build. This causes build.gradle to be highlighted red in the Visual Studio Code explorer, and the plugins line in build.gradle to have a red squiggle.

Workaround: This can be safetly ignored if you aren’t running unit tests. To fix it, do the following:

On Windows execute the following in powershell:

Invoke-WebRequest -Uri https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter/5.10.1/junit-jupiter-5.10.1.module -OutFile C:\Users\Public\wpilib\2024\maven\org\junit\jupiter\junit-jupiter\5.10.1\junit-jupiter-5.10.1.module
Invoke-WebRequest -Uri https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.1/junit-bom-5.10.1.module -OutFile C:\Users\Public\wpilib\2024\maven\org\junit\junit-bom\5.10.1\junit-bom-5.10.1.module

On Linux/macOS execute the following:

curl https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter/5.10.1/junit-jupiter-5.10.1.module -o ~/wpilib/2024/maven/org/junit/jupiter/junit-jupiter/5.10.1/junit-jupiter-5.10.1.module
curl https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.1/junit-bom-5.10.1.module -o ~/wpilib/2024/maven/org/junit/junit-bom/5.10.1/junit-bom-5.10.1.module

After running those, you’ll need to refresh Java intellisense in VS Code for it to pick up the new files. You can do so by running the Clean Java Language Server Workspace command in VS Code.

Fixed in Game Tools 2024 Patch 1

Driver Station internal issue with print error and tags

Issue: The Driver Station will occasionally print internal issue with print error and tags. The message is caused when the DS reports a message on its side intermixed with messages from the robot; it is not caused by and does not affect robot code.

Workaround: This will be fixed in the next Game Tools release. There is no known workaround.