====== Creality 4.2.7 ====== Schrittweise Anleitung, um das Creality 4.2.7 Board mit Klipper in Betrieb zu nehmen. {{klipper_faq:flash_guide:stm32f103:pasted:20231018-142920.png}} ===== YouTube Video #72 ===== {{youtube>C0rd6dIhRJc?half}} \\ ===== Hinweise ===== * **SBC** bedeutet in der Anleitung **S**ingle **B**oard **C**omputer. 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 [[klipper_faq:flash_guide:stm32f103:creality_4.2.7#variante_1sd_karte|Flashen über SD-Karte]] scheint bei diesem Board das kleinste "Übel" zu sein ... ;-) ===== Board Infos ===== * Schaltplan \\ https://klipper.discourse.group/t/creality-board-4-2-2-and-4-2-7-schematics/3104 \\ https://klipper.discourse.group/uploads/short-url/3uL2dJ54wULdfFvdLsui9LPZKpA.pdf \\ {{ :klipper_faq:flash_guide:stm32f103:creality.4.2.7.-.schematic.28-5-22-1-5.pdf |}} * Klipper Konfig \\ https://github.com/Klipper3d/klipper/blob/master/config/generic-creality-v4.2.7.cfg * **ACHTUNG** : Das Board hat einen CH340 Chip und kein direktes USB ! \\ {{klipper_faq:flash_guide:stm32f103:pasted:20231106-182637.png?800}} ===== 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 = 512k * ''st-flash %%--%%connect-under-reset read firmware.bin 0x8000000 512k'' ==== Widerherstellen ==== * Extrahiertes Original Flash Abbild {{ :klipper_faq:flash_guide:stm32f103: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'' und ''Y'' * 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. \\ {{:klipper_faq:flash_guide:stm32g0b1:pasted:20231111-152555.png}} ===== Konfig ===== * ''cd ~/printer_data/config'' * ''wget https://raw.githubusercontent.com/Klipper3d/klipper/master/config/generic-creality-v4.2.7.cfg -O printer.cfg'' * ''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.