Benutzer-Werkzeuge

Webseiten-Werkzeuge


pi3_tipps

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
pi3_tipps [2024/06/04 06:45] – [Links] geier99pi3_tipps [2025/04/17 07:44] (aktuell) – [asc2log Konverter (Python)] geier99
Zeile 875: Zeile 875:
 Hier ein kleines Beispielskript um aus einem CAN-Raw-Dump (.log-Format) eine Rx-Liste zu generieren: Hier ein kleines Beispielskript um aus einem CAN-Raw-Dump (.log-Format) eine Rx-Liste zu generieren:
  
-Skript: {{ :public:dump2rxliste.awk |dump2rxliste.awk}}+Skript: {{ :public:dump2rxliste.awk |dump2rxliste.awk}} (Achtung: hier fehlt noch die unten aufgeführte Modifikation für CAN-FD: {{ ::dump2rxliste.awk |}})
 <code> <code>
  gawk -f dump2RxListe.awk inhouse/A-Klasse_W177/movement_touch.log</code>  gawk -f dump2RxListe.awk inhouse/A-Klasse_W177/movement_touch.log</code>
Zeile 885: Zeile 885:
 BEGIN { print "Konvertiere CAN-RAW Dump zur sortierte RX-Liste  \n\nStart RX-Liste                 ", strftime("%d.%m.%Y", systime()),"\n------------------------------------------------"} BEGIN { print "Konvertiere CAN-RAW Dump zur sortierte RX-Liste  \n\nStart RX-Liste                 ", strftime("%d.%m.%Y", systime()),"\n------------------------------------------------"}
     $3 ~ /([0-9A-F]){3,8}/      $3 ~ /([0-9A-F]){3,8}/ 
 +                                gsub(/##/, "#");         # modifziert für CAN-FD 12.09.2024 by geier99, oder weglassen, dann bleiben die Datenbytes leer aber die ID wird gezaehlt
                                 split($3, arr, "#")                                 split($3, arr, "#")
                                 anzahl[arr[1]]+=1;                                  anzahl[arr[1]]+=1; 
Zeile 1048: Zeile 1049:
 </code> </code>
  
 +===== asc2log Konverter (Python) =====
 +Mit dem Python-CAN Modul lässt sich ein einfacher ASC->LOG Format Konverter machen der auch CAN-FD konvertiert (was mein eigener Konverter (C Programm) nicht kann)\\ [[https://github.com/hardbyte/python-can/blob/main/examples/simple_log_converter.py|simple_log_converter.py]] - einfacher Python Konverter
 +<code> cat asc2log_new.py
 +#!/usr/bin/python
 +#!/usr/bin/python3
 +#!/usr/bin/env python
  
 +"""
 +Use this to convert .can/.asc files to .log files.
 +Can be easily adapted for all sorts of files.
 +
 +Usage: python3 simple_log_convert.py sourceLog.asc targetLog.log
 +"""
 +
 +import sys
 +
 +import can
 +
 +
 +def main():
 +    """The transcoder"""
 +
 +    with can.LogReader(sys.argv[1]) as reader:
 +        with can.Logger(sys.argv[2]) as writer:
 +            for msg in reader:
 +                writer.on_message_received(msg)
 +
 +
 +if __name__ == "__main__":
 +    main()
 +
 +</code>
 +  * {{ ::asc2log.py |asc2log_new}} - obiges Python Skript
 +  * {{ ::asc2logall.py |asc2logAll}} - Konvertiert alle ASC-Files in einem Ordner in die entsprechenden Unterorder "log" und "txt" welche bei Bedarf erzeugt werden. (die .py ist hier nur wegen dem Wiki angefügt, und sollte wieder entfernt wreden)
 +
 +Hierfür muss aber das pyhton-can Modul installiert sein:
 +  * <code>pip install python-can
 +bzw. wenn es systemweit sein soll, dann mit:
 +sudo apt install python3-can
 +</code>
 +  * python3
 +  * Skript für **[[https://docs.python.org/3/library/argparse.html|argparse]]** anpassen! 
 +
 +**Hinweis:** - asc2log aus den can-utils könnte man auch nehmen können (aber hier geht's ja um Pyhton :-) )
  
 ====== VS-Code auf Pi ====== ====== VS-Code auf Pi ======
Zeile 1102: Zeile 1146:
 Exec=xosview -geometry '-8+36' Exec=xosview -geometry '-8+36'
 </code> </code>
 +====== JSON Parser ======
 +jq
  
 +hier mit dem einfachsten Filter "."  um die komplette Json-Datei anzuzeigen.
 +<code>jq . file.json     # joson file anzeigen</code>
pi3_tipps.1717483547.txt.gz · Zuletzt geändert: 2024/06/04 06:45 von geier99