Cura: Progress percentage on the software do not match the display on the CR-10S

Created on 16 Jul 2019  路  7Comments  路  Source: Ultimaker/Cura

The Completed % on the software shows like 4% and the Display on the control box says 0%

Bug

All 7 comments

There's some known (and unkown) issues with progress reporting / time estimation / etc. One thing to keep in mind is that it's an estimation, especially for printers we can't often test with.

Does this discrepancy become wildly out of sync or does it stay within certain limits?

I figured out that the percentage does not show on the control box when printing via USB cable, but it does show on the monitor screen of cura. The percentage does show on the box when you print from the TF Card and does not show anything on the monitor page.

The printer doesn't know the progress when printing via USB cable. The slicer software is sending the g-code commands on the go.

There is no way for Cura to communicate progress to a CR-10S via USB cable. The only g-code that Cura could use for that is M532 but that's only supported for Repetier, according to the RepRap wiki.

Marlin, MK4Duo and Makerbot have M73 that displays a percentage on the LCD :

http://marlinfw.org/docs/gcode/M073.html

https://reprap.org/wiki/G-code#M73:_Set_build_percentage

The CR10 runs Marlin (and most chinese printers probably do).

(it is used by a couple of OctoPrint plugins)

M73 support needs to be specifically enabled in Marlin, so it will not work on all printers.

This feels like something that maybe should be implemented in a postprocessing plugin, calculating progress from the ";TIME_ELAPSED" comments that CuraEngine puts into the gcode after each layer.

I was just thinking of the Cura Post Processing Plugin, and realized that as is, it could be based on layer # only, and it does not make sense !

I thought that LCD_SET_PROGRESS_MANUALLY was ON by default. I was wrong...

I wrote simple post-processing script to do thins on Marlin: https://github.com/LinFor/Marlin/blob/e-bot-skr/cura-profiles/scripts/EnrichPrintProgress.py
It's just use TIME_ELAPSED layer estimation from Cura and converts it into M73/M117 commands. Maybe later I approximate progress more precisely within layer (by E-movements, for example) to do more reliable progress estimation for short prints or very big layers.

Also, currently Marlin ignores M73 command when printing from SD card (so it's the only reason to produce M117 commands), I wrote PR for Marlin to fix this, please vote for my PR if this functionality is important to you: https://github.com/MarlinFirmware/Marlin/pull/15449

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JRRN picture JRRN  路  3Comments

wi1k1n picture wi1k1n  路  3Comments

Liger0 picture Liger0  路  3Comments

jornada812 picture jornada812  路  3Comments

probonopd picture probonopd  路  3Comments