But op states "Factory fitted filament sensor doesn't work with octoprint, but works ok when printing from SD card."
Interesting that notes for M412 are
" Requires FILAMENT_RUNOUT_SENSOR .
Parameter D requires FILAMENT_RUNOUT_DISTANCE_MM .
Parameter H requires HOST_ACTION_COMMANDS ."
I have now enabled #define FILAMENT_RUNOUT_SENSOR in the firmware, and now octoprint comes up with a pop up saying: message from printer, no filament. (Even though there is). Triggering the switch doesn't have any effect at this point.
Ok, I think I know what the problem is. My filament sensor is plugged into my TFT screen on the printer, not the SKR 1.4 board.
Now I think I either have it plugged into the wrong port on the SKR V1.4, or the pin configuration is not correct. This is all new to me and I am completely and utterly out of my depth! Please can someone suggest what to try next?
Seems like you are getting somewhere, but it is also interesting how the runout sensor was setup on the screen. I've not seen it like that before, but I guess the screen was just telling the printer to pause, but of course it was telling the wrong person since OctoPrint was in control.
That looks like the right pin (can see it in the Marlin source code), it's labelled right and it looks like they are both using the GND pin.
Are you able to test with M119 to see if maybe it is inverted? Take the filament in & out and test it to see if there's any change?
My theory is that it would have worked the same way if you connected it to OctoPrint. The LCD has its own firmware kind of thing, so it is in control of the print. When the filament runs out, the main control board doesn't know, but the screen can just send 'pause'. Things are getting more complex than the usual character LCD setup now...
Haven't tried this, how do I know what to set it to?
The filament detector does have 3x wires coming out, those 3 cables join up to a loom of cables, then this one big cable plugs into the back panel on the printer. The thing it plugs into is a small circuit board with loads of cables plugged into it, I guess to distribute everything to the right place on the main board. One of the plugs coming out of that is labelled FLD, but it only has 2x cables, not 3x. I am guessing because the small circuit board on the back of the printer uses one gnd for all the cables? Not sure.
I have just noticed that the LED on the filament sensor is always on regardless of its position (now its plugged into the main board), does this mean it is wired incorrectly?
From your pictures, it looks like you've been plugging the 2 wire 'FLD' cable directly into the board.
Have you tried plugging the sensor in directly to the board? This would make more sense, I think. And, it's going to be difficult to verify what pins are what if there's something going on between that connector and the sensor.
This is my first post here and I just wanted to ask in this thread. Was this exploration given up on? It seems this was around a year ago and I just recently ran into the same thing with my new ender 3 s1 pro.-- it has a touch screen/ not rotaryknob.
I feel like the original point of the post is being missed. I have four printers, all have working filament runout sensors, but, when i send a print through Octoprint to those printers, if the filament runs out, the print is not paused because Octoprint does not read any information from the runout sensor.
I'm sorry but the original point of the post was thoroughly discussed. In order for OctoPrint to react to "a working filament runout sensor" when the sensor is connected to the controller in the printer, the printer's firmware needs to be configured properly.
You have provided no details that would help us help you. I strongly suggest that you open a new "Get Help" topic and that you fill out the template completely (four times if the printers are all different). We will also need details about the firmware you have installed in each of your four printers.