klipper_faq:flash_guide:stm32f103:creality_4.2.7
Table of Contents
Creality 4.2.7
YouTube Video #72
Hinweise
- SBC bedeutet in der Anleitung Single Board Computer. Also meistens wohl ein Raspberry Pi.
- Es wird davon ausgegangen, dass auf dem SBC Klipper und MainSail eingerichtet ist.
- Ein Zugang zum SBC über SSH ist notwendig!
- Das Flashen über SD-Karte scheint bei diesem Board das kleinste “Übel” zu sein …
Board Infos
Probleme
- Extra CH340 USB/Seriell Chip
- Dadurch muss beim Kompilieren Serial anstatt USB gewählt werden!
- Unnötig, da der Controller durchaus einen seriellen Port bereitstellen kann.
- Der Kontroller ist nicht sichtbar beim Listen der Ports unter Linux (nur der CH340 Chip !)
- Dateiname auf der SD-Karte muss bei jedem Flashvorgang anders sein
- Die Datei auf der SD-Karte darf nicht so heißen wie der vorhergehende Dateiname!
- Dadurch kann man nicht das
./scripts/flash-sdcard.sh
verwebden!
- Katapult / Klipper kriegt den F103 nicht in den Bootloadermodus
- Flashen über Katapult geht nur, wenn man Board neu startet / resettet und dann einen Pin auf GND oder 3,3V legt.
- Katapult über Doppelklick Reset geht auch nicht, weil das Board keinen Reset Taster hat.
- Kein USB DFU-Modus. Das loegt aber am F103 Controller.
- Im Normalfall max. 8GB SD-Karte zum Flaschen verwenden
- Große Karten lassen sich umpartitionieren (2GB / FAT16 oder FAT32)
- ICP Header nicht bestückt
Stromversorgung
Zum Flashen kann das Board kann über USB oder über den 24V Anschluss versorgt werden.
Original Flash
- Beschreibung siehe : http://www.drklipper.de/doku.php?id=klipper_faq:flash_guide:stm32_firmware_sichern
- Es wird ein ST-Link Adapter benötigt
- Es müssen noch Dupon Stecker im Board eingelötet werden:
Sichern
st-info --probe --connect-under-reset
Flashgröße ermitteln anhand der Ausgabe vom vorherigen Befehl
Bsp: flash: 524288 (pagesize: 2048) → 524288 : 1024 = 512kst-flash --connect-under-reset read firmware.bin 0x8000000 512k
Widerherstellen
- Extrahiertes Original Flash Abbild creality_4.2.7.zip
- Alternativ kann man es auch hier finden: https://drucktipps3d.de/forum/topic/4-2-7-mainboard-bootloader-zerschossen/
st-flash --connect-under-reset erase
st-flash --connect-under-reset write firmware.bin 0x8000000
Klipper flashen
Variante 1: SD-Karte
Einfachste Variante : Flashen über SD Karte
cd ~/klipper
make menuconfig
[*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F103) ---> [ ] Only 10KiB of RAM (for rare stm32f103x6 variant) [ ] Disable SWD at startup (for GigaDevice stm32f103 clones) Bootloader offset (28KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (Serial (on USART1 PA10/PA9)) ---> (250000) Baud rate for serial port () GPIO pins to set at micro-controller startup
- beenden mit
Q
undY
- Klipper kompilieren
make -j4
- Klipper flashen
- die Datei
~/klipper/out/klipper.bin
auf die SD-Karte kopieren - Die Datei auf der SD-Karte umbenennen - am besten einfach das Datum nehmen. Bsp:
06_12_2023.bin
. Damit verhindert man direkt, dass die Datei wie beim vorherigen Flashen heißt. - SD-Karte in das Board stecken und dann einschalten
- Nach ~15-20 Sekunden sollte Klipper geflasht sein. Sehen kann man das leider an gar nichts, erst wenn man eine Verbindung zu Klipper testet!
- Board stromlos machen, SD-Karte entfernen und wieder starten
Variante 2: Katapult
- Blinkt wenn Katapult aktiv
- Muss über Deployer installiert werden
- Braucht extra Taster für Katapult Warten auf Firmware
- Kein Reset Taster vorhanden für Doppelklick
Port ermitteln
- Den USB Stecker abziehen
dmesg -HW
starten
pi@Pi3Test:~ $ dmesg -HW [Dec 6 15:09] usb 1-1.5: new full-speed USB device number 107 using dwc_otg [ +0.132924] usb 1-1.5: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64 [ +0.000033] usb 1-1.5: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ +0.000017] usb 1-1.5: Product: USB Serial [ +0.003542] ch341 1-1.5:1.0: ch341-uart converter detected [ +0.005151] usb 1-1.5: ch341-uart converter now attached to ttyUSB0
- Wir brauchen die Information mit tty… also in diesem Fall ttyUSB0
STRG+C
drücken, um die Meldungen zu beenden
- Den zugehörigen Link ermitteln
ls -lR /dev/ | grep -v '\->\s../tty' | grep -e 'tty[[:alpha:]]' -e serial
- Wir brauchen die Info unter
/dev/serial/by-id:
:
lrwxrwxrwx 1 root root 13 Dec 6 15:08 usb-1a86_USB_Serial-if00-port0 → ../../ttyUSB0
- Achte darauf das am Ende die gleiche tty Bezeichnung steht wie sie im vorherigen Schritt ermittelt wurde (hier also ttyUSB0)
- Was für für die Konfig brauchen ist dann am Ende:
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
kurzer Test
Ob das Board korrekt mit Klipper läuft, lässt sich mit folgendem Befehl schnell testen:
~/klippy-env/bin/python ~/klipper/klippy/console.py /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
Der Pfad am Ende muss natürlich mit dem übereinstimmen was ihr im vorherigen Schritt ermittelt habt!
Wenn ihr ein connected
am Anfang des Textes seht, ist das Board richtig geflasht.
Konfig
cd ~/printer_data/config
nano ~/printer_data/config/printer.cfg
- am Anfang einfügen
[include mainsail.cfg]
- Die Zeile mit
serial
entsprechend mit dem ermittelten Pfad von oben anpassen
[mcu] serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
Klipper Update
- Das Update erfolgt genau wie das normale Flashen über den SD-Karten Weg.
klipper_faq/flash_guide/stm32f103/creality_4.2.7.txt · Last modified: 2023/12/06 19:42 by dominik