K1-Klipper / installer_script_k1_and_max

43 stars 7 forks source link

Incorrect sensorless + minor START_PRINT questions #2

Closed Anarhyst266 closed 3 months ago

Anarhyst266 commented 6 months ago

I've installed this mod and have some questions about your changes in sensorless.cfg and START_PRINT macro:

  1. this sensorless.cfg works very bad for me. It doesn't try to home Y axis, move Z axis about 3 times and not home it either. I've reverted to the stock one, but with commented strings 26-28,30,110-112 where it uses z_pos. This works.
  2. Why do we need BED_MESH_CALIBRATE every print? Stock CX_PRINT_LEVELING_CALIBRATION works better if using without KAMP. It checks bed mesh and do nothing if it's actual(around 2 sec vs 2 minutes in my case with many probe points)
  3. There is no purge line if using without KAMP, but I believe we need some.

If I can provide any additional details - feel free to ask

Anarhyst266 commented 6 months ago

For the START_PRINT macro I'd propose to use this one(for non-KAMP version)

[gcode_macro START_PRINT]
variable_prepare: 0
gcode:
  WAIT_TEMP_END
  CLEAR_PAUSE
  {% set g28_extruder_temp = printer.custom_macro.g28_ext_temp %}
  {% set bed_temp = printer.custom_macro.default_bed_temp %}
  {% set extruder_temp = printer.custom_macro.default_extruder_temp %}
  {% if 'BED_TEMP' in params|upper and (params.BED_TEMP|float) %}
  {% set bed_temp = params.BED_TEMP %}
  {% endif %}
  {% if 'EXTRUDER_TEMP' in params|upper and (params.EXTRUDER_TEMP|float) %}
  {% set extruder_temp = params.EXTRUDER_TEMP %}
  {% endif %}

  {% if printer['gcode_macro START_PRINT'].prepare|int == 0 %}
    {action_respond_info("not prepare.\n")}
  M140 S{bed_temp}
  G28
    PRINT_PREPARE_CLEAR
    G28 Z
    NOZZLE_CLEAR HOT_MIN_TEMP={g28_extruder_temp|float} HOT_MAX_TEMP={extruder_temp|float - 20} BED_MAX_TEMP={bed_temp|float}
    ACCURATE_HOME_Z
    BED_MESH_PROFILE LOAD=default
    CX_PRINT_LEVELING_CALIBRATION
  {% else %}
    PRINT_PREPARE_CLEAR
  {% endif %}
  M109 S{extruder_temp}
  M190 S{bed_temp}
  CX_PRINT_DRAW_ONE_LINE
  SET_VELOCITY_LIMIT ACCEL={printer.configfile.settings.printer.max_accel} 

It has

    BED_MESH_PROFILE LOAD=default
    CX_PRINT_LEVELING_CALIBRATION

instead of clearing mesh and doing the full new mesh. Also it runs CX_PRINT_DRAW_ONE_LINE as the purge line. This implementation is not the best one, but it's good enough to use without KAMP One more fix there is M140 instead of M190 in line 18. It allows printer to start homing and doing all the staff without waiting for full bed heating