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 [2022/11/19 08:09] – [CANHacker TRC2ASC Konverter] geier99pi3_tipps [2025/05/13 12:58] (aktuell) – [sonstige GPIO Raspi Tipps] geier99
Zeile 19: Zeile 19:
   * [[https://pi-buch.info/hdmi-aufloesung-erzwingen/|HDMI Auflösung erzwingen]] - Raspi feste Auflösung für den Monitor   * [[https://pi-buch.info/hdmi-aufloesung-erzwingen/|HDMI Auflösung erzwingen]] - Raspi feste Auflösung für den Monitor
   * [[http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_Network.html|RasPi-Network]]- Raspi Netzwerk Einrichtungen   * [[http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_Network.html|RasPi-Network]]- Raspi Netzwerk Einrichtungen
 +  * [[https://raspberrytips.com/update-raspberry-pi-latest-version/]] - Raspi updaten
 +  * [[https://www.pragmaticlinux.com/2021/07/automatically-bring-up-a-socketcan-interface-on-boot/?utm_content=cmp-true]]
 +  * CAN-Simulator:
 +    * [[https://github.com/carloop/simulator|simulator]]
 +    * [[https://github.com/carloop/simulator-program|simulator-program]]
 +
  
 ====== Raspi 3 - MCP-2515 - (SPI) CAN Support ====== ====== Raspi 3 - MCP-2515 - (SPI) CAN Support ======
Zeile 318: Zeile 324:
 </code> durchführen. </code> durchführen.
  
-Der Restart-Parameter kann auch oben beim Autostart hinzugefügt werden (/etc/network/interfaces)+Der Restart-Parameter kann auch oben beim Autostart hinzugefügt werden (/etc/network/interfaces)<code>#insert by andreas 
 +auto can0 
 +iface can0 inet manual 
 +    pre-up ip link set $IFACE type can bitrate 500000 listen-only off restart-ms 200 
 +    up /sbin/ifconfig $IFACE up 
 +    down /sbin/ifconfig $IFACE down 
 + 
 +auto can1 
 +iface can1 inet manual 
 +    pre-up ip link set $IFACE type can bitrate 500000 listen-only off restart-ms 200 
 +    up /sbin/ifconfig $IFACE up 
 +    down /sbin/ifconfig $IFACE down 
 +</code>
  
  
Zeile 821: Zeile 839:
   * [[https://forum.armbian.com/topic/11651-spi-based-canfd-driver-overlay-mcp2517mcp2518/|CAN-FD Fehler Kernel]] -   * [[https://forum.armbian.com/topic/11651-spi-based-canfd-driver-overlay-mcp2517mcp2518/|CAN-FD Fehler Kernel]] -
   * [[https://github.com/Seeed-Studio/seeed-linux-dtoverlays/tree/master/modules/CAN-HAT|Github SEED CAN-FD]]   * [[https://github.com/Seeed-Studio/seeed-linux-dtoverlays/tree/master/modules/CAN-HAT|Github SEED CAN-FD]]
 +    * [[https://wiki.seeedstudio.com/2-Channel-CAN-BUS-FD-Shield-for-Raspberry-Pi/|2-Channel-CAN-BUS-FD-Shield-for-Raspberry-Pi]]
  
  
Zeile 841: 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 856: Zeile 889:
 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 866: Zeile 899:
 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 1006: Zeile 1040:
 Hinweis:\\ mit **trc2asc   | asc2log**   kann man einen Can-Hacker-Trace auch direkt in das Log-Format konvertieren. Hinweis:\\ mit **trc2asc   | asc2log**   kann man einen Can-Hacker-Trace auch direkt in das Log-Format konvertieren.
  
-Bzw. folgendes Skript trc2log unter /usr/local/bin ablegen:<code>pi@raspberrypi4:~/canlogger/RaspiLogger_Crux/Dogde/Charger_08_21/canhacker/trc $ cat /usr/local/bin/trc2log+Bzw. folgendes Skript trc2log unter /usr/local/bin ablegen:<code>pi@raspberrypi4:~/canlogger/ $ cat /usr/local/bin/trc2log
 #!/bin/bash #!/bin/bash
 trc2asc -I $1 can0 |asc2log trc2asc -I $1 can0 |asc2log
-</code>+</code>Der Aufruf zum konvertieren eines TRC-Files zu Log-File erfolgt dann mit: <code>trc2log myLogfile.trc</code>
 ===== PEAK -TRC-Files ===== ===== PEAK -TRC-Files =====
 Peak Trace Files haben ein anderes Format und können mit dem Tool:\\ [[http://www.peak-system.com/fileadmin/media/files/peak-converter.zip|peak-converter.zip]]   \\ in das ASC-Format konvertiert werden. Peak Trace Files haben ein anderes Format und können mit dem Tool:\\ [[http://www.peak-system.com/fileadmin/media/files/peak-converter.zip|peak-converter.zip]]   \\ in das ASC-Format konvertiert werden.
  
  
 +==== Tracekonverter (BLF <--> ASC) ==== 
 +[[https://github.com/TDahlmann/can_trace_converter/tree/main|can_trace_converter]] - BLF <--> ASC CAN-Trace Konverter
 ====== ASC Logformat ====== ====== ASC Logformat ======
 Hmm oder direkt einen Konverter für das ASC Format machen: Hmm oder direkt einen Konverter für das ASC Format machen:
Zeile 1028: Zeile 1063:
 </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 1037: Zeile 1115:
 VS-Code kann dann über die Menüs oder in der Shell mit:\\  **code-oss** \\ aufgerufen werden.\\  VS-Code kann dann über die Menüs oder in der Shell mit:\\  **code-oss** \\ aufgerufen werden.\\ 
 Quelle: [[https://pimylifeup.com/raspberry-pi-visual-studio-code/|VS-Code PI installieren]] Quelle: [[https://pimylifeup.com/raspberry-pi-visual-studio-code/|VS-Code PI installieren]]
 +
 +**obiges ist veraltet!**
 +jetzt sollte ein:<code>sudo apt update
 +sudo apt install code</code> ausreichen. 
 +Der Aufruf erfolgt dann über die grafische Oberfläche oder mit <code>code . </code> aus dem aktuellen Ordner.
  
  
Zeile 1077: Zeile 1160:
 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.1668845381.txt.gz · Zuletzt geändert: 2022/11/19 08:09 von geier99