Hopefully someone can help, but I cant seem to find it documented anywhere, what type of signal is Klipper expecting for a FIlament Motion Sensor?
I assumed its a constant on/off binary switching, so its on,off,on,off whenever the extruder is in motion.
If this is the case, how many pulses per mm is it expecting, and where can this be adjusted or configured?
I have spent over a week testing 3 different types of motion sensors, all do not behave as I expected, they will work once, then will not work correctly again until I do a firmware reset.
The first one is the infamous BTT Smart Filament Sensor (v1) this one tests fine, but in use, it will detect filament, if I cut the filament and wait, it sometimes detects no filament, but when it does, nothing will make it detect again, not until I reset the firmware, the senor isnt faulty as I can probe it and check the signal is working
I have tried changing input pins increasing and decreasing detection time, but it just doesnt seem to function as expected.
The next sensor is a prototype laser based sensor, this just sends on/off/on/off as the filament passes through, roughly 1mm of filament to change the output state, if I set this one up as a switch instead of motion, you can watch it alternate back and forth from detected to empty as the extruder operates, so I know its working just fine, but again, when setup as a motion sensor, it fails to function as expected, it will detect, then when it trips as empty, it will not reset and operate again until I reset the firmware.
The third sensor is one I designed using a standard optical switch and a rotary encoder, this aslo just sends on/off/on/off as the filament passes through, roughly 1mm of filament to change the output state, if I set this one up as a switch instead of motion, you can also watch it alternate back and forth from detected to empty as the extruder operates, so I know this one is also working just fine, but again, when setup as a motion sensor, it fails to function as expected, it will detect, then when it trips as empty, it will not reset and operate again until I reset the firmware, no amount of extruder motion will make it detect again, this sensor also has a second optical switch inside for filament presence detection, this funtions as expected, filament goes in, it detects, filament runs out is shows empty, I have LED status lights in this one, so I can see if filament has been detected and I can see the rotary encoder pulse with filament moving through it.
Debugging and testing would be much easier if there was a test mode for a filament motion sensor that did not require the extruder to be operating, testing a filament switch is very easy, shove the filament in and it shows detected, pull it out and it shows empty, the motion sensor will not work like this.