Hallo! Wir nutzen eine UART für Debugausgaben an einem µC. Dort geben wir Infos zu verschiedenen Schnittstellen aus. Z.B. [HF-UART] TX: 0x00 0x01 0x02 0x03 [HF-UART] RX: 0x04 0x05 0x06 [TCP] TX: 0xAA 0xBB 0xCC [TCP] RX: 0xFF 0x00 0x11 sehr schön wäre, wenn wir eine Interpretation der Logausgaben hätten: z.B. wenn ein Programm den Zeilenanfang [TCP] erkennen würde und diese Zeile dann farblich markieren würde. Die anderen Zeilen entsprechend in einer anderen Farbe. Wir nutzen zum Debuggen Realterm. Es würde auch ausreichen, eine Logfile mit zu schneiden und nachträglich zu formatieren. Noch besser wäre es "live" also währende dem UART-Mitschnitt der Debugausgaben in einem seriellen Terminal. Tausend Dank für eure Hilfe!
Fürs nachträgliche Highlighting per txt-File kann ich z.B. Notepad++ empfehlen mit User-defined Syntax-Highlighting.
Du kannst den Datenstrom durch folgendes Sed-Skript pipen, das die entsprechenden ANSI-Steuersequenzen zur Einfärbung einsetzt: colorize.sed:
1 | s/\(^\[TCP\].*$\)/\x1b[31m\1\x1b[0m/ |
2 | s/\(^\[HF-UART\].*$\)/\x1b[32m\1\x1b[0m/ |
Aufruf, wenn der Log in einer Datei steht:
1 | sed -f colorize.sed log.txt |
Aufruf, wenn die Daten direkt von der Schnittstelle gelesen werden sollen (vorher müssen natürlich die Schnittstellenparameter richtig gesetzt werden):
1 | sed -f colorize.sed /dev/ttyS0 |
Ein Screenshot vom Ergebnis ist im Anhang zu sehen. Informationen zu Sed: http://unixhelp.ed.ac.uk/CGI/man-cgi?sed Informationen zu ANSI-Steuersequenzen: http://en.wikipedia.org/wiki/ANSI_escape_code Die Konsole, in der das Skript verwendet wird, muss natürlich die ANSI-Steuersequenzen richtig interpretieren.
:
Bearbeitet durch Moderator
Michael Neumann schrieb: > Hallo! > > Wir nutzen eine UART für Debugausgaben an einem µC. Dort geben wir Infos > zu verschiedenen Schnittstellen aus. Z.B. > > [HF-UART] TX: 0x00 0x01 0x02 0x03 > [HF-UART] RX: 0x04 0x05 0x06 > [TCP] TX: 0xAA 0xBB 0xCC > [TCP] RX: 0xFF 0x00 0x11 > > sehr schön wäre, wenn wir eine Interpretation der Logausgaben hätten: > > z.B. wenn ein Programm den Zeilenanfang [TCP] erkennen würde und diese > Zeile dann farblich markieren würde. Die anderen Zeilen entsprechend in > einer anderen Farbe. Wenn Du die Daten "live" in ein File schreiben lassen kannst, könntest Du das File mit "BareTail" beobachten, da kann man sowas einstellen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.