# This is a configuration file for the Creatbot D1000. [include mainsail.cfg] [virtual_sdcard] path: ~/printer_data/gcodes on_error_gcode: CANCEL_PRINT [save_variables] filename: ~/printer_data/config/config_variables.cfg [exclude_object] [gcode_arcs] resolution: 1.0 [force_move] enable_force_move: True [idle_timeout] gcode: {% if printer.webhooks.state|lower == 'ready' %} {% if printer.pause_resume.is_paused|lower == 'false' %} TURN_OFF_HEATERS {% endif %} {% endif %} timeout: 1800 # 0.5 hour timeout # F446 MotherBoard ID [mcu] canbus_uuid:000000000010 canbus_interface: can0 [printer] kinematics: cartesian max_velocity: 300 max_accel: 5000 max_z_velocity: 10 max_z_accel: 100 square_corner_velocity: 2.5 [bed_mesh] speed: 300 horizontal_move_z: 5 mesh_min: 40,60 mesh_max: 1000, 1000 probe_count: 6,6 mesh_pps: 2,2 algorithm: bicubic bicubic_tension: 0.2 [stepper_x] step_pin: PD1 dir_pin: PD0 enable_pin: !PA15 rotation_distance: 75 microsteps: 100 full_steps_per_rotation: 200 position_min: 0 position_endstop: 0 position_max: 1000 homing_speed: 100 homing_retract_speed: 50 second_homing_speed: 5 homing_retract_dist: 10 # homing_positive_dir: true [stepper_y] step_pin: PD4 dir_pin: !PD3 enable_pin: !PD2 rotation_distance: 75 microsteps: 40 full_steps_per_rotation: 200 gear_ratio: 2.5:1 endstop_pin: PC11 position_min: 0 position_endstop: 0 position_max: 1000 homing_speed: 100 homing_retract_speed: 50 second_homing_speed: 10 homing_retract_dist: 10 # homing_positive_dir: true [stepper_z] step_pin: PD7 dir_pin: PD6 enable_pin: !PD5 rotation_distance: 5 gear_ratio: 3:1 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: probe:z_virtual_endstop position_max: 1000 position_min: -4 homing_speed: 10 second_homing_speed: 1 homing_retract_dist: 2.0 [heater_bed] heater_pin: PD12 sensor_type: Generic 3950 sensor_pin: PC0 max_power: 1.0 min_temp: 0 max_temp: 100 # control: pid # pid_kp: 17.22 # pid_ki: 0.9 # pid_kd: 218.61 [verify_heater heater_bed] max_error: 20 hysteresis: 5 check_gain_time: 120 heating_gain: 2 [heater_generic chamber] heater_pin:PD15 max_power:1.0 sensor_type: Generic 3950 sensor_pin:PC3 min_temp: 0 max_temp: 60 pwm_cycle_time: 0.3 # control: pid # pid_kp: 30.68 # pid_ki: 0.21 # pid_kd: 0 [verify_heater chamber] max_error: 120 hysteresis: 5 check_gain_time:300 heating_gain: 1 [fan_generic Air_filter_fan] pin: PC8 max_power: 1.0 shutdown_speed: 0.0 kick_start_time: 1.0 off_below: 0.10 [filament_switch_sensor extruder] pause_on_runout: True runout_gcode: event_delay: 3.0 pause_delay: 0.5 switch_pin: ^PC14 [filament_switch_sensor extruder1] pause_on_runout: True runout_gcode: event_delay: 3.0 pause_delay: 0.5 switch_pin: ^PC15 # F072 nozzle ID [mcu tool] canbus_uuid: 000000000001 canbus_interface: can0 [stepper_x] endstop_pin: tool:PC0 [adxl345] spi_speed: 5000000 cs_pin: tool:PB12 spi_software_sclk_pin:tool:PB13 spi_software_mosi_pin:tool:PB15 spi_software_miso_pin:tool:PB14 rate: 3200 [resonance_tester] accel_chip: adxl345 probe_points: 500, 500, 20 min_freq: 5 max_freq: 133.3 accel_per_hz: 75 hz_per_sec: 1 [input_shaper] #shaper_freq_x: 0 #shaper_freq_y: 0 shaper_type: mzv #shaper_type_x: #shaper_type_y: damping_ratio_x: 0.1 damping_ratio_y: 0.1 [fan] pin:tool:PA10 kick_start_time: 0.5 off_below: 0.10 max_power: 1.0 [heater_fan Sink_fan_0] pin:tool:PA8 max_power: 1.0 kick_start_time: 0.5 heater: extruder off_below: 0.10 heater_temp: 100 [heater_fan Sink_fan_1] pin:tool:PA9 max_power: 1.0 kick_start_time: 0.5 heater: extruder1 off_below: 0.10 heater_temp: 100 [extruder] sensor_type: MAX31855 sensor_pin: tool:PD2 spi_software_sclk_pin:tool:PB3 spi_software_mosi_pin:tool:PB5 spi_software_miso_pin:tool:PB4 [verify_heater extruder] max_error: 20 check_gain_time: 60 hysteresis: 10 heating_gain: 1 [extruder] step_pin: tool:PB1 dir_pin: tool:PB2 enable_pin: !tool:PB0 microsteps: 16 full_steps_per_rotation: 200 rotation_distance:22.9116807962642578993 gear_ratio: 48:19 nozzle_diameter: 0.8 filament_diameter: 1.750 max_extrude_only_distance: 500.0 max_extrude_only_velocity: 60.0 max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: tool:PC6 max_power: 1.0 min_temp: 0 max_temp: 450 min_extrude_temp: 180 pressure_advance: 0.03 pressure_advance_smooth_time:0.040 # control = pid # pid_kp = 23.904 # pid_ki = 1.476 # pid_kd = 96.810 [tmc5160 extruder] cs_pin:tool:PB7 spi_software_sclk_pin:tool:PB3 spi_software_mosi_pin:tool:PB5 spi_software_miso_pin:tool:PB4 run_current: 0.8 interpolate: False sense_resistor: 0.075 stealthchop_threshold: 0 [extruder1] sensor_type: MAX31855 sensor_pin: tool:PC12 spi_software_sclk_pin:tool:PB3 spi_software_mosi_pin:tool:PB5 spi_software_miso_pin:tool:PB4 [verify_heater extruder1] max_error: 20 check_gain_time: 60 hysteresis: 10 heating_gain: 1 [extruder1] step_pin: tool:PC4 dir_pin: tool:PA7 enable_pin: !tool:PC5 microsteps: 16 full_steps_per_rotation: 200 rotation_distance: 22.9116807962642578993 gear_ratio: 48:19 nozzle_diameter: 0.8 filament_diameter: 1.750 max_extrude_only_distance: 500.0 max_extrude_only_velocity: 60.0 max_extrude_only_accel: 1000.0 max_extrude_cross_section:5 heater_pin: tool:PC7 max_power: 1.0 min_temp: 0 max_temp: 450 min_extrude_temp: 180 pressure_advance: 0.032 pressure_advance_smooth_time:0.040 # control = pid # pid_kp = 23.904 # pid_ki = 1.476 # pid_kd = 96.810 [tmc5160 extruder1] cs_pin:tool:PC11 spi_software_sclk_pin:tool:PB3 spi_software_mosi_pin:tool:PB5 spi_software_miso_pin:tool:PB4 run_current: 0.8 interpolate: False sense_resistor: 0.075 stealthchop_threshold: 0 [probe] pin: !tool:PC2 x_offset: 36 y_offset: 59 #z_offset: 4 speed: 5.0 samples: 3 samples_result: median sample_retract_dist: 2.0 samples_tolerance: 0.05 samples_tolerance_retries: 3 deactivate_on_each_sample: False activate_gcode: PROBE_SERVO_OPEN deactivate_gcode: PROBE_SERVO_CLOSE [servo probe_servo] pin: tool:PC8 maximum_servo_angle: 180 minimum_pulse_width: 0.000900 maximum_pulse_width: 0.002100 initial_angle: 160 # initial_pulse_width: [servo switch_nozzle] pin: tool:PC9 maximum_servo_angle: 270 minimum_pulse_width: 0.000512 maximum_pulse_width: 0.002528 initial_angle: 135 # initial_pulse_width: [safe_z_home] home_xy_position: 500,500 speed:100 z_hop:5 z_hop_speed: 10 [gcode_macro ENABLE_FORCE_MOVE] gcode: SET_KINEMATIC_POSITION X=500 Y=500 Z=500 [gcode_macro T0] gcode: SET_SERVO SERVO=switch_nozzle angle=135 G4 P500 SET_GCODE_OFFSET Z=0 SET_GCODE_OFFSET Y=0 SET_GCODE_OFFSET X=0 SET_SERVO SERVO=switch_nozzle angle=45 ACTIVATE_EXTRUDER EXTRUDER=extruder [gcode_macro T1] gcode: {% set sv = printer.save_variables.variables %} {% set x_offset = sv.dual_x_offset|default(60)|float %} {% set y_offset = sv.dual_y_offset|default(0)|float %} {% set z_offset = sv.dual_z_offset|default(0)|float %} SET_SERVO SERVO=switch_nozzle angle=135 G4 P500 SET_GCODE_OFFSET Z={z_offset} SET_GCODE_OFFSET Y={y_offset} SET_GCODE_OFFSET X={x_offset} SET_SERVO SERVO=switch_nozzle angle=225 ACTIVATE_EXTRUDER EXTRUDER=extruder1 [gcode_macro PROBE_SERVO_OPEN] gcode: SET_SERVO SERVO=probe_servo angle=15 G4 P1000 [gcode_macro PROBE_SERVO_CLOSE] gcode: SET_SERVO SERVO=probe_servo angle=130 [gcode_macro START_PRINT] gcode: {% set BED_TEMP = params.BED|default(0)|float %} {% set EXTRUDER_TEMP = params.EXTRUDER|default(0)|float %} {% set EXTRUDER_TEMP1 = params.EXTRUDER1|default(0)|float %} {% set CHAMBER_TEMP = params.CHAMBER|default(0)|float %} {% if params.BED is defined %} M140 S{BED_TEMP} {% endif %} {% if params.EXTRUDER is defined %} M104 T0 S{EXTRUDER_TEMP} {% endif %} {% if params.EXTRUDER1 is defined %} M104 T1 S{EXTRUDER_TEMP1} {% endif %} {% if params.CHAMBER is defined %} M141 S{CHAMBER_TEMP} {% endif %} G28 #BED_MESH_CALIBRATE {% if BED_TEMP != 0 %} M190 S{BED_TEMP} {% endif %} {% if EXTRUDER_TEMP != 0 %} M109 T0 S{EXTRUDER_TEMP} {% endif %} {% if EXTRUDER_TEMP1 != 0 %} M109 T1 S{EXTRUDER_TEMP1} {% endif %} {% if CHAMBER_TEMP != 0 %} M191 S{CHAMBER_TEMP} {% endif %} G92 E0 M117 Printing star... [gcode_macro END_PRINT] gcode: M400 G92 E0 G1 E-10.0 F3600 G91 G0 Z1.00 X20.0 Y20.0 F6000 TURN_OFF_HEATERS M107 G1 Z2 F3000 G90 G0 X590 Y590 F3600 # BED_MESH_CLEAR [gcode_macro LOAD_FILAMENT] variable_load_distance: 120 variable_purge_distance: 25 gcode: {% set speed = params.SPEED|default(200) %} {% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity * 20 %} SAVE_GCODE_STATE NAME=load_state G91 G92 E0 G1 E{load_distance} F{max_velocity} # fast-load G1 E{purge_distance} F{speed} # purge RESTORE_GCODE_STATE NAME=load_state [gcode_macro UNLOAD_FILAMENT] variable_unload_distance: 120 variable_purge_distance: 25 gcode: {% set speed = params.SPEED|default(200) %} {% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity * 20 %} SAVE_GCODE_STATE NAME=unload_state G91 G92 E0 G1 E{purge_distance} F{speed} # purge G1 E-{unload_distance} F{max_velocity} # fast-unload RESTORE_GCODE_STATE NAME=unload_state [gcode_macro SET_X_OFFSET] gcode: {% set svv = printer.save_variables.variables %} {% set dual_x_offset=params.S|default(-60)|float %} SAVE_VARIABLE VARIABLE=dual_x_offset VALUE={dual_x_offset} [gcode_macro SET_Y_OFFSET] gcode: {% set svv = printer.save_variables.variables %} {% set dual_y_offset=params.S|default(0)|float %} SAVE_VARIABLE VARIABLE=dual_y_offset VALUE={dual_y_offset} [gcode_macro SET_Z_OFFSET] gcode: {% set svv = printer.save_variables.variables %} {% set dual_z_offset=params.S|default(0)|float %} SAVE_VARIABLE VARIABLE=dual_z_offset VALUE={dual_z_offset} [gcode_macro _ACTIVATE_DEFAULT_EXTRUDER] gcode: {% if printer.toolhead.extruder == 'extruder' %} T0 {% elif printer.toolhead.extruder == 'extruder1' %} T1 {% endif %} [gcode_macro G28] rename_existing: C28 gcode: {% set homing_cmd = ''%} {% set do_x = 'X' in params|string %} {% set do_y = 'Y' in params|string %} {% set do_z = 'Z' in params|string %} {% if do_x %} {% set homing_cmd = 'X ' %} {% endif %} {% if do_y %} {% set homing_cmd = homing_cmd + 'Y ' %} {% endif %} {% if do_z %} {% if 'x' not in printer.toolhead.homed_axes|lower or 'y' not in printer.toolhead.homed_axes|lower %} {% set homing_cmd = 'X Y Z' %} {% else %} {% set homing_cmd = homing_cmd + 'Z' %} {% endif %} {% endif %} {% if not homing_cmd %} C28 _ACTIVATE_DEFAULT_EXTRUDER {% else %} C28 {homing_cmd} {% if 'X' in homing_cmd %} _ACTIVATE_DEFAULT_EXTRUDER {% endif %} {% endif %} [gcode_macro M141] gcode: {% set s = params.S|default(0)|float %} {% if params.S is defined %} SET_HEATER_TEMPERATURE HEATER=chamber target={s|int} {% endif %} [gcode_macro M191] gcode: {% set s = params.S|default(0)|float %} {% if params.S is defined %} M141 S{s} {% if s != 0 %} TEMPERATURE_WAIT SENSOR=chamber MINIMUM={s-1} MAXIMUM={s+2} {% endif %} {% endif %} [gcode_macro M84] rename_existing: C84 gcode: C84 SET_STEPPER_ENABLE STEPPER=stepper_z enable=1