From 633b62d3f502e372e2ad598f6494efc67fe8d373 Mon Sep 17 00:00:00 2001 From: Konstantin Koslowski Date: Sun, 1 Aug 2021 09:56:57 +0100 Subject: [PATCH] initial commit --- moonraker.conf | 35 +++++ printer.cfg | 405 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 440 insertions(+) create mode 100644 moonraker.conf create mode 100644 printer.cfg diff --git a/moonraker.conf b/moonraker.conf new file mode 100644 index 0000000..25f4ea7 --- /dev/null +++ b/moonraker.conf @@ -0,0 +1,35 @@ +[server] +host: 0.0.0.0 +port: 7125 +enable_debug_logging: False +config_path: ~/klipper_config + +[authorization] +enabled: True +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 + +# enables partial support of Octoprint API +[octoprint_compat] + +# enables moonraker to track and store print history. +[history] + +# this enables moonraker's update manager +[update_manager] + +[update_manager client mainsail] +type: web +repo: meteyou/mainsail +path: ~/mainsail \ No newline at end of file diff --git a/printer.cfg b/printer.cfg new file mode 100644 index 0000000..bf177c8 --- /dev/null +++ b/printer.cfg @@ -0,0 +1,405 @@ +# This file contains common configurations and pin mappings for the Prusa +# Mini+, which uses the Prusa Buddy board. + +# To use this config, the firmware should be compiled for the STM32F407. When +# running "make menuconfig", enable "extra low-level configuration setup", +# select the "128KiB + 512 byte offset" bootloader, and USB communication. +# Connect the printer to your Raspberry Pi using the printer's micro-USB port. +# If you prefer to remove Prusa's stock bootloader entirely, select the +# "No bootloader" option. + +# When flashing for the first time, you will need to break the "appendix" +# on the Buddy board, then put the device into DFU mode by moving the jumper +# on the 3-pin header (older boards) or shorting the 2-pin header (newer boards) +# and resetting, and finally use "make flash" to install Klipper. Once Klipper is +# installed, you no longer need the jumper - just use "make flash" which will +# automatically put the device into DFU mode. + +# Note that if you were previously running Prusa firmware, you must fully +# power cycle the board after flashing. Otherwise, Klipper will be unable to +# communicate with the TMC2209s due to the abrupt change in the baud rate, +# and will show this error: "Unable to read tmc uart register IFCNT". + +# See docs/Config_Reference.md for a description of parameters. + +[pause_resume] + +[display_status] + +[virtual_sdcard] +path: ~/gcode_files + +###################################################################### +# Macros +###################################################################### + +# custom slicer START_PRINT and END_PRINT macros +[gcode_macro START_PRINT] +description: start printing +gcode: + {% set BED_TEMP = params.BED_TEMP|default(60)|float %} + {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(190)|float %} + M140 S{BED_TEMP} # Start bed heating + M109 S{EXTRUDER_TEMP} # Start extruder heating + G90 # Use absolute coordinates + SET_GCODE_OFFSET Z=0.0 # Reset the G-Code Z offset (adjust Z offset if needed) + G28 # Home the printer + G1 Z5 F3000 # Move the nozzle near the bed + G1 Z0.15 F300 # Move the nozzle very close to the bed + M190 S{BED_TEMP} # Wait for bed to reach temperature + M109 S{EXTRUDER_TEMP} # Set and wait for nozzle to reach temperature + CLEAN_NOZZLE # clean the nozzle + +[gcode_macro END_PRINT] +description: end printing +gcode: + M140 S0 # Turn off bed + M104 S0 # Turn off extruder + M106 S0 # Turn off fan + G91 # Use relativ coordinates + G1 X-2 Y-2 E-3 F300 # Move nozzle away from print while retracting + G1 Z10 F3000 # Raise nozzle by 10mm + G90 # Use absolute coordinates + M84 # Disable steppers + +# [gcode_macro PARK] +# description: park the print head +# rename_existing: G27 +# gcode: +# {% set x = params.X|default(140) %} #edit to your park position +# {% set y = params.Y|default(20) %} #edit to your park position +# {% set z = params.Z|default(10)|float %} #edit to your park position +# {% set e = params.E|default(1) %} #edit to your retract length + +[gcode_macro PAUSE] +description: Pause the actual running print +rename_existing: PAUSE_BASE +gcode: + ##### set defaults ##### + {% set x = params.X|default(140) %} #edit to your park position + {% set y = params.Y|default(20) %} #edit to your park position + {% set z = params.Z|default(10)|float %} #edit to your park position + {% set e = params.E|default(1) %} #edit to your retract length + ##### calculate save lift position ##### + {% set max_z = printer.toolhead.axis_maximum.z|float %} + {% set act_z = printer.toolhead.position.z|float %} + {% set lift_z = z|abs %} + {% if act_z < (max_z - lift_z) %} + {% set z_safe = lift_z %} + {% 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} + G90 + G1 X{x} Y{y} F6000 + {% else %} + {action_respond_info("Printer not homed")} + {% endif %} + +[gcode_macro RESUME] +description: Resume the actual running print +rename_existing: RESUME_BASE +gcode: + ##### set defaults ##### + {% set e = params.E|default(1) %} #edit to your retract length + #### get VELOCITY parameter if specified #### + {% if 'VELOCITY' in params|upper %} + {% set get_params = ('VELOCITY=' + params.VELOCITY) %} + {%else %} + {% set get_params = "" %} + {% endif %} + ##### end of definitions ##### + G91 + {% if printer.extruder.can_extrude|lower == 'true' %} + 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 + +[gcode_macro CLEAN_NOZZLE]] +description: clean the nozzle +gcode: + {% set BED_TEMP = params.BED_TEMP|default(60)|float %} + {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(190)|float %} + {% set X1 = params.X1|default(120)|float %} + {% set X2 = params.X2|default(40)|float %} + {% set MANUAL = params.MANUAL|default(0) %} + SAVE_GCODE_STATE NAME=clean_nozzle_state + {% if MANUAL %} + G28 # home + M104 S{EXTRUDER_TEMP} # start heating extruder + M140 S{BED_TEMP} # start heating bed + M109 S{EXTRUDER_TEMP} # wait for extruder to reach temperature + M190 S{BED_TEMP} # wait for bed to reach temperature + {% endif %} + G90 # absolute positioning + G92 E0 + G0 F1500 + G0 X{X1} Y0 Z5 + G0 X{X1} Y0 Z0 + G0 X{X2} Y0 Z0 E10 + RESTORE_GCODE_STATE NAME=clean_nozzle_state + +[gcode_macro M600] +description: Change filament +gcode: + {% set X = params.X|default(50)|float %} + {% set Y = params.Y|default(0)|float %} + {% set Z = params.Z|default(10)|float %} + SAVE_GCODE_STATE NAME=M600_state + PAUSE + G91 + G1 E-.8 F2700 + G1 Z{Z} + G90 + G1 X{X} Y{Y} F3000 + G91 + G1 E-50 F1000 + RESTORE_GCODE_STATE NAME=M600_state + +## Remove unused gcodes +[gcode_macro G29] +description: Bed Leveling +gcode: + G4 + +[gcode_macro M201] +description: Set Print Max Acceleration +gcode: + G4 + +[gcode_macro M203] +description: Set Max Feedrate +gcode: + G4 + +[gcode_macro M205] +description: Set Advanced Settings +gcode: + G4 + +[gcode_macro M900] +description: Linear Advance Factor +gcode: + G4 + +[stepper_x] +step_pin: PD1 +dir_pin: PD0 +enable_pin: !PD3 +microsteps: 16 +rotation_distance: 32 # 200 * 16 / 100 +endstop_pin: tmc2209_stepper_x:virtual_endstop +position_endstop: 180.4 +position_min: -2 +position_max: 180.4 +homing_speed: 50 +homing_retract_dist: 0 + +[stepper_y] +step_pin: PD13 +dir_pin: PD12 +enable_pin: !PD14 +microsteps: 16 +rotation_distance: 32 # 200 * 16 / 100 +endstop_pin: tmc2209_stepper_y:virtual_endstop +position_endstop: -3 +position_min: -3 +position_max: 180 +homing_speed: 50 +homing_retract_dist: 0 + +[stepper_z] +step_pin: PD4 +dir_pin: !PD15 +enable_pin: !PD2 +microsteps: 16 +rotation_distance: 4 +endstop_pin: probe:z_virtual_endstop +position_min: -3 +position_max: 185 + +[extruder] +step_pin: PD9 +dir_pin: !PD8 +enable_pin: !PD10 +microsteps: 16 +rotation_distance: 26.2564 # (200 * 16 * 48/18) / 325 +gear_ratio: 48:18 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PB1 +sensor_type: ATC Semitec 104GT-2 +sensor_pin: PC0 +#control: pid +# Prusa's firmware defaults. +#pid_Kp: 7 +#pid_Ki: 0.5 +#pid_Kd: 45 +min_temp: 10 +max_temp: 305 + +[tmc2209 stepper_x] +uart_pin: PD5 +uart_address: 1 +diag_pin: ^PE2 +driver_SGTHRS: 130 +run_current: 0.35 +sense_resistor: 0.22 +stealthchop_threshold: 999999 + +[tmc2209 stepper_y] +uart_pin: PD5 +uart_address: 3 +diag_pin: ^PE1 +driver_SGTHRS: 130 +run_current: 0.35 +sense_resistor: 0.22 +stealthchop_threshold: 999999 + +[tmc2209 stepper_z] +uart_pin: PD5 +uart_address: 0 +diag_pin: ^PE3 +driver_SGTHRS: 100 +run_current: 0.35 +sense_resistor: 0.22 +stealthchop_threshold: 999999 + +[tmc2209 extruder] +uart_pin: PD5 +uart_address: 2 +diag_pin: ^PA15 +driver_SGTHRS: 100 +run_current: 0.4 +sense_resistor: 0.22 + +[heater_bed] +heater_pin: PB0 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PA4 +#control: pid +# Prusa's firmware defaults. +#pid_Kp: 120 +#pid_Ki: 1.5 +#pid_Kd: 600 +min_temp: 10 +max_temp: 110 + +# Hotend fan. +# The stock firmware uses control ranges of PWM 0-50%, RPM 1000-8000. +# Change fan_speed below to match your preference. Measured speeds: +# fan_speed 0.5: 50% PWM = 4000RPM (Prusa stock default speed) +# fan_speed 1.0: 100% PWM = 8000RPM (safe but loud) +[heater_fan hotend_fan] +pin: PE9 +tachometer_pin: PE14 +fan_speed: 0.5 + +# Part cooling fan. +# The stock firmware uses control ranges of PWM 10-50%, RPM 500-5000. +# To match stock firmware, set the Klipper fan speed to 50%. This speed +# can be safely increased to 100% for better part cooling. Measured speeds: +# 50% PWM = 2500RPM (Prusa stock default speed) +# 100% PWM = 5000RPM (better cooling, still quiet) +[fan] +pin: PE11 +tachometer_pin: PE10 + +# The SuperPINDA has built-in temperature compensation and no thermistor output, +# so no compensation table is needed here. +[probe] +pin: PA8 +x_offset: -29 +y_offset: -3 +#z_offset: 0 # set this to your Live Z Offset, but negated (invert the sign) +speed: 6.0 + +[safe_z_home] +home_xy_position: 147.4,21.1 +z_hop: 4 + +[bed_mesh] +speed: 100 +horizontal_move_z: 5 +mesh_min: 10,10 +mesh_max: 141,167 +probe_count: 4,4 + +[filament_switch_sensor filament_sensor] +switch_pin: ^PB4 +pause_on_runout: True + +[mcu] +serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_2B0024001547393432343038-if00 +restart_method: command + +[printer] +kinematics: cartesian +# Prusa firmware defaults. +max_velocity: 180 +max_accel: 1250 +max_z_velocity: 12 +max_z_accel: 400 + +[display] +lcd_type: st7789v +spi_bus: spi2a +rst_pin: PC8 +cs_pin: PC9 +rs_pin: PD11 +encoder_pins: ^PE13, ^PE15 +click_pin: ^!PE12 + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 21.307 +#*# pid_ki = 0.911 +#*# pid_kd = 124.644 +#*# +#*# [heater_bed] +#*# control = pid +#*# pid_kp = 57.528 +#*# pid_ki = 1.059 +#*# pid_kd = 780.942 +#*# +#*# [probe] +#*# z_offset = 1.480 +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# -0.058750, -0.003750, 0.102500, 0.057500 +#*# -0.086250, -0.037500, -0.027500, 0.007500 +#*# -0.022500, -0.057500, -0.070000, -0.011250 +#*# -0.066250, -0.102500, -0.045000, -0.071250 +#*# tension = 0.2 +#*# min_x = 10.0 +#*# algo = lagrange +#*# y_count = 4 +#*# mesh_y_pps = 2 +#*# min_y = 10.0 +#*# x_count = 4 +#*# max_y = 166.99 +#*# mesh_x_pps = 2 +#*# max_x = 140.98