Driver Station Log File Viewer

In an effort to provide information to aid in debugging, the FRC® Driver Station creates log files of important diagnostic data while running. These logs can be reviewed later using the FRC Driver Station Log Viewer. The Log Viewer can be found via the shortcut installed in the Start menu, in the FRC Driver Station folder in Program Files, or via the Gear icon in the Driver Station.

Showing how to open the Log Viewer screen using the right console icon.

Nota

Several alternative tools exist that provide similar functionality to the FRC Driver Station Log Viewer. AdvantageScope is an option included in WPILib, and DSLOG Reader is a third-party option. Note that WPILib offers no support for third-party projects.

Archivos De Eventos

The Driver Station logs all messages sent to the Messages box on the Diagnostics tab (not the User Messages box on the Operation tab) into a new Event Log file. When viewing Log Files with the Driver Station Log File Viewer, the Event Log and Driver Station Log files are overlaid in a single display.

Log files are stored in C:\Users\Public\Documents\FRC\Log Files. Each log has date and timestamp in the file name and has two files with extension .dslog and .dsevents.

Log Viewer UI

Overview of the home Log Viewer screen.

El Log Viewer contiene varios controles y visualizadores para ayudar en el análisis de los archivos de la Driver Station:

  1. File Selection Box – Esta ventana muestra todos los archivos de datos disponibles en la carpeta seleccionada. De clic en un archivo de la lista para seleccionarlo.

  2. Path to Log Files – Este recuadro muestra la carpeta en la que el viewer está buscando archivos. Esto predetermina a la carpeta donde la driver station guarda los archivos. De clic en el icono de la carpeta para buscar en una ubicación diferente.

  3. Message Box – Este recuadro muestra un resumen de todos los mensajes de los archivos de eventos. Al flotar sobre un evento en la gráfica este recuadro cambia, mostrando información para ese evento.

  4. Scroll Bar – Cuando la gráfica esta ampliada, esta barra de desplazamiento permite desplazarse horizontalmente por la gráfica.

  5. Voltage Filter – Este control prende y apaga el filtro de voltaje (predeterminados también). El filtro de voltaje filtra datos como CPU%, modo del robot y tiempo de viaje cuando no se recibe voltaje de batería (indicando que la DS no está en comunicación con la roboRIO).

  6. AutoScale – Este botón cambia de tamaño la gráfica para mostrar todos los datos en el archivo.

  7. Match Length – Este botón cambia el tamaño de la gráfica a aproximadamente la duración de un partido de FRC (2 minutos y 30 segundos). No localiza automáticamente el inicio del partido, usted tendrá que desplazarse usando el la barra desplazatoria para localizar el inicio del modo autónomo.

  8. Graph – Esto muestra gráficos con datos de la DS Log File (voltaje, tiempo de viaje, roboRIO CPU%, paquetes perdidos y modo del robot) así como datos de eventos sobrepuestos (mostrados como puntos en la gráfica con eventos seleccionados mostrados como líneas verticales a través de toda la gráfica). Al pasar el cursor sobre los indicadores de eventos en la gráfica muestra información sobre el evento en la ventana de mensajes en la parte inferior izquierda de la pantalla.

  9. Robot Mode Key – Clave para que el modo del robot se muestre en la parte superior de la pantalla.

  10. Major event key – Clave para los eventos más grandes, se muestra como líneas verticales en la gráfica

  11. Graph key – Clave para los datos gráficos.

  12. Filter Control – Despliegue para seleccionar el modo del filtro (modo de filtro se explican debajo).

  13. Tab Control – Control para cambiar entre gráficos (Data and Events vs. Time) y muestras de listas de eventos.

Uso de la pantalla gráfica

The different parts of the graph screen and some of the basic signals.

La visualización de la gráfica contiene la siguiente información:

  1. Gráficas del tiempo de viaje en ms (línea verde) y paquetes perdidos por segundo (mostrados como líneas azules verticales). En estas imágenes de ejemplo el tiempo de viaje es una linea plana verde al fondo de la gráfica y no hay paquetes perdidos.

  2. Gráfica de voltaje de la batería mostrada como una línea amarilla.

  3. Gráfica del roboRIO CPU % como una línea roja

  4. Gráfica del modo del robot y de la DS. El conjunto superior de la visualización muestra el modo ordenado por la Driver Station. El conjunto inferior muestra el modo reportado por el código del robot. En este ejemplo el robot no está reportando su modo durante los modos disabled y autónomo, pero lo reporta durante Teleop.

  5. Marcadores de evento se mostrarán en la gráfica indicando el cuándo sucedió el evento. Los errores se mostraran en rojo; advertencias en amarillo. Pasar sobre un marcador de evento mostrará información sobre el evento en la caja de mensajes en la parte inferior izquierda de la pantalla.

  6. Eventos grandes se muestran como líneas verticales a través de la gráfica.

Para amplificar una parte de la gráfica, dé clic y arrastre alrededor del área deseada. Usted solo puede amplificar el eje del tiempo, no puede amplificar verticalmente.

Event List

Event List that is gotten to by the tab at the top center.

La Event List tab muestra una lista de eventos (advertencias y errores) grabados por la Driver Station. Estos eventos y detalles son determinados por el filtro activo en ese momento (la imagen muestra el filtro “All Events, All Info” activado).

Filtros

Estos tres filtros están disponibles actualmente en el Log Viewer:

  1. Default: Este filtro remueve muchos de los errores y advertencias producidas por la Driver Station. Este filtro es útil para identificar los errores hechos por el mismo código del Robot.

  2. All Events and Time: Este filtro muestra todos los eventos y el tiempo en el que ocurrieron.

  3. All Events, All Info: Este filtro muestra todos los eventos y toda la información guardada. En este momento la principal diferencia entre este filtro y el “All Events and Time” es que esta opción muestra un designante único para la primera aparición de un mensaje en específico.

Identificar Archivos De Datos De Partidos.

To identify a log from a match look for the "FMS Connected" message then the match number.

A common task when working with the Driver Station Logs is to identify which logs came from competition matches. Logs which were taken during a match can now be identified using the FMS Connected event which will display the match type (Practice, Qualification or Elimination), match number, and the current time according to the FMS server. In this example, you can see that the FMS server time and the time of the Driver Station computer are fairly close, approximately 7 seconds apart.

Identificar Fallas De Conexión Comunes Con El Low Viewer

When diagnosing robot issues, there is no substitute for thorough knowledge of the system and a methodical debugging approach. If you need assistance diagnosing a connection problem at your events it is strongly recommended to seek assistance from your FTA and/or CSA. The goal of this section is to familiarize teams with how some common failures can manifest themselves in the DS Log files. Please note that depending on a variety of conditions a particular failure show slightly differently in a log file.

Nota

Note que todos los log files en esta sección han sido redimensionados para tener la misma longitud usando el botón Match Length y después desplazarse al principio del modo autónomo. También muchos de los archivos no contienen información sobre voltaje de la batería, la plataforma usada para la captura de archivos no se conectó de manera correcta para reportar el voltaje de la batería.

Truco

Algunos mensajes de error que se encuentran en el Log Viewer se muestran debajo y más son detallados en la sección Errores/Advertencias de la Driver Station

Log «Normal»

A normal graph and a couple of harmless events.

Este es un ejemplo de un archivo de datos log normal de un match. Los errores y advertencias contenidas en el primer recuadro son de cuando la DS inicio por primera vez y puede ser ignorado. Esto es confirmado por observar que estos eventos suceden antes del evento. El último evento también puede ser ignorado, también surge de la primera conexión del robot a la DS (ocurre 3 segundos después de conectarse a la FMS) y sucede casi 30 segundos antes que inicie el match.

Desconectado de la FMS

A disconnect can cause the log to be split into two pieces but will at least haved events showing the disconnect.

Cuando la DS se desconecta de la FMS, por lo tanto del robot, durante un match puede dividir el archivo en piezas. Los indicadores clave para esta falla son el último evento del primer archivo, indicando que la conexión a la FMS es ahora “mala” y que el 2do evento del segundo archivo, el cual es un mensaje nuevo de la FMS seguido por la transición inmediata de la DS a Teleop Enabled. La causa más común de este tipo de falla es un cable Ethernet mal conectado o un puerto Ethernet dañado de la computadora DS.

Reiniciar la roboRIO

A roboRIO reboot is most evident by a "Time since robot boot" message.

El mensaje “Time since robot boot” es el principal indicador de una falla de conexión causada por el reinicio de la roboRIO. En este archivo la DS pierde conexión con la roboRIO con 3:01:36 como se indica en el primer evento. El segundo evento indica que el sonido iniciado después que la conexión falló fue exitosa en todos los dipositivos además de la roboRIO. A las 3:01:47 la roboRIO inicia respondiendo a sonidos de Nuevo, un sonido adicional falla a las 3:01:52. A las 3:02:02 la Driver Station se conecta a la roboRIO y la roboRIO reporta que ha estado funcionando por 3.682 segundos. Este es un indicador muy claro que la roboRIO se ha reiniciado. El código continua cargándose y a las 3:02:24 el código reporta un error al comunicarse con la cámara. Una advertencia también se reporta indicando que ningún código del robot está ejecutándose antes que el código termine de iniciar.

Problema de cable Ethernet en el robot

This issue is evident because the driverstation could connect to the radio but not the roboRIO yet the roboRIO hadn't rebooted.

Un problema con un cable de Ethernet en el robot es indicado principalmente por el ping de la roboRIO cambia a mal y los eventos Radio Lost y Radio Seen cuando la roboRIO se reconecta. El mensaje “Time since robot boot” cuando la roboRIO se reconecte también indicara que la roboRIO no se ha reiniciado. En este ejemplo, el cable de Ethernet del robot fue desconectado a las 3:31:38. El estatus del ping indica que el D-Link radio sigue conectado. Cuando el robot se reconecta a las 3:32:08 el“Tim since robot boot” está en 1809 segundos indicando que la roboRIO claramente no se reinició. A las 3:32:12 el robot indica que perdió la radio hace 24.505 segundos y regresó hace 0.000 segundos. Estos puntos se muestran como líneas verticales en la gráfica, amarillo para la radio y verde para la vista de radio. Note que los tiempos están ligeramente desacomodados de los eventos actuales como se muestran vía desconexión y conexión, pero ayuda a proporcionar información adicional sobre lo que esta pasando.

Reinicio del radio

The ping here shows the roboRIO and the radio as BAD.

El reinicio del radio del robot se caracteriza por la pérdida de conexión a la radio por 40-45 segundos. En este ejemplo, la radio pierde poder brevemente a las 3:22:44, causando que empiece a reiniciarse .El evento a las 3:22:45 indica que el ping de la radio fallo. A las 3:23:11 la DS vuelve a ganar comunicación con la roboRIO y la roboRIO indica que ha estado funcionando por 1272.775 segundos, descartando un reinicio de la roboRIO. Note que el network switch en la radio regresa arriba rápidamente entonces una pérdida de poder puede que no resulte en el par de eventos  “radio lost” /”radio seen”. Una molestia más larga puede que resulte en que los eventos de la radio sean archivados por la DS. En ese caso, el factor distinguido que apunta a un reinicio de la radio es el estatus del ping de la radio de la DS. Si la radio se reinicia, esta será inalcanzable. Si el problema es el cableado o conexión del robot, el ping de la radio debería permanecer en “GOOD”.