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 menuin the FRC Driver Station folder in Program Files, or via the Gear icon in the Driver Station.

Note
Several third-party tools exist that provide similar functionality to the FRC Driver Station Log Viewer, including AdvantageScope and DSLOG Reader. Note that WPILib offers no support for third-party projects.
Journaux d’événements
Driver Station enregistre tous les messages envoyés dans la zone Messages de son onglet Diagnostics (et non la zone Messages utilisateur de son onglet Opération) dans un nouveau fichier journal des événements. Lorsque vous visionnez des fichiers journaux avec Driver Station Log Viewer, les fichiers journaux d’événements et les fichiers DSLog sont superposés dans un seul affichage.
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

Le visionneur de journaux contient un certain nombre de contrôles et d’affichages pour faciliter l’analyse des fichiers journaux de Driver Station :
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.
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.
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.
Barre de défilement - Lorsque le graphique est agrandi, cette barre de défilement permet de faire un défilement horizontal du graphique.
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).
AutoScale - Ce bouton effectue un zoom arrière du graphique pour afficher toutes les données du journal.
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.
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.
Légende du Mode Robot - Légende pour le Mode Robot affiché en haut de l’écran
Légende d’événement majeur - Légende pour les événements majeurs, affichés sous forme de lignes verticales sur le graphique
Légende graphique - Légende pour les données graphiques
Contrôle du filtrage - Liste déroulante pour sélectionner le mode de filtrage (modes de filtrage expliqués ci-dessous)
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

L’affichage graphique contient les informations suivantes :
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
Graphique de la tension de la batterie affichée sous la forme d’une ligne jaune.
Graphique du % CPU du roboRIO comme ligne rouge
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.
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.
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

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 :
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.
All Events and Time: ce filtre affiche tous les événements et l’heure à laquelle ils se sont produits
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

Une étape usuelle en travaillant avec les journaux de Driver Station consiste à identifier les journaux provenant des matches en tournoi. Les journaux qui ont été produits durant un match peuvent maintenant être identifiés à l’aide de l’événement FMS Connected qui affichera le type de match (Pratique, Qualification ou Fin de tournoi), son numéro et son heure précise telle que donnée par le serveur FMS. Dans cet exemple, vous pouvez voir que le temps du serveur FMS et l’heure Driver Station sur le PC sont assez proches, à environ 7 secondes d’intervalle.
Identification avec le visionneur de journaux des problèmes de connexion courants
Lors du diagnostic des problèmes avec le robot, il n’y a rien de mieux qu’une connaissance approfondie du système et une approche méthodique de débogage. Si vous avez besoin d’aide pour diagnostiquer un problème de connexion en tournoi, il est fortement recommandé de chercher de l’aide auprès de votre FTA ou de votre CSA. L’objectif de cette section est de vous familiariser avec la façon dont certaines pannes courantes peuvent se manifester dans les fichiers journaux de DS. Notez que, dépendant d’une variété de conditions, une défaillance particulière peut s’afficher légèrement différemment dans un fichier journal.
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 »

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

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

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

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

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