I’ve been playing around with the start g-code to try and optimize the prime line(s). I made a few comments on one of the GitHub issues regarding this.
My main issue is the fact that after printing the “nozzle load line” at the front, the printer issues an M104 S140 command to reduce the temperature, even if you aren’t doing flow calibration. Since the “handeye calibration” section is skipped, it pretty quickly runs M109 to reset the temperature. But there’s a small pause where plastic oozes out and almost invariably ends up stuck to the nozzle when it starts printing again.
The solution there is easy, wrap the M104 S140 in the if-check for calibration:
; Only decrease the temperature if we are doing flow calibration
M1002 judge_flag extrude_cali_flag
M622 J1
M104 S140
M623 ; end of "Only decrease"
However, there’s a section later that does “laser and rgb calibration” and that seems to happen regardless of whether you choose flow calibration (extrude_cali_flag = true).
;=========== laser and rgb calibration ===========
M400
M18 E
M500 R
M973 S3 P14
G1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos
T1100
G1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos
M400 P100
M960 S1 P1
M400 P100
M973 S6 P0; use auto exposure for horizontal laser by xcam
M960 S0 P0
G1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos
M960 S2 P1
M400 P100
M973 S6 P1; use auto exposure for vertical laser by xcam
M960 S0 P0
This section executes very quickly so the temperature is usually only reduced by 20 degrees or so by the time it’s done. I can’t imagine it relies on the lower temperature to be effective. If so, you’d think they would’ve used M109 to wait for a specific temp.
For people that just completely remove the nozzle load line at the front, I’m assuming this section has nothing to scan? Does that cause any problems?
Just sort of thinking out loud and trying to work through a more optimal startup.