# Ender 3 S1 Config, Satit Chula Specific [stepper_x] step_pin: PC2 dir_pin: PB9 enable_pin: !PC3 microsteps: 16 rotation_distance: 40 endstop_pin: !PA5 position_endstop: 0 position_max: 258 homing_speed: 50 [stepper_y] step_pin: PB8 dir_pin: PB7 enable_pin: !PC3 microsteps: 16 rotation_distance: 40 endstop_pin: !PA6 position_endstop: 0 position_max: 230 homing_speed: 50 [stepper_z] step_pin: PB6 dir_pin: !PB5 enable_pin: !PC3 microsteps: 16 rotation_distance: 8 endstop_pin: probe:z_virtual_endstop position_max: 270 position_min: -5 [extruder] max_extrude_only_distance: 100.0 step_pin: PB4 dir_pin: PB3 enable_pin: !PC3 microsteps: 16 rotation_distance: 7.6190 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PA1 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC5 control: pid pid_Kp: 22.865 pid_Ki: 1.292 pid_Kd: 101.178 min_temp: 0 max_temp: 250 pressure_advance = 0.12 [filament_switch_sensor RunoutSensor] pause_on_runout: False runout_gcode: PAUSE insert_gcode: RESUME switch_pin: !PC15 [heater_bed] heater_pin: PA7 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC4 control: pid pid_Kp: 69.139 pid_Ki: 1.273 pid_Kd: 938.565 min_temp: 0 max_temp: 130 [heater_fan hotend_fan] pin: PC0 heater: extruder heater_temp: 50.0 [fan] pin: PA0 [mcu] serial: /printerserial restart_method: command [printer] kinematics: cartesian max_velocity: 500 max_accel: 3000 max_accel_to_decel: 3000 max_z_velocity: 5 square_corner_velocity: 5.0 max_z_accel: 100 [bltouch] sensor_pin: ^PC14 control_pin: PC13 x_offset: -32 y_offset: -41 z_offset: 2.80 speed:10 samples:1 samples_result:average probe_with_touch_mode: true stow_on_each_sample: false [safe_z_home] home_xy_position: 154,154 speed: 100 z_hop: 10 z_hop_speed: 5 [bed_mesh] speed: 100 mesh_min: 10, 10 mesh_max: 225, 189 algorithm: bicubic probe_count: 5,5 [virtual_sdcard] path: ~/gcode_files [display_status] [pause_resume] [gcode_macro PAUSE] description: Pause the actual running print rename_existing: PAUSE_BASE # change this if you need more or less extrusion variable_extrude: 1.0 gcode: ##### read E from pause macro ##### {% set E = printer["gcode_macro PAUSE"].extrude|float %} ##### set park positon for x and y ##### # default is your max posion from your printer.cfg {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} ##### calculate save lift position ##### {% set max_z = printer.toolhead.axis_maximum.z|float %} {% set act_z = printer.toolhead.position.z|float %} {% if act_z < (max_z - 2.0) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - act_z %} {% endif %} ##### end of definitions ##### PAUSE_BASE G91 {% if printer.extruder.can_extrude|lower == 'true' %} G1 E-{E} F2100 {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} {% if "xyz" in printer.toolhead.homed_axes %} G1 Z{z_safe} F900 G90 G1 X{x_park} Y{y_park} F6000 {% else %} {action_respond_info("Printer not homed")} {% endif %} [gcode_macro RESUME] description: Resume the actual running print rename_existing: RESUME_BASE gcode: ##### read E from pause macro ##### {% set E = printer["gcode_macro PAUSE"].extrude|float %} #### get VELOCITY parameter if specified #### {% if 'VELOCITY' in params|upper %} {% set get_params = ('VELOCITY=' + params.VELOCITY) %} {%else %} {% set get_params = "" %} {% endif %} ##### end of definitions ##### {% if printer.extruder.can_extrude|lower == 'true' %} G91 G1 E{E} F2100 {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} RESUME_BASE {get_params} [gcode_macro CANCEL_PRINT] description: Cancel the actual running print rename_existing: CANCEL_PRINT_BASE gcode: TURN_OFF_HEATERS CANCEL_PRINT_BASE