FLSUN SR filament sensor - usable with Repetier Server?

Does anyone use FLSUN SR with Repetier Server and has the filament runout sensor working? I tried to look into it and it seems to me that I actually need to use another firmware than stock. I tried filament replacement manually - hit the pause print, the head goes nicely away from the object, replace the filament, hit continue and that's it. The only thing is I had to sit at the printer at the correct time.

I can see the status of the filament sensor (1 or 0) when I ask for the printer status (do not remember the g-code now). But if I understand it correctly, the printer should be sending some message automatically (it does not seem so). Is there a workaround asking for the status of the switch? It is pretty close to the extruder, so it would have to be like every second line and that does not feel right.

The firmware is based on Marlin and there should be source code available. How would one enable the filament sensor sending a message to the serial port?

If a pause event is hit, will it send a message through Repetier Informer? Is it possible to set it like that?


Comments

  • I did another try after some time. The printer stops, but when checking the log, the buffer starts overflowing and gcode is being lost until the filament is changed. There was some issue with extrusion after that, but before I noticed the printer stopped, I lost something like 3-4 layers and continued printing in the air.

    There was no notice of the printer doing an M600 in the log (should it be there?) Is there anything I can do about this?
  • If firmware sends no message the server will not be able to know. So solution is to reconfigure printer firmware to send a message in that case or if you are using a raspberry pi you can also wire the sensor to the pi so server can monitor the signal and start filament change on trigger. See online in docs->gpio  there is an example for a sensor configured as filament sensor.
  • Thanks. I will look into it deeper and maybe try one of the alternative firmwares. I am running 4 printers via a HP T620 thin client.
  • I thought the printer did not send any messages, but after trying M412 S1 H1, I get "echo:busy%3A%20paused%20for%20user" (copy paste from Repetier Server log) or "echo:busy: paused for user" in human readable form - can this be used to pause g-code sending and moving the head to X0,Y0 and wait there until the filament is exchanged? I accidentally tried this with my Prusa Mini and its filament runout sensor works without any setup with RS.
  • When printer sends this it is not executing commands except emergency commands if enabled. So sending moves will not work. They get executed after the pause.

    Would M108 make it continue? If so you could add a parser for it and send there
    M108
    @outOfFilament

    and trigger the server internal handling which now can execute moves beause M108 did make it continue. Just a try, nut sure if it directly triggers pause again.
  • Actually if M412 is supported it should also send a // action: ... before going to busy which would be the better variant to look for.
  • Thanks. Unfortunately, it does not seem to support the M412, it halted for an unknown reason. I will have to try to record the communication and see if I can find the action or anything that would show the status of the filament runout switch. I can see it listed and can read its state when not printing.
  • You can still try what happens reacting to busy especially if M108 continues in your case. If not it would not help to have the watcher.
  • Looking into the logs, the only sign of the filament sensor activates is that I start getting these messages:

    Mesg:11:55:38.173: Warning: Communication timeout - resetting communication buffer.
    Mesg:11:55:38.173: This means that a expected firmware response was not seen within the expected time.
    Mesg:11:55:38.173: The typical reason is a communication error and print should continue after the communication reset.
    Mesg:11:55:38.173: Connection status: Buffered:37, Manual Commands: 1, Job Commands: 5000
    Mesg:11:55:38.173: Buffer used:37 Enforced free byte:0 lines stored:1

    Is there any option to pause when this happens and send a message to the Informer? That should take care of this for this printer without modifying the FW.
  • No this is a timeout message because firmware is not responding as it seems because it waits for filament change and blocks communication. Only if M108 would make it work again (depends on it having an emergency parse).
  • I see - so I will have to upgrade the firmware or change the filament manually before its end. Thanks a lot!
Sign In or Register to comment.