Are Finish/Remaining Time very inaccurate for anyone else

For laser engraving I used to think the “Finish Time” an “Remaining Time” were very inaccurate cause I was fine tuning settings mid print but it seems that’s not it. Anyone know why this might be? Does anyone have common settings for laser etching?

The time remaining calculation is a naive estimation based on number of lines of code. It is not a full kinematic model of what the program is actually doing.

If you need to know a more accurate time estimate use a slicer that takes into account machine kinematics when calculating print time.

These instructions are basically correct except the values need to be extracted from the M503 gcode command instead of the places it lists.

ah that’s for 3D printign I mean for laser but thanks for heads up

There’s no difference. For laser the touchscreen uses a naïve estimate based on lines of code remaining. Use a laser software that calculates machine kinematics, like Lightburn. Plug in the M503 values.

It’s worth noting that there is a “bug” (really an incredible programming oversight) that drastically increases laser times. If you want to read all about it you can read my PR that would fix it if Snapmaker can ever get around to accepting it

The relevant description is this:
First a review of previous laser power control:
The M3 command first calls planner.synchronize(); which waits for all motion to complete. The machine decelerates and comes to a stop, then the laser power is changes, and then the machine accelerates to continue. Each deceleration/acceleration results in additional dwell that affects the accuracy of dwell timing, resulting in a slightly darker than intended laser burn. This is most pronounced when using continuously variable power in software like Lightburn (Lightburn calls this ‘grayscale’ mode, which is not dithered).

New behavior of laser inline power
Control of the laser power has been moved into the planner and stepper ISR. The planner adds the requested power onto the motion block. As the blocks are executed in the stepper ISR the laser power is scaled with acceleration trapezoid to eliminate darkening caused by the machine moving at less than the commanded speed with the full laser power.

Technically, the time calculation is a naive estimation based on bytes. But most GCode commands are similar length, so there isn’t a lot of practical difference between the two.

1 Like

I do love that. As if there is an assumption that longer lines of gcode=longer to execute. hahahaha. I know it’s because the file pointers are easier to keep track of but that’s less funny.