Skip to content
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

[BFW-5832] [BUG] M73 G-Code status report not correct #4089

Open
samdurnxn opened this issue Jul 17, 2024 · 14 comments
Open

[BFW-5832] [BUG] M73 G-Code status report not correct #4089

samdurnxn opened this issue Jul 17, 2024 · 14 comments
Assignees
Labels
bug Something isn't working. known issue Our developers are aware of the issue. They will eventually work on it.

Comments

@samdurnxn
Copy link

samdurnxn commented Jul 17, 2024

Printer model

Mini+

Firmware version

6.0.0, 6.0.3

Upgrades and modifications

None

Printing from...

Prusa Link

Describe the bug

In PrusaSlicer, the option to send progress("Printers -> general -> Supports remaining time") is correctly tick.

For my purpose, I create a python script which read serial data from the printer, every 60s I'd like to know the progress, the remain time and the time until the next change (break or color change). As it's explain in this article, you can get the progress by sending the M73 G-Code without any parameters.

The printer answer this code with :
M73 Progress: 5%
Time left: 0m
Change: 10m

But the values for time left and change are not updated.

How to reproduce

You can reproduce this issue like this :

  • connect a device on Linux for example on the serial port of the mini
  • open a terminal and run the command 'screen /dev/ttyACM0'
  • start a printing on the mini
  • on the terminal, type 'M73' then enter to send the command
  • The printer will normally answer with progress informations

Expected behavior

Normally, the time left value and the time of next change have to be update like the progress value.

Files

No response

@samdurnxn samdurnxn added the bug Something isn't working. label Jul 17, 2024
@danopernis
Copy link
Member

Hi @samdurnxn thanks for the report. I confirm the issue is present, we will work on fixing it.

@danopernis danopernis changed the title [BUG] M73 G-Code status report not correct [BFW-5832] [BUG] M73 G-Code status report not correct Jul 18, 2024
@danopernis danopernis self-assigned this Jul 18, 2024
@danopernis danopernis added the known issue Our developers are aware of the issue. They will eventually work on it. label Jul 18, 2024
@samdurnxn
Copy link
Author

just for my information, any news on the fix ?

@danopernis
Copy link
Member

@samdurnxn the fix was merged into 6.1.0, which was just released for mk4s; release for other printers will follow "in near future" - probably in several weeks.

@danopernis danopernis added scheduled We are working on it or we have scheduled it for one of the next releases. and removed known issue Our developers are aware of the issue. They will eventually work on it. labels Aug 13, 2024
@samdurnxn
Copy link
Author

My bad, I check the release summary not the comparaison with previous release.
I will wait for the MK4 version of it.
Thanks for your works!

@danopernis
Copy link
Member

Nah, it is OK to ask. Nobody expects you to read 1000 commit messages. I would personally prefer smaller releases more often, but that's the way it is 🙂

@samdurnxn
Copy link
Author

I fully understand as I'm an developer too ;)

@danopernis
Copy link
Member

@samdurnxn new version of the firmware 6.1.2 should contain the fix, can you test that?

@danopernis danopernis removed the scheduled We are working on it or we have scheduled it for one of the next releases. label Aug 22, 2024
@samdurnxn
Copy link
Author

samdurnxn commented Aug 22, 2024

Hello,
Response of M73 is OK for the time left now but not for the next change.

T:231.06/230.00 B:59.98/60.00 X:37.75/36.00 A:50.31/0.00 @:101 B@:67 HBR@:255
> echo: M73 Progress: 1%;
> Time left: 36m;
> Change: 0m;
> ok
> T:230.51/230.00 B:59.93/60.00 X:37.55/36.00 A:50.39/0.00 @:109 B@:64 HBR@:255
> T:230.25/230.00 B:60.06/60.00 X:37.08/36.00 A:50.39/0.00 @:104 B@:20 HBR@:249
> T:230.08/230.00 B:60.05/60.00 X:36.98/36.00 A:50.44/0.00 @:107 B@:40 HBR@:248
> T:229.85/230.00 B:60.06/60.00 X:36.93/36.00 A:50.50/0.00 @:113 B@:27 HBR@:245
.....
> T:229.85/230.00 B:60.00/60.00 X:36.95/36.00 A:50.69/0.00 @:111 B@:50 HBR@:255
> T:229.92/230.00 B:59.98/60.00 X:36.91/36.00 A:50.69/0.00 @:109 B@:53 HBR@:255
> X:122.03 Y:108.91 Z:0.20 E:0.00 Count X:12581 Y:10482 Z:45
> T:230.06/230.00 B:59.94/60.00 X:37.17/36.00 A:50.75/0.00 @:105 B@:57 HBR@:255
> echo:busy: processing
> T:229.68/220.00 B:59.89/55.00 X:37.40/36.00 A:50.80/0.00 @:0 B@:0 HBR@:255
> echo: M73 Progress: 4%;
> Time left: 35m;
> Change: 0m;

And on the printer screen, the next change value is "N/A". Strange because I add little box in PrusaSlicer with many colors changes with the MMU3.
Picture and bgcode attached
Shape-BoxTestM73.zip
screenshot

@samdurnxn
Copy link
Author

samdurnxn commented Aug 25, 2024

Update from my previous test with the 6.1.2 firmware.
With a new print, I have to insert break to put magnets during printing, and the remaining time works.
I have the remaining time both on serial link(M73) and on screen when I use M601 gcode.

@danopernis can you confirm that for the moment the remaing time is handle only with M6xx gcode ?
I think this because with the MMU3, the colors changes are done with a Tx gcode and not a M600.

If I'm right, can you add the Tx gcode support for the remaining time for a future version ?

@samdurnxn
Copy link
Author

samdurnxn commented Sep 11, 2024

I just update the firmware to 6.2 alpha1.
Time left is still OK but the next time change is still at 0m.

Have you plan to handle this value for both M6xx and Tx gcode or not ?

I don't know if it's relevant to many people but for me I need this information to add it on a detached monitoring screen.

@danopernis danopernis added the known issue Our developers are aware of the issue. They will eventually work on it. label Sep 17, 2024
@danopernis
Copy link
Member

@samdurnxn I was looking into this, but then got distracted by something more important. I am still hoping to fix this at least by final v6.2.0

Thanks for the suggestion about MMU and Tx gcodes, that helped a lot and seems like you are on the right track.

@samdurnxn
Copy link
Author

samdurnxn commented Sep 17, 2024

No problem, I understand.
Great if you can add the support for TX gcode!
Good luck finding the solution. Last week, I cloned the repo on my PC to see if I could find where it could be modified, but I didn't manage to. I'm better with PHP code than C++ ;)

@danopernis
Copy link
Member

@samdurnxn I looked into it some more and the only G-code that sets up time to pause is M73 Cx Dy. I tried generating some G-code for MMU with the pause and indeed I don't see any M73 Cx Dy in generated file. This looks like a bug on the Slicer side if I understand it correctly. Can you please open an issue at https://github.com/prusa3d/PrusaSlicer ?

Technical detour, we need to have those M73 in the instruction stream because it is not possible to put entire G-code to MCU memory and compute actual time. For serial printing that is also impossible, because actual lines of G-code arrive some time in the future. The solution to this problem is for slicer to essentially simulate the printer and insert those M73 G-codes to instruct the printer what to display on the screen.

@samdurnxn
Copy link
Author

@danopernis ah I understand.

An issue have been already opened on this bug -> prusa3d/PrusaSlicer#13031 (comment)

I had a comment on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working. known issue Our developers are aware of the issue. They will eventually work on it.
Projects
None yet
Development

No branches or pull requests

2 participants