moonraker
moonraker copied to clipboard
[FR] Pipe through Klipper Estimator
Is your feature request related to a problem? Please describe
Currently the print time guesses are just that - guesses based on slicer information and (I assume) layer times of the previous layers.
Describe the solution you'd like
Pipe the gcode transparently through Klipper Estimator to return accurate print time forecasts to the clients
Describe alternatives you've considered
Leave it as is. Anyway takes as long as it takes 😉
Additional information
No response
I'm happy to do this as a moonraker plugin -- it will fit nicely with the gcode server plugin I was writing.
Is there a chance this can be implemented like the EXCLUDE_OBJECT post-processing? That would be very neat
The current idea is that this is dynamically calculated (and cached) by a moonraker plugin, so no slicers need to be involved, it can pull the latest Klipper configuration information automatically, and it can recompute the estimate when the Klipper configuration changes.
Bump! Any updates on this?
I'm almost done writing my PhD dissertation, I'll ~~start~~ resume work on this in mid-Feb. Sorry about the delay!
I'm at the stage where I have figured out how Klipper implements kinematics, and am re-implementing them in Julia (for speed). Next step is using a differentiable numerical library so I can compute gradients of total time taken w.r.t. model and slicing parameters. (This would be very useful for people doing benchy competitions.)
I'm almost done writing my PhD dissertation, I'll ~start~ resume work on this in mid-Feb. Sorry about the delay!
No worries! Congrats on nearly being finished with your PhD! Good luck!
Ping. Any progress?
Using klipper estimater as a post processing script in my slicer results in very accurate estimates if I look at the slicer time remaining in mainsail. Makes me wish I could just disable the built in time remaining, cause it's basically pointless.
I have written a plugin to run gcode on upload through klipper estimator, still a little rough but it's working.
@Arksine would you be willing to add this in or would you prefer for it to be a plugin?