NARUTOfzr / Neptune_3_Pro_Plus_Max

Firmware file
188 stars 24 forks source link

Filament runout with OctoPrint - head does not move to "home" for reload #43

Open autumnwalker opened 1 year ago

autumnwalker commented 1 year ago

With latest firmware OctoPrint will detect filament runout. I get a notification in Octo that it has detected filament runout with no option but to "X" the notification away.

I pulled out the old filament, replaced the spool, loaded new filament (all by hand, not using the Neptune screen) and then clicked "resume" in Octo - it seems to be working fine.

Expected Solution: I expected when OctoPrint got a filament runout from the printer that it would have "parked" the head at the home location allowing me to unload / load the filament without keeping the hot end on the printed part.

I also expected that there would be some clear options in the dialog box notifiying me of filament runout to cancel, resume, etc. - maybe that's an Octo issue?

NARUTOfzr commented 1 year ago

hi! @autumnwalker Could you please feedback your firmware version? I need to make some attempts. Because as far as I know, the current firmware doesn't support octoprint detecting filament pulsation.

I think maybe there is pause code in your gcode file that causes the machine to pause printing. octoprint does have a feature that allows it to dock the print head in a position. Please refer to the official octoprint guidance document setting: https://docs.octoprint.org/en/master/features/gcode_scripts.html 22 图片1

Warning: If you use the above pause command in octoprint and print with the SD card, there may be a conflict with the printer's pause function, causing the printer to behave strangely.

autumnwalker commented 1 year ago

This is great - I will try that GCODE!

I am running the following:

Firmware: 1.1.5.1a UI Version: 1.4.1

grahamr commented 1 year ago

@NARUTOfzr i did a test on my N3 Pro, same firmware and UI versions

If i reboot the printer, then print, and the sensor trips i get a popup

Message from your printer FilamentRunout T0

And the job pauses.

I can hit resume and resume printing

I tested this pause gcode and it didn't work as expected first test was by adding it to my octoprint server, and pausing a job mid way, it paused and parked the head off to the side, then resumed correctly.

I then tested the filament runout with the code in place. The job paused, the message popped up on screen, but the "pause g-code" did not execute

interestingly, i can only get this to work one time following a printer reboot. If i trip the runout sensor on a second or third job nothing happens, but if i reboot the printer and trip the sensor it does work.

so, i think there is a bug in the printer sending the runout to octoprint, as well as how the octoprint server is "reading" the runout.

grahamr commented 1 year ago

Got it! now to test a bit more

it looks like (for me):

M412 returned Recv: echo:Filament runout ON ; Host handling OFF

M412 S1 H1 - resets the sensor and enables host handling

with H1 in Octoprint logs i see a pause, and the pause Gcode executes - nothing about a runout in the terminal, but it works as expected Changing monitoring state from "Pausing" to "Paused"

with M412 H0 in Octoprint i see: Recv: //action:prompt_end Recv: //action:prompt_begin FilamentRunout T0 Recv: //action:prompt_show Recv: //action:paused filament_runout 0 Printer signalled that it paused, switching state... Changing monitoring state from "Printing" to "Pausing" Recv: ok Recv: ok Changing monitoring state from "Pausing" to "Paused"

but it does NOT execute the gcode to pause it

also i added this to my Resume GCode

; reset runout
M412 S1
NARUTOfzr commented 1 year ago

Hi @grahamr . Thank you for your test feedback. This should be a problem with the firmware source logic, we will try to reproduce the problem according to your description and try to optimize it. Thank you very much.

grahamr commented 1 year ago

@NARUTOfzr i just upgraded from 1.1.5.1a and UI 1.4.1 to 1.1.5.1b and UI 1.4.2 and now when i check my settings and compare with the m503, i noticed m412 was not set, so i tried reading it, and get:

Send: M412
Recv: echo:Unknown command: "M412"
Recv: ok
MaliciousCodez05 commented 1 year ago

@NARUTOfzr Bumping this, I've had a ton of failed prints because the filament runout sensor doesn't work when printing with Octoprint. Every creality and prusa machine have worked just fine with this functionality, I would greatly appreciate having this one resolved. Thanks! 😅