Factory fitted filament sensor doesn't work with octoprint, but works ok when printing from SD card.
What did you already try to solve it?
Try SD card printing, it works ok
Have you tried running in safe mode?
no
Did running in safe mode solve the problem?
no
Systeminfo Bundle
You can download this in OctoPrint's System Information dialog ... no bundle, no support!)
Printer: BIQU B1
Firmware: looxonline INSANE RES for BIQU B1
Raspberry Pi: 3 Model B+
I have done some research and seen the people connect there microswitch to the raspberry pi. That's fine, but why? Isn't there a way it can work whilst being plugged into the printer? And send the signal through the USB cable to the raspberry pi?
The firmware in the printer needs to support sending "out of band" messages through the USB. If the firmware is Marlin-based, then HOST_ACTION_COMMANDS and HOST_PROMPT needs to be enabled in the firmware. See the following for more detail (or search this forum for either or both of the above).
I have checked the firmware, HOST_ACTION_COMMANDS and HOST_PROMPT_SUPPORT are both enabled already.
I tried sending a M412 to recieve a filament sensor reading (someone else done this in the mentioned thread), but this happens:
Send: M412
Recv: echo:Unknown command: "M412"
Recv: ok
First, enable the serial.log (click on link for details). Then start a print using OctoPrint and force a filament failure.
Upload a systeminfo bundle (click on link for details) which will include the serial log and we will take a look.
My guess is that even with the right firmware options, it is still up to the firmware to initiate the communications and your printer's firmware isn't doing it. Since the firmware is based on Marlin, the Marlin license says that the firmware sources must be made available. Ultimately, this issue will need to solved by examining the source. Alternatively, the configuration files of the current firmware and the current generic sources for Marlin can be used to create a version of firmware for your printer that should work.
Oh I see, I used looxonline INSANSE RES for BIQU B1 firmware, and made some minor changes in visual studio, then compiled it my self. Looking at the config files, HOST_ACTION_COMMANDS and HOST_PROMPT_SUPPORT are uncommented.
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?