diff --git a/config/.moonraker.conf.bkp b/config/.moonraker.conf.bkp new file mode 100644 index 0000000..dae72d3 --- /dev/null +++ b/config/.moonraker.conf.bkp @@ -0,0 +1,72 @@ +[server] +host = 0.0.0.0 +port = 7125 +max_upload_size = 4096 +klippy_uds_address = ~/printer_data/comms/klippy.sock + +[file_manager] +enable_object_processing = True + +[authorization] +cors_domains = + https://my.mainsail.xyz + http://my.mainsail.xyz + http://*.local + http://*.lan +trusted_clients = + 10.0.0.0/8 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.168.0.0/16 + FE80::/10 + ::1/128 + +[octoprint_compat] + +[history] + +[announcements] +subscriptions = + mainsail + +[update_manager] +refresh_interval = 168 +enable_auto_refresh = True + +[update_manager mainsail] +type = web +channel = stable +repo = mainsail-crew/mainsail +path = ~/mainsail + +[update_manager mainsail-config] +type = git_repo +primary_branch = master +path = ~/mainsail-config +origin = https://github.com/mainsail-crew/mainsail-config.git +managed_services = klipper + +[update_manager crowsnest] +type = git_repo +path = ~/crowsnest +origin = https://github.com/mainsail-crew/crowsnest.git +managed_services = crowsnest +install_script = tools/pkglist.sh + +[update_manager sonar] +type = git_repo +path = ~/sonar +origin = https://github.com/mainsail-crew/sonar.git +primary_branch = main +managed_services = sonar +install_script = tools/install.sh + +[update_manager Klipper-Adaptive-Meshing-Purging] +type = git_repo +channel = dev +path = ~/Klipper-Adaptive-Meshing-Purging +origin = https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging.git +managed_services = klipper +primary_branch = main + diff --git a/config/KAMP b/config/KAMP new file mode 120000 index 0000000..d58a04d --- /dev/null +++ b/config/KAMP @@ -0,0 +1 @@ +/home/pi/Klipper-Adaptive-Meshing-Purging/Configuration \ No newline at end of file diff --git a/config/KAMP_Settings.cfg b/config/KAMP_Settings.cfg new file mode 100644 index 0000000..42e8a87 --- /dev/null +++ b/config/KAMP_Settings.cfg @@ -0,0 +1,36 @@ +# Below you can include specific configuration files depending on what you want KAMP to do: + +[include ./KAMP/Adaptive_Meshing.cfg] # Include to enable adaptive meshing configuration. +[include ./KAMP/Line_Purge.cfg] # Include to enable adaptive line purging configuration. +#[include ./KAMP/Voron_Purge.cfg] # Include to enable adaptive Voron logo purging configuration. +[include ./KAMP/Smart_Park.cfg] # Include to enable the Smart Park function, which parks the printhead near the print area for final heating. + +[gcode_macro _KAMP_Settings] +description: This macro contains all adjustable settings for KAMP + +# The following variables are settings for KAMP as a whole. +variable_verbose_enable: True # Set to True to enable KAMP information output when running. This is useful for debugging. + +# The following variables are for adjusting adaptive mesh settings for KAMP. +variable_mesh_margin: 20 # Expands the mesh size in millimeters if desired. Leave at 0 to disable. +variable_fuzz_amount: 0 # Slightly randomizes mesh points to spread out wear from nozzle-based probes. Leave at 0 to disable. + +# The following variables are for those with a dockable probe like Klicky, Euclid, etc. # ---------------- Attach Macro | Detach Macro +variable_probe_dock_enable: False # Set to True to enable the usage of a dockable probe. # --------------------------------------------- +variable_attach_macro: 'Attach_Probe' # The macro that is used to attach the probe. # Klicky Probe: 'Attach_Probe' | 'Dock_Probe' +variable_detach_macro: 'Dock_Probe' # The macro that is used to store the probe. # Euclid Probe: 'Deploy_Probe' | 'Stow_Probe' + # Legacy Gcode: 'M401' | 'M402' + +# The following variables are for adjusting adaptive purge settings for KAMP. +variable_purge_height: 0.8 # Z position of nozzle during purge, default is 0.8. +variable_tip_distance: 3 # Distance between tip of filament and nozzle before purge. Should be similar to PRINT_END final retract amount. +variable_purge_margin: 20 # Distance the purge will be in front of the print area, default is 10. +variable_purge_amount: 40 # Amount of filament to be purged prior to printing. +variable_flow_rate: 12 # Flow rate of purge in mm3/s. Default is 12. + +# The following variables are for adjusting the Smart Park feature for KAMP, which will park the printhead near the print area at a specified height. +variable_smart_park_height: 10 # Z position for Smart Park, default is 10. + +gcode: # Gcode section left intentionally blank. Do not disturb. + + {action_respond_info(" Running the KAMP_Settings macro does nothing, it is only used for storing KAMP settings. ")} diff --git a/config/moonraker.conf b/config/moonraker.conf index 8eaa22f..bf0713f 100644 --- a/config/moonraker.conf +++ b/config/moonraker.conf @@ -89,3 +89,12 @@ origin: https://github.com/mainsail-crew/sonar.git primary_branch: main managed_services: sonar install_script: tools/install.sh + +# Adaptive Leveling Mesh plugin +[update_manager Klipper-Adaptive-Meshing-Purging] +type: git_repo +channel: dev +path: ~/Klipper-Adaptive-Meshing-Purging +origin: https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging.git +managed_services: klipper +primary_branch: main diff --git a/config/printer-20240901_185056.cfg b/config/printer-20240901_185056.cfg new file mode 100644 index 0000000..13ae29f --- /dev/null +++ b/config/printer-20240901_185056.cfg @@ -0,0 +1,172 @@ +# This file contains common pin mappings for the 2018 Creality +# Ender 3. To use this config, the firmware should be compiled for the +# AVR atmega1284p. + +# Note, a number of Melzi boards are shipped with a bootloader that +# requires the following command to flash the board: +# avrdude -p atmega1284p -c arduino -b 57600 -P /dev/ttyUSB0 -U out/klipper.elf.hex +# If the above command does not work and "make flash" does not work +# then one may need to flash a bootloader to the board - see the +# Klipper docs/Bootloaders.md file for more information. + +[include mainsail.cfg] + +[include scottc.cfg] + +# See docs/Config_Reference.md for a description of parameters. + +[stepper_x] +step_pin: PD7 +dir_pin: !PC5 +enable_pin: !PD6 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC2 +position_endstop: 0 +position_max: 235 +homing_speed: 50 + +[stepper_y] +step_pin: PC6 +dir_pin: !PC7 +enable_pin: !PD6 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^PC3 +position_endstop: 0 +position_max: 235 +homing_speed: 50 + +[stepper_z] +step_pin: PB3 +dir_pin: PB2 +enable_pin: !PA5 +microsteps: 16 +rotation_distance: 8 +endstop_pin: probe:z_virtual_endstop +position_max: 250 + +[extruder] +max_extrude_cross_section: 200 ### DELETE ME? +max_extrude_only_distance: 100.0 +step_pin: PB1 +dir_pin: !PB0 +enable_pin: !PD6 +microsteps: 16 +rotation_distance: 23.046 +nozzle_diameter: 0.600 +filament_diameter: 1.750 +heater_pin: PD5 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA7 +min_temp: 0 +max_temp: 250 + +[heater_bed] +heater_pin: PD4 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA6 +min_temp: 0 +max_temp: 80 + +[fan] +pin: PB4 + +[mcu] +serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 +baud: 250000 + +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 5 +max_z_accel: 100 + +[bed_screws] +screw1: 30.5, 37 +screw2: 30.5, 207 +screw3: 204.5, 207 +screw4: 204.5, 37 + +[display] +lcd_type: st7920 +cs_pin: PA3 +sclk_pin: PA1 +sid_pin: PC1 +encoder_pins: ^PD2, ^PD3 +click_pin: ^!PC0 + +# The print bed can move so far to the front, that the nozzle can reach the +# plastic cover of the print bed heater cable (only when the bed is moved by +# hand). By homing the Y axis before the X axis, it is ensured the nozzle will +# not melt through the plastic part. +# BEWARE: You will lose the ability to home axes individually. The printer will +# always home all axes for every G28 command. +#[homing_override] +#gcode: +# G28 Y0 +# G28 X0 +# G28 Z0 + +[bltouch] +sensor_pin: ^PC4 +control_pin: PA4 +x_offset: -40.00 +y_offset: -8.00 +z_offset: 2.60 + +[safe_z_home] +home_xy_position: 162, 125 # Change coordinates to the center of your print bed +speed: 50 +z_hop: 10 # Move up 10mm +z_hop_speed: 5 + +[bed_mesh] +speed: 120 +horizontal_move_z: 5 +mesh_min: 20, 20 +mesh_max: 195, 220 +mesh_pps: 2, 2 +probe_count: 8,8 +algorithm: bicubic +fade_start: 1 +fade_end: 10 +fade_target: 0 + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [heater_bed] +#*# control = pid +#*# pid_kp = 64.222 +#*# pid_ki = 1.278 +#*# pid_kd = 806.790 +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 26.561 +#*# pid_ki = 1.476 +#*# pid_kd = 119.524 +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# 0.027500, 0.022500, -0.012500, -0.017500, -0.042500, -0.050000, -0.047500, -0.035000 +#*# 0.062500, 0.047500, 0.015000, 0.010000, -0.022500, -0.030000, -0.027500, -0.037500 +#*# 0.110000, 0.100000, 0.050000, 0.037500, -0.010000, -0.022500, -0.027500, -0.035000 +#*# 0.117500, 0.105000, 0.065000, 0.037500, 0.000000, -0.007500, -0.022500, -0.022500 +#*# 0.132500, 0.112500, 0.072500, 0.055000, 0.017500, -0.007500, -0.017500, -0.025000 +#*# 0.152500, 0.125000, 0.087500, 0.060000, 0.025000, 0.005000, -0.002500, -0.010000 +#*# 0.105000, 0.102500, 0.062500, 0.045000, 0.022500, 0.015000, 0.015000, 0.025000 +#*# 0.100000, 0.087500, 0.055000, 0.055000, 0.032500, 0.025000, 0.037500, 0.035000 +#*# x_count = 8 +#*# y_count = 8 +#*# mesh_x_pps = 2 +#*# mesh_y_pps = 2 +#*# algo = bicubic +#*# tension = 0.2 +#*# min_x = 20.0 +#*# max_x = 195.0 +#*# min_y = 20.0 +#*# max_y = 219.99 diff --git a/config/printer.cfg b/config/printer.cfg index e611dd3..f5f8f1d 100644 --- a/config/printer.cfg +++ b/config/printer.cfg @@ -9,10 +9,40 @@ # then one may need to flash a bootloader to the board - see the # Klipper docs/Bootloaders.md file for more information. +[gcode_macro _CLIENT_VARIABLE] +#variable_use_custom_pos : False ; use custom park coordinates for x,y [True/False] +#variable_custom_park_x : 0.0 ; custom x position; value must be within your defined min and max of X +#variable_custom_park_y : 0.0 ; custom y position; value must be within your defined min and max of Y +#variable_custom_park_dz : 2.0 ; custom dz value; the value in mm to lift the nozzle when move to park position +#variable_retract : 1.0 ; the value to retract while PAUSE +#variable_cancel_retract : 5.0 ; the value to retract while CANCEL_PRINT +#variable_speed_retract : 35.0 ; retract speed in mm/s +#variable_unretract : 1.0 ; the value to unretract while RESUME +#variable_speed_unretract : 35.0 ; unretract speed in mm/s +#variable_speed_hop : 15.0 ; z move speed in mm/s +#variable_speed_move : 100.0 ; move speed in mm/s +#variable_park_at_cancel : True ; allow to move the toolhead to park while execute CANCEL_PRINT [True/False] +#variable_park_at_cancel_x : None ; different park position during CANCEL_PRINT [None/Position as Float]; park_at_cancel must be True +#variable_park_at_cancel_y : None ; different park position during CANCEL_PRINT [None/Position as Float]; park_at_cancel must be True +## !!! Caution [firmware_retraction] must be defined in the printer.cfg if you set use_fw_retract: True !!! +variable_use_fw_retract : True ; use fw_retraction instead of the manual version [True/False] +#variable_idle_timeout : 0 ; time in sec until idle_timeout kicks in. Value 0 means that no value will be set or restored +#variable_runout_sensor : "" ; If a sensor is defined, it will be used to cancel the execution of RESUME in case no filament is detected. +## Specify the config name of the runout sensor e.g "filament_switch_sensor runout". Hint use the same as in your printer.cfg +## !!! Custom macros, please use with care and review the section of the corresponding macro. +## These macros are for simple operations like setting a status LED. Please make sure your macro does not interfere with the basic macro functions. +## Only single line commands are supported, please create a macro if you need more than one command. +#variable_user_pause_macro : "" ; Everything inside the "" will be executed after the klipper base pause (PAUSE_BASE) function +#variable_user_resume_macro: "" ; Everything inside the "" will be executed before the klipper base resume (RESUME_BASE) function +#variable_user_cancel_macro: "" ; Everything inside the "" will be executed before the klipper base cancel (CANCEL_PRINT_BASE) function +gcode: + [include mainsail.cfg] [include scottc.cfg] +[include KAMP_Settings.cfg] + # See docs/Config_Reference.md for a description of parameters. [stepper_x] @@ -47,6 +77,8 @@ endstop_pin: probe:z_virtual_endstop position_max: 250 [extruder] +###max_extrude_cross_section: 200 ### DELETE ME? - Cura bug? +max_extrude_cross_section: 5 ### Required by KAMP max_extrude_only_distance: 100.0 step_pin: PB1 dir_pin: !PB0 @@ -77,8 +109,8 @@ baud: 250000 [printer] kinematics: cartesian -max_velocity: 300 -max_accel: 3000 +max_velocity: 150 +max_accel: 4000 max_z_velocity: 5 max_z_accel: 100 @@ -127,12 +159,27 @@ horizontal_move_z: 5 mesh_min: 20, 20 mesh_max: 195, 220 mesh_pps: 2, 2 -probe_count: 8,8 +#probe_count: 8,8 +probe_count: 5,5 algorithm: bicubic fade_start: 1 fade_end: 10 fade_target: 0 +[firmware_retraction] +retract_length: 5 +# The length of filament (in mm) to retract when G10 is activated, +# and to unretract when G11 is activated (but see +# unretract_extra_length below). The default is 0 mm. +retract_speed: 40 +# The speed of retraction, in mm/s. The default is 20 mm/s. +unretract_extra_length: 0 +# The length (in mm) of *additional* filament to add when +# unretracting. +unretract_speed: 20 +# The speed of unretraction, in mm/s. The default is 10 mm/s. + + #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# @@ -151,14 +198,14 @@ fade_target: 0 #*# [bed_mesh default] #*# version = 1 #*# points = -#*# 0.027500, 0.022500, -0.012500, -0.017500, -0.042500, -0.050000, -0.047500, -0.035000 -#*# 0.062500, 0.047500, 0.015000, 0.010000, -0.022500, -0.030000, -0.027500, -0.037500 -#*# 0.110000, 0.100000, 0.050000, 0.037500, -0.010000, -0.022500, -0.027500, -0.035000 -#*# 0.117500, 0.105000, 0.065000, 0.037500, 0.000000, -0.007500, -0.022500, -0.022500 -#*# 0.132500, 0.112500, 0.072500, 0.055000, 0.017500, -0.007500, -0.017500, -0.025000 -#*# 0.152500, 0.125000, 0.087500, 0.060000, 0.025000, 0.005000, -0.002500, -0.010000 -#*# 0.105000, 0.102500, 0.062500, 0.045000, 0.022500, 0.015000, 0.015000, 0.025000 -#*# 0.100000, 0.087500, 0.055000, 0.055000, 0.032500, 0.025000, 0.037500, 0.035000 +#*# 0.075000, 0.042500, 0.015000, -0.012500, -0.050000, -0.060000, -0.077500, -0.075000 +#*# 0.122500, 0.087500, 0.055000, 0.027500, -0.025000, -0.022500, -0.052500, -0.072500 +#*# 0.142500, 0.112500, 0.075000, 0.045000, -0.012500, -0.022500, -0.055000, -0.060000 +#*# 0.175000, 0.142500, 0.105000, 0.067500, 0.002500, -0.007500, -0.037500, -0.055000 +#*# 0.157500, 0.122500, 0.095000, 0.065000, 0.017500, -0.002500, -0.022500, -0.030000 +#*# 0.202500, 0.157500, 0.125000, 0.085000, 0.030000, 0.007500, -0.017500, -0.030000 +#*# 0.155000, 0.137500, 0.102500, 0.072500, 0.040000, 0.042500, 0.020000, 0.022500 +#*# 0.137500, 0.112500, 0.095000, 0.070000, 0.045000, 0.032500, 0.035000, 0.030000 #*# x_count = 8 #*# y_count = 8 #*# mesh_x_pps = 2 @@ -168,4 +215,4 @@ fade_target: 0 #*# min_x = 20.0 #*# max_x = 195.0 #*# min_y = 20.0 -#*# max_y = 219.99 +#*# max_y = 219.98999999999998 diff --git a/config/scottc.cfg b/config/scottc.cfg index b8683c2..2e2c524 100644 --- a/config/scottc.cfg +++ b/config/scottc.cfg @@ -6,7 +6,7 @@ # Enable arcs support [gcode_arcs] -resolution: 0.1 +resolution: 1 ### END @@ -45,6 +45,8 @@ gcode: ##G1 Z0.15 F300 # Wait for bed to reach temperature M190 S{BED_TEMP} + # KAMP - move printhead near print area + SMART_PARK # Set and wait for nozzle to reach temperature M109 S{EXTRUDER_TEMP}