Klipper RF2000v2 Dual Konfig

Juifen
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 47
Registriert: So 19. Apr 2020, 09:09
Wohnort: München
Has thanked: 7 times
Been thanked: 8 times

Klipper RF2000v2 Dual Konfig

Beitrag von Juifen »

Hallo Zusammen,

ich habe über den Weihnachtsurlaub mal endlich Klipper installiert und meinen RF2000 damit zum laufen bekommen.
Vielen Dank hier an @mhier und @af0815 die das initial gebaut haben. Der Thread Klipper auf dem RF2000V /https://www.rf1000.de/viewtopic.php?f= ... &start=130 hat mir sehr geholfen.

Anfangs hatte ich nur die printer-rf2000v2-single.cfg als include genommen, aber ich habe jetz mal angefangen eine eigene printer-rf2000v2-dual.cfg zu erstellen.
Angefangen habe ich mal mit den LEDs. Das war ja als Workaround über heater_fan realisiert worden mit entsprechendem Kommentar.

Ich habe das mit gcode_macro und SET_PIN realisiert. Die maximum_mcu_duration hab ich jetzt mal auf 25 Sekunden gestellt, da ich mir mit 5s und Licht ein/ausschalten schon mal einen Druck abgeschossen habe. Licht ist ja zum Drucken nicht so wichtig.
Man hätte auch noch PIN aliases verwenden können, aber bei den 3 pins hab ich das einfach mit dem normalen pin Namen aus dem Schaltplan gelassen.
Und zusätzlich noch gcode_macros damit ich die LED Schalter im Mainsail / fluiddpi habe sowei ein Makro um weisses Licht einfach an/aus schalten zu können.


Code: Alles auswählen

#############################
# RF2000v2 RGB LEDs
#############################
#PH3 = L_RT <LED rot
#PH4 = L_GN <LED gruen
#PH5 = L_BL <LED blau
#https://asset.conrad.com/media10/add/160267/c1/-/en/001395717CD01/schema-electrique-1395717-renkforce-rf2000-imprimante-3d-appareil-pret-a-lemploi-banc-dimpression-chauffant.pdf

[output_pin LED_RED]
pin: PH3
#   The pin to configure as an output. This parameter must be
#   provided.
value: 0
#   The value to initially set the pin to during MCU configuration.
#   The default is 0 (for low voltage).
#shutdown_value: 0
#   The value to set the pin to on an MCU shutdown event. The default
#   is 0 (for low voltage).
maximum_mcu_duration: 25
#   The maximum duration a non-shutdown value may be driven by the MCU
#   without an acknowledge from the host.
#   If host can not keep up with an update, the MCU will shutdown
#   and set all pins to their respective shutdown values.
#   Default: 0 (disabled)
#   Usual values are around 5 seconds.

[output_pin LED_GREEN]
pin: PH4
value: 0
shutdown_value: 0
maximum_mcu_duration: 25

[output_pin LED_BLUE]
pin: PH5
value: 0
shutdown_value: 0
maximum_mcu_duration: 25

#######################
#  LED Macros
#######################

[gcode_macro _LEDLIGHT_ON]
description: Helper: Light on
gcode:
  SET_PIN PIN=LED_RED   VALUE=1
  SET_PIN PIN=LED_GREEN VALUE=1
  SET_PIN PIN=LED_BLUE  VALUE=1
  {action_respond_info("LED light on")}
    
[gcode_macro _LEDLIGHT_OFF]
description: Helper: Light off
gcode:
  SET_PIN PIN=LED_RED   VALUE=0
  SET_PIN PIN=LED_GREEN VALUE=0
  SET_PIN PIN=LED_BLUE  VALUE=0
  {action_respond_info("LED light off")}

[gcode_macro LEDLIGHT]
description: Toggle light
gcode:
  {%if printer['output_pin LED_RED'].value == 0 and printer['output_pin LED_GREEN'].value == 0 and printer['output_pin LED_BLUE'].value == 0  %} _LEDLIGHT_ON {% else %} _LEDLIGHT_OFF {% endif %}


### LED end ###

Gruss
Juifen
Benutzeravatar
af0815
Donator
Donator
Beiträge: 809
Registriert: Di 2. Jun 2020, 14:45
Wohnort: Burgenland
Has thanked: 34 times
Been thanked: 120 times

Re: Klipper RF2000v2 Dual Konfig

Beitrag von af0815 »

Der Workaround der Led ist angelehnt an das was die Communityversion so in etwa gemacht hat. Grundlegend ging es mir darum zu sehen in welchen Zustand sich der RF2000V2 gerade befindet. Licht während des Druckens ist für mich auch deswegen interessant, weil ich natürlich auch eine Bauraumkamera habe.

Das schöne an Klipper ist, man kann sich solche Sachen dann auch als include definieren und das einbauen auf das man gerade Bock hat.


+1 für deine Bemühungen.
Juifen
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 47
Registriert: So 19. Apr 2020, 09:09
Wohnort: München
Has thanked: 7 times
Been thanked: 8 times

Re: Klipper RF2000v2 Dual Konfig

Beitrag von Juifen »

Genau Andreas. Das war auch meine Idee. Die gcode_macros kann man immer wieder verwenden, eben auch für die Statusanzeige am Drucker.
Also Rot für die Aufheizphase, Blau Abkühlen usw.

Ich hab es nur Angepasst, so wie Klipper das mittlerweile vorsieht um in der MCU die Pins anzusprechen. Die Vorherige Variante sagte ja selbst das braucht Überarbeitung. Ne Led ist halt mal kein Lüfter :grins:

Code: Alles auswählen

# This is a workaround for the RGB LEDs
#  remove this section if a better soloution
#  is working
### Workaround start ###
[heater_fan ledred]
pin: PH3
max_power: 1.0
kick_start_time: 0.500
heater: extruder
heater_temp: 50.0
fan_speed: 1.0
Also nur noch schnell gcode_macro für Rot, Grün, Blau
Juifen
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 47
Registriert: So 19. Apr 2020, 09:09
Wohnort: München
Has thanked: 7 times
Been thanked: 8 times

Re: Klipper RF2000v2 Dual Konfig

Beitrag von Juifen »

Mit einzelnen gcode_macros für Rot,Grün, Blau

Code: Alles auswählen

#######################
#  LED Macros
#######################

[gcode_macro _REDLIGHT_ON]
description: Helper: Light on
gcode:
  SET_PIN PIN=LED_RED   VALUE=1
  {action_respond_info("red LED light on")}

[gcode_macro _GREENLIGHT_ON]
description: Helper: Light on
gcode:
  SET_PIN PIN=LED_GREEN VALUE=1
  {action_respond_info("green LED light on")}
  
[gcode_macro _BLUELIGHT_ON]
description: Helper: Light on
gcode:
  SET_PIN PIN=LED_BLUE  VALUE=1
  {action_respond_info("blue LED light on")}

[gcode_macro _REDLIGHT_OFF]
description: Helper: Light off
gcode:
  SET_PIN PIN=LED_RED   VALUE=0
  {action_respond_info("red LED light off")}

[gcode_macro _GREENLIGHT_OFF]
description: Helper: Light off
gcode:
  SET_PIN PIN=LED_GREEN VALUE=0
  {action_respond_info("greem LED light off")}

[gcode_macro _LEDLIGHT_OFF]
description: Helper: Light off
gcode:
  SET_PIN PIN=LED_BLUE  VALUE=0
  {action_respond_info("blue LED light off")}


[gcode_macro _LEDLIGHT_ON]
description: Helper: Light on
gcode:
  SET_PIN PIN=LED_RED   VALUE=1
  SET_PIN PIN=LED_GREEN VALUE=1
  SET_PIN PIN=LED_BLUE  VALUE=1
  {action_respond_info("LED light on")}
    
[gcode_macro _LEDLIGHT_OFF]
description: Helper: Light off
gcode:
  SET_PIN PIN=LED_RED   VALUE=0
  SET_PIN PIN=LED_GREEN VALUE=0
  SET_PIN PIN=LED_BLUE  VALUE=0
  {action_respond_info("LED light off")}

[gcode_macro LEDLIGHT]
description: Toggle light
gcode:
  {%if printer['output_pin LED_RED'].value == 0 and printer['output_pin LED_GREEN'].value == 0 and printer['output_pin LED_BLUE'].value == 0  %} _LEDLIGHT_ON {% else %} _LEDLIGHT_OFF {% endif %}


### LED end ###

@mhier wie bringt ihr denn Änderungen dann auf Github? Die printer-rf2000v2-dual.cfg gibt es ja noch gar nicht. Machst Du die commits alleine?

Apropos, hast Du eine Anleitung welchen Pythonmodule und config man in ein originales Klipper reinkopieren muss um Renkforce support drin zu haben? Ich hab jetzt keine git diff gemacht.
Auf die schnelle hab ich nur die ads1100.py, z_sense_offset.py, und load_cell_probe.py sowie die Doku und .cfg gesehen.

Gruss
Juifen
Benutzeravatar
af0815
Donator
Donator
Beiträge: 809
Registriert: Di 2. Jun 2020, 14:45
Wohnort: Burgenland
Has thanked: 34 times
Been thanked: 120 times

Re: Klipper RF2000v2 Dual Konfig

Beitrag von af0815 »

Es ist noch eine wichtige Änderung bezüglich der Ansteuerung der Stepper drinnen, weil dort das Steuersignal investiert sein muss.
Juifen
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 47
Registriert: So 19. Apr 2020, 09:09
Wohnort: München
Has thanked: 7 times
Been thanked: 8 times

Re: Klipper RF2000v2 Dual Konfig

Beitrag von Juifen »

Du meinst sicher die dir_pin: !PF1 beim Stepper x und die Endstops. Die sind in der printer-rf2000v2-Single.cfg drin, und die hab ich auch in die printer-rf2000v2-dual.cfg übernommen.
Mir ging es bei der Frage um die Files. Die ich brauche um aus dem Standard Klipper ein RF1000 Klipper zu machen.
Mein KIAUH hab ich angepasst an das RF1000 Git, aber so kann ich auf dem Rasperry nicht einfach mehrere Instanzen laufen lassen.
Benutzeravatar
af0815
Donator
Donator
Beiträge: 809
Registriert: Di 2. Jun 2020, 14:45
Wohnort: Burgenland
Has thanked: 34 times
Been thanked: 120 times

Re: Klipper RF2000v2 Dual Konfig

Beitrag von af0815 »

Nein, bei der RF Version ist in Klipper in einer Datei das SPI Signal invertiert. Das ist so bei Klipper nicht original vorgesehen. mhier hat aber einen deutlichen Hinweis dazu im GIT Repository geschrieben.

Ich leider nicht auf meinen PC, deswegen kann ich nicht nachschauen.
Benutzeravatar
af0815
Donator
Donator
Beiträge: 809
Registriert: Di 2. Jun 2020, 14:45
Wohnort: Burgenland
Has thanked: 34 times
Been thanked: 120 times

Re: Klipper RF2000v2 Dual Konfig

Beitrag von af0815 »

af0815 hat geschrieben:Ich leider nicht auf meinen PC, deswegen kann ich nicht nachschauen.
Es ist die spicmds.c in klipper/tree/master/src
mhier
Prof. Dr. des 3D-Drucks
Prof. Dr. des 3D-Drucks
Beiträge: 1672
Registriert: Fr 11. Sep 2015, 11:37
Has thanked: 279 times
Been thanked: 246 times

Re: Klipper RF2000v2 Dual Konfig

Beitrag von mhier »

Juifen hat geschrieben:@mhier wie bringt ihr denn Änderungen dann auf Github? Die printer-rf2000v2-dual.cfg gibt es ja noch gar nicht. Machst Du die commits alleine?
Es wäre am besten, wenn mir jemand einen Pull Request auf github schicken könnte. Dann kann ich die Änderungen gerne integrieren. Weißt du wie das geht? Eine einfache Möglichkeit wäre:
  • Github Account erstellen, falls nicht vorhanden
  • Repository forken (oben rechts gibt es einen Button "fork" dafür). Dann wird eine verlinkte Kopie des Repositories im eigenen Account erstellt. Dort hast du alle Rechte.
  • Dateien editieren. Das geht sogar im Browser (Datei anklicken und oben rechts den Stft anklicken).
  • Ggf. testen: Das Repository kann anstelle des Community-Repositories ausgecheckt werden und Klipper so gestartet werden. Wenn man sich bei kleinen Änderungen sicher ist, geht das auch ohne - ich kann allerdings RF2000(v2)-bezongene Änderungen naturgemäß nicht testen.
  • Pull-Request erstellen: Das geht in der Start-Ansicht des eigenen Repository-Forks, dort gibt es einen "Contribute" Button.
Bitte beachten: Alle Änderungen im Community-Repository werde ich versuchen früher oder später in das offizielle Klipper-Repository zu bekommen. Wenn das nicht gewünscht ist, bitte gar nicht erst den Pull-Request erstellen - das macht dann keinen Sinn. Bei einfachen Änderungen (wie Config-Anpassungen) werde ich der Einfachheit halber nicht unbedingt den ursprünglichen Autor korrekt irgendwo benennen können - bitte ebenfalls nur dann einen Pull-Request erstellen, wenn das akzeptabel ist.

Damit ich rechtlich halbwegs abgesichert bin, bitte der Commit-Message ein "sign off" anfügen (das wird so auch vom offiziellen Klipper-Repository verlangt), d.h. die Commit Message sollte am Ende folgendes beinhalten:

Code: Alles auswählen

Signed-off-by: Hier Vor- und Nachnamen einfügen <Gültige E-Mail-Adresse>
Das sollte bei meinen Commits ebenfalls vorhanden sein.



Wenn das alles zu viel Aufwand ist, kann ich den Commit auch selbst machen. In dem Fall bitte mir einfach kurz mitteilen, welche Datei wie geändert werden sollte. Die o.g. Punkte bzgl. der Weitergabe gelten dann natürlich genauso.
Gruß, Martin

Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung

(Ich bin in diesem Forum nicht mehr aktiv)
Juifen
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 47
Registriert: So 19. Apr 2020, 09:09
Wohnort: München
Has thanked: 7 times
Been thanked: 8 times

Re: Klipper RF2000v2 Dual Konfig

Beitrag von Juifen »

Jetzt bin ich bei dir. Du beziehst dich auf die src/spicmds.c
Du hattest das mit Kevin diskutiert hier ? https://klipper.discourse.group/t/inver ... inters/300

Im RF1000community Klipper sind die alle im code umgestellt.
TEMPORARY COMMIT: Invert CS signal for SPI communication
DO NOT MERGE INTO UPSTREAM! Needs to be made configurable first.
Das müsste also analog stepper.c noch gemacht werden, bevor man das überhaupt für Klipper übernehmen kann.
Ich sehe mir das mal an.

Frage: ist es immer noch ein Ziel die load_cell (DMS) Änderungen in Klipper standard zu mergen?
Antworten

Zurück zu „RF2000-Klipper“