Klipper Firmware

Oprogramowanie sterownika drukarki i do łączenia komputera z drukarką
Awatar użytkownika
Adinfo
Drukarz
Postów w temacie: 18
Posty: 1101
Rejestracja: 15 lis 2018, 12:54
Lokalizacja: śląsk
Drukarka: 2xDelta, MD-16, X1
x 254
Kontakt:

Re: Klipper Firmware

Post autor: Adinfo »

Działający u mnie konfig dla LCD BTT mini12864 v1.0 w RAMPS 1.4 i Arduino2560:
konfig LCD: https://www.cnvoron.com/vorondocs/mini1 ... ipper.html
macro do zmiany podświetlenia związane z temperaturą: https://gist.github.com/tehmaze/3037030 ... 1c0e4fc633

Kod: Zaznacz cały

# Common EXP1 / EXP2 (display) pins
[board_pins]
aliases:
    # Common EXP1 header found on many "all-in-one" ramps clones
    EXP1_1=PC0, EXP1_3=PH0, EXP1_5=PA1, EXP1_7=PA5, EXP1_9=<GND>,
    EXP1_2=PC2, EXP1_4=PH1, EXP1_6=PA3, EXP1_8=PA7, EXP1_10=<5V>,
    # EXP2 header
    EXP2_1=PB3, EXP2_3=PC6, EXP2_5=PC4, EXP2_7=PL0, EXP2_9=<GND>,
    EXP2_2=PB1, EXP2_4=PB0, EXP2_6=PB2, EXP2_8=PG0, EXP2_10=<RST>
    # Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi"
    # Note, some boards wire: EXP2_8=<RST>, EXP2_10=PG0

[display]
lcd_type: uc1701
cs_pin: EXP1_3
a0_pin: EXP1_4
rst_pin: EXP1_5
contrast: 63
encoder_pins: ^EXP2_5, ^EXP2_3
click_pin: ^!EXP1_2
 
[output_pin beeper]
pin: EXP1_1
 
[neopixel fysetc_mini12864]
pin: EXP1_6
chain_count: 3
#color_order_GRB: False
initial_RED: 0.4
initial_GREEN: 0.4
initial_BLUE: 0.4


[neopixel fysetc_mini12864]
pin: EXP1_6
chain_count: 3
color_order: RGB
initial_RED: 0.0
initial_GREEN: 0.0
initial_BLUE: 0.4

[delayed_gcode set_displaytemp_timer]
initial_duration: 1
gcode:
    SET_LED_TEMPERATURES
    UPDATE_DELAYED_GCODE ID=set_displaytemp_timer DURATION=1

[gcode_macro SET_LED_TEMPERATURES]
gcode:
    # Make display red if any heater is above 50C
    {% if printer.extruder.temperature >= 50 or printer.heater_bed.temperature >= 50 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.00 BLUE=0.00 INDEX=1
    {% else %}
        SET_LED LED=fysetc_mini12864 RED=0.00 GREEN=1.00 BLUE=1.00 INDEX=1
    {% endif %}

    {% if printer.extruder.temperature >= 180 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.50 BLUE=0.00 INDEX=2
    {% elif printer.extruder.temperature >= 160 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.40 BLUE=0.00 INDEX=2
    {% elif printer.extruder.temperature >= 140 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.30 BLUE=0.00 INDEX=2
    {% elif printer.extruder.temperature >= 120 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.20 BLUE=0.00 INDEX=2
    {% elif printer.extruder.temperature >= 100 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.10 BLUE=0.00 INDEX=2
    {% elif printer.extruder.temperature >= 80 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.00 BLUE=0.00 INDEX=2
    {% elif printer.extruder.temperature >= 60 %}
        SET_LED LED=fysetc_mini12864 RED=0.66 GREEN=0.00 BLUE=0.33 INDEX=2
    {% elif printer.extruder.temperature >= 40 %}
        SET_LED LED=fysetc_mini12864 RED=0.33 GREEN=0.00 BLUE=0.66 INDEX=2
    {% else %}
        SET_LED LED=fysetc_mini12864 RED=0.00 GREEN=0.00 BLUE=1.00 INDEX=2
    {% endif %}

    {% if printer.heater_bed.temperature >= 100 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.50 BLUE=0.00 INDEX=3
    {% elif printer.heater_bed.temperature >= 90 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.40 BLUE=0.00 INDEX=3
    {% elif printer.heater_bed.temperature >= 80 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.30 BLUE=0.00 INDEX=3
    {% elif printer.heater_bed.temperature >= 7 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.20 BLUE=0.00 INDEX=3
    {% elif printer.heater_bed.temperature >= 60 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.10 BLUE=0.00 INDEX=3
    {% elif printer.heater_bed.temperature >= 50 %}
        SET_LED LED=fysetc_mini12864 RED=1.00 GREEN=0.00 BLUE=0.00 INDEX=3
    {% elif printer.heater_bed.temperature >= 40 %}
        SET_LED LED=fysetc_mini12864 RED=0.66 GREEN=0.00 BLUE=0.33 INDEX=3
    {% elif printer.heater_bed.temperature >= 30 %}
        SET_LED LED=fysetc_mini12864 RED=0.33 GREEN=0.00 BLUE=0.66 INDEX=3
    {% else %}
        SET_LED LED=fysetc_mini12864 RED=0.00 GREEN=0.00 BLUE=1.00 INDEX=3
    {% endif %}
Anycubic Delta Linear Plus
Prusa i3 Beer 0% Upgrade viewtopic.php?f=34&t=6395&p=106894#p106887
Awatar użytkownika
PrzemoS
Zasłużony
Postów w temacie: 4
Posty: 729
Rejestracja: 01 sie 2016, 12:11
Lokalizacja: Oleśnica
Drukarka: Switchwire,Delta,X1C
x 719

Re: Klipper Firmware

Post autor: PrzemoS »

Panowie jeszcze ja sie wtrącę do postu. Jest możliwość zmiany bądź dodania do configu, aby zrobić pause i na nastepny dzień wznowić resume? Nadmienię, że mam swoje własne makro, ale zauważyłem ze jesli np dlugi czas jest pausa to silniki sie wyłączają i potem jak rano daje resume to wyskakuje ze musze zrobić home( wtedy to juz nie wróci druk tam gdzie pauzowałem) czyli pewnie cos w klipper jest ustawione ze po jakims czasie silniki samoczynnie sie wylaczaja jesli drukarka nie drukuje.


Podaje ponizej moje makro, jak coś można mi je zmienić edytować :)

[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
# change this if you need more or less extrusion
variable_extrude: 1.0
gcode:
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
M83 ; relative extruder moves
G91 ; relative positioning
G1 Z5 F360 ; lift Z by 5mm
G90 ; absolute positioning
G1 X0 Y0 F1000 ; go to X=0 Y=0

[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
M83
G91
G1 E10 F1000
RESTORE_GCODE_STATE NAME=PAUSE_state
BASE_RESUME
"Z pozdrowieniami Przemek" :git: :git:

Drukarki:
Delta :yahoo: :yahoo: // Voron Switchwire :devil: // Bambu Lab X1-Carbon AMS :crazy:
raf
Konto z ograniczeniami
Postów w temacie: 1
Posty: 44
Rejestracja: 03 lis 2018, 11:38
Drukarka: Tevo Tarantula Voron
x 17

Re: Klipper Firmware

Post autor: raf »

idle_timeout wyłącza silniki

Kod: Zaznacz cały

[idle_timeout]
#gcode:
#   A list of G-Code commands to execute on an idle timeout. See
#   docs/Command_Templates.md for G-Code format. The default is to run
#   "TURN_OFF_HEATERS" and "M84".
#timeout: 600
#   Idle time (in seconds) to wait before running the above G-Code
#   commands. The default is 600 seconds.
Awatar użytkownika
cyfron
Postów w temacie: 31
Posty: 1436
Rejestracja: 30 sty 2019, 09:28
Lokalizacja: lubuskie
Drukarka: U30, SP Pro, UM2+
x 371

Re: Klipper Firmware

Post autor: cyfron »

Problem wyłączających się silników podczas pauzy mam tak rozwiązany - zakładając, że korzystasz z makr pause i resume dostarczanych przez KIAUHa:

Kod: Zaznacz cały

[idle_timeout]
gcode:
  {% if printer.pause_resume.is_paused %}
    M104 S0
  {% else %}
    TURN_OFF_HEATERS
    M84
  {% endif %}
Awatar użytkownika
Adinfo
Drukarz
Postów w temacie: 18
Posty: 1101
Rejestracja: 15 lis 2018, 12:54
Lokalizacja: śląsk
Drukarka: 2xDelta, MD-16, X1
x 254
Kontakt:

Re: Klipper Firmware

Post autor: Adinfo »

Czy nie można tego tak rozwiązać - przy pauzie zapisać "współrzędne = pozycję głowicy/stołu" i przy kontynuowaniu bo bazowaniu za "jakiś czas" zaczytać i kontynuować z tego miejsca? - wtedy pozycja gdzie fizycznie stoją silniki w momencie pauzy zostanie zapamiętana? - może ktoś to w ten sposób zrobił?
Anycubic Delta Linear Plus
Prusa i3 Beer 0% Upgrade viewtopic.php?f=34&t=6395&p=106894#p106887
Awatar użytkownika
cyfron
Postów w temacie: 31
Posty: 1436
Rejestracja: 30 sty 2019, 09:28
Lokalizacja: lubuskie
Drukarka: U30, SP Pro, UM2+
x 371

Re: Klipper Firmware

Post autor: cyfron »

Dokładnie tak to działa, ale po "wyłączeniu" silników trzeba wyzerować pozycje wszystkich osi, bo drukarka nie wie jak jest ustawiona. Po wyłączeniu silników zawsze można ratować się robiąc home dla wszystkich osi i kliknąć resume.
Mój skrypt zapobiega wyłączaniu silników i grzania stołu jeżeli drukarka jest w trybie Pause - wyłącza się tylko grzałka hotendu. Zachowanie można sobie modyfikować dowolnie wpisując odpowiedni gcode.
Adinfo, PrzemoS
annon
Postów w temacie: 2
Posty: 106
Rejestracja: 10 cze 2020, 09:15
Lokalizacja: Chełmsko Śląskie
Drukarka: Tatara Hayabusa
x 7

Re: Klipper Firmware

Post autor: annon »

A gdyby krańcówke osi z_max zrobić w config, a później po wznowieniu ustawić aby drukarka robiła home x_min, y_min i z_max? Może to głupie, ale ja mądry to nie jestem.
Awatar użytkownika
Adinfo
Drukarz
Postów w temacie: 18
Posty: 1101
Rejestracja: 15 lis 2018, 12:54
Lokalizacja: śląsk
Drukarka: 2xDelta, MD-16, X1
x 254
Kontakt:

Re: Klipper Firmware

Post autor: Adinfo »

Zainstalowałem na próbę MainsailOS, zrobiłem update i chciałem podpiąć zaprogramowaną Trigorillę (wgrany klipper firmware) ale jest problem z serialem:

Kod: Zaznacz cały

ls /dev/serial/by-id/*
ls: cannot access '/dev/serial/by-id/*': No such file or directory
W dev nie ma folderu serial - nie wykrywa płyty po USB - może coś trzeba przestawić? (Fluidd zatrybił od strzału za każdym razem) - w Mainsail jest jakoś inaczej zrobiony dostęp do serial?
Anycubic Delta Linear Plus
Prusa i3 Beer 0% Upgrade viewtopic.php?f=34&t=6395&p=106894#p106887
Awatar użytkownika
konradsdev1
Postów w temacie: 4
Posty: 455
Rejestracja: 30 wrz 2020, 16:55
Lokalizacja: Warszawa
Drukarka: VORON 0
x 178

Re: Klipper Firmware

Post autor: konradsdev1 »

Sprawdź co pojawia się w logu kernela po podłączeniu płyty do USB za pomocą polecenia dmesg.
Być może port widoczny jest jako /dev/serial1 lub /dev/ttyUSB0.
Adinfo
"Everybody needs a hobby" (Tony Stark).
VORON V0.2 (BTT SKR Pico + RPi 4B + Phaetus x Voron Dragon Hotend ST)
DIY MK4 + VORON Stealthburner (BTT SKR PRO V1.1 + RPi Zero 2 W)
Awatar użytkownika
Adinfo
Drukarz
Postów w temacie: 18
Posty: 1101
Rejestracja: 15 lis 2018, 12:54
Lokalizacja: śląsk
Drukarka: 2xDelta, MD-16, X1
x 254
Kontakt:

Re: Klipper Firmware

Post autor: Adinfo »

Już sobie poradziłem, w sumie sprawdzam co jest grane bo: płyta była wpięta do USB (tego bliżej środka), dopiero jak przełączyłem USB na zewnętrznej krawędzi RPi to po restarcie Mainsail zatrybiło od razu.

Kolejna sprawa (przy Fluidd tego nie było) - czyżby rozbieżność dostępnych wersji Klippera między Fluidd a Mainsail?
- system informuje, że firmware wymaga aktualizacji, co ciekawe Fluidd ze wszystkim był zaktualizowany - chyba, że coś przegapiłem - mam z nim osobną kartę i mogę porównać wersje:

Kod: Zaznacz cały

mcu 'mcu': Unable to extract params from: config_spi

This type of error is frequently caused by running an older
version of the firmware on the micro-controller (fix by
recompiling and flashing the firmware).

Known versions: host=v0.10.0-384-g5517a856, mcu=v0.10.0-278-g7c964e5f

Once the underlying issue is corrected, use the "RESTART"
command to reload the config and restart the host software.
Protocol error connecting to printer
Anycubic Delta Linear Plus
Prusa i3 Beer 0% Upgrade viewtopic.php?f=34&t=6395&p=106894#p106887
ODPOWIEDZ

Wróć do „Firmware'y i hosty”