Filament Runout Sensor

Hi,
I am using a creality cr-10 se connected via tcp/ip to klipper (with ncatch)
All works fine but filament runout is not Detectes.
I modified the printer.cfg to send messages and insert works but not runout .. 
When i take a look to klipper manuals, klipper only send runout gcodes when it prints but it seems klipper dont know that it prints .

Filament sensor is also korrekt named in toolhead config in repetier ..

Any suggestions ?!?!

Comments

  • What is ncatch - could not find anything but sounds like you are forwarding the port. Do you also forward api socket?

    It is possible that klipper does not think that it is printing. After all we are sending the commands that make the print so klipper has no control. If api is also used we have access to klipper model which also contains state of filament like

        "filament_switch_sensor filament_sensor": {
            "filament_detected": true,
            "enabled": true
        },

    so server can detect out of filament during print on it's own. Otherwise we need a message from klipper to handle it. Not sure when klipper exactly would send this.
  • it seems, that you not call the api right ..The Sensor is correct in tool configuration ..
    A Message from Klipper only comes, when klipper prints ..
    I have the Sollution to patch the klipper ..
    change line 86 in /usr/share/klipper/klippy/extras/filament_switch_sensor.py from
     elif is_printing and self.runout_gcode is not None:
    to
         elif self.runout_gcode is not None:

    than a message is send, like configured, without the printer must be in state printing ..
    But than you must make sure, that you check in repetier, that the printer is printing, and only send m600 or similar only when a print is running .. actual i dont know how to implement it in an event ..


  • oh btw .. little bug in configuration of clipper printer .. everytime i go to configuration, it resets to "serial connection" .. i must choose tcp/ip manual again else connection is lost when i save :)
  • Oh yes .. i forward the api socket .. have make the config permanent in start files of my printer ..
    when anyone does the same, a sleep must be implementet .. api socket is not ready when printer starts .. it becomes ready later when clipper is ready .. a sleep of 20 seconds do the trick for me .. :)
  • > i must choose tcp/ip manual again else connection is lost when i save
    Actually it must be serial connection for klipper. It connects to serial of klipper and when a file serialName.api exists in same directory we also connect to the api and query for the klipper model to see out of filament.

    The only solution to do it with tcp/ip is with the serial device mapped to tcp e.g. with socat. But we always assume local serial connection for klipper which is why it switches to serial all the time.

    In future release (1.5.0 or 1.5.1) we will add moonraker support so that would then also solve the issue since we then can connect to moonraker web api.
Sign In or Register to comment.