substitutions only
This commit is contained in:
parent
bba95d2a5d
commit
6c916e6323
451
macros.cfg
Normal file
451
macros.cfg
Normal file
@ -0,0 +1,451 @@
|
||||
# WARNING: DO NOT EDIT THIS FILE
|
||||
# To override settings from this file, you can copy and paste the relevant
|
||||
# sections into your printer.cfg and change it there.
|
||||
|
||||
#####
|
||||
# CONFIGURATION VARIABLES
|
||||
#####
|
||||
|
||||
[gcode_macro ECHO_RATOS_VARS]
|
||||
description: Echo RatOS variables to the console.
|
||||
gcode:
|
||||
{% for var, value in printer["gcode_macro RatOS"].items() %}
|
||||
{action_respond_info(var ~ ": " ~ value)}
|
||||
{% endfor %}
|
||||
|
||||
[gcode_macro RatOS]
|
||||
description: RatOS variable storage macro, will echo variables to the console when run.
|
||||
# Configuration Defaults
|
||||
# This is only here to make the config backwards compatible.
|
||||
# Configuration should exclusively happen in printer.cfg.
|
||||
variable_relative_extrusion: False
|
||||
variable_preheat_extruder: True
|
||||
variable_calibrate_bed_mesh: True
|
||||
variable_nozzle_priming: "primeblob"
|
||||
variable_start_print_park_in: "back"
|
||||
variable_start_print_park_z_height: 50
|
||||
variable_end_print_park_in: "back"
|
||||
variable_pause_print_park_in: "back"
|
||||
variable_macro_travel_speed: 150
|
||||
gcode:
|
||||
ECHO_RATOS_VARS
|
||||
|
||||
#####
|
||||
# GENERAL MACROS
|
||||
#####
|
||||
|
||||
[gcode_macro MAYBE_HOME]
|
||||
description: Only home unhomed axis
|
||||
gcode:
|
||||
{% set axes = '' %}
|
||||
{% set isHomed = true %}
|
||||
{% set axesToHome = '' %}
|
||||
{% if params.X is defined %}
|
||||
{% set axes = axes ~ 'X ' %}
|
||||
{% if 'x' not in printer.toolhead.homed_axes %}
|
||||
{% set isHomed = false %}
|
||||
{% set axesToHome = axesToHome ~ 'X ' %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if params.Y is defined %}
|
||||
{% set axes = axes ~ 'Y ' %}
|
||||
{% if 'y' not in printer.toolhead.homed_axes %}
|
||||
{% set isHomed = false %}
|
||||
{% set axesToHome = axesToHome ~ 'Y ' %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if params.Z is defined %}
|
||||
{% set axes = axes ~ 'Z ' %}
|
||||
{% if 'z' not in printer.toolhead.homed_axes %}
|
||||
{% set isHomed = false %}
|
||||
{% set axesToHome = axesToHome ~ 'Z ' %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if params.X is not defined and params.Y is not defined and params.Z is not defined %}
|
||||
{% set axes = '' %}
|
||||
{% if 'x' not in printer.toolhead.homed_axes %}
|
||||
{% set isHomed = false %}
|
||||
{% set axesToHome = axesToHome ~ 'X ' %}
|
||||
{% endif %}
|
||||
{% if 'y' not in printer.toolhead.homed_axes %}
|
||||
{% set isHomed = false %}
|
||||
{% set axesToHome = axesToHome ~ 'Y ' %}
|
||||
{% endif %}
|
||||
{% if 'z' not in printer.toolhead.homed_axes %}
|
||||
{% set isHomed = false %}
|
||||
{% set axesToHome = axesToHome ~ 'Z ' %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if isHomed is false %}
|
||||
M117 Homing {axesToHome}
|
||||
RESPOND MSG="Homing {axesToHome}"
|
||||
G28 {axesToHome}
|
||||
{% else %}
|
||||
RESPOND MSG="All requested axes already homed, skipping.."
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro PAUSE]
|
||||
description: Pauses the printer
|
||||
rename_existing: PAUSE_BASE
|
||||
variable_extrude: 1.5
|
||||
gcode:
|
||||
SAVE_GCODE_STATE NAME=PAUSE_state
|
||||
# Define park positions
|
||||
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
||||
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
|
||||
# Calculate safe Z position
|
||||
{% set max_z = printer.toolhead.axis_maximum.z|float %}
|
||||
{% set act_z = printer.toolhead.position.z|float %}
|
||||
{% if act_z < (max_z - 2.0) %}
|
||||
{% set z_safe = 2.0 %}
|
||||
{% else %}
|
||||
{% set z_safe = max_z - act_z %}
|
||||
{% endif %}
|
||||
PAUSE_BASE
|
||||
G91
|
||||
# Retract
|
||||
{% if printer.extruder.can_extrude|lower == 'true' %}
|
||||
G1 E-{E} F2100
|
||||
{% else %}
|
||||
{action_respond_info("Extruder not hot enough")}
|
||||
{% endif %}
|
||||
# Move to park position
|
||||
{% if "xyz" in printer.toolhead.homed_axes %}
|
||||
G1 Z{z_safe} F900
|
||||
_PARK LOCATION={printer["gcode_macro RatOS"].pause_print_park_in} X={printer["gcode_macro RatOS"].pause_print_park_x}
|
||||
{% else %}
|
||||
{action_respond_info("Printer not homed")}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro RESUME]
|
||||
description: Resumes the print if the printer is paused.
|
||||
rename_existing: RESUME_BASE
|
||||
gcode:
|
||||
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
||||
# Prime
|
||||
{% if printer.extruder.can_extrude|lower == 'true' %}
|
||||
G91
|
||||
G1 E{E} F2100
|
||||
G90
|
||||
{% else %}
|
||||
{action_respond_info("Extruder not hot enough")}
|
||||
{% endif %}
|
||||
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1
|
||||
RESUME_BASE
|
||||
|
||||
[gcode_macro CANCEL_PRINT]
|
||||
description: Cancels the printer
|
||||
rename_existing: CANCEL_PRINT_BASE
|
||||
gcode:
|
||||
END_PRINT
|
||||
TURN_OFF_HEATERS
|
||||
CLEAR_PAUSE
|
||||
#SDCARD_RESET_FILE
|
||||
CANCEL_PRINT_BASE
|
||||
|
||||
[gcode_macro PRIME_LINE]
|
||||
description: Prints a primeline, used internally, if configured, as part of the START_PRINT macro.
|
||||
gcode:
|
||||
SAVE_GCODE_STATE NAME=prime_line_state
|
||||
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
|
||||
# Absolute positioning
|
||||
G90
|
||||
# Absolute extrusion
|
||||
M82
|
||||
M117 Priming nozzle with prime line..
|
||||
RESPOND MSG="Priming nozzle with prime line.."
|
||||
# Lift 5 mm
|
||||
G1 Z5 F3000
|
||||
# Move to prime area
|
||||
G1 X{printer.toolhead.axis_minimum.x + 5} Y{printer.toolhead.axis_minimum.y + 10} F{speed}
|
||||
# Get ready to prime
|
||||
G1 Z0.3 F3000
|
||||
# Reset extrusion distance
|
||||
G92 E0
|
||||
# Prime nozzle
|
||||
G1 Y{printer.toolhead.axis_minimum.y + 80} E16 F1200
|
||||
# Wipe
|
||||
G1 Y{printer.toolhead.axis_minimum.y + 100} F{speed}
|
||||
RESTORE_GCODE_STATE NAME=prime_line_state
|
||||
|
||||
[gcode_macro PRIME_BLOB]
|
||||
description: Prints a primeblob, used internally, if configured, as part of the START_PRINT macro. Slower than PRIME_LINE but much more effective.
|
||||
gcode:
|
||||
SAVE_GCODE_STATE NAME=prime_blob_state
|
||||
M117 Priming nozzle with prime blob..
|
||||
RESPOND MSG="Priming nozzle with prime blob.."
|
||||
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
|
||||
# Absolute positioning
|
||||
G90
|
||||
# Relative extrusion
|
||||
M83
|
||||
# Lift 5 mm
|
||||
G1 Z5 F3000
|
||||
# move to blob position
|
||||
G1 X{printer.toolhead.axis_minimum.x + 5} Y{printer.toolhead.axis_minimum.y + 10} Z0.5 F{speed}
|
||||
# Extrude a blob
|
||||
G1 F60 E20
|
||||
# 40% fan
|
||||
M106 S102
|
||||
# Move the extruder up by 5mm while extruding, breaks away from blob
|
||||
G1 Z5 F100 E5
|
||||
# Move to wipe position, but keep extruding so the wipe is attached to blob
|
||||
G1 F200 Y{printer.toolhead.axis_minimum.y + 25} E1
|
||||
# Go down diagonally while extruding
|
||||
# Broken down in z moves under 2mm as a workaround for a tuning tower test.
|
||||
# The tuning tower command thinks a new print has been started when z moves over 2mm and aborts.
|
||||
G1 F200 Y{printer.toolhead.axis_minimum.y + 30} Z3.8 E0.5
|
||||
G1 F200 Y{printer.toolhead.axis_minimum.y + 35} Z2.6 E0.5
|
||||
G1 F200 Y{printer.toolhead.axis_minimum.y + 40} Z1.4 E0.5
|
||||
G1 F200 Y{printer.toolhead.axis_minimum.y + 45} Z0.2 E0.5
|
||||
# 0% fan
|
||||
M106 S0
|
||||
# small wipe line
|
||||
G1 F200 Y{printer.toolhead.axis_minimum.y +50} Z0.2 E0.6
|
||||
# Break away wipe
|
||||
G1 F{speed} Y{printer.toolhead.axis_minimum.y + 100}
|
||||
RESTORE_GCODE_STATE NAME=prime_blob_state
|
||||
|
||||
|
||||
[gcode_macro _PARK]
|
||||
gcode:
|
||||
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
|
||||
# Get X position
|
||||
{% if params.X != '' %}
|
||||
{% if params.X|float >= printer.toolhead.axis_minimum.x + 5 and params.X|float <= printer.toolhead.axis_maximum.x - 5 %}
|
||||
{% set safe_x = params.X|float %}
|
||||
{% else %}
|
||||
{action_respond_info('The requested X co-ordinate is outside the defined axis bounds - using defaults')}
|
||||
{% set safe_x = printer.toolhead.axis_maximum.x / 2 %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% set safe_x = printer.toolhead.axis_maximum.x / 2 %}
|
||||
{% endif %}
|
||||
# Get Y position
|
||||
{% if params.LOCATION|default('back')|lower == 'back' %}
|
||||
{% set y = printer.toolhead.axis_maximum.y - 5 %}
|
||||
{% elif params.LOCATION|lower == 'front' %}
|
||||
{% set y = printer.toolhead.axis_minimum.y + 5 %}
|
||||
{% elif params.LOCATION|lower == 'center' %}
|
||||
{% set y = printer.toolhead.axis_maximum.y / 2 %}
|
||||
{% endif %}
|
||||
# Absolute positioning
|
||||
G90
|
||||
# Park
|
||||
G0 X{safe_x} Y{y} F{speed}
|
||||
|
||||
#####
|
||||
# COLOR CHANGE
|
||||
#####
|
||||
[gcode_macro M600]
|
||||
description: Executes a color change by pausing the printer an unloading the filament.
|
||||
gcode:
|
||||
PAUSE
|
||||
UNLOAD_FILAMENT
|
||||
M117 Please load new filament and resume
|
||||
RESPOND MSG="Please load new filament and resume"
|
||||
|
||||
#####
|
||||
# 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 SET_CENTER_KINEMATIC_POSITION]
|
||||
description: FOR DEBUGGING PURPOSES ONLY. Sets the internal printer kinematic state to the center of all axes regardless of actual physical position.
|
||||
gcode:
|
||||
SET_KINEMATIC_POSITION X={printer.toolhead.axis_maximum.x / 2} Y={printer.toolhead.axis_maximum.y / 2} Z={printer.toolhead.axis_maximum.z / 2}
|
||||
|
||||
#####
|
||||
# START PRINT MACROS
|
||||
# Call this from your slicer (custom g-code).
|
||||
# Read more here: https://rat-rig.github.io/V-CoreOS/#/slicers
|
||||
#####
|
||||
|
||||
[gcode_macro START_PRINT]
|
||||
description: Start print procedure, use this in your Slicer.
|
||||
gcode:
|
||||
CLEAR_PAUSE
|
||||
SAVE_GCODE_STATE NAME=start_print_state
|
||||
# Metric values
|
||||
G21
|
||||
# Absolute positioning
|
||||
G90
|
||||
# Set extruder to absolute mode
|
||||
M82
|
||||
# Home if needed
|
||||
MAYBE_HOME
|
||||
M117 Heating bed...
|
||||
RESPOND MSG="Heating bed..."
|
||||
# Wait for bed to heat up
|
||||
M190 S{params.BED_TEMP|default(printer.heater_bed.target, true) }
|
||||
# Run the customizable "AFTER_HEATING_BED" macro.
|
||||
_START_PRINT_AFTER_HEATING_BED
|
||||
# Run the customizable "BED_MESH" macro
|
||||
_START_PRINT_BED_MESH
|
||||
# Start heating extruder
|
||||
M104 S{params.EXTRUDER_TEMP|default(printer.extruder.target, true) }
|
||||
# Run the customizable "PARK" macro
|
||||
_START_PRINT_PARK
|
||||
# Wait for extruder to heat up
|
||||
M109 S{params.EXTRUDER_TEMP|default(printer.extruder.target, true) }
|
||||
# Run the customizable "AFTER_HEATING_EXTRUDER" macro.
|
||||
_START_PRINT_AFTER_HEATING_EXTRUDER
|
||||
M117 Printing...
|
||||
RESPOND MSG="Printing..."
|
||||
RESTORE_GCODE_STATE NAME=start_print_state
|
||||
# Set extrusion mode based on user configuration
|
||||
{% if printer["gcode_macro RatOS"].relative_extrusion|lower == 'true' %}
|
||||
M83
|
||||
{% else %}
|
||||
M82
|
||||
{% endif %}
|
||||
G92 E0
|
||||
|
||||
#####
|
||||
# START PRINT MACRO HOOKS
|
||||
# You can copy these to printer.cfg and modify them to your liking, or just use them as is.
|
||||
####
|
||||
|
||||
[gcode_macro _START_PRINT_AFTER_HEATING_BED]
|
||||
gcode:
|
||||
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
|
||||
M117 Pre-heating extruder...
|
||||
RESPOND MSG="Pre-heating extruder..."
|
||||
# Wait for extruder to reach 150 so an inductive probe (if present) is at a predictable temp.
|
||||
# Also allows the bed heat to spread a little, and softens any plastic that might be stuck to the nozzle.
|
||||
M104 S150
|
||||
TEMPERATURE_WAIT SENSOR=extruder MINIMUM=150
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro _START_PRINT_BED_MESH]
|
||||
gcode:
|
||||
{% if printer["gcode_macro RatOS"].calibrate_bed_mesh|lower == 'true' %}
|
||||
BED_MESH_CALIBRATE PROFILE=ratos
|
||||
{% endif %}
|
||||
BED_MESH_PROFILE LOAD=ratos
|
||||
|
||||
[gcode_macro _START_PRINT_PARK]
|
||||
gcode:
|
||||
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
|
||||
_PARK LOCATION={printer["gcode_macro RatOS"].start_print_park_in} X={printer["gcode_macro RatOS"].start_print_park_x}
|
||||
G0 Z{z} F6000
|
||||
|
||||
[gcode_macro _START_PRINT_AFTER_HEATING_EXTRUDER]
|
||||
gcode:
|
||||
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeline' %}
|
||||
PRIME_LINE
|
||||
{% endif %}
|
||||
{% if printer["gcode_macro RatOS"].nozzle_priming|lower == 'primeblob' %}
|
||||
PRIME_BLOB
|
||||
{% endif %}
|
||||
{% if printer["gcode_macro RatOS"].skew_profile is defined %}
|
||||
SKEW_PROFILE LOAD={printer["gcode_macro RatOS"].skew_profile}
|
||||
{% endif %}
|
||||
|
||||
#####
|
||||
# END PRINT MACROS
|
||||
# Call this from your slicer (custom g-code).
|
||||
# Read more here: https://rat-rig.github.io/V-CoreOS/#/slicers
|
||||
#####
|
||||
|
||||
# The end_print macro is also called from CANCEL_PRINT.
|
||||
[gcode_macro END_PRINT]
|
||||
description: End print procedure, use this in your Slicer.
|
||||
gcode:
|
||||
SAVE_GCODE_STATE NAME=end_print_state
|
||||
_END_PRINT_BEFORE_HEATERS_OFF
|
||||
TURN_OFF_HEATERS
|
||||
_END_PRINT_AFTER_HEATERS_OFF
|
||||
_END_PRINT_PARK
|
||||
# Clear skew profile if any was loaded.
|
||||
{% if printer["gcode_macro RatOS"].skew_profile is defined %}
|
||||
SET_SKEW CLEAR=1
|
||||
{% endif %}
|
||||
# Steppers off
|
||||
M84
|
||||
# Part cooling fan off
|
||||
M107
|
||||
M117 Done :)
|
||||
RESPOND MSG="Done :)"
|
||||
RESTORE_GCODE_STATE NAME=end_print_state
|
||||
|
||||
#####
|
||||
# END PRINT MACRO HOOKS
|
||||
# You can copy these to printer.cfg and modify them to your liking, or just use them as is.
|
||||
####
|
||||
|
||||
[gcode_macro _END_PRINT_BEFORE_HEATERS_OFF]
|
||||
gcode:
|
||||
RESPOND MSG="Cleaning up..."
|
||||
|
||||
[gcode_macro _END_PRINT_AFTER_HEATERS_OFF]
|
||||
gcode:
|
||||
# Calculate safe Z position
|
||||
{% set max_z = printer.toolhead.axis_maximum.z|float %}
|
||||
{% set act_z = printer.toolhead.position.z|float %}
|
||||
{% if act_z < (max_z - 2.0) %}
|
||||
{% set z_safe = 2.0 %}
|
||||
{% else %}
|
||||
{% set z_safe = max_z - act_z %}
|
||||
{% endif %}
|
||||
# Relative positioning
|
||||
G91
|
||||
# Retract the filament a bit before lifting the nozzle.
|
||||
G1 E-2 F3600
|
||||
# Move to safe Z position
|
||||
G0 Z{z_safe} F3600
|
||||
# Retract filament even more
|
||||
G1 E-2 F3600
|
||||
|
||||
[gcode_macro _END_PRINT_PARK]
|
||||
gcode:
|
||||
_PARK LOCATION={printer["gcode_macro RatOS"].end_print_park_in} X={printer["gcode_macro RatOS"].end_print_park_x}
|
360
printer.cfg
360
printer.cfg
@ -13,12 +13,114 @@
|
||||
### CONTROL BOARD
|
||||
### Pick the board you have installed and wired in your printer.
|
||||
#############################################################################################################
|
||||
[include config/boards/btt-octopus-11/config.cfg]
|
||||
# not all aliases are set yet, but diag pins my be usefull in future (i.e detecting skipped steps on extruder)
|
||||
[board_pins octopus_11_tmc2209]
|
||||
aliases:
|
||||
# steppers
|
||||
x_step_pin=PF13, x_dir_pin=PF12, x_enable_pin=PF14, x_uart_pin=PC4, x_diag_pin=PG6, x_endstop_pin=PG6,
|
||||
y_step_pin=PG0, y_dir_pin=PG1, y_enable_pin=PF15, y_uart_pin=PD11, y_diag_pin=PG9, y_endstop_pin=PG9,
|
||||
z0_step_pin=PC13, z0_dir_pin=PF0, z0_enable_pin=PF1, z0_uart_pin=PE4, z0_diag_pin=null,
|
||||
z1_step_pin=PE2, z1_dir_pin=PE3, z1_enable_pin=PD4, z1_uart_pin=PE1, z1_diag_pin=null,
|
||||
z2_step_pin=PE6, z2_dir_pin=PA14, z2_enable_pin=PE0, z2_uart_pin=PD3, z2_diag_pin=null,
|
||||
e_step_pin=PF11, e_dir_pin=PG3, e_enable_pin=PG5, e_uart_pin=PC6, e_diag_pin=null, e_heater_pin=PA2, e_sensor_pin=PF4,
|
||||
# accel
|
||||
adxl345_cs_pin=PA15,
|
||||
# auto leveling
|
||||
bltouch_sensor_pin=PB7, bltouch_control_pin=PB6,
|
||||
probe_pin=PB7,
|
||||
# fans
|
||||
fan_part_cooling_pin=PA8,
|
||||
fan_toolhead_cooling_pin=PE5,
|
||||
fan_controller_board_pin=PD12,
|
||||
# Bed heater
|
||||
heater_bed_heating_pin=PA1,
|
||||
heater_bed_sensor_pin=PF3,
|
||||
|
||||
## Expansion ports
|
||||
# EXP1 header
|
||||
EXP1_1=PE8, EXP1_3=PE9, EXP1_5=PE12, EXP1_7=PE14, EXP1_9=<GND>,
|
||||
EXP1_2=PE7, EXP1_4=PE10, EXP1_6=PE13, EXP1_8=PE15, EXP1_10=<5V>,
|
||||
# EXP2 header
|
||||
EXP2_1=PA6, EXP2_3=PB1, EXP2_5=PB2, EXP2_7=PC15, EXP2_9=<GND>,
|
||||
EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=PC5,
|
||||
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi2"
|
||||
|
||||
[mcu]
|
||||
baud: 250000
|
||||
serial: /dev/btt-octopus-11
|
||||
|
||||
[temperature_sensor Octopus]
|
||||
sensor_type: temperature_mcu
|
||||
min_temp: 0
|
||||
max_temp: 100
|
||||
|
||||
[adxl345]
|
||||
spi_bus: spi3
|
||||
cs_pin: adxl345_cs_pin
|
||||
|
||||
#############################################################################################################
|
||||
### BASE SETUP
|
||||
#############################################################################################################
|
||||
[include config/printers/v-core-3/v-core-3.cfg]
|
||||
[idle_timeout]
|
||||
gcode:
|
||||
{% if printer.webhooks.state|lower == 'ready' %}
|
||||
{% if printer.pause_resume.is_paused|lower == 'false' %}
|
||||
M117 Idle timeout reached
|
||||
TURN_OFF_HEATERS
|
||||
M84
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
# 2 hour timeout
|
||||
timeout: 7200
|
||||
|
||||
[temperature_sensor raspberry_pi]
|
||||
sensor_type: temperature_host
|
||||
|
||||
[skew_correction]
|
||||
|
||||
[input_shaper]
|
||||
|
||||
[virtual_sdcard]
|
||||
path: ~/gcode_files
|
||||
|
||||
[display_status]
|
||||
|
||||
[pause_resume]
|
||||
|
||||
[force_move]
|
||||
enable_force_move: True
|
||||
|
||||
[respond]
|
||||
|
||||
[heater_bed]
|
||||
heater_pin: heater_bed_heating_pin
|
||||
sensor_pin: heater_bed_sensor_pin
|
||||
sensor_type: Generic 3950
|
||||
min_temp: 0
|
||||
max_temp: 120
|
||||
pwm_cycle_time: 0.02 # 50hz for european AC, to avoid flickering lights.
|
||||
|
||||
[fan]
|
||||
pin: fan_part_cooling_pin
|
||||
shutdown_speed: 1.0
|
||||
|
||||
[heater_fan toolhead_cooling_fan]
|
||||
pin: fan_toolhead_cooling_pin
|
||||
fan_speed: 1
|
||||
|
||||
[controller_fan controller_fan]
|
||||
pin: fan_controller_board_pin
|
||||
|
||||
# These are only safeguards for first time users
|
||||
# Modify printer.cfg to tune acceleration.
|
||||
[printer]
|
||||
kinematics: corexy
|
||||
max_velocity: 300
|
||||
max_accel: 1500
|
||||
max_accel_to_decel: 750
|
||||
max_z_velocity: 15
|
||||
max_z_accel: 20
|
||||
|
||||
[printer]
|
||||
max_velocity: 150
|
||||
max_accel: 500
|
||||
@ -31,29 +133,203 @@ max_z_accel: 20
|
||||
### STEPPER MOTORS, DRIVERS & SPEED LIMITS
|
||||
### Pick the drivers and stepper motors you're using. See the RatOS documentation for custom combinations.
|
||||
#############################################################################################################
|
||||
[include config/printers/v-core-3/steppers.cfg]
|
||||
[stepper_x]
|
||||
step_pin: x_step_pin
|
||||
dir_pin: x_dir_pin
|
||||
enable_pin: !x_enable_pin
|
||||
rotation_distance: 40
|
||||
microsteps: 64
|
||||
homing_speed: 50
|
||||
homing_retract_dist: 0
|
||||
|
||||
[stepper_y]
|
||||
step_pin: y_step_pin
|
||||
dir_pin: y_dir_pin
|
||||
enable_pin: !y_enable_pin
|
||||
rotation_distance: 40
|
||||
microsteps: 64
|
||||
homing_speed: 50
|
||||
homing_retract_dist: 0
|
||||
|
||||
[stepper_z]
|
||||
endstop_pin: probe:z_virtual_endstop
|
||||
step_pin: z0_step_pin
|
||||
dir_pin: z0_dir_pin
|
||||
enable_pin: !z0_enable_pin
|
||||
rotation_distance: 4
|
||||
microsteps: 64
|
||||
position_min: -5 # Needed for z-offset calibration and tilt_adjust.
|
||||
homing_speed: 10
|
||||
|
||||
[stepper_z1]
|
||||
step_pin: z1_step_pin
|
||||
dir_pin: z1_dir_pin
|
||||
enable_pin: !z1_enable_pin
|
||||
rotation_distance: 4
|
||||
microsteps: 64
|
||||
|
||||
[stepper_z2]
|
||||
step_pin: z2_step_pin
|
||||
dir_pin: z2_dir_pin
|
||||
enable_pin: !z2_enable_pin
|
||||
rotation_distance: 4
|
||||
microsteps: 64
|
||||
|
||||
[extruder]
|
||||
step_pin: e_step_pin
|
||||
dir_pin: !e_dir_pin
|
||||
enable_pin: !e_enable_pin
|
||||
microsteps: 64
|
||||
|
||||
# UNCOOLED TMC 2209 + LDO-42STH48-2504AC
|
||||
[include config/printers/v-core-3/speed-limits-basic.cfg]
|
||||
[bed_mesh]
|
||||
speed: 200
|
||||
|
||||
[z_tilt]
|
||||
speed: 200
|
||||
|
||||
[printer]
|
||||
max_velocity: 200
|
||||
max_accel: 1500
|
||||
max_accel_to_decel: 750
|
||||
max_z_velocity: 15
|
||||
max_z_accel: 30
|
||||
square_corner_velocity: 5
|
||||
|
||||
# Backwards compatibility
|
||||
|
||||
[tmc2209 stepper_x]
|
||||
uart_pin: x_uart_pin
|
||||
run_current: 1.1
|
||||
stealthchop_threshold: 1
|
||||
|
||||
[tmc2209 stepper_y]
|
||||
uart_pin: y_uart_pin
|
||||
run_current: 1.1
|
||||
stealthchop_threshold: 1
|
||||
|
||||
[tmc2209 extruder]
|
||||
uart_pin: e_uart_pin
|
||||
run_current: 0.5
|
||||
stealthchop_threshold: 0
|
||||
|
||||
[tmc2209 stepper_z]
|
||||
uart_pin: z0_uart_pin
|
||||
run_current: 1.0
|
||||
stealthchop_threshold: 1
|
||||
|
||||
[tmc2209 stepper_z1]
|
||||
uart_pin: z1_uart_pin
|
||||
run_current: 1.1
|
||||
stealthchop_threshold: 1
|
||||
|
||||
[tmc2209 stepper_z2]
|
||||
uart_pin: z2_uart_pin
|
||||
run_current: 1.0
|
||||
stealthchop_threshold: 1
|
||||
|
||||
|
||||
[include config/printers/v-core-3/tmc2209.cfg]
|
||||
[tmc2209 stepper_x]
|
||||
uart_pin: x_uart_pin
|
||||
run_current: 1.1
|
||||
stealthchop_threshold: 1
|
||||
|
||||
[include config/steppers/ldo/42sth48-2504ac/2209/24v-1.1a-*.cfg]
|
||||
[tmc2209 stepper_y]
|
||||
uart_pin: y_uart_pin
|
||||
run_current: 1.1
|
||||
stealthchop_threshold: 1
|
||||
|
||||
[tmc2209 extruder]
|
||||
uart_pin: e_uart_pin
|
||||
run_current: 0.5
|
||||
stealthchop_threshold: 0
|
||||
|
||||
[tmc2209 stepper_z]
|
||||
uart_pin: z0_uart_pin
|
||||
run_current: 1.0
|
||||
stealthchop_threshold: 1
|
||||
|
||||
[tmc2209 stepper_z1]
|
||||
uart_pin: z1_uart_pin
|
||||
run_current: 1.1
|
||||
stealthchop_threshold: 1
|
||||
|
||||
[tmc2209 stepper_z2]
|
||||
uart_pin: z2_uart_pin
|
||||
run_current: 1.0
|
||||
stealthchop_threshold: 1
|
||||
|
||||
[tmc2209 stepper_x]
|
||||
uart_pin: x_uart_pin
|
||||
run_current: 1.1
|
||||
driver_TBL: 1
|
||||
driver_TOFF: 3
|
||||
driver_HEND: 0
|
||||
driver_HSTRT: 0
|
||||
|
||||
[tmc2209 stepper_y]
|
||||
uart_pin: y_uart_pin
|
||||
run_current: 1.1
|
||||
driver_TBL: 1
|
||||
driver_TOFF: 3
|
||||
driver_HEND: 0
|
||||
driver_HSTRT: 0
|
||||
|
||||
[tmc2209 stepper_z]
|
||||
uart_pin: z0_uart_pin
|
||||
run_current: 1.1
|
||||
driver_TBL: 1
|
||||
driver_TOFF: 3
|
||||
driver_HEND: 0
|
||||
driver_HSTRT: 0
|
||||
|
||||
[tmc2209 stepper_z1]
|
||||
uart_pin: z1_uart_pin
|
||||
run_current: 1.1
|
||||
driver_TBL: 1
|
||||
driver_TOFF: 3
|
||||
driver_HEND: 0
|
||||
driver_HSTRT: 0
|
||||
|
||||
[tmc2209 stepper_z2]
|
||||
uart_pin: z2_uart_pin
|
||||
run_current: 1.1
|
||||
driver_TBL: 1
|
||||
driver_TOFF: 3
|
||||
driver_HEND: 0
|
||||
driver_HSTRT: 0
|
||||
|
||||
#############################################################################################################
|
||||
### HOMING
|
||||
### Pick your probe and endstops
|
||||
#############################################################################################################
|
||||
# BL Touch
|
||||
[include config/z-probe/bltouch.cfg]
|
||||
[bltouch]
|
||||
sensor_pin: ^bltouch_sensor_pin
|
||||
control_pin: bltouch_control_pin
|
||||
speed: 7
|
||||
pin_move_time: 0.675
|
||||
sample_retract_dist: 10
|
||||
|
||||
pin_up_reports_not_triggered: True
|
||||
pin_up_touch_mode_reports_triggered: True
|
||||
x_offset: -28
|
||||
y_offset: -13
|
||||
|
||||
# Physical endstops
|
||||
[include config/printers/v-core-3/physical-endstops.cfg]
|
||||
[stepper_x]
|
||||
endstop_pin: x_endstop_pin
|
||||
homing_retract_dist: 5.0
|
||||
|
||||
[stepper_y]
|
||||
endstop_pin: y_endstop_pin
|
||||
homing_positive_dir: true
|
||||
homing_retract_dist: 5.0
|
||||
|
||||
[safe_z_home]
|
||||
home_xy_position: 150,150
|
||||
speed: 135
|
||||
z_hop: 12
|
||||
|
||||
|
||||
#############################################################################################################
|
||||
@ -61,7 +337,41 @@ max_z_accel: 20
|
||||
### Pick your printer size
|
||||
#############################################################################################################
|
||||
|
||||
[include config/printers/v-core-3/500.cfg]
|
||||
|
||||
[stepper_x]
|
||||
position_max: 500
|
||||
|
||||
[stepper_y]
|
||||
position_max: 500
|
||||
|
||||
[stepper_z]
|
||||
position_max: 500
|
||||
|
||||
[bed_mesh]
|
||||
horizontal_move_z: 5
|
||||
mesh_min: 20,20
|
||||
mesh_max:465,460
|
||||
probe_count: 7,7
|
||||
fade_start: 1.0
|
||||
fade_end: 10.0
|
||||
mesh_pps: 2,2
|
||||
algorithm: bicubic
|
||||
bicubic_tension: .2
|
||||
|
||||
[z_tilt]
|
||||
z_positions:
|
||||
0,0
|
||||
250,500
|
||||
500,0
|
||||
|
||||
points:
|
||||
60,60
|
||||
285,470
|
||||
460,60
|
||||
|
||||
horizontal_move_z: 12
|
||||
retries: 10
|
||||
retry_tolerance: 0.02
|
||||
|
||||
|
||||
#############################################################################################################
|
||||
@ -98,9 +408,27 @@ retract_length: 0.5
|
||||
#############################################################################################################
|
||||
### MACROS
|
||||
#############################################################################################################
|
||||
[include config/macros.cfg]
|
||||
[include config/shell-macros.cfg]
|
||||
[include config/printers/v-core-3/macros.cfg]
|
||||
[include macros.cfg]
|
||||
[include shell-macros.cfg]
|
||||
|
||||
# Print macros. Call these from your slicer (custom g-code).
|
||||
# You can copy these to printer.cfg and modify them to your liking, or just use them as is.
|
||||
# Read more here: https://rat-rig.github.io/V-CoreOS/#/slicers
|
||||
[gcode_macro _START_PRINT_AFTER_HEATING_BED]
|
||||
gcode:
|
||||
{% if printer["gcode_macro RatOS"].preheat_extruder|lower == 'true' %}
|
||||
M117 Pre-heating extruder...
|
||||
# Wait for extruder to reach 150 so an inductive probe (if present) is at a predictable temp.
|
||||
# Also allows the bed heat to spread a little, and softens any plastic that might be stuck to the nozzle.
|
||||
M104 S150
|
||||
TEMPERATURE_WAIT SENSOR=extruder MINIMUM=150
|
||||
{% endif %}
|
||||
M117 Adjusting for tilt...
|
||||
# Adjust bed tilt
|
||||
Z_TILT_ADJUST
|
||||
M117 Rehoming after tilt adjustment...
|
||||
# Home again as Z will have changed after tilt adjustment and bed heating.
|
||||
G28 Z
|
||||
|
||||
|
||||
#############################################################################################################
|
||||
@ -111,12 +439,12 @@ retract_length: 0.5
|
||||
# Use absolute extrusion mode
|
||||
# Set to True to use relative extrusion mode
|
||||
variable_relative_extrusion: False
|
||||
# Wait for extruder to reach 150 so an inductive probe (if present) is at a predictable temp.
|
||||
# Wait for extruder to reach 150 so an inductive probe (if present) is at a predictable temp.
|
||||
# Also allows the bed heat to spread a little, and softens any plastic that might be stuck to the nozzle.
|
||||
# Set to False to disable
|
||||
variable_preheat_extruder: True
|
||||
# Calibrate the bed mesh in the START_PRINT macro.
|
||||
# Set to false to skip BED_MESH_CALIBRATE, it will still load the BED_MESH
|
||||
# Set to false to skip BED_MESH_CALIBRATE, it will still load the BED_MESH
|
||||
# with the name "ratos", be sure to save your bed_mesh profile with that name.
|
||||
# or override the _START_PRINT_BED_MESH macro to implement your own mesh handling logic.
|
||||
variable_calibrate_bed_mesh: True
|
||||
@ -128,7 +456,7 @@ variable_nozzle_priming: "false"
|
||||
variable_start_print_park_in: "back"
|
||||
# Height to park it when waiting for extruder to heat.
|
||||
variable_start_print_park_z_height: 50
|
||||
# Skew profile to load before starting the print
|
||||
# Skew profile to load before starting the print
|
||||
# uncomment this to use your calibrated skew correction profile.
|
||||
#variable_skew_profile: "my_skew_profile"
|
||||
# Park in the back after the print has ended or was cancelled.
|
||||
@ -249,7 +577,7 @@ bicubic_tension: .2
|
||||
### Enable/disable input shaper calibration
|
||||
#############################################################################################################
|
||||
# Uncomment this next line if you have an ADXL345 connected to your control board
|
||||
#[include config/printers/v-core-3/input-shaper.cfg]
|
||||
#[include config/printers/v-core-3/input-shaper.cfg]
|
||||
|
||||
# ADXL345 resonance testing configuration
|
||||
#[resonance_tester]
|
||||
|
60
shell-macros.cfg
Normal file
60
shell-macros.cfg
Normal file
@ -0,0 +1,60 @@
|
||||
[gcode_shell_command generate_shaper_graph_x]
|
||||
command: /home/pi/klipper_config/config/scripts/generate-shaper-graph-x.sh
|
||||
timeout: 60.
|
||||
verbose: True
|
||||
|
||||
[gcode_shell_command generate_shaper_graph_y]
|
||||
command: /home/pi/klipper_config/config/scripts/generate-shaper-graph-y.sh
|
||||
timeout: 60.
|
||||
verbose: True
|
||||
|
||||
[gcode_shell_command compile_binaries]
|
||||
command: /home/pi/klipper_config/config/scripts/compile-binaries.sh
|
||||
timeout: 600.
|
||||
|
||||
[gcode_shell_command change_hostname]
|
||||
command: /home/pi/klipper_config/config/scripts/change-hostname.sh
|
||||
timeout: 10.
|
||||
|
||||
[gcode_macro GENERATE_SHAPER_GRAPHS]
|
||||
description: Genarates input shaper resonances graphs for analysis. Uses the AXIS parameter for if you only want to do one axis at a time, (eg. GENERATE_SHAPER_GRAPHS AXIS=X)
|
||||
gcode:
|
||||
{% if params.AXIS is defined %}
|
||||
{% if params.AXIS|lower == 'x' %}
|
||||
MAYBE_HOME
|
||||
TEST_RESONANCES AXIS=X
|
||||
RUN_SHELL_COMMAND CMD=generate_shaper_graph_x
|
||||
RESPOND MSG="Input shaper graph generated for the X axis. You'll find it in the input_shaper folder in the machine tab!"
|
||||
{% elif params.AXIS|lower == 'y' %}
|
||||
MAYBE_HOME
|
||||
TEST_RESONANCES AXIS=Y
|
||||
RUN_SHELL_COMMAND CMD=generate_shaper_graph_y
|
||||
RESPOND MSG="Input shaper graph generated for the Y axis. You'll find it in the input_shaper folder in the machine tab!"
|
||||
{% else %}
|
||||
{action_raise_error("Unknown axis specified. Expected X or Y.")}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
MAYBE_HOME
|
||||
TEST_RESONANCES AXIS=X
|
||||
TEST_RESONANCES AXIS=Y
|
||||
RUN_SHELL_COMMAND CMD=generate_shaper_graph_x
|
||||
RUN_SHELL_COMMAND CMD=generate_shaper_graph_y
|
||||
RESPOND MSG="Input shaper graphs generated for X and Y. You'll find them in the input_shaper folder in the machine tab!"
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro COMPILE_FIRMWARE]
|
||||
description: Compiles firmware with currently installed klipper version for all supported RatOS boards. Note: this may take up to 10 minutes.
|
||||
gcode:
|
||||
RESPOND MSG="Compiling binaries.. This can take up to 10 minutes. Please do not turn off your Raspberry Pi!"
|
||||
RUN_SHELL_COMMAND CMD=compile_binaries
|
||||
RESPOND MSG="Firmware binaries compiled successfully! You can find them in the firmware_binaries folder in the machine tab!"
|
||||
|
||||
[gcode_macro CHANGE_HOSTNAME]
|
||||
description: Change the hostname of your Raspberry Pi.
|
||||
gcode:
|
||||
{% if params.HOSTNAME is not defined %}
|
||||
RESPOND MSG='You have to specify a new hostname with the HOSTNAME parameter. Ex: CHANGE_HOSTNAME HOSTNAME="MY_NEW_HOSTNAME"'
|
||||
RESPOND MSG="Please note: RFCs mandate that a hostname's labels may contain only the ASCII letters 'a' through 'z' (case-insensitive), the digits '0' through '9', and the hyphen. Hostname labels cannot begin or end with a hyphen. No other symbols, punctuation characters, or blank spaces are permitted."
|
||||
{% else %}
|
||||
RUN_SHELL_COMMAND CMD=change_hostname PARAMS={params.HOSTNAME}
|
||||
{% endif %}
|
Loading…
Reference in New Issue
Block a user