Visionneur de fichiers journaux de Driver Station

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.

Note

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.

Journaux d’événements

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.

Interface du visionneur

Vue d’ensemble de l’écran d’accueil de la visionneuse du journal.

Le visionneur de journaux contient un certain nombre de contrôles et d’affichages pour faciliter l’analyse des fichiers journaux de Driver Station :

  1. Zone de sélection des fichiers - Cette fenêtre affiche tous les fichiers journaux disponibles dans le dossier actuellement sélectionné. Cliquez sur un fichier journal dans la liste pour le sélectionner.

  2. Chemin d’accès aux fichiers journaux - Cette zone affiche le dossier actuel dans lequel le visionneur recherche des fichiers journaux. Par défaut, ce dossier est le dossier dans lequel Driver Station range les fichiers journaux. Cliquez sur l’icône du dossier pour accéder à un autre emplacement.

  3. Zone de message - Cette zone affiche un résumé de tous les messages du journal d’événements. Lorsque vous passez le curseur au dessus d’un événement sur le graphique, cette case change pour afficher les informations relatives à cet événement.

  4. Barre de défilement - Lorsque le graphique est agrandi, cette barre de défilement permet de faire un défilement horizontal du graphique.

  5. Filtre de tension - Ce contrôle active et désactive le filtre de tension (par défaut, actif). Le filtre de tension filtre les données telles que le % CPU, le Mode du Robot et le temps de surtension lorsqu’aucune tension de batterie n’est reçue (ce qui indique que DS n’est pas en communication avec le roboRIO).

  6. AutoScale - Ce bouton effectue un zoom arrière du graphique pour afficher toutes les données du journal.

  7. Match length - Ce bouton étale le graphique à environ la durée d’un match FRC (2 minutes et 30 secondes indiquées). Il ne localise pas automatiquement le début du match, vous devrez parcourir le graphe à l’aide de la barre de défilement pour localiser le début du mode autonome.

  8. Graphique - Cet écran montre sous forme graphique les données du fichier journal DS (tension, surtension, %CPU du roboRIO, paquets perdus et mode du robot) ainsi que les données d’événements superposées (affichées sous forme de points sur le graphique avec certains événements montrant des lignes verticales sur l’ensemble du graphique). En passant le curseur sur les marqueurs d’événements du graphique, on affiche des informations sur l’événement dans la fenêtre Messages en bas à gauche de l’écran.

  9. Légende du Mode Robot - Légende pour le Mode Robot affiché en haut de l’écran

  10. Légende d’événement majeur - Légende pour les événements majeurs, affichés sous forme de lignes verticales sur le graphique

  11. Légende graphique - Légende pour les données graphiques

  12. Contrôle du filtrage - Liste déroulante pour sélectionner le mode de filtrage (modes de filtrage expliqués ci-dessous)

  13. Contrôle d’onglet - Contrôle pour basculer entre les affichages graphique (données et événements vs temps) et liste d’événements.

Comment utiliser l’affichage graphique

Les différentes parties de l’écran graphique et certains des signaux de base.

L’affichage graphique contient les informations suivantes :

  1. Graphiques du temps de surtension en ms (ligne verte) et paquets perdus par seconde (affichés sous forme de barres verticales bleues). Dans ces exemples, la surtension est une ligne verte plate au bas du graphique et il n’y a pas de paquets perdus

  2. Graphique de la tension de la batterie affichée sous la forme d’une ligne jaune.

  3. Graphique du % CPU du roboRIO comme ligne rouge

  4. Graphique des modes Robot et DS. L’ensemble supérieur de l’écran montre le mode dicté par Driver Station. L’ensemble inférieur montre le mode exécuté par le code du robot. Dans cet exemple, le robot ne communique pas son mode pendant les phases désactivé et autonome, mais il le communique pendant le Mode Teleop.

  5. Les marqueurs d’événements sont affichés sur le graphique indiquant le moment où l’événement a eu lieu. Les erreurs s’affichent en rouge; les avertissements en jaune. En passant le curseur par dessus un marqueur d’événement, vous afficherez des informations sur l’événement dans la zone Messages en bas à gauche de l’écran.

  6. Les événements majeurs apparaissent sous forme de lignes verticales sur l’affichage du graphique.

Pour agrandir une partie du graphique, cliquez et faites glisser autour de la zone d’affichage souhaitée. Vous ne pouvez zoomer que sur l’axe de temps, vous ne pouvez pas zoomer verticalement.

Liste des événements

Liste des événements qui est obtenue par l’onglet en haut au centre.

L’onglet Event List affiche une liste d’événements (avertissements et erreurs) enregistrés par Driver Station. Les événements et les détails affichés sont déterminés par le filtre actuellement actif (l’image montre le résultat obtenu du filtre actif « All Events, All Info »).

Filtres

Trois filtres sont disponibles dans le visionneur de journaux :

  1. Default: ce filtre filtre bon nombre des erreurs et avertissements rapportés par Driver Station. Ce filtre est utile pour identifier les erreurs émises par le code sur le robot.

  2. All Events and Time: ce filtre affiche tous les événements et l’heure à laquelle ils se sont produits

  3. All Events, All Info: ce filtre affiche tous les événements et toutes les informations enregistrées. La différence principale entre ce filtre et « All Events and Time » est que cette option affiche le qualificatif « unique » pour la première occurrence d’un message particulier.

Identification des journaux des matches

Pour identifier un journal d'un match, recherchez le message "FMS Connected" puis le numéro du match.

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.

Identification avec le visionneur de journaux des problèmes de connexion courants

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.

Note

Notez que tous les fichiers journaux affichés dans cette section ont été mis à l’échelle pour correspondre à la longueur d’un match à l’aide du bouton Match Length, puis parcourus jusqu’au début du Mode Autonome. En outre, la plateforme utilisée pour la production des journaux n’ayant pas été correctement câblée pour signaler la tension de la batterie, beaucoup de journaux ne contiennent pas d’informations sur la tension de la batterie.

Astuce

Certains messages d’erreur trouvés dans le visionneur de journaux sont présentés ci-dessous et d’autres sont détaillés dans l’article Erreurs/Avertissements de Driver Station.

Journal « Normal »

Un graphique normal et quelques événements mineurs.

Ceci représente un exemple du journal d’un match régulier. Les erreurs et les avertissements contenus dans la première zone proviennent du moment où DS a démarré et peuvent être ignorés. Ceci est confirmé en observant que ces événements se sont produits avant l’événement « FMS Connected: ». Le dernier événement montré peut également être ignoré, il est aussi lié à la première connexion du robot à DS (il se produit 3 secondes après la connexion au FMS) et se produit environ 30 secondes avant le début du match.

Déconnecté du FMS

Une déconnexion peut entraîner la division du journal en deux parties, mais contiendra au moins des événements indiquant la déconnexion.

Lorsque DS se déconnecte du FMS, et donc du robot, pendant le match, le journal peut se subdiviser en morceaux. Les indicateurs clés de cette panne sont le dernier événement du premier journal, indiquant que la connexion au FMS est maintenant « bad » et le deuxième événement du 2ème journal qui est un nouveau message « FMS connected » suivi par DS transitant immédiatement vers Teleop Enabled. La cause la plus fréquente de ce type de défaillance est un câble ethernet sans griffe de verrouillage ou un port ethernet endommagé sur l’ordinateur de pilotage.

Redémarrage du roboRIO

Un redémarrage du roboRIO est d'avantage mis en évidence par un message "Time since robot boot".

Le message « Time since robot boot » est le principal indicateur d’une défaillance de connexion causée par un redémarrage du roboRIO. Dans ce journal, DS perd la connexion avec le roboRIO à 3:01:36 tel qu’indiqué par le premier événement. Le deuxième événement indique que le ping initié après l’échec de la connexion a réussi avec tous les appareils excepté le roboRIO. À 3:01:47 le roboRIO commence à répondre à nouveau aux pings, un ping supplémentaire échoue à 3:01:52. À 3:02:02, Driver Station se connecte au roboRIO et le roboRIO rapporte qu’il a été en place pendant 3.682 secondes. Il s’agit d’un indicateur clair que le roboRIO a redémarré. Le code continue à se charger et à 3:02:24 le code signale une erreur de communication avec la caméra. Un avertissement est également signalé indiquant qu’aucun Code Robot n’est en cours d’exécution juste avant la fin du démarrage du programme.

Problème de câble Ethernet sur le robot

Ce problème est évident car l'application Driver Station pouvait se connecter à la radio mais pas au roboRIO mais le roboRIO ne s'était pas redémarré.

Un problème avec le câble ethernet sur le robot est principalement indiqué par un ping non concluant au roboRIO et l’apparition des événements Radio Lost et Radio Seen lorsque le roboRIO se reconnecte. Le message « Time since robot boot » lorsque le roboRIO se reconnecte indiquera également que le roboRIO n’a pas redémarré. Dans cet exemple, le câble Ethernet du robot a été déconnecté à 3:31:38. Le statut du ping indique que la radio est toujours connectée. Lorsque le robot se reconnecte à 3:32:08 l’évènement « Time since robot boot » est de 1809 secondes indiquant clairement que le roboRIO n’a pas redémarré. À 3:32:12, le robot indique qu’il a perdu la radio il y a 24.505 secondes et qu’il est revenu il y a 0.000 seconde. Ces points sont tracés sous forme de lignes verticales sur le graphique, jaune pour la radio perdue et vert pour la radio présente. Notez que les heures sont légèrement décalées par rapport aux événements réels tels qu’ils sont indiqués via la déconnexion et la connexion, mais ces heures aident à fournir des informations supplémentaires sur ce qui se passe.

Redémarrage de la radio

Le ping ici montre le roboRIO et la radio comme MAUVAIS.

Un redémarrage de la radio du robot est généralement caractérisé par une perte de connexion avec la radio pendant environ 40-45 secondes. Dans cet exemple, la radio a brièvement perdu de la puissance à 3:22:44, ce qui l’a conduit à redémarrer. L’événement survenu à 3:22:45 indique que le ping à la radio a échoué. À 3:23:11, DS retrouve la communication avec le roboRIO et le roboRIO indique qu’il a été actif pendant 1272.775 secondes, excluant un redémarrage roboRIO. Notez que l’interrupteur réseau de la radio se rétablit très rapidement de sorte qu’une perte de puissance momentanée peut ne pas entraîner une séquence d’événements « radio lost »/ »radio seen ». Une perturbation plus longue peut entraîner l’enregistrement d’événements radio par DS. Dans ce cas, le facteur distinctif qui pointe vers un redémarrage radio est l’état ping de la radio dans DS. Si la radio se réinitialise, la radio sera inaccessible. Si le problème est un problème de câblage ou de connexion sur le robot, le ping radio doit demeure « GOOD ».