can one update klipper in ratos?

In trying to resolve an issue I am having with orbiter filament sensors I discovered I was trying to use a parameter in my printer.cfg that is not supported by the version of klipper running in ratos. Is it possible to update the running version of klipper in ratos gracefully? As an aside, the issue I have with orbiter filament sensor is it gets phantom button presses and tries to load/unload filament during a print. I believe it's configured to handle a clog when the button is pressed while printing. I originally thought it was defective unit from RatRig but the replacement I got has the exact same issue. And then it happened a couple times on the sensor on the other toolhead. I was hoping to add a debounce_delay to both the filament_switch_sensor and gcode_button entries as the klipper reference docs says these are available options and it seems like they could help in running more smoothly. However it seems that they are newer and not suported in the version with ratos.
5 Replies
Nocare
Nocare•2mo ago
This is not a direct answer to your questions but it may fix your problem anyways because I believe your problem is the tangle detection in the smart sensor. The button circuit is tied into the collar that the PTFE tubing connects to. This collar has a spring and a switch as well that triggers whenever the PTFE tubing has greater than 2kg of force on it if I recall. So yes it changes what the signal line does when printing vs not printing and these two switches share the same signal line. This is the tangle detection feature. However most users including myself have found that the orbiter smart sensor is both too sensitive and will trigger at lower values if the PTFE tubing pulls at an angle. There is a pintables item that helps ensures the PTFE tubing is straight up and down and this does help. Also if the PTFE tubing is not fully secured at both ends fast movement of the toolhead can cause phantom triggers. I also created a macro and added them to the UI in mainsail. So if I want to disable or enable tangle detection mid-print I can change the RatOS variable to turn it on and off. You can see the handeling in the default RatOS sensor setup cfg. Which I assume you are not using since it doesn't payuse mid print but trieds to load/unload.
release_gcode:
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=0
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=0
{% endif %}
release_gcode:
{% if (printer.print_stats.state == "printing") %}
_ON_TOOLHEAD_FILAMENT_SENSOR_CLOG TOOLHEAD=0
{% else %}
_ON_FILAMENT_SENSOR_BUTTON_PRESSED TOOLHEAD=0
{% endif %}
rms497
rms497OP•2mo ago
Thank you very much for this info, @Nocare . This explains a lot 🙂 I'll take a look for that printables model. Appreciate the heads up.
NebuCHADnezzar
NebuCHADnezzar•2mo ago
how do I use this macro? like where do I have to insert it and how do I use it? would something like this work in pirnter.cfg? :
[gcode_macro TANGLE_DETECT_OFF]
description: "Disable tangle/clog detection (T0)"
gcode:
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=enable_clog_detection VALUE=False
RESPOND TYPE=info MSG="Tangle detection: OFF"

[gcode_macro TANGLE_DETECT_ON]
description: "Enable tangle/clog detection (T0)"
gcode:
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=enable_clog_detection VALUE=True
RESPOND TYPE=info MSG="Tangle detection: ON"

[gcode_macro TANGLE_DETECT_STATE]
description: "Show tangle/clog detection state (T0)"
gcode:
{% if printer["gcode_macro T0"].enable_clog_detection %}
RESPOND TYPE=info MSG="Tangle detection is currently ON"
{% else %}
RESPOND TYPE=info MSG="Tangle detection is currently OFF"
{% endif %}
[gcode_macro TANGLE_DETECT_OFF]
description: "Disable tangle/clog detection (T0)"
gcode:
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=enable_clog_detection VALUE=False
RESPOND TYPE=info MSG="Tangle detection: OFF"

[gcode_macro TANGLE_DETECT_ON]
description: "Enable tangle/clog detection (T0)"
gcode:
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=enable_clog_detection VALUE=True
RESPOND TYPE=info MSG="Tangle detection: ON"

[gcode_macro TANGLE_DETECT_STATE]
description: "Show tangle/clog detection state (T0)"
gcode:
{% if printer["gcode_macro T0"].enable_clog_detection %}
RESPOND TYPE=info MSG="Tangle detection is currently ON"
{% else %}
RESPOND TYPE=info MSG="Tangle detection is currently OFF"
{% endif %}
Nocare
Nocare•2mo ago
This is the page I used to setup my filament sensors. https://os.ratrig.com/docs/configuration/filament_sensors/#orbiter-smart-filament-sensor-example-configuration I just copied the sections provided changing t0 to t1 for my idex. I ultimately also created custom macros to turn clog detection on off mid-print because until I get my MMU up and running my dry-box setup creates too much drag due to distance.
[gcode_macro DISABLE_TANGLE_T0]
gcode:
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=enable_clog_detection VALUE=False

[gcode_macro ENABLE_TANGLE_T0]
gcode:
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=enable_clog_detection VALUE=True
[gcode_macro DISABLE_TANGLE_T0]
gcode:
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=enable_clog_detection VALUE=False

[gcode_macro ENABLE_TANGLE_T0]
gcode:
SET_GCODE_VARIABLE MACRO=T0 VARIABLE=enable_clog_detection VALUE=True
I don't need the button to do anything when not printing, so I disabled it in my version of the macro. I may find something for it to do later who knows.
NebuCHADnezzar
NebuCHADnezzar•2mo ago
I would want to be able to also toggle it just in case I need it one day... still dont get how your snippet it doing that, sorry I am very new to messing with macros and internals of klipper... isnt that doing the same as I did with my snippet? mine is just a little more detailed, no? with system responds

Did you find this page helpful?