prusa3d / Prusa-Firmware-Buddy

Firmware for the Original Prusa MINI, Original Prusa MK4 and the Original Prusa XL 3D printers by Prusa Research.
Other
1.15k stars 222 forks source link

[BUG] Cancel object menu in MK4 supports only first 16 #3646

Open mixer3d opened 9 months ago

mixer3d commented 9 months ago

Please, before you create a new bug report, please make sure you searched in open and closed issues and couldn't find anything that matches.

Printer type - [MINI, MK4, XL] MK4

Printer firmware version - [e.g. 4.0.5, ...] 5.1.2

Original or Custom firmware - [Original/Custom] Original

Optional upgrades - [e.g. Filament Runout Sensor]

USB drive or USB/Octoprint USB

Describe the bug Cancel object menu supports only first 16 instances, even when print plate has few more.

How to reproduce Put more than 16 objects on the plate and try to cancel one of them (over 16). EDIT: "Cancel current" does not work also if the instance number is over 16. I did second test print, one object failed again, but after second round above the failed object i was able to press multiple times the cancel option and it worked. Still list for cancelling objects contains only 16 instances.

Expected behavior I would like to be able to cancel any of the object from the plate, not only one from the first 16. Which is handy sometimes while printing more smaller details...

G-code Please attach the G-code you had trouble with. This will make it easier for us to replicate the error.

Crash dump file Please send the crash dump file to Prusa by emailing it to reports@prusa3d.com. Sharing this file is important and helps us investigate the bug.

Do not share the file publicly, as the crash dump contains a raw snapshot of the printer's memory and may include unencrypted sensitive information.

Video Please attach a video. It usually helps to solve the problem.

bkerler commented 9 months ago

That's a firmware limitation as currently, only a max of 16 menu entries can be shown.

mixer3d commented 9 months ago

ah, ok thank you for letting me know @bkerler

rcmaniac25 commented 9 months ago

Yea. I hit the same issue on the XL and MK4 #3418

bkerler commented 8 months ago

As the firmware is for MK4/MK3.9/XL/Mini, the current limitation of 16 affects them all.

tjstansell commented 7 months ago

FWIW, I have a print with 58 objects on it and I was unable to use cancel current on any instances over 16. It beeps when I hit the button (while it's printing mid-air on an object no longer on the bed), but doesn't ever cancel anything. This leads to a blob getting dragged onto a neighbor and led to several others getting bumped enough to pop off as well.

arekm commented 7 months ago

16 in one menu? So is it possible to solve this by adding paging and "Next", "Previous" entries?

premiumcola commented 6 months ago

this is funny and sad :O ... wow a 16 items limit .... on a 1000€ printer in the year 2024!! n1

If you put hands on this bug ... there could also be shown the order of which 5-10 object are printed next. -> I got 100 really small objects and got problems to click the cancel button in the right 2 seconds, if i miss it do not know which object it was ... Would to nice to pre-mark of the next objects for a cancel or to have a chance to cancel it directly after missing it by "cancel-actual".

Thanks prusa-team for your support!

wafflecart commented 6 months ago

I know it doesn’t make any difference to the 16 limit but in your slicer if you name the objects before slicing and exporting the names will show on screen. Eg could use object1, object2 etc starting from top left or something. Makes it easier to identify them until they improve the cancel objects menu with pictures or something on build plate.

InnesPort commented 5 months ago

Came here looking for a solution since this is still happening to me on latest MK4 firmware (6.0.0+14794) and PrusaSlicer (2.7.4).

I (foolishly, I suppose) am currently trying to print 250 small parts and 2 of them have failed. I've tried using "Cancel current" on the MK4 itself and using cancel object within PrusaConnect since it identifies and shows the map of all 250 instances, which is really cool if cancelling actually worked.

Nothing works. I simply have to either cancel the print and start over or babysit the print, pause it when it prints in mid air over the failed objects, clean off that bit of filament, then resume print.

Please Prusa, let us have more than 16 cancelable objects!! IMG_2123(1)

mixer3d commented 5 months ago

I know it doesn’t make any difference to the 16 limit but in your slicer if you name the objects before slicing and exporting the names will show on screen. Eg could use object1, object2 etc starting from top left or something. Makes it easier to identify them until they improve the cancel objects menu with pictures or something on build plate.

but then the objects on the plate are in the random order, and you have to print anyway to see and note, which one is in which position

mixer3d commented 5 months ago

Came here looking for a solution since this is still happening to me on latest MK4 firmware (6.0.0+14794) and PrusaSlicer (2.7.4).

I (foolishly, I suppose) am currently trying to print 250 small parts and 2 of them have failed. I've tried using "Cancel current" on the MK4 itself and using cancel object within PrusaConnect since it identifies and shows the map of all 250 instances, which is really cool if cancelling actually worked.

Nothing works. I simply have to either cancel the print and start over or babysit the print, pause it when it prints in mid air over the failed objects, clean off that bit of filament, then resume print.

Please Prusa, let us have more than 16 cancelable objects!! IMG_2123(1)

i'm not sure if this can be technically possible, you see already, how slow the menu is during scrolling... if you print with petg, just increase the temp. bed to 100 degrees, that way it will reach some 85+/-5 and the petg will stick good enough, and important to use latest config with changed value of the Zlift...

mixer3d commented 5 months ago

but of course if the bed adhesion is not the particular problem, this will not solve the problem

InnesPort commented 5 months ago

but of course if the bed adhesion is not the particular problem, this will not solve the problem

I don't think adhesion was the issue on this print. All remaining 248 objects are sticking great, I recently washed the sheet and wiped it down with IPA just before this (my usual habit), and the Zoffset looked good on this one and other larger prints. It just seems like it wigged out for one of those, and then my guess is it took the next one in line out. But regardless of the problem being able to cancel them would be great...

Here's a screenshot of the PrusaConnect job info screen where you can easily identify which one is which without having to rename the objects. I can even highlight any object and hit cancel, then a message pops up that says "command to cancel object has been successfully sent", but then nothing actually changes.

Screenshot 2024-05-16 142517
rkost commented 2 months ago

The limit is set in these two files - one belonging to the prusa connect functionality:

https://github.com/prusa3d/Prusa-Firmware-Buddy/blob/ce6d58b80c995dd8d5923d39688b195a6ac10b1e/src/common/marlin_vars.hpp#L340

https://github.com/prusa3d/Prusa-Firmware-Buddy/blob/ce6d58b80c995dd8d5923d39688b195a6ac10b1e/src/connect/printer.hpp#L60

Can someone elaborate what the root issue here is? Is it a memory or performance concern with older printer models? I cannot see any comment either in the source code or in one of the linked issues about the reasoning to set the number to 16.

bgyarfas commented 1 month ago

It appears you cancel up to object 64 in PrusaConnect. Still not enough...