-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: fine grained error messages available to printer display #176
Comments
the mmu2 has only a small set of error detection. these unloads happens on my printer when it tries to detect if the loading to the nozzle works (the filament gets grabbed and pushed forward by the printer gears a defined length / if there are skipped steps it unloads and repeats the process) on my printer sometimes it happens also that it thinks it got loaded because the detection worked, but then it got stuck and doesnt extrude. I think the best place to ask for this is the issues page for the printer firmware. |
One of my more recent errors was it would push very short into the ptfe tube, and then unload, and repeat that a few times before signalling an error - that certainly is not an error on the printer, nor is it 1 of 'reset, power failure, or overheating' though there was a reason i indicated that 'more fine grained' errors should be added such that it can indicate that it was a certain set of unload errors - as if the printer doesn't signal that the filament entered, the printer also cannot know that this is why the mmu failed to load unless it tells it. |
in this case the error is on the mmu2 (but not detected on the mmu2) but the error you see on the mmu2 (led blinking) is sent from the printer (wait for button). as in this case the printer knows that it started a load but couldnt see its own sensor changing before timeout. |
sorry i know that it should not matter if you put it into the MMU2 issues. There is such a lot of MMU2 error handling missing in the Printer firmware. i tried to send something from octoprint and the printer tried to load the filament to the nozzle even if it wasnt heated ...and it dindnt stop.. it was grinding all throug the filament ..if you reset the printer it resumed loading.. i had to turn off the printer to stop this behaviour. |
Looking at the code - the errors of the filament loading are not sent by the printer, though the printer also has the option of sending a 'wait' command. When the filament is not loaded however the mmu is in a do while loop for the user to push the right button to continue and nothing is sent to the printer at all (nor is the state changed so the printer can't even get this information) As it stands the only way that the printer can get information from the MMU is via an s3, for driver error count, or for it to read the pinda. otherwise i believe it makes assumptions based on not getting OK's in a timely manor and the interface offers no other ways to get what the error state of the mmu is in - outside of the flashing lights we can see. Also your issue with the filament loading on reset i believe is a 'feature' i assume it is to aid with loss of power to ensure the printer is back in the intended state - but it should work more in conjunction with the printer to prevent such issues. |
yes you are right its a feature ..but this feature repeats the not handled error ;-) |
If you look at mmctl and the load filament functions - there are busy wait loops in there signaling the filament errors waiting for the user to press enter, or the right button to proceed which happens without the printer sending any waits to the mmu. SO this is a different state to the printer sending a wait error to the mmu and setting the wait state. |
thats what i meant with point 2 ... i was not sure if they use it ...so yes they use it ....so your finda could be wrong |
so on point 1 all Leds are blinking |
There is only so much clarity blinking leds give - the printer has a screen they should use it in conjunction with the LED's so that the leds work if the printer is not able to. That way they could give more concise errors on top of the 'error loading filament' blinking, or 'wait for ok' blinking etc. |
thats some easy fixes on the mmu side but not so easy on the printer. |
but you are right there should be more information on the printer display.... |
sure you can send an 'error' response to the printer but the fact that the MMU is basically non responsive (to serial) due to it hanging in a loop and not using any interupt routines, or timeshare like systems to allow it to service commands doesn't really allow for much better usability (like those that want realtime sensor updates of the mmu whilst doing loads) More information is key to better usability. most people complain because 'it just isn't working and i don't know why' or 'it always needs user interaction to do loads it's so bad' |
what is the benefit of real time sensor updates in a error condition ? .. |
The live update is another suggestion here. I'm guessing you're implying the existing filament cutting isn't sufficient for tip forming? And the idler is using the same stepper drivers as the main board - why does it need an end switch when it can detect motor stall of the idler not spinning? Or have you had issues of the idler getting caught when not at the end? |
Also, so far as I understand - if the printer were to reset whilst the menu was performing an operation, or waiting for user to correct load - it wouldn't get a response on uart and would go into MMU not present mode |
The filament cutter is good but then you have to cut it every time you change ..and 5mm 300x or more (only guessing) is 1,5m filament x5 = 7,5 m if you say thats ok ...but i dont think it will fit to the waste tray. so we need something more resource friendlier. |
https://youtu.be/pV_1MMs1W3E |
I'm not sure if this is a MMU issue alone, but most of the time when i run into issues the MMU will signal that there was an error during load, or it will load it to the printer, and then it will unload it a few seconds later with no obvious reason as to why not.
It would be nice if the MMU would store a fine grained error 'push to printer failed, timeout', or that sort of thing which can then be fed to the printers 'MMU needs attention' and displayed to the user - and updated as the user attempts to manually resolve issues. If the MMU board has a flash chip, it may be worth adding in language packs to the MMU and a set language option to make this even easier to use for the end user.
The more information available to the end user when a fault occurs means the more they can do to correct the issue to not have to solve it again (especially when things look like they are working only to unload moments later)
The text was updated successfully, but these errors were encountered: