commit c6814d73ad06779ae389a02f4295b3c80697b9ff Author: Tyler Date: Sun Aug 18 13:45:58 2024 -0700 initial commit after mainsail diff --git a/.moonraker.conf.bkp b/.moonraker.conf.bkp new file mode 100644 index 0000000..f497b38 --- /dev/null +++ b/.moonraker.conf.bkp @@ -0,0 +1,50 @@ +[server] +host = 0.0.0.0 +port = 7125 +klippy_uds_address = /home/tstarr/printer_data/comms/klippy.sock + +[authorization] +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 +cors_domains = + *.lan + *.local + *://localhost + *://localhost:* + *://my.mainsail.xyz + *://app.fluidd.xyz + +[octoprint_compat] + +[history] + +[update_manager] +channel = dev +refresh_interval = 168 + +[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 mainsail] +type = web +channel = stable +repo = mainsail-crew/mainsail +path = ~/mainsail + +[update_manager crowsnest] +type = git_repo +path = ~/crowsnest +origin = https://github.com/mainsail-crew/crowsnest.git +managed_services = crowsnest +install_script = tools/pkglist.sh + diff --git a/KlipperScreen.conf b/KlipperScreen.conf new file mode 100644 index 0000000..667a7b7 --- /dev/null +++ b/KlipperScreen.conf @@ -0,0 +1,6 @@ + +#~# --- Do not edit below this line. This section is auto generated --- #~# +#~# +#~# [main] +#~# use_dpms = False +#~# diff --git a/crowsnest.conf b/crowsnest.conf new file mode 100644 index 0000000..e7d14e9 --- /dev/null +++ b/crowsnest.conf @@ -0,0 +1,47 @@ +#### crowsnest.conf +#### This is a typical default config. +#### Also used as default in mainsail / MainsailOS +#### See: +#### https://github.com/mainsail-crew/crowsnest/blob/master/README.md +#### for details to configure to your needs. + + +##################################################################### +#### ##### +#### Information about ports and according URL's ##### +#### ##### +##################################################################### +#### ##### +#### Port 8080 equals /webcam/?action=[stream/snapshot] ##### +#### Port 8081 equals /webcam2/?action=[stream/snapshot] ##### +#### Port 8082 equals /webcam3/?action=[stream/snapshot] ##### +#### Port 8083 equals /webcam4/?action=[stream/snapshot] ##### +#### ##### +#### Note: These ports are default for most Mainsail ##### +#### installations. To use any other port would involve ##### +#### changing the proxy configuration or using directly ##### +#### http://:/?action=[stream/snapshot] ##### +#### ##### +##################################################################### +#### RTSP Stream URL: ( if enabled and supported ) ##### +#### rtsp://:/stream.h264 ##### +##################################################################### + + +[crowsnest] +log_path: /home/tstarr/printer_data/logs/crowsnest.log +log_level: verbose # Valid Options are quiet/verbose/debug +delete_log: false # Deletes log on every restart, if set to true +no_proxy: false + +[cam 1] +mode: camera-streamer # ustreamer - Provides mjpg and snapshots. (All devices) + # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only) +enable_rtsp: false # If camera-streamer is used, this enables also usage of an rtsp server +rtsp_port: 8554 # Set different ports for each device! +port: 8080 # HTTP/MJPG Stream/Snapshot Port +device: /base/soc/i2c0mux/i2c@1/imx708@1a # See Log for available ... +resolution: 640x480 # widthxheight format +max_fps: 15 # If Hardware Supports this it will be forced, otherwise ignored/coerced. +#custom_flags: # You can run the Stream Services with custom flags. +#v4l2ctl: # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of. diff --git a/mainsail.cfg b/mainsail.cfg new file mode 120000 index 0000000..fc926d7 --- /dev/null +++ b/mainsail.cfg @@ -0,0 +1 @@ +/home/tstarr/mainsail-config/client.cfg \ No newline at end of file diff --git a/moonraker.conf b/moonraker.conf new file mode 100644 index 0000000..7b200c3 --- /dev/null +++ b/moonraker.conf @@ -0,0 +1,50 @@ +[server] +host: 0.0.0.0 +port: 7125 +klippy_uds_address: /home/tstarr/printer_data/comms/klippy.sock + +[authorization] +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 +cors_domains: + *.lan + *.local + *://localhost + *://localhost:* + *://my.mainsail.xyz + *://app.fluidd.xyz + +[octoprint_compat] + +[history] + +[update_manager] +channel: dev +refresh_interval: 168 + +[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 mainsail] +type: web +channel: stable +repo: mainsail-crew/mainsail +path: ~/mainsail + +# Crowsnest update_manager entry +[update_manager crowsnest] +type: git_repo +path: ~/crowsnest +origin: https://github.com/mainsail-crew/crowsnest.git +managed_services: crowsnest +install_script: tools/pkglist.sh diff --git a/moonraker.conf.backup b/moonraker.conf.backup new file mode 100644 index 0000000..2915293 --- /dev/null +++ b/moonraker.conf.backup @@ -0,0 +1,42 @@ +[server] +host: 0.0.0.0 +port: 7125 +klippy_uds_address: /home/tstarr/printer_data/comms/klippy.sock + +[authorization] +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 +cors_domains: + *.lan + *.local + *://localhost + *://localhost:* + *://my.mainsail.xyz + *://app.fluidd.xyz + +[octoprint_compat] + +[history] + +[update_manager] +channel: dev +refresh_interval: 168 + +[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 mainsail] +type: web +channel: stable +repo: mainsail-crew/mainsail +path: ~/mainsail diff --git a/printer.cfg b/printer.cfg new file mode 100644 index 0000000..7f9cdd6 --- /dev/null +++ b/printer.cfg @@ -0,0 +1,676 @@ +# This file contains common pin mappings for the BigTreeTech Octopus V1. +# To use this config, the firmware should be compiled for the STM32F446 with a "32KiB bootloader" +# Enable "extra low-level configuration options" and select the "12MHz crystal" as clock reference + +# 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. + +## Voron Design VORON2 250/300/350mm BigTreeTech OctoPus V1 TMC2209 UART config + +## *** THINGS TO CHANGE/CHECK: *** +## X MCU paths [mcu] section +## X Thermistor types [extruder] and [heater_bed] sections - See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types +## X Z Endstop Switch location [safe_z_home] section +## Homing end position [gcode_macro G32] section +## Z Endstop Switch offset for Z0 [stepper_z] section +## Probe points [quad_gantry_level] section +## Min & Max gantry corner postions [quad_gantry_level] section +## PID tune [extruder] and [heater_bed] sections +## Probe pin [probe] section +## Fine tune E steps [extruder] section + +[include mainsail.cfg] + +[mcu] +## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify +##-------------------------------------------------------------------- +serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_1E0035000D50535556323420-if00 +restart_method: command +##-------------------------------------------------------------------- + +[printer] +kinematics: corexy +max_velocity: 300 +max_accel: 3000 #Max 4000 +max_z_velocity: 15 #Max 15 for 12V TMC Drivers, can increase for 24V +max_z_accel: 350 +square_corner_velocity: 5.0 + +##################################################################### +# X/Y Stepper Settings +##################################################################### + +## B Stepper - Left +## Connected to MOTOR_0 +## Endstop connected to DIAG_0 +[stepper_x] +step_pin: PF13 +dir_pin: PF12 +enable_pin: !PF14 +rotation_distance: 40 +microsteps: 32 +full_steps_per_rotation:400 #set to 200 for 1.8 degree stepper +endstop_pin: PG6 +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: 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_x] +uart_pin: PC4 +interpolate: false +run_current: 0.8 +sense_resistor: 0.110 +stealthchop_threshold: 0 + +## A Stepper - Right +## Connected to MOTOR_1 +## Endstop connected to DIAG_1 +[stepper_y] +step_pin: PG0 +dir_pin: PG1 +enable_pin: !PF15 +rotation_distance: 40 +microsteps: 32 +full_steps_per_rotation:400 #set to 200 for 1.8 degree stepper +endstop_pin: PG9 +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: PD11 +interpolate: false +run_current: 0.8 +sense_resistor: 0.110 +stealthchop_threshold: 0 + +##################################################################### +# Z Stepper Settings +##################################################################### + +## Z0 Stepper - Front Left +## Connected to MOTOR_2 +## Endstop connected to DIAG_2 +[stepper_z] +step_pin: PF11 +dir_pin: PG3 +enable_pin: !PG5 +rotation_distance: 40 +gear_ratio: 80:16 +microsteps: 32 +#endstop_pin: PG10 +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.5 +##-------------------------------------------------------------------- + +## Uncomment below for 250mm build +#position_max: 210 + +## Uncomment below for 300mm build +position_max: 260 + +## Uncomment below for 350mm build +#position_max: 310 + +##-------------------------------------------------------------------- +position_min: -5 +homing_speed: 8 +second_homing_speed: 3 +homing_retract_dist: 3 + +## Make sure to update below for your relevant driver (2208 or 2209) +[tmc2209 stepper_z] +uart_pin: PC6 +interpolate: false +run_current: 0.8 +sense_resistor: 0.110 +stealthchop_threshold: 999999 + +## Z1 Stepper - Rear Left +## Connected to MOTOR_3 +[stepper_z1] +step_pin: PG4 +dir_pin: !PC1 +enable_pin: !PA0 +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: PC7 +interpolate: false +run_current: 0.8 +sense_resistor: 0.110 +stealthchop_threshold: 999999 + +## Z2 Stepper - Rear Right +## Connected to MOTOR_4 +[stepper_z2] +step_pin: PF9 +dir_pin: PF10 +enable_pin: !PG2 +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: PF2 +interpolate: false +run_current: 0.8 +sense_resistor: 0.110 +stealthchop_threshold: 999999 + +## Z3 Stepper - Front Right +## Connected to MOTOR_5 +[stepper_z3] +step_pin: PC13 +dir_pin: !PF0 +enable_pin: !PF1 +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: PE4 +interpolate: false +run_current: 0.8 +sense_resistor: 0.110 +stealthchop_threshold: 999999 + + +##################################################################### +# Extruder +##################################################################### + +## Connected to MOTOR_6 +## Heater - HE0 +## Thermistor - T0 +[extruder] +step_pin: PE2 +dir_pin: PE3 +enable_pin: !PD4 +## Update value below when you perform extruder calibration +## If you ask for 100mm of filament, but in reality it is 98mm: +## rotation_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.400 +filament_diameter: 1.75 +heater_pin: PA2 +## 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: PF4 +min_temp: 10 +max_temp: 270 +max_power: 1.0 +min_extrude_temp: 170 +#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.05 +## Default is 0.040, leave stock +#pressure_advance_smooth_time: 0.040 + +## E0 on MOTOR6 +## Make sure to update below for your relevant driver (2208 or 2209) +[tmc2209 extruder] +uart_pin: PE1 +interpolate: false +run_current: 0.5 +sense_resistor: 0.110 +stealthchop_threshold: 0 + + +##################################################################### +# Bed Heater +##################################################################### + + +## SSR Pin - HE1 +## Thermistor - TB +[heater_bed] +heater_pin: PA1 +## Validate the following thermistor type to make sure it is correct +## Keenovo branded bed heaters should use Generic 3950 +## LDO branded bed heaters will have the sensor type labelled on the heater +## 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: ATC Semitec 104NT-4-R025H42G +sensor_pin: PF3 +## Adjust Max Power so your heater doesn't warp your bed. Rule of thumb is 0.4 watts / cm^2 . +max_power: 0.7 +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] +pin: PG15 +x_offset: 0 +y_offset: 0 +#z_offset: 0 +speed: 10.0 +samples: 5 +samples_result: median +sample_retract_dist: 3.0 +samples_tolerance: 0.01 +samples_tolerance_retries: 5 +activate_gcode: + {% set PROBE_TEMP = 150 %} + {% 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: PA8 +kick_start_time: 2 +## 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: PE5 +max_power: 1.0 +kick_start_time: 4 +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: PD12 +kick_start_time: 0.5 +heater: heater_bed +fan_speed: 0.5 +[bed_mesh] +speed: 200 +horizontal_move_z: 10 +mesh_min: 40, 40 +mesh_max: 260,260 +probe_count: 5,5 +fade_start: 0.6 +fade_end: 10.0 +algorithm: bicubic + +## Exhaust fan - FAN3 +[heater_fan exhaust_fan] +pin: PD13 +max_power: 1.0 +shutdown_speed: 0.0 +kick_start_time: 5.0 +heater: heater_bed +heater_temp: 60 +fan_speed: 1.0 + +##################################################################### +# LED Control +##################################################################### + +[output_pin caselight] +## Chamber Lighting - CNC_FAN5 +pin: PD15 +pwm:true +shutdown_value: 0 +value:0 +cycle_time: 0.01 + +[neopixel headlight] +## Stealthburner lighting - RGB_LED +pin: PB0 +chain_count: 3 +color_order: GRBW +initial_RED: 0.0 +initial_GREEN: 0.0 +initial_BLUE: 0.0 +initial_WHITE: 0.0 + +##################################################################### +# Additional Sensors +##################################################################### + +[temperature_sensor chamber] +## Chamber Temperature - T1 +sensor_type: ATC Semitec 104NT-4-R025H42G +sensor_pin: PF5 +min_temp: 0 +max_temp: 100 +gcode_id: chamber_th + +##################################################################### +# Homing and Gantry Adjustment Routines +##################################################################### + +[idle_timeout] +timeout: 7200 + +[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:150,150 +speed:100 +z_hop:10 +z_hop_speed: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: +# 50,25 +# 50,275 +# 300,275 +# 300,25 + +#-------------------------------------------------------------------- +speed: 100 +horizontal_move_z: 10 +retries: 5 +retry_tolerance: 0.0075 +max_adjust: 10 + +######################################## +# EXP1 / EXP2 (display) pins +######################################## + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PE8, EXP1_2=PE7, + EXP1_3=PE9, EXP1_4=PE10, + EXP1_5=PE12, EXP1_6=PE13, # Slot in the socket on this side + EXP1_7=PE14, EXP1_8=PE15, + EXP1_9=, EXP1_10=<5V>, + + # EXP2 header + EXP2_1=PA6, EXP2_2=PA5, + EXP2_3=PB1, EXP2_4=PA4, + EXP2_5=PB2, EXP2_6=PA7, # Slot in the socket on this side + EXP2_7=PC15, EXP2_8=, + EXP2_9=, EXP2_10=<5V> + +##################################################################### +# Displays +##################################################################### + +#[display] +## mini12864 LCD 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 + +#[neopixel btt_mini12864] +## To control Neopixel RGB in mini12864 display +#pin: EXP1_6 +#chain_count: 3 +#initial_RED: 0.1 +#initial_GREEN: 0.5 +#initial_BLUE: 0.0 +#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 + +#-------------------------------------------------------------------- + + +##################################################################### +# Macros +##################################################################### + +[gcode_macro G32] +gcode: + #BED_MESH_CLEAR + #_CG28 + #QUAD_GANTRY_LEVEL + #G28 Z + +## *** THINGS TO UNCOMMENT: *** +## Bed mesh (2 lines at 2 locations) +## Z_TILT_ADJUST if your printer is a Trident +## Quad gantry level if your printer is a V2 +## Nevermore - if you have one + +[gcode_macro PRINT_START] +gcode: + # This part fetches data from your slicer. Such as bed temp, extruder temp, chamber temp and size of your printer. + {% set target_bed = params.BED|int %} + {% set target_extruder = params.EXTRUDER|int %} + {% set target_chamber = params.CHAMBER|default("40")|int %} + {% set x_wait = printer.toolhead.axis_maximum.x|float / 2 %} + {% set y_wait = printer.toolhead.axis_maximum.y|float / 2 %} + + # Homes the printer, sets absolute positioning and updates the Stealthburner leds. + STATUS_HOMING # Sets SB-leds to homing-mode + G28 # Full home (XYZ) + G90 # Absolut position + + ## Uncomment for bed mesh (1 of 2) + BED_MESH_CLEAR # Clears old saved bed mesh (if any) + + # Checks if the bed temp is higher than 90c - if so then trigger a heatsoak. + {% if params.BED|int > 90 %} + SET_DISPLAY_TEXT MSG="Bed: {target_bed}c" # Displays info + STATUS_HEATING # Sets SB-leds to heating-mode + M106 S255 # Turns on the PT-fan + + ## Uncomment if you have a Nevermore. + #SET_PIN PIN=nevermore VALUE=1 # Turns on the nevermore + + G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed + M190 S{target_bed} # Sets the target temp for the bed + SET_DISPLAY_TEXT MSG="Heatsoak: {target_chamber}c" # Displays info + TEMPERATURE_WAIT SENSOR="temperature_sensor chamber" MINIMUM={target_chamber} # Waits for chamber to reach desired temp + + # If the bed temp is not over 90c, then it skips the heatsoak and just heats up to set temp with a 5min soak + {% else %} + SET_DISPLAY_TEXT MSG="Bed: {target_bed}c" # Displays info + STATUS_HEATING # Sets SB-leds to heating-mode + G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed + M190 S{target_bed} # Sets the target temp for the bed + SET_DISPLAY_TEXT MSG="Soak for 5min" # Displays info + G4 P300000 # Waits 5 min for the bedtemp to stabilize + {% endif %} + + # Heating nozzle to 150 degrees. This helps with getting a correct Z-home + SET_DISPLAY_TEXT MSG="Hotend: 150c" # Displays info + M109 S150 # Heats the nozzle to 150c + + ## Uncomment for V2 (Quad gantry level AKA QGL) + SET_DISPLAY_TEXT MSG="QGL" # Displays info + STATUS_LEVELING # Sets SB-leds to leveling-mode + quad_gantry_level # Levels the buildplate via QGL + G28 Z # Homes Z again after QGL + + ## Uncomment for bed mesh (2 of 2) + SET_DISPLAY_TEXT MSG="Bed mesh" # Displays info + STATUS_MESHING # Sets SB-leds to bed mesh-mode + bed_mesh_calibrate # Starts bed mesh + + # Heats up the nozzle up to target via data from slicer + SET_DISPLAY_TEXT MSG="Hotend: {target_extruder}c" # Displays info + STATUS_HEATING # Sets SB-leds to heating-mode + G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed + M107 # Turns off partcooling fan + M109 S{target_extruder} # Heats the nozzle to printing temp + + # Gets ready to print by doing a purge line and updating the SB-leds + SET_DISPLAY_TEXT MSG="Printer goes brr" # Displays info + STATUS_PRINTING # Sets SB-leds to printing-mode + G0 X{x_wait - 50} Y4 F10000 # Moves to starting point + G0 Z0.4 # Raises Z to 0.4 + G91 # Incremental positioning + G1 X100 E20 F1000 # Purge line + G90 # Absolut position + +# 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 + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [heater_bed] +#*# control = pid +#*# pid_kp = 38.412 +#*# pid_ki = 1.237 +#*# pid_kd = 298.171 +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 16.225 +#*# pid_ki = 1.215 +#*# pid_kd = 54.151 +#*# +#*# [probe] +#*# z_offset = -1.500