Created
April 23, 2024 18:20
-
-
Save Yornik/b9e22abc6a535ba6ce65bf32eb7b5f69 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This file contains common pin mappings for the BigTreeTech Octopus X7 | |
| # To use this config, the firmware should be compiled for the STM32F407 with a "32KiB bootloader" | |
| # after running "make", copy the generated "klipper/out/klipper.bin" file to a | |
| # file named "firmware.bin" on an SD card and then restart the OctoPus with that SD card. | |
| # See docs/Config_Reference.md for a description of parameters. | |
| ## Formbot / Vivedino Troodon 2.0 | |
| ## Firmware Version: 1.2 | |
| ## Compiled By: YGK3D | |
| ## Release Date: 02/09/23 | |
| [include mainsail.cfg] | |
| #[include PIS.cfg] | |
| [mcu] | |
| ## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify | |
| ##-------------------------------------------------------------------- | |
| serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_410032001147313335343634-if00 | |
| restart_method: command | |
| ##-------------------------------------------------------------------- | |
| [printer] | |
| kinematics: corexy | |
| max_velocity: 300 | |
| max_accel: 3800 | |
| max_z_velocity: 15 #Max 15 for 12V TMC Drivers, can increase for 24V | |
| max_z_accel: 350 | |
| square_corner_velocity: 5.0 | |
| [force_move] | |
| enable_force_move: True | |
| ##################################################################### | |
| # X/Y Stepper Settings | |
| ##################################################################### | |
| ## B Stepper - Left | |
| ## Connected to MOTOR_0 | |
| ## Endstop connected to DIAG_0 | |
| [stepper_x] | |
| step_pin: PA3 | |
| dir_pin: PA4 | |
| enable_pin: !PA1 | |
| rotation_distance: 40 | |
| microsteps: 32 | |
| full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper | |
| endstop_pin: PF2 | |
| position_min: 0 | |
| ##-------------------------------------------------------------------- | |
| ## Uncomment below for 250mm build | |
| #position_endstop: 250 | |
| #position_max: 250 | |
| ## Uncomment for 300mm build | |
| #position_endstop: 300 | |
| #position_max: 300 | |
| ## Uncomment for 350mm build | |
| position_endstop: 350 | |
| position_max: 350 | |
| ##-------------------------------------------------------------------- | |
| homing_speed: 100 #Max 100 | |
| homing_retract_dist: 5 | |
| homing_positive_dir: true | |
| ## Make sure to update below for your relevant driver (2208 or 2209) | |
| [tmc2209 stepper_x] | |
| uart_pin: PA2 | |
| interpolate: false | |
| run_current: 0.79 | |
| sense_resistor: 0.110 | |
| stealthchop_threshold: 0 | |
| ## A Stepper - Right | |
| ## Connected to MOTOR_1 | |
| ## Endstop connected to DIAG_1 | |
| [stepper_y] | |
| step_pin: PC2 | |
| dir_pin: PC3 | |
| enable_pin: !PC1 | |
| rotation_distance: 40 | |
| microsteps: 32 | |
| full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper | |
| endstop_pin: PC15 | |
| position_min: 0 | |
| ##-------------------------------------------------------------------- | |
| ## Uncomment for 250mm build | |
| #position_endstop: 250 | |
| #position_max: 250 | |
| ## Uncomment for 300mm build | |
| #position_endstop: 300 | |
| #position_max: 300 | |
| ## Uncomment for 350mm build | |
| position_endstop: 350 | |
| position_max: 350 | |
| ##-------------------------------------------------------------------- | |
| homing_speed: 25 #Max 100 | |
| homing_retract_dist: 5 | |
| homing_positive_dir: true | |
| ## Make sure to update below for your relevant driver (2208 or 2209) | |
| [tmc2209 stepper_y] | |
| uart_pin: PC0 | |
| interpolate: false | |
| run_current: 0.45 | |
| sense_resistor: 0.110 | |
| stealthchop_threshold: 0 | |
| ##################################################################### | |
| # Z Stepper Settings | |
| ##################################################################### | |
| ## Z0 Stepper - Front Left | |
| ## Connected to MOTOR_4 | |
| ## Endstop connected to DIAG_4 | |
| [stepper_z] | |
| step_pin: PB10 | |
| dir_pin: PB11 | |
| enable_pin: !PE15 | |
| rotation_distance: 40 | |
| gear_ratio: 80:16 | |
| microsteps: 32 | |
| endstop_pin: probe:z_virtual_endstop | |
| ## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0) | |
| ## (+) value = endstop above Z0, (-) value = endstop below | |
| ## Increasing position_endstop brings nozzle closer to the bed | |
| ## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config | |
| #position_endstop: 0 | |
| ##-------------------------------------------------------------------- | |
| ## Uncomment below for 250mm build | |
| #position_max: 210 | |
| ## Uncomment below for 300mm build | |
| #position_max: 260 | |
| ## Uncomment below for 350mm build | |
| position_max: 325 | |
| ##-------------------------------------------------------------------- | |
| position_min: -5 | |
| homing_speed: 8 | |
| second_homing_speed: 3 | |
| homing_retract_dist: 5 | |
| ## Make sure to update below for your relevant driver (2208 or 2209) | |
| [tmc2209 stepper_z] | |
| uart_pin: PE14 | |
| interpolate: false | |
| run_current: 0.45 | |
| sense_resistor: 0.110 | |
| stealthchop_threshold: 0 | |
| ## Z1 Stepper - Rear Left | |
| ## Connected to MOTOR_3 | |
| [stepper_z1] | |
| step_pin: PE11 | |
| dir_pin: !PE12 | |
| enable_pin: !PE10 | |
| rotation_distance: 40 | |
| gear_ratio: 80:16 | |
| microsteps: 32 | |
| ## Make sure to update below for your relevant driver (2208 or 2209) | |
| [tmc2209 stepper_z1] | |
| uart_pin: PE9 | |
| interpolate: false | |
| run_current: 0.45 | |
| sense_resistor: 0.110 | |
| stealthchop_threshold: 0 | |
| ## Z2 Stepper - Rear Right | |
| ## Connected to MOTOR_6 | |
| [stepper_z2] | |
| step_pin: PE7 | |
| dir_pin: PE8 | |
| enable_pin: !PG1 | |
| rotation_distance: 40 | |
| gear_ratio: 80:16 | |
| microsteps: 32 | |
| ## Make sure to update below for your relevant driver (2208 or 2209) | |
| [tmc2209 stepper_z2] | |
| uart_pin: PG0 | |
| interpolate: false | |
| run_current: 0.45 | |
| sense_resistor: 0.110 | |
| stealthchop_threshold: 0 | |
| ## Z3 Stepper - Front Right | |
| ## Connected to MOTOR_5 | |
| [stepper_z3] | |
| step_pin: PF13 | |
| dir_pin: !PF14 | |
| enable_pin: !PF12 | |
| rotation_distance: 40 | |
| gear_ratio: 80:16 | |
| microsteps: 32 | |
| ## Make sure to update below for your relevant driver (2208 or 2209) | |
| [tmc2209 stepper_z3] | |
| uart_pin: PF11 | |
| interpolate: false | |
| run_current: 0.45 | |
| sense_resistor: 0.110 | |
| stealthchop_threshold: 0 | |
| ##################################################################### | |
| # Extruder | |
| ##################################################################### | |
| ## Connected to MOTOR_2 | |
| ## Heater - HE0 | |
| ## Thermistor - T0 | |
| [extruder] | |
| step_pin: PB0 | |
| dir_pin: PB1 | |
| enable_pin: !PC5 | |
| ## Update value below when you perform extruder calibration | |
| ## If you ask for 100mm of filament, but in reality it is 98mm: | |
| ## rotation_distance = <previous_rotation_distance> * <actual_extrude_distance> / 100 | |
| ## 22.6789511 is a good starting point | |
| rotation_distance: 22.6789511 #Bondtech 5mm Drive Gears | |
| ## Update Gear Ratio depending on your Extruder Type | |
| ## Use 50:10 for Stealthburner/Clockwork 2 | |
| ## Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio) | |
| ## Use 80:20 for M4, M3.1 | |
| gear_ratio: 50:10 #BMG Gear Ratio | |
| microsteps: 32 | |
| full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree | |
| nozzle_diameter: 0.4 | |
| filament_diameter: 1.75 | |
| heater_pin: PB9 | |
| ## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types. | |
| ## Use "Generic 3950" for NTC 100k 3950 thermistors | |
| sensor_type: ATC Semitec 104NT-4-R025H42G | |
| sensor_pin: PF3 | |
| min_temp: 0 | |
| max_temp: 315 | |
| max_power: 1.0 | |
| min_extrude_temp: 170 | |
| max_extrude_cross_section: 5.64 | |
| max_extrude_only_distance: 200 | |
| #control = pid | |
| #pid_kp = 26.213 | |
| #pid_ki = 1.304 | |
| #pid_kd = 131.721 | |
| ## Try to keep pressure_advance below 1.0 | |
| pressure_advance: 0.0725 | |
| ## Default is 0.040, leave stock | |
| pressure_advance_smooth_time: 0.040 | |
| ## E0 on MOTOR_2 | |
| ## Make sure to update below for your relevant driver (2208 or 2209) | |
| [tmc2209 extruder] | |
| uart_pin: PC4 | |
| interpolate: false | |
| run_current: 0.45 | |
| sense_resistor: 0.110 | |
| stealthchop_threshold: 0 | |
| ##################################################################### | |
| # Bed Heater | |
| ##################################################################### | |
| ## SSR Pin - HE1 | |
| ## Thermistor - TB | |
| [heater_bed] | |
| ## Uncomment the following line if using the default SSR wiring from the docs site | |
| #heater_pin: PA3 | |
| ## Other wiring guides may use BED_OUT to control the SSR. Uncomment the following line for those cases | |
| heater_pin: PD12 | |
| ## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types. | |
| ## Use "Generic 3950" for Keenovo heaters | |
| sensor_type: Generic 3950 | |
| sensor_pin: PA0 | |
| ## Adjust Max Power so your heater doesn't warp your bed. Rule of thumb is 0.4 watts / cm^2 . | |
| max_power: 0.6 | |
| min_temp: 0 | |
| max_temp: 120 | |
| #control: pid | |
| #pid_kp: 58.437 | |
| #pid_ki: 2.347 | |
| #pid_kd: 363.769 | |
| ##################################################################### | |
| # Probe | |
| ##################################################################### | |
| ## Inductive Probe | |
| ## This probe is not used for Z height, only Quad Gantry Leveling | |
| [probe] | |
| #-------------------------------------------------------------------- | |
| ## Select the probe port by type: | |
| ## For the PROBE port. Will not work with Diode. May need pull-up resistor from signal to 24V. | |
| #pin: ~!PB7 | |
| ## For the DIAG_7 port. NEEDS BAT85 DIODE! Change to !PG15 if probe is NO. | |
| #pin: PG15 | |
| ## For Octopus Pro PROBE port; NPN and PNP proximity switch types can be set by jumper | |
| #pin: ~!PC5 | |
| pin: PF4 | |
| #-------------------------------------------------------------------- | |
| x_offset: 0 | |
| y_offset: 0 | |
| #z_offset: 0 | |
| speed: 2 | |
| samples: 2 | |
| samples_result: median | |
| sample_retract_dist: 1.5 | |
| samples_tolerance: 0.01 | |
| samples_tolerance_retries: 3 | |
| activate_gcode: | |
| {% set PROBE_TEMP = 140 %} | |
| {% set MAX_TEMP = PROBE_TEMP + 5 %} | |
| {% set ACTUAL_TEMP = printer.extruder.temperature %} | |
| {% set TARGET_TEMP = printer.extruder.target %} | |
| {% if TARGET_TEMP > PROBE_TEMP %} | |
| { action_respond_info('Extruder temperature target of %.1fC is too high, lowering to %.1fC' % (TARGET_TEMP, PROBE_TEMP)) } | |
| M109 S{ PROBE_TEMP } | |
| {% else %} | |
| # Temperature target is already low enough, but nozzle may still be too hot. | |
| {% if ACTUAL_TEMP > MAX_TEMP %} | |
| { action_respond_info('Extruder temperature %.1fC is still too high, waiting until below %.1fC' % (ACTUAL_TEMP, MAX_TEMP)) } | |
| TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={ MAX_TEMP } | |
| {% endif %} | |
| {% endif %} | |
| ##################################################################### | |
| # Fan Control | |
| ##################################################################### | |
| ## Print Cooling Fan - FAN0 | |
| [fan] | |
| pin: PB7 | |
| kick_start_time: 0.5 | |
| ## Depending on your fan, you may need to increase this value | |
| ## if your fan will not start. Can change cycle_time (increase) | |
| ## if your fan is not able to slow down effectively | |
| off_below: 0.10 | |
| ## Hotend Fan - FAN1 | |
| [heater_fan hotend_fan] | |
| pin: PB8 | |
| max_power: 1.0 | |
| kick_start_time: 0.5 | |
| heater: extruder | |
| heater_temp: 50.0 | |
| ## If you are experiencing back flow, you can reduce fan_speed | |
| #fan_speed: 1.0 | |
| ## Controller fan - FAN2 | |
| [controller_fan controller_fan] | |
| pin: PC6 | |
| kick_start_time: 0.5 | |
| heater: heater_bed | |
| ## Exhaust fan - FAN3 | |
| [heater_fan exhaust_fan] | |
| pin: PE5 | |
| max_power: 1.0 | |
| shutdown_speed: 0.0 | |
| kick_start_time: 5.0 | |
| heater: heater_bed | |
| heater_temp: 90 | |
| fan_speed: 1.0 | |
| ##################################################################### | |
| # LED Control | |
| ##################################################################### | |
| ## Chamber Lighting - HE2 Connector (Optional) | |
| [output_pin case_light] | |
| pin: PE6 | |
| pwm:true | |
| shutdown_value: 0 | |
| value:0.75 #the brightness at startup (0-1) | |
| cycle_time: 0.01 | |
| ##################################################################### | |
| # Homing and Gantry Adjustment Routines | |
| ##################################################################### | |
| [idle_timeout] | |
| timeout: 60000 | |
| [safe_z_home] | |
| ## XY Location of the Z Endstop Switch | |
| ## Update -10,-10 to the XY coordinates of your endstop pin | |
| ## (such as 157,305) after going through Z Endstop Pin | |
| ## Location Definition step. | |
| home_xy_position: 175,175 | |
| speed:100 | |
| z_hop:10 | |
| ## Use QUAD_GANTRY_LEVEL to level a gantry. | |
| ## Min & Max gantry corners - measure from nozzle at MIN (0,0) and | |
| ## MAX (250, 250), (300,300), or (350,350) depending on your printer size | |
| ## to respective belt positions | |
| [quad_gantry_level] | |
| #-------------------------------------------------------------------- | |
| ## Gantry Corners for 250mm Build | |
| ## Uncomment for 250mm build | |
| #gantry_corners: | |
| # -60,-10 | |
| # 310, 320 | |
| ## Probe points | |
| #points: | |
| # 50,25 | |
| # 50,175 | |
| # 200,175 | |
| # 200,25 | |
| ## Gantry Corners for 300mm Build | |
| ## Uncomment for 300mm build | |
| #gantry_corners: | |
| # -60,-10 | |
| # 360,370 | |
| ## Probe points | |
| #points: | |
| # 50,25 | |
| # 50,225 | |
| # 250,225 | |
| # 250,25 | |
| ## Gantry Corners for 350mm Build | |
| ## Uncomment for 350mm build | |
| gantry_corners: | |
| -60,-10 | |
| 410,420 | |
| # Probe points | |
| points: | |
| 10,10 | |
| 10,340 | |
| 340,340 | |
| 340,10 | |
| #-------------------------------------------------------------------- | |
| speed: 50 | |
| horizontal_move_z: 10 | |
| retries: 8 | |
| retry_tolerance: 0.0075 | |
| max_adjust: 12 | |
| ######################################## | |
| # EXP1 / EXP2 (display) pins | |
| ######################################## | |
| [board_pins] | |
| aliases: | |
| # EXP1 header | |
| EXP1_1=PG5, EXP1_2=PG4, | |
| EXP1_3=PG3, EXP1_4=PG2, | |
| EXP1_5=PD15, EXP1_6=PD14, # Slot in the socket on this side | |
| EXP1_7=PD13, EXP1_8=PD11, | |
| EXP1_9=<GND>, EXP1_10=<5V>, | |
| # EXP2 header | |
| EXP2_1=PB14, EXP2_2=PB13, | |
| EXP2_3=PD10, EXP2_4=PB12, | |
| EXP2_5=PD9, EXP2_6=PB15, # Slot in the socket on this side | |
| EXP2_7=PD8, EXP2_8=<RST>, | |
| EXP2_9=<GND>, EXP2_10=<5V> | |
| ##################################################################### | |
| # Displays | |
| ##################################################################### | |
| ## Uncomment the display that you have | |
| #-------------------------------------------------------------------- | |
| ## RepRapDiscount 128x64 Full Graphic Smart Controller | |
| #[display] | |
| #lcd_type: st7920 | |
| #cs_pin: EXP1_4 | |
| #sclk_pin: EXP1_5 | |
| #sid_pin: EXP1_3 | |
| #menu_timeout: 40 | |
| #encoder_pins: ^EXP2_5, ^EXP2_3 | |
| #click_pin: ^!EXP1_2 | |
| #[output_pin beeper] | |
| #pin: EXP1_1 | |
| #-------------------------------------------------------------------- | |
| ## mini12864 LCD Display | |
| [display] | |
| lcd_type: uc1701 | |
| cs_pin: EXP1_3 | |
| a0_pin: EXP1_4 | |
| rst_pin: EXP1_5 | |
| encoder_pins: ^EXP2_5, ^EXP2_3 | |
| click_pin: ^!EXP1_2 | |
| contrast: 63 | |
| spi_software_miso_pin: EXP2_1 | |
| spi_software_mosi_pin: EXP2_6 | |
| spi_software_sclk_pin: EXP2_2 | |
| # To control Neopixel RGB in mini12864 display | |
| [neopixel btt_mini12864] | |
| pin: EXP1_6 | |
| chain_count: 3 | |
| initial_RED: 0.1 | |
| initial_GREEN: 0.5 | |
| initial_BLUE: 0.2 | |
| color_order: RGB | |
| ## Set RGB values on boot up for each Neopixel. | |
| ## Index 1 = display, Index 2 and 3 = Knob | |
| [delayed_gcode setdisplayneopixel] | |
| initial_duration: 1 | |
| gcode: | |
| SET_LED LED=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0 | |
| SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 | |
| SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3 | |
| #-------------------------------------------------------------------- | |
| ## INPUT SHAPING | |
| # Comment all of the lines in the Displays section before uncommenting the [adxl45] and [resonance_tester] sections below. | |
| # After finding the optimal shaping functions and frequencies, re-comment the [adxl345] and [resonance_tester] sections | |
| # Finally, uncomment the [input_shaper] section and update it with the values you found | |
| #[resonance_tester] | |
| #accel_chip: adxl345 | |
| #probe_points: | |
| # 175,175,20 | |
| # 175,175,120 | |
| # 150,150,150 | |
| # 150,150,250 | |
| # 150,150,300 | |
| [input_shaper] | |
| shaper_freq_x: 55.2 #Replace with the frequency you find using TEST_RESONANCES AXIS=X | |
| shaper_type_x: mzv #Replace with the shaper you find using TEST_RESONANCES AXIS=X | |
| shaper_freq_y: 48.8 #Replace with the frequency you find using TEST_RESONANCES AXIS=Y | |
| shaper_type_y: ei #Replace with the shaper you find using TEST_RESONANCES AXIS=X | |
| #-------------------------------------------------------------------- | |
| [pause_resume] | |
| recover_velocity: 50. | |
| # When capture/restore is enabled, the speed at which to return to | |
| # the captured position (in mm/s). Default is 50.0 mm/s. | |
| [respond] | |
| default_type: echo | |
| # Sets the default prefix of the "M118" and "RESPOND" output to one | |
| # of the following: | |
| # echo: "echo: " (This is the default) | |
| # command: "// " | |
| # error: "!! " | |
| #default_prefix: echo: | |
| # Directly sets the default prefix. If present, this value will | |
| # override the "default_type". | |
| ##################################################################### | |
| # Filament Runout Sensor | |
| ##################################################################### | |
| [filament_switch_sensor filament_sensor] | |
| pause_on_runout: True | |
| # When set to True, a PAUSE will execute immediately after a runout | |
| # is detected. Note that if pause_on_runout is False and the | |
| # runout_gcode is omitted then runout detection is disabled. Default | |
| # is True. | |
| runout_gcode: | |
| M117 Fillement runout. | |
| M600 | |
| # A list of G-Code commands to execute after a filament runout is | |
| # detected. See docs/Command_Templates.md for G-Code format. If | |
| # pause_on_runout is set to True this G-Code will run after the | |
| # PAUSE is complete. The default is not to run any G-Code commands. | |
| #insert_gcode: | |
| # A list of G-Code commands to execute after a filament insert is | |
| # detected. See docs/Command_Templates.md for G-Code format. The | |
| # default is not to run any G-Code commands, which disables insert | |
| # detection. | |
| #event_delay: 3.0 | |
| # The minimum amount of time in seconds to delay between events. | |
| # Events triggered during this time period will be silently | |
| # ignored. The default is 3 seconds. | |
| #pause_delay: 0.5 | |
| # The amount of time to delay, in seconds, between the pause command | |
| # dispatch and execution of the runout_gcode. It may be useful to | |
| # increase this delay if OctoPrint exhibits strange pause behavior. | |
| # Default is 0.5 seconds. | |
| switch_pin: PC14 | |
| # The pin on which the switch is connected. This parameter must be | |
| # provided | |
| [gcode_arcs] | |
| [exclude_object] | |
| [include KAMP/*cfg] | |
| ##################################################################### | |
| # Macros | |
| ##################################################################### | |
| [gcode_macro G32] | |
| gcode: | |
| SAVE_GCODE_STATE NAME=STATE_G32 | |
| G90 | |
| G28 | |
| QUAD_GANTRY_LEVEL | |
| NOZZLE_CLEAN | |
| G28 | |
| ## Uncomment for for your size printer: | |
| #-------------------------------------------------------------------- | |
| ## Uncomment for 250mm build | |
| #G0 X125 Y125 Z30 F3600 | |
| ## Uncomment for 300 build | |
| #G0 X150 Y150 Z30 F3600 | |
| ## Uncomment for 350mm build | |
| G0 X175 Y175 Z30 F3600 | |
| #-------------------------------------------------------------------- | |
| RESTORE_GCODE_STATE NAME=STATE_G32 | |
| [firmware_retraction] | |
| retract_length: 1.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: 30 | |
| # 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: 30 | |
| # The speed of unretraction, in mm/s. The default is 10 mm/s. | |
| # Use PRINT_START for the slicer starting script - please customise for your slicer of choice | |
| [gcode_macro PRINT_START] | |
| variable_parameter_AREA_START : 0,0 | |
| variable_parameter_AREA_END : 0,0 | |
| variable_parameter_EXTRUDER: 220 | |
| variable_parameter_BED: 60 | |
| gcode: | |
| G28 | |
| {% set BED_TEMP = params.BED|default(60)|float %} | |
| {% set EXTRUDER_TEMP = params.EXTRUDER|default(190)|float %} | |
| # Start bed heating | |
| M140 S{BED_TEMP} | |
| TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={BED_TEMP} | |
| M104 S140 | |
| QUAD_GANTRY_LEVEL | |
| G28 Z; | |
| #bed mesh | |
| SETUP_KAMP_MESHING DISPLAY_PARAMETERS=1 LED_ENABLE=1 FUZZ_ENABLE=1 | |
| SETUP_VORON_PURGE DISPLAY_PARAMETERS=1 ADAPTIVE_ENABLE=1 | |
| G90 ; absolute positioning | |
| G1 Z20 F3000 ; move nozzle away from bed | |
| BED_MESH_CLEAR | |
| BED_MESH_CALIBRATE | |
| M104 S{EXTRUDER_TEMP} | |
| TEMPERATURE_WAIT SENSOR=extruder MINIMUM={EXTRUDER_TEMP} | |
| VORON_PURGE | |
| # Use PRINT_END for the slicer ending script - please customise for your slicer of choice | |
| [gcode_macro PRINT_END] | |
| gcode: | |
| # safe anti-stringing move coords | |
| {% set th = printer.toolhead %} | |
| {% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %} | |
| {% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %} | |
| {% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %} | |
| SAVE_GCODE_STATE NAME=STATE_PRINT_END | |
| M400 ; wait for buffer to clear | |
| G92 E0 ; zero the extruder | |
| G1 E-5.0 F1800 ; retract filament | |
| TURN_OFF_HEATERS | |
| G90 ; absolute positioning | |
| G0 X{x_safe} Y{y_safe} Z{z_safe} F20000 ; move nozzle to remove stringing | |
| G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 ; park nozzle at rear | |
| M107 ; turn off fan | |
| BED_MESH_CLEAR | |
| RESTORE_GCODE_STATE NAME=STATE_PRINT_END | |
| ##### | |
| # COLOR CHANGE | |
| ##### | |
| [gcode_macro M600] | |
| 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 | |
| ##### | |
| # FILAMENT MANAGEMENT | |
| ##### | |
| [gcode_macro UNLOAD_FILAMENT] | |
| description: Unloads the filament. Note: be careful with PETG, make sure you inspect the tip of your filament before reloading to avoid jams. | |
| gcode: | |
| SAVE_GCODE_STATE NAME=unload_state | |
| G91 | |
| {% if params.TEMP is defined or printer.extruder.can_extrude|lower == 'false' %} | |
| M117 Heating... | |
| # Heat up hotend to provided temp or 220 as default as that should work OK with most filaments. | |
| M104 S{params.TEMP|default(220, true)} | |
| TEMPERATURE_WAIT SENSOR=extruder MINIMUM={params.TEMP|default(220, true)} | |
| {% endif %} | |
| M117 Unloading filament... | |
| # Extract filament to cold end area | |
| G0 E-5 F3600 | |
| # Wait for three seconds | |
| G4 P3000 | |
| # Push back the filament to smash any stringing | |
| G0 E5 F3600 | |
| # Extract back fast in to the cold zone | |
| G0 E-15 F3600 | |
| # Continue extraction slowly, allow the filament time to cool solid before it reaches the gears | |
| G0 E-130 F300 | |
| M117 Filament unloaded! | |
| RESPOND MSG="Filament unloaded! Please inspect the tip of the filament before reloading." | |
| RESTORE_GCODE_STATE NAME=unload_state | |
| [gcode_macro LOAD_FILAMENT] | |
| description: Loads new filament. Note: be careful with PETG, make sure you inspect the tip of your filament before loading to avoid jams. | |
| gcode: | |
| SAVE_GCODE_STATE NAME=load_state | |
| G91 | |
| # Heat up hotend to provided temp or 220 as default as that should work OK with most filaments. | |
| {% if params.TEMP is defined or printer.extruder.can_extrude|lower == 'false' %} | |
| M117 Heating... | |
| M104 S{params.TEMP|default(220, true)} | |
| TEMPERATURE_WAIT SENSOR=extruder MINIMUM={params.TEMP|default(220, true)} | |
| {% endif %} | |
| M117 Loading filament... | |
| # Load the filament into the hotend area. | |
| G0 E100 F600 | |
| # Wait a secod | |
| G4 P1000 | |
| # Purge | |
| G0 E40 F100 | |
| # Wait for purge to complete | |
| M400e | |
| M117 Filament loaded! | |
| RESPOND MSG="Filament loaded!" | |
| RESTORE_GCODE_STATE NAME=load_state | |
| [gcode_macro NOZZLE_CLEAN] | |
| description: wipes nozzle on brush to clean it | |
| gcode: | |
| G90 | |
| G1 X265 Y350 F6000 | |
| G1 Z0.5 F3000 | |
| G1 X305 Y350 F10000 | |
| G1 X265 Y350 F10000 | |
| G1 X305 Y350 F10000 | |
| G1 X265 Y350 F10000 | |
| G1 X305 Y350 F10000 | |
| G1 X265 Y350 F10000 | |
| G1 Z10 F6000 | |
| [gcode_macro PAUSE] | |
| description: Pause the actual running print | |
| rename_existing: PAUSE_BASE | |
| gcode: | |
| PAUSE_BASE | |
| _TOOLHEAD_PARK_PAUSE_CANCEL | |
| [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL] | |
| description: Helper: park toolhead used in PAUSE and CANCEL_PRINT | |
| variable_extrude: 1.0 | |
| gcode: | |
| ##### 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 %} | |
| {% set z_park_delta = 10.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 - z_park_delta) %} | |
| {% set z_safe = z_park_delta %} | |
| {% else %} | |
| {% set z_safe = max_z - act_z %} | |
| {% endif %} | |
| ##### end of definitions ##### | |
| {% if printer.extruder.can_extrude|lower == 'true' %} | |
| M83 | |
| G1 E-{extrude} F2100 | |
| {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} | |
| {% else %} | |
| {action_respond_info("Extruder not hot enough")} | |
| {% endif %} | |
| {% if "xyz" in printer.toolhead.homed_axes %} | |
| G91 | |
| G1 Z{z_safe} F900 | |
| G90 | |
| G1 X{x_park} Y{y_park} F6000 | |
| {% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %} | |
| {% else %} | |
| {action_respond_info("Printer not homed")} | |
| {% endif %} | |
| [gcode_macro RESONANCES_TEST] | |
| description: Run input shaper test | |
| gcode: | |
| G28 ; home if needed | |
| TURN_OFF_HEATERS ; turn off heaters | |
| M107 ; turn off fan | |
| MEASURE_AXES_NOISE ; get noise value in log | |
| TEST_RESONANCES AXIS=X ; measure X | |
| TEST_RESONANCES AXIS=Y ; measure Y | |
| RUN_SHELL_COMMAND CMD=plot_graph PARAMS=SHAPER | |
| [bed_mesh] | |
| speed: 300 | |
| horizontal_move_z: 10 | |
| ##-------------------------------------------------------------------- | |
| ## Uncomment below for 250mm build | |
| #mesh_min: 40, 40 | |
| #mesh_max: 210,210 | |
| ## Uncomment for 300mm build | |
| #mesh_min: 40, 40 | |
| #mesh_max: 260,260 | |
| mesh_min: 10, 10 | |
| mesh_max: 340,340 | |
| ##-------------------------------------------------------------------- | |
| fade_start: 0.6 | |
| fade_end: 10.0 | |
| probe_count: 5,5 # Values should be odd, so one point is directly at bed center | |
| algorithm: bicubic | |
| [temperature_sensor raspberry_pi] | |
| sensor_type: temperature_host | |
| #*# <---------------------- SAVE_CONFIG ----------------------> | |
| #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. | |
| #*# | |
| #*# [extruder] | |
| #*# control = pid | |
| #*# pid_kp = 34.521 | |
| #*# pid_ki = 3.968 | |
| #*# pid_kd = 75.082 | |
| #*# | |
| #*# [heater_bed] | |
| #*# control = pid | |
| #*# pid_kp = 39.420 | |
| #*# pid_ki = 1.327 | |
| #*# pid_kd = 292.691 | |
| #*# | |
| #*# [probe] | |
| #*# z_offset = -0.580 | |
| #*# | |
| #*# [bed_mesh default] | |
| #*# version = 1 | |
| #*# points = | |
| #*# -0.053750, -0.045625, -0.026250 | |
| #*# -0.105625, -0.109375, -0.101875 | |
| #*# -0.125000, -0.130000, -0.131250 | |
| #*# x_count = 3 | |
| #*# y_count = 3 | |
| #*# mesh_x_pps = 2 | |
| #*# mesh_y_pps = 2 | |
| #*# algo = lagrange | |
| #*# tension = 0.2 | |
| #*# min_x = 109.18 | |
| #*# max_x = 247.24 | |
| #*# min_y = 123.61 | |
| #*# max_y = 240.51 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment