Klipper na Prusa MK3S

Oprogramowanie sterownika drukarki i do łączenia komputera z drukarką
Awatar użytkownika
majek
Drukarz
Postów w temacie: 4
Posty: 1192
Rejestracja: 28 gru 2020, 18:17
Drukarka: vn-corexy, EZT-3D T1
x 637

Re: Klipper na Prusa MK3S

Post autor: majek »

Jak dla mnie, to ta strona wgrywa firmware do Atmega32u2, który robi tylko za konwerter serial-ttl.
Musisz wgrać jeszcze bootloader do Atmega2560, ten tutorial co podałeś zakłada że on tam już jest.

Czyli podpinasz ISP do drugiego gniazda gdzie programuje się Atmega2560 i zaczynasz od tego kroku, gdzie robi się backup firmware itp, tylko zamiast '-p m32u2' trzeba podać '-p m2560' - wtedy sprawdzisz komunikację 'programatora' z 'właściwym' chipem, a przy okazji zgrasz firmware (o ile nie jest zabezpieczone).
Jak będzie gadać, to najlepiej wgrać bootloader (arduinowy, bo widzę, że Klipper chce używać protokołu 'wiring' w tym wypadku), bo razem z nim trzeba ustawić odpowiednio fusy. Później już powinno pójść z górki.
Awatar użytkownika
BB84
Postów w temacie: 19
Posty: 862
Rejestracja: 01 wrz 2024, 17:16
x 43

Re: Klipper na Prusa MK3S

Post autor: BB84 »

arek pisze: 11 mar 2025, 00:02 "make: *** [src/avr/Makefile:34: flash] Error 1" - właściwy błąd jest gdzieś w linijkach wcześniej (a tu tylko make się wywala jako skutek wcześniejszych wywaleń). Przeklejanie fragmentów komunikatów to nie jest dobry pomysł.

make V=1 flash ... powinno więcej info wypluć w tym jakie komendy faktycznie uruchamia np czy avrdude próbuje użyć protokołu "wiring czy "arduino", czy jakichś dziwnych opcji.

W low level opcjach klippera bym nie grzebał i spróbował na defaultowych (po uprzednim rm .config).
Od make zaczynając:
pi@raspberrypi:~/klipper $ make
Building out/autoconf.h
Compiling out/src/sched.o
Compiling out/src/command.o
Compiling out/src/basecmd.o
Compiling out/src/debugcmds.o
Compiling out/src/initial_pins.o
Compiling out/src/gpiocmds.o
Compiling out/src/stepper.o
Compiling out/src/endstop.o
Compiling out/src/trsync.o
Compiling out/src/adccmds.o
Compiling out/src/spicmds.o
Compiling out/src/i2ccmds.o
Compiling out/src/pwmcmds.o
Compiling out/src/buttons.o
Compiling out/src/tmcuart.o
Compiling out/src/neopixel.o
Compiling out/src/pulse_counter.o
Compiling out/src/lcd_st7920.o
Compiling out/src/lcd_hd44780.o
Compiling out/src/spi_software.o
Compiling out/src/i2c_software.o
Compiling out/src/thermocouple.o
Compiling out/src/sensor_adxl345.o
Compiling out/src/sensor_lis2dw.o
Compiling out/src/sensor_mpu9250.o
Compiling out/src/sensor_icm20948.o
Compiling out/src/sensor_hx71x.o
Compiling out/src/sensor_ads1220.o
Compiling out/src/sensor_ldc1612.o
Compiling out/src/sensor_angle.o
Compiling out/src/sensor_bulk.o
Compiling out/src/avr/main.o
Compiling out/src/avr/timer.o
Compiling out/src/avr/gpio.o
Compiling out/src/avr/adc.o
Compiling out/src/avr/spi.o
Compiling out/src/avr/i2c.o
Compiling out/src/avr/hard_pwm.o
Compiling out/src/avr/watchdog.o
Compiling out/src/avr/serial.o
Compiling out/src/generic/serial_irq.o
Building out/compile_time_request.o
Version: v0.12.0-456-gfbd5b4921
Linking out/klipper.elf
Creating hex file out/klipper.elf.hex
pi@raspberrypi:~/klipper $ sudo service klipper stop
[sudo] password for pi:
pi@raspberrypi:~/klipper $ make flash FLASH_DEVICE=/dev/serial/by-id/usb-Prusa_Research__prusa3d.com__Original_Prusa_i3_MK3-if00
Flashing out/klipper.elf.hex to /dev/serial/by-id/usb-Prusa_Research__prusa3d.com__Original_Prusa_i3_MK3-if00 via avrdude
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

avrdude done. Thank you.

make: *** [src/avr/Makefile:34: flash] Error 1
pi@raspberrypi:~/klipper $







Dodatkowo z V=1:
pi@raspberrypi:~/klipper $ make V=1 flash FLASH_DEVICE=/dev/serial/by-id/usb-Pru sa_Research__prusa3d.com__Original_Prusa_i3_MK3-if00
Flashing out/klipper.elf.hex to /dev/serial/by-id/usb-Prusa_Research__prusa3d. com__Original_Prusa_i3_MK3-if00 via avrdude
if [ -z /dev/serial/by-id/usb-Prusa_Research__prusa3d.com__Original_Prusa_i3_MK3 -if00 ]; then echo "Please specify FLASH_DEVICE"; exit 1; fi
avrdude -p"atmega2560" -c"wiring" -P"/dev/serial/by-id/usb-Prusa_Research__prusa 3d.com__Original_Prusa_i3_MK3-if00" -D -U"flash:w:out/klipper.elf.hex:i"
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

avrdude done. Thank you.

make: *** [src/avr/Makefile:34: flash] Error 1
Awatar użytkownika
BB84
Postów w temacie: 19
Posty: 862
Rejestracja: 01 wrz 2024, 17:16
x 43

Re: Klipper na Prusa MK3S

Post autor: BB84 »

Zagadka rozwiązana. Do wgrania bootloadera należy wyłączyć zasilanie płyty, ale do wgrania softu musi już być podpięte.

pi@raspberrypi:~/klipper $ make flash FLASH_DEVICE=/dev/serial/by-id/usb-Prusa_Research__prusa3d.com__Original_Prusa_i3_MK3-if00
Flashing out/klipper.elf.hex to /dev/serial/by-id/usb-Prusa_Research__prusa3d.com__Original_Prusa_i3_MK3-if00 via avrdude

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: reading input file "out/klipper.elf.hex"
avrdude: writing flash (35866 bytes):

Writing | ################################################## | 100% 5.85s

avrdude: 35866 bytes of flash written
avrdude: verifying flash memory against out/klipper.elf.hex:
avrdude: load data flash data from input file out/klipper.elf.hex:
avrdude: input file out/klipper.elf.hex contains 35866 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 4.71s

avrdude: verifying ...
avrdude: 35866 bytes of flash verified

avrdude: safemode: Fuses OK (E:FD, H:D8, L:FF)

avrdude done. Thank you.

pi@raspberrypi:~/klipper $
Awatar użytkownika
Jarewa
Drukarz
Postów w temacie: 9
Posty: 2200
Rejestracja: 26 sty 2021, 22:16
Lokalizacja: Głogów
x 516

Re: Klipper na Prusa MK3S

Post autor: Jarewa »

BB84 pisze: 10 mar 2025, 22:15 24V nie podłączałem.
To kurde podłącz bo zasila atmege 2560. Taki podstawowy błąd robić. Do wgrywania bootloadera też trzeba, usb zasila tylko atmegę 32u a jak chce sie tylko z usb to trzeba połączyć zworkę usbvcc z vcc JP3.
Awatar użytkownika
BB84
Postów w temacie: 19
Posty: 862
Rejestracja: 01 wrz 2024, 17:16
x 43

Re: Klipper na Prusa MK3S

Post autor: BB84 »

Jarewa pisze: 11 mar 2025, 05:20
BB84 pisze: 10 mar 2025, 22:15 24V nie podłączałem.
To kurde podłącz bo zasila atmege 2560. Taki podstawowy błąd robić. Do wgrywania bootloadera też trzeba, usb zasila tylko atmegę 32u a jak chce sie tylko z usb to trzeba połączyć zworkę usbvcc z vcc JP3.
Z każdą płytą jest inaczej. Do bootloadera przez ISP nie trzeba (nie wolno) zasilać 24V, do programowania już tak. Znów w enderze nie trzeba było ani do ISP, ani do wgrania programu. Octopus ma dedykowaną zworę.

Co do bin vs hex, bin pamiętam wgrywałem przez kartę SD, tu wgrywając przez usb przeszedł hex.
Awatar użytkownika
atom1477
Postów w temacie: 3
Posty: 898
Rejestracja: 17 paź 2023, 18:21
x 180

Re: Klipper na Prusa MK3S

Post autor: atom1477 »

BB84 pisze: 11 mar 2025, 09:22 Z każdą płytą jest inaczej. Do bootloadera przez ISP nie trzeba (nie wolno) zasilać 24V, do programowania już tak.
Bootloader też się programuje.
Złe wnioski wyciągnąłeś. Tu nie o zasilanie chodzi, ale o wyzwolenie określonych rzeczy.
Brak zasilenia całości nie wyzwala wszystkiego (nie wyzwala innych procesorów, jeżeli jest ich więcej niż jeden) i tylko dlatego mogło to zadziałać.
Fajnie że się udało.
Ale to nie jest prawidłowy sposób programowania bootloadera.
Awatar użytkownika
majek
Drukarz
Postów w temacie: 4
Posty: 1192
Rejestracja: 28 gru 2020, 18:17
Drukarka: vn-corexy, EZT-3D T1
x 637

Re: Klipper na Prusa MK3S

Post autor: majek »

Fajnie jakbyś nie mylił firmware dla chipa co robi za przelotkę usb-serial z bootloaderem. To są całkiem dwie różne rzeczy.
Jeżeli nie miałbyś bootloadera w głównym chipie, to wątek dalej by się toczył. Na szczęście brakowało tylko zasilania :D
Awatar użytkownika
BB84
Postów w temacie: 19
Posty: 862
Rejestracja: 01 wrz 2024, 17:16
x 43

Re: Klipper na Prusa MK3S

Post autor: BB84 »

Co w takim razie wgrałem przez ISP z maliny? bo tutorial mówi o bootloaderze.

Z drugiej strony wszystkie prusy, nawet chińskie, mają podobno bootloader w przeciwieństwie do enderowatych.
Awatar użytkownika
Jarewa
Drukarz
Postów w temacie: 9
Posty: 2200
Rejestracja: 26 sty 2021, 22:16
Lokalizacja: Głogów
x 516

Re: Klipper na Prusa MK3S

Post autor: Jarewa »

Nic nie wgrałeś przez isp bo malina wgrywa przez uart,

Ender też ma bootloader jak już pisałem wcześniej gdyby nie było bootloadera każdy by narzekał bo nie można by było zmienić soft nowszy np. marlina
Awatar użytkownika
atom1477
Postów w temacie: 3
Posty: 898
Rejestracja: 17 paź 2023, 18:21
x 180

Re: Klipper na Prusa MK3S

Post autor: atom1477 »

Najpierw sprecyzuj z czego wgrywałeś, i przez co.
Z RPi czy z kompa?
Przez USB podłączone do STM500, czy USB podłączone do drukarki?
W sumie rysunek byłby najlepszy :D
ODPOWIEDZ

Wróć do „Firmware'y i hosty”