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 [2025/04/17 07:44] – [asc2log Konverter (Python)] geier99pi3_tipps [2026/06/04 08:04] (aktuell) – [neue Python Variante] geier99
Zeile 860: Zeile 860:
  
 Das direkte Ansteuern mit dem Device Tree geht wohl nicht, deshalb könnte man obiges verwenden. Das direkte Ansteuern mit dem Device Tree geht wohl nicht, deshalb könnte man obiges verwenden.
 +
 +===== sonstige GPIO Raspi Tipps =====
 +  * <code>sudo cat /sys/kernel/debug/gpio</code> gibt eine Liste inkl. Offset der GPIOs aus. Im aktuellen Kernel 
 +wurde beim Raspi 4 der Offset neu auf 512 gelegt.
 +  * 
 +
 +sonstige links:
 +  * [[https://www.kernel.org/doc/html/latest/driver-api/gpio/index.html|GPIO]]
 +  * [[https://docs.kernel.org/driver-api/gpio/board.html]] - GPIO Mappings
 +  * Weitere Links vom Linux-Magazin:
 +    * [[https://www.lm-online.de/39228]] - Kernel- und Treiberprogrammierung mit dem Linux-Kernel – Folge 93
 +    * [[https://www.lm-online.de/41875]] - Kernel- und Treiberprogrammierung mit dem Linux-Kernel – Folge 101
 +    * [[https://www.linux-magazin.de/ausgaben/2024/07/kern-technik/]] - Kernel- und Treiberprogrammierung mit dem Linux-Kernel – Folge 134
 +
 ====== I2C - Raspi ====== ====== I2C - Raspi ======
 Einrichtung: Einrichtung:
Zeile 919: Zeile 933:
 </code>Hier bei  nicht vergessen das awk-Skript unter ~/dev abzulegen. Damit verinfacht sich der Aufruf dann zu:<code>makeRxList A-Klasse_W177/movement_touch.log </code> </code>Hier bei  nicht vergessen das awk-Skript unter ~/dev abzulegen. Damit verinfacht sich der Aufruf dann zu:<code>makeRxList A-Klasse_W177/movement_touch.log </code>
  
 +===== neue Python Variante =====
 +Hier jetzt meine neue Python-Variante welche mit Claude-Code erstellt wurde:
 +  * {{ ::makerxlist_new.py |}}
 +
 +<code>makeRxList_new.py -h
 +usage: makeRxList_new.py [-h] [--min-changes N] [--sort-changes asc|desc]
 +                         logfile [interface]
 +
 +CAN-RAW Dump → sortierte RX-Liste
 +
 +positional arguments:
 +  logfile               CAN-Log-Datei (candump-Format)
 +  interface             Interface-Filter, z.B. can0  (Default: alle)
 +
 +options:
 +  -h, --help            show this help message and exit
 +  --min-changes N       Nur IDs anzeigen mit Änd. > N  (Default: 0 = alle)
 +  --sort-changes asc|desc
 +                        Sortierung nach Änderungsanzahl:
 +                          asc  = aufsteigend
 +                          desc = absteigend
 +                          (ohne Angabe: nach CAN-ID)
 +</code>Beispiel:<code>makeRxList_new.py --s desc --m 5 can_log_125kbit_20260603_115550.log
 +Konvertiere CAN-RAW Dump zur sortierten RX-Liste
 +Interface  : alle
 +Sortierung : Änd. absteigend
 +Filter     : Änd. > 5
 +
 +Start RX-Liste                  04.06.2026
 +─────────────────────────────────────────────────────────────────────────────
 +  CAN-ID      Typ   D0 D1 D2 D3 D4 D5 D6 D7  ASCII          Anz.     Änd.
 +─────────────────────────────────────────────────────────────────────────────
 +  42C         SFF   05 51 54 00 31 00 00 00  '.QT.1...'     2012     2011
 +  04C         SFF   20 AA BF 1E C9 EF 00 00  ' .......'     1006     1005
 +  415         SFF   00 00 E4 F3 00 00 00 00  '........'     1006     1005
 +  083         SFF   7C 1B 12 03 7F FF 7E D8  '|.....~.'     1006      908
 +  40A         SFF   C0 00 00 35 C0 07 38 00  '...5..8.'      503      502
 +  3C4         SFF   F7 58 E8 41 00 00 93 1E  '.X.A....'      503      402
 +  3B6         SFF   08 00 07 00 00 00 00 00  '........'      402      401
 +  3B7         SFF   00 00 03 00 63 57 2D EE  '....cW-.'      402      401
 +  3BE         SFF   00 72 D8 CF DB 01 F4 01  '.r......'     1032      270
 +  178         SFF   00 00 02 00 0E 68 CE 67  '.....h.g'     1005      154
 +  331         SFF   C0 00 20 4D 05 C3 44 10  '.. M..D.'      201      100
 +  084         SFF   1A 00 00 9A 37 26 0B 00  '....7&..'      100       99
 +  3EB         SFF   54 14 14 00 00 1A 02 5C  'T......\'      197       96
 +  31C         SFF   2D 97 45 41 4F D9 88 14  '-.EAO...'      101       76
 +  59E         SFF   9E 10 FF FF 9E FF FF FF  '........'      101       38
 +  42A         SFF   C0 00 00 E0 00 00 00 00  '........'     2012       37
 +  3BC         SFF   0C 00 40 96 00 00 27 00  '..@...'.'     2012       26
 +  326         SFF   01 98 02 35 01 D0 00 C8  '...5....'     1006       21
 +─────────────────────────────────────────────────────────────────────────────
 +Ende RX-Liste
 +
 +Anzahl CAN-IDs (gesamt)    = 73
 +Anzahl CAN-IDs (angezeigt) = 18
 +Zeilen gesamt              = 25667
 +CAN-Frames                 = 25666
 +</code>
  
 ====== TRC2LOG Konverter ====== ====== TRC2LOG Konverter ======
Zeile 980: Zeile 1052:
 </code> </code>
  
 +====== log2trc - CANhacker ======
 +Hier mal mein vorläufiger log2trc Konverter um log-Files direkt mit der CAN-Hacker Software abzuspielen zu können.
  
 +Zur Zeit habe ich nur die Raspi-Variante und WSL2-Variante gemacht:
 +  * {{ ::log2trc_linux_aarch64.rar |}} - sollte auf Raspis (64 Bit) laufen
 +  * {{ ::log2trc_linux_x86_64.rar |}}  
 +  * {{ ::log2trc.exe |}} - Windowsvariante  (mit Cygwin64 erzeugt) hier dann '-n' weglassen wenn es direkt unter Wondows ausgeführt wird.
  
 +Bei RAR am besten beim Entpacke umbenennen in "log2trc"
 +
 +Error Frames werden zur Zeit noch nicht korrekt behandelt. 
 +
 +Implementiert ist die Korrekte Umsetzung von:
 +  * STD-Frames
 +  * EXT-Frames
 +  * RTR-Frames (Da CANHacker die nicht wirklich kann werden diese dann mit DLC=0 und keine Datenbytes konvertiert)
 +
 +Hier mal ein Beipiel für den Aufruf:   (bitte die Option -n nicht vergessen um CR/OF zu aktivieren):
 +<code>log2trc can0 -I test1.log -O test1.trc -n</code>
 +<code> log2trc
 +no CAN interfaces defined!
 +Usage: log2trc [can-interfaces]
 +Options: -I <infile>  (default stdin)
 +         -O <outfile> (default stdout)
 +         -n (set newline to cr/lf - default lf)
 +            (CANHacker needs  cr/lf)
 +</code>
  
 +Hinweis: Auch dieser Konverter basiert auf dem Quellcode von LOG2ASC aus den CAN-Utils Paket
 ====== CANHacker TRC2ASC Konverter ====== ====== CANHacker TRC2ASC Konverter ======
 Hier noch mein eigener Konverter welcher auf dem Quellcode von LOG2ASC aus den CAN-Utils basiert:\\ {{ :media:trc2asc.exe |trc2asc.exe}} - Windows Version Hier noch mein eigener Konverter welcher auf dem Quellcode von LOG2ASC aus den CAN-Utils basiert:\\ {{ :media:trc2asc.exe |trc2asc.exe}} - Windows Version
pi3_tipps.1744875864.txt.gz · Zuletzt geändert: von geier99