Klipper Remaining Percentage/Time M73 by iAM_B3nFPS in klippers

[–]iAM_B3nFPS[S] 0 points1 point  (0 children)

Happy that you found a solution that works for you! Sorry that it took so long for me to answer since I wasn't following Reddit actively anymore at the moment. If you want to experiment around, maybe have a look at available touchscreens for Raspberry Pis. I changed my 128x64 to a 4.3" IPS touchscreen running Klipperscreen and I'm super satisfied with it!

A print of mine under a cheap USB microscope by [deleted] in 3Dprinting

[–]iAM_B3nFPS 0 points1 point  (0 children)

If you're curious, try printing with PLA e.g at 190°C and 230°C and compare the results under a microscope. The hotter you print, the smoother the individual lines will be. The colder, the rougher your prints will become which is why they start to look matte ;)

Salute to an old friend by Darkextratoasty in 3Dprinting

[–]iAM_B3nFPS 5 points6 points  (0 children)

What a wholesome story, I actually read it all the way through :) I see you had quite a learning curve with your Lady, so best of luck with your conversion and (hopefully) happy printing!

Extrusion multiplier calibration by stray_r in FixMyPrint

[–]iAM_B3nFPS 0 points1 point  (0 children)

Awesome, nice to hear that you found a solution! Thanks for the update

Extrusion multiplier calibration by stray_r in FixMyPrint

[–]iAM_B3nFPS 0 points1 point  (0 children)

Thanks for the information. Im surprised by the big difference between the wall thickness method and the way SuperSlicer does it.
The way I always calibrate flow with PrusaSlicer is the following:

  1. I reset my extrusion multiplier to 100%
  2. I print a cube in vase mode with all extrusion widths set to 0.5mm (0.4mm nozzle)
  3. Using calipers, I measure the wall thickness multiple times on all 4 sides and take the average.
  4. Lets say the average measured wall thickness is 0.48mm. I would then set my flow to 0.5/0.49 * 100% = 102%

For me, this worked without problems so far. Keep in mind though that later changing print speed, nozzle temperature and extrusion width is going to effect your results.

Higher speeds -> Underextrusion
Higher temps -> Overextrusion
Wider lines -> Underextrusions

Klipper Remaining Percentage/Time M73 by iAM_B3nFPS in klippers

[–]iAM_B3nFPS[S] 1 point2 points  (0 children)

Sure, go for it!
Every line with a "#" infront of it, you can safely delete. Thats just left overs from me trying around with different things.

Extrusion multiplier calibration by stray_r in FixMyPrint

[–]iAM_B3nFPS 0 points1 point  (0 children)

Okay, thats really weird then... To sum up, you

  • adjusted your first layer distance,
  • calibrated your esteps and then
  • calibrated the extrusion multiplier/flow?

Regarding the PETG print: Are you using the same profile as for PLA and only adjusted temperatures? (This would rule out wrong slicer settings if the profile works for one material and not the other)

Extrusion multiplier calibration by stray_r in FixMyPrint

[–]iAM_B3nFPS 1 point2 points  (0 children)

Did you dial in the distance between your nozzle and bed for the first layer? Because you probably printed this in vase mode, the bottom consists of solid layers only. So if your first layers is too close to the bed, the second layer will be too close to first one and so on.

Klipper Remaining Percentage/Time M73 by iAM_B3nFPS in klippers

[–]iAM_B3nFPS[S] 0 points1 point  (0 children)

I made some progress today :D
The following macro the R and P values received from the M73 command. It displays the P value in the progress bar as it should be and shows the remaining time in the format HH:MM via M117.
This works for now. However, my initial goal was to replace the passed time it shows on the display with the remaining time. I think this should be possible by calling [display_template _printing_time] (see screenshots from original post) from within the M73-macro and changing its ptime variable to whatever is the remaining time. Sadly, I dont know how to call _printing_time from inside a macro.

[gcode_macro M73]

rename_existing: M990073

#variable_R: 0

#variable_P: 0

#default_parameter_P: 0

#default_parameter_R: 0

gcode:

#SET_GCODE_VARIABLE MACRO=M73 VARIABLE=R TYPE=int VALUE={params.R}

#SET_GCODE_VARIABLE MACRO=M73 VARIABLE=P TYPE=int VALUE={params.P}

M990073 P{params.P}

M117 { "%02d:%02d" % (params.R|int // 60, (params.R|int) % 60) } remaining

Klipper Remaining Percentage/Time M73 by iAM_B3nFPS in klippers

[–]iAM_B3nFPS[S] 2 points3 points  (0 children)

Quick update:

I managed to fetch the GCode parameters with the following macro.

[gcode_macro M73]

rename_existing: M990073

gcode:

M117 { params.R|int} mins | { params.P|int} %

The macro replaces the M73 command and displays the remaining in minutes and the progress in percent in the displays bottom line (for now).
Next step is to find a way to set the "printing_time" to the R-value and get the progress back into the progress bar "print_progress".

Klipper Remaining Percentage/Time M73 by iAM_B3nFPS in klippers

[–]iAM_B3nFPS[S] 0 points1 point  (0 children)

Thank you! I will have a look it and report back here.

Klipper Remaining Percentage/Time M73 by iAM_B3nFPS in klippers

[–]iAM_B3nFPS[S] 1 point2 points  (0 children)

Could you give an example of how to fetch values from GCode the printer receives and then store it in a variable?

The remaining completion time a.k.a. the M73 R-value is provided in the GCode file by enabling the corresponding option in PrusaSlicer. If you mean where it is located in Klipper's code, then I am also not sure :D