Initial commit for testing
This commit is contained in:
parent
b048d40508
commit
b977e164a6
|
|
@ -13,10 +13,16 @@ Hardware:
|
|||
Mods/Deviations (W.R.T. Stock V0.1):
|
||||
- Changed controller chamber fans to be controlled by each SKR (fans only operate when the drivers are active).
|
||||
- Cork insulation directly under hotbed to protect electronic chamber from direct/radiated heat.
|
||||
- Mathematical Potato's [V0.1 Belted Z Drive](https://github.com/VoronDesign/VoronUsers/tree/master/printer_mods/MathematicalPotato/v0.1_belted_z_drive)
|
||||
- Ch4relsB's [Slim V0 Handles](https://github.com/VoronDesign/VoronUsers/tree/master/printer_mods/Ch4rlesB/V0_Handles_Slim)
|
||||
- Andre's [Neopixel Front Bed Mount](https://github.com/VoronDesign/VoronUsers/tree/master/printer_mods/Andre/V0_Neopixel_Front_Bed_Mount)
|
||||
- Andre's [Mini AB ADXL345 Mount](https://github.com/VoronDesign/VoronUsers/tree/master/printer_mods/Andre/Mini_Afterburner_ADXL345_Mount)
|
||||
- Thiagolocatelli's [V0 Utility Belt](https://github.com/thiagolocatelli/VoronUsers/tree/master/printer_mods/DoubleT/v0_utility_belt)
|
||||
- Timmit99's [V0 Ubilical](https://github.com/timmit99/Voron-Hardware/tree/V0-Umbilical/V0-Umbilical)
|
||||
|
||||
Updates:
|
||||
- Inital config. Build in progress.
|
||||
|
||||
- - -
|
||||
This repo based on f0or1s' [cr10_klipper repo](http://github.com/fl0r1s/cr10_klipper), rpanfili's [woron-ht repo](http://github.com/rpanfili/voron-ht), and Zellneralex's [klipper_config repo](http://github.com/zellneralex/klipper_config) among many others.
|
||||
This repo based on f0or1s' [cr10_klipper repo](http://github.com/fl0r1s/cr10_klipper), rpanfili's [voron-ht repo](http://github.com/rpanfili/voron-ht), and Zellneralex's [klipper_config repo](http://github.com/zellneralex/klipper_config) among many others.
|
||||
It is a work in progress as I keept finding new and better ways to organize/tune my setup.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
[bed_screws]
|
||||
screw1: 60,5
|
||||
screw1_name: front screw
|
||||
screw2: 5,115
|
||||
screw2_name: back left
|
||||
screw3: 115,115
|
||||
screw3_name: back right
|
||||
|
|
@ -0,0 +1,172 @@
|
|||
#####################################################################
|
||||
# Display
|
||||
#####################################################################
|
||||
|
||||
[display]
|
||||
lcd_type: ssd1306
|
||||
i2c_bus: i2c1a
|
||||
contrast: 63
|
||||
display_group: __voron_display
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Custom Glyph Definitions
|
||||
#####################################################################
|
||||
|
||||
[display_glyph chamber]
|
||||
data:
|
||||
................
|
||||
****************
|
||||
*....*....*....*
|
||||
*....*....*....*
|
||||
*....******....*
|
||||
*..............*
|
||||
*..............*
|
||||
*.....****.....*
|
||||
*.***.*..*.***.*
|
||||
*.....****.....*
|
||||
*......**......*
|
||||
*..............*
|
||||
*.************.*
|
||||
*...*......*...*
|
||||
****************
|
||||
................
|
||||
|
||||
[display_glyph thermometer]
|
||||
data:
|
||||
0000000000000000
|
||||
0000000000000000
|
||||
0000000000111000
|
||||
0000000001000100
|
||||
0000000010010100
|
||||
0000000100100100
|
||||
0000001001001000
|
||||
0000010010010000
|
||||
0001100100100000
|
||||
0010001001000000
|
||||
0100100010000000
|
||||
0101110100000000
|
||||
0100100100000000
|
||||
0010001000000000
|
||||
0001110000000000
|
||||
0000000000000000
|
||||
|
||||
[display_glyph voron]
|
||||
data:
|
||||
......***.......
|
||||
....*******.....
|
||||
...*********....
|
||||
.*************..
|
||||
*****..***..***.
|
||||
****..***..****.
|
||||
***..***..*****.
|
||||
**..***..******.
|
||||
******..***..**.
|
||||
*****..***..***.
|
||||
****..***..****.
|
||||
***..***..*****.
|
||||
.*************..
|
||||
...*********....
|
||||
....*******.....
|
||||
......***.......
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Display Template/Definition
|
||||
#####################################################################
|
||||
|
||||
[display_template _chamber_temperature]
|
||||
text:
|
||||
{% set chamber = printer['temperature_sensor chamber'] %}
|
||||
~chamber~
|
||||
{ "%3.0f" % (chamber.temperature,) }
|
||||
~degrees~
|
||||
|
||||
[display_template _vprint_status]
|
||||
text:
|
||||
{% if printer.display_status.message %}
|
||||
{ printer.display_status.message }
|
||||
{% elif printer.idle_timeout.printing_time %}
|
||||
{% set pos = printer.toolhead.position %}
|
||||
{ "X%-4.0fY%-4.0fZ%-5.2f" % (pos.x, pos.y, pos.z) }
|
||||
{% else %}
|
||||
~voron~
|
||||
{" V2.823"}
|
||||
{% endif %}
|
||||
|
||||
[display_data __voron_display extruder]
|
||||
position: 0, 0
|
||||
text: { render("_heater_temperature", param_heater_name= printer.toolhead.extruder) }
|
||||
|
||||
[display_data __voron_display fan]
|
||||
position: 0, 10
|
||||
text:{ render("_fan_speed") }
|
||||
|
||||
[display_data __voron_display heater_bed]
|
||||
position: 1, 0
|
||||
text: { render("_heater_temperature", param_heater_name="heater_bed") }
|
||||
|
||||
[display_data __voron_display chamber]
|
||||
position: 1, 10
|
||||
text: { render("_chamber_temperature") }
|
||||
|
||||
[display_data __voron_display print_progress]
|
||||
position: 2, 0
|
||||
text: { "{:^10.0%}".format(printer.display_status.progress) }
|
||||
|
||||
[display_data __voron_display progress_bar]
|
||||
position: 2, 1 # Draw graphical progress bar after text is written
|
||||
text: { draw_progress_bar(2, 0, 10, printer.display_status.progress) }
|
||||
|
||||
[display_data __voron_display printing_time]
|
||||
position: 2, 10
|
||||
text: { "%6s" % (render("_printing_time").strip(),) }
|
||||
|
||||
[display_data __voron_display print_status]
|
||||
position: 3, 0
|
||||
text : { render("_vprint_status") }
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Display Specific Macros
|
||||
#####################################################################
|
||||
|
||||
## Clear display after Duration
|
||||
[delayed_gcode _CLEAR_DISPLAY]
|
||||
gcode:
|
||||
M117
|
||||
|
||||
|
||||
[delayed_gcode _LCD_INIT_OFF]
|
||||
initial_duration: 10
|
||||
gcode:
|
||||
SET_GCODE_VARIABLE MACRO=DISPLAY VARIABLE=state VALUE='"off"'
|
||||
|
||||
|
||||
[gcode_macro DISPLAY]
|
||||
variable_state: 'on'
|
||||
gcode:
|
||||
{% if printer["gcode_macro DISPLAY"].state == 'on' %}
|
||||
_DISPLAY_OFF
|
||||
{% else %}
|
||||
_DISPLAY_ON
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro _display_state]
|
||||
gcode:
|
||||
{action_respond_info("LCD display %s" % (printer["gcode_macro DISPLAY"].state))}
|
||||
|
||||
|
||||
[gcode_macro _DISPLAY_OFF]
|
||||
## Display off to hinder burn in
|
||||
gcode:
|
||||
SET_GCODE_VARIABLE MACRO=DISPLAY VARIABLE=state VALUE='"off"'
|
||||
_display_state
|
||||
|
||||
|
||||
[gcode_macro _DISPLAY_ON]
|
||||
## Display on
|
||||
gcode:
|
||||
SET_GCODE_VARIABLE MACRO=DISPLAY VARIABLE=state VALUE='"on"'
|
||||
_display_state
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
#####################################################################
|
||||
# Homing definition
|
||||
#####################################################################
|
||||
[safe_z_home]
|
||||
home_xy_position: 120,120
|
||||
speed: 50.0
|
||||
z_hop: 5
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Macros
|
||||
#####################################################################
|
||||
## conditional home
|
||||
[gcode_macro SMARTHOME]
|
||||
gcode:
|
||||
{% if printer.toolhead.homed_axes != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro _SET_ACC]
|
||||
default_parameter_VAL: RUN
|
||||
default_parameter_HOMING_ACCEL: 500
|
||||
variable_accel: 0
|
||||
variable_accel_to_decel: 0
|
||||
variable_last_val: 'RUN'
|
||||
gcode:
|
||||
{% if VAL == 'HOME' %}
|
||||
# store old values and apply home value
|
||||
SET_GCODE_VARIABLE MACRO=_SET_ACC VARIABLE=accel VALUE={printer.toolhead.max_accel}
|
||||
SET_GCODE_VARIABLE MACRO=_SET_ACC VARIABLE=accel_to_decel VALUE={printer.toolhead.max_accel_to_decel}
|
||||
{% set accel = HOMING_ACCEL %}
|
||||
{% set accel_to_decel = HOMING_ACCEL %}
|
||||
{% elif VAL == 'CONFIG' %}
|
||||
# set all to config values
|
||||
SET_GCODE_VARIABLE MACRO=_SET_ACC VARIABLE=accel VALUE={printer.configfile.settings.printer.max_accel}
|
||||
SET_GCODE_VARIABLE MACRO=_SET_ACC VARIABLE=accel_to_decel VALUE={printer.configfile.settings.printer.max_accel}
|
||||
{% set accel = printer.configfile.settings.printer.max_accel %}
|
||||
{% set accel_to_decel = printer.configfile.settings.printer.max_accel %}
|
||||
{% else %}
|
||||
# load stored values
|
||||
{% set accel = printer["gcode_macro _SET_ACC"].accel %}
|
||||
{% set accel_to_decel = printer["gcode_macro _SET_ACC"].accel_to_decel %}
|
||||
{% endif %}
|
||||
{% if VAL != printer["gcode_macro _SET_ACC"].last_val|string %}
|
||||
SET_GCODE_VARIABLE MACRO=_SET_ACC VARIABLE=last_val VALUE='"{VAL}"'
|
||||
{action_respond_info("VELOCITY_LIMIT set ACCEL: %d ACCEL_TO_DECEL: %d" % (accel|int, accel_to_decel|int))}
|
||||
SET_VELOCITY_LIMIT ACCEL={accel} ACCEL_TO_DECEL={accel_to_decel}
|
||||
{% endif %}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#####################################################################
|
||||
# Idle/Timeout Routine
|
||||
#####################################################################
|
||||
|
||||
[idle_timeout]
|
||||
timeout: 7200 #1 hour
|
||||
gcode:
|
||||
TURN_OFF_HEATERS
|
||||
M84
|
||||
_CASELIGHT_OFF
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
## Input Shaping
|
||||
[input_shaper]
|
||||
shaper_freq_x: 35
|
||||
shaper_freq_y: 149.8
|
||||
shaper_type_x: zv
|
||||
shaper_type_y: zv
|
||||
|
||||
[adxl345]
|
||||
cs_pin: rpi:None
|
||||
axes_map: z,y,x
|
||||
|
||||
[resonance_tester]
|
||||
accel_chip: adxl345
|
||||
probe_points:
|
||||
50,50,20
|
||||
50,300,20
|
||||
300 ,50,20
|
||||
300,300,20
|
||||
175,175,20 # Dead Center
|
||||
min_freq: 5
|
||||
max_freq: 120
|
||||
accel_per_hz: 75
|
||||
hz_per_sec: 1
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Macros
|
||||
#####################################################################
|
||||
[gcode_macro resonance_test]
|
||||
gcode:
|
||||
# Set variables for axis centers
|
||||
{% set midx = printer.configfile.config.stepper_x.position_max|float / 2 %}
|
||||
{% set midy = printer.configfile.config.stepper_y.position_max|float / 2 %}
|
||||
|
||||
G28
|
||||
TEST_VIBRATIONS X={ midx } Y={ midy } Z=20 AXIS=X FREQ_START=10 FREQ_END=100 FREQ_STEP=0.5 OUTPUT=/tmp/vib-x.csv
|
||||
TEST_VIBRATIONS X={ midx } Y={ midy } Z=20 AXIS=Y FREQ_START=10 FREQ_END=100 FREQ_STEP=0.5 OUTPUT=/tmp/vib-y.csv
|
||||
TEST_VIBRATIONS X={ midx } Y={ midy } Z=20 VIB_X=1 VIB_Y=1 FREQ_START=10 FREQ_END=100 FREQ_STEP=0.5 OUTPUT=/tmp/vib-b.csv
|
||||
TEST_VIBRATIONS X={ midx } Y={ midy } Z=20 VIB_X=-1 VIB_Y=1 FREQ_START=10 FREQ_END=100 FREQ_STEP=0.5 OUTPUT=/tmp/vib-a.csv
|
||||
|
||||
|
||||
[gcode_macro vibration_test]
|
||||
gcode:
|
||||
# Set variables for axis centers
|
||||
{% set midx = printer.configfile.config.stepper_x.position_max|float / 2 %}
|
||||
{% set midy = printer.configfile.config.stepper_y.position_max|float / 2 %}
|
||||
|
||||
# Store the user's intial input_shaper frequency parameters
|
||||
{% set initShapeX = printer.configfile.config.input_shaper.shaper_freq_x %}
|
||||
{% set initShapeY = printer.configfile.config.input_shaper.shaper_freq_y %}
|
||||
|
||||
G28
|
||||
#X Vibration - With Input Shaper
|
||||
G1 X{ midx - 25 } Y{ midy } Z20
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=3200 OUTPUT=/tmp/accel-x-input-shaper.csv
|
||||
G1 X{ midx + 25 } Y{ midy } F6000
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=0 OUTPUT=/tmp/accel-x-input-shaper.csv
|
||||
|
||||
#Y Vibration - With Input Shaper
|
||||
G1 X{ midx } Y{ midy - 25 } Z20
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=3200 OUTPUT=/tmp/accel-y-input-shaper.csv
|
||||
G1 X{ midx } Y{ midy + 25 } F6000
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=0 OUTPUT=/tmp/accel-y-input-shaper.csv
|
||||
|
||||
#B Vibration - With Input Shaper
|
||||
G1 X{ midx - 25 } Y{ midy - 25 } Z20
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=3200 OUTPUT=/tmp/accel-b-input-shaper.csv
|
||||
G1 X{ midx + 25 } Y{ midy + 25 } F6000
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=0 OUTPUT=/tmp/accel-b-input-shaper.csv
|
||||
|
||||
#A Vibration - With Input Shaper
|
||||
G1 X{ midx + 25 } Y{ midy - 25 } Z20
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=3200 OUTPUT=/tmp/accel-a-input-shaper.csv
|
||||
G1 X{ midx - 25 } Y{ midy + 25 } F6000
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=0 OUTPUT=/tmp/accel-a-input-shaper.csv
|
||||
|
||||
SET_INPUT_SHAPER SHAPER_FREQ_X=0 SHAPER_FREQ_Y=0
|
||||
|
||||
#X Vibration - Stock
|
||||
G1 X{ midx - 25 } Y{ midy } Z20
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=3200 OUTPUT=/tmp/accel-x-stock.csv
|
||||
G1 X{ midx + 25 } Y{ midy } F6000
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=0 OUTPUT=/tmp/accel-x-stock.csv
|
||||
|
||||
#Y Vibration - Stock
|
||||
G1 X{ midx } Y{ midy - 25 } Z20
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=3200 OUTPUT=/tmp/accel-y-stock.csv
|
||||
G1 X{ midx } Y{ midy + 25 } F6000
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=0 OUTPUT=/tmp/accel-y-stock.csv
|
||||
|
||||
#B Vibration - Stock
|
||||
G1 X{ midx - 25 } Y{ midy - 25 } Z20
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=3200 OUTPUT=/tmp/accel-b-stock.csv
|
||||
G1 X{ midx + 25 } Y{ midy + 25 } F6000
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=0 OUTPUT=/tmp/accel-b-stock.csv
|
||||
|
||||
#A Vibration - Stock
|
||||
G1 X{ midx + 25 } Y{ midy - 25 } Z20
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=3200 OUTPUT=/tmp/accel-a-stock.csv
|
||||
G1 X{ midx - 25 } Y{ midy + 25 } F6000
|
||||
M400
|
||||
G4 P300
|
||||
ACCELEROMETER_MEASURE CHIP=rpiaccel RATE=0 OUTPUT=/tmp/accel-a-stock.csv
|
||||
|
||||
# Restore user's input shaper frequency parameters
|
||||
SET_INPUT_SHAPER SHAPER_FREQ_X={ initShapeX } SHAPER_FREQ_Y={ initShapeY }
|
||||
|
|
@ -0,0 +1,239 @@
|
|||
## Voron Design V0.1
|
||||
## =========================
|
||||
## SKR Minie E3 V2.0 Controller
|
||||
## TMC2209 (UART mode) Drivers
|
||||
|
||||
[printer]
|
||||
kinematics: corexy
|
||||
max_velocity: 300
|
||||
max_accel: 4000
|
||||
max_z_velocity: 50
|
||||
max_z_accel: 1000
|
||||
square_corner_velocity: 6.0
|
||||
|
||||
## Uncomment if tuning input shaping
|
||||
#max_accel: 7000
|
||||
#max_accel_to_decel: 7000
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Microcontroller Definitions
|
||||
#####################################################################
|
||||
|
||||
[mcu]
|
||||
#serial: /dev/serial/by-id/
|
||||
restart_method: command
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Stepper Settings
|
||||
#####################################################################
|
||||
|
||||
## X Stepper
|
||||
[stepper_x]
|
||||
step_pin: X_STEP
|
||||
dir_pin: X_DIR
|
||||
enable_pin: !X_ENABLE
|
||||
# 2mm (GT2-6mm) Belt
|
||||
# GT2 20T Pully
|
||||
rotation_distance: 40
|
||||
microsteps: 16
|
||||
endstop_pin: X_ENDSTOP
|
||||
position_min: 0
|
||||
position_endstop: 120
|
||||
position_max: 120
|
||||
homing_speed: 20 #70; Max 100
|
||||
homing_retract_dist: 5
|
||||
homing_positive_dir: true
|
||||
|
||||
[tmc2209 stepper_x]
|
||||
uart_pin: X_UART
|
||||
tx_pin: X_TX
|
||||
uart_address: 0
|
||||
interpolate: True
|
||||
run_current: 0.5
|
||||
hold_current: 0.25
|
||||
sense_resistor: 0.110
|
||||
stealthchop_threshold: 500
|
||||
|
||||
## Y Stepper
|
||||
[stepper_y]
|
||||
step_pin: Y_STEP
|
||||
dir_pin: Y_DIR
|
||||
enable_pin: !Y_ENABLE
|
||||
# 2mm (GT2-6mm) Belt
|
||||
# GT2 20T Pully
|
||||
rotation_distance: 40
|
||||
microsteps: 16
|
||||
endstop_pin: Y_STOP
|
||||
position_min: 0
|
||||
position_endstop: 120
|
||||
position_max: 120
|
||||
homing_speed: 20 #70; Max 100
|
||||
homing_retract_dist: 5
|
||||
homing_positive_dir: true
|
||||
|
||||
[tmc2209 stepper_y]
|
||||
uart_pin: Y_UART
|
||||
tx_pin: Y_TX
|
||||
uart_address: 2
|
||||
interpolate: True
|
||||
run_current: 0.5
|
||||
hold_current: 0.25
|
||||
sense_resistor: 0.110
|
||||
stealthchop_threshold: 500
|
||||
|
||||
## Z Stepper
|
||||
[stepper_z]
|
||||
step_pin: Z_STEP
|
||||
dir_pin: Z_DIR
|
||||
enable_pin: !Z_ENABLE
|
||||
|
||||
# 2mm (GT2-6mm) Belt
|
||||
# GT2 20T Pully -> GT2 80T Pully -> 20T Pully
|
||||
rotation_distance: 40
|
||||
gear_ratio: 80:20
|
||||
|
||||
microsteps: 16
|
||||
endstop_pin: Z_ENDSTOP
|
||||
position_endstop: -0.10
|
||||
position_max: 120
|
||||
position_min: -1.5
|
||||
homing_speed: 10 #40; Max 100
|
||||
second_homing_speed: 3.0
|
||||
homing_retract_dist: 3.0
|
||||
|
||||
[tmc2209 stepper_z]
|
||||
uart_pin: Z_UART
|
||||
tx_pin: Z_TX
|
||||
uart_address: 1
|
||||
interpolate: true
|
||||
run_current: 0.75 # TL-42BYGH23 1.0A 2.1N-cm
|
||||
hold_current: 0.5
|
||||
sense_resistor: 0.110
|
||||
stealthchop_threshold: 500
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Extruder
|
||||
#####################################################################
|
||||
|
||||
## E0
|
||||
[extruder]
|
||||
step_pin: E0_STEP
|
||||
dir_pin: E0_DIR
|
||||
enable_pin: !E0_ENABLE
|
||||
|
||||
rotation_distance: 22.23 # TL/Bondtech 5mm Drive Gears
|
||||
gear_ratio: 50:10 # Mini Afterburner
|
||||
microsteps: 16
|
||||
full_steps_per_rotation: 200 # 200 for 1.8° motor
|
||||
# 400 for 0.9° motor
|
||||
|
||||
nozzle_diameter: 0.400
|
||||
max_extrude_cross_section: 1.44 # Let's pretend that I have a 0.6mm nozzle (IE Stop trying to save me Klipper)
|
||||
filament_diameter: 1.75
|
||||
heater_pin: HEAT_0
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: TEMP_0
|
||||
min_temp: 0
|
||||
max_temp: 270
|
||||
min_extrude_temp: 170
|
||||
max_extrude_only_distance: 780.0
|
||||
max_extrude_cross_section: 0.8
|
||||
#control = pid
|
||||
#pid_kp = 26.213
|
||||
#pid_ki = 1.304
|
||||
#pid_kd = 131.721
|
||||
pressure_advance: 0.0
|
||||
pressure_advance_smooth_time: 0.040
|
||||
|
||||
## E0 on MCU
|
||||
[tmc2209 extruder]
|
||||
uart_pin: E0_UART
|
||||
tx_pin: E0_TX
|
||||
uart_address: 3
|
||||
interpolate: True
|
||||
run_current: 0.3
|
||||
hold_current: 0.2
|
||||
sense_resistor: 0.110
|
||||
stealthchop_threshold: 500
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Bed Heater
|
||||
#####################################################################
|
||||
|
||||
## Hotbed
|
||||
[heater_bed]
|
||||
heater_pin: HEAT_BED
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: TEMP_BED
|
||||
## Adjust Max Power so your heater doesn't warp your bed
|
||||
max_power: 0.6 # for 100W pads
|
||||
min_temp: 0
|
||||
max_temp: 120
|
||||
#control: pid
|
||||
#pid_Kp: 54.027
|
||||
#pid_Ki: 0.770
|
||||
#pid_Kd: 948.182
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Fan Control
|
||||
#####################################################################
|
||||
|
||||
## Hotend Fan
|
||||
[heater_fan hotend_fan]
|
||||
pin: FAN1
|
||||
heater: extruder
|
||||
heater_temp: 50.0
|
||||
## If you are experiencing back flow, you can reduce fan_speed
|
||||
fan_speed: 1.0
|
||||
max_power: 1.0
|
||||
kick_start_time: 0.5
|
||||
|
||||
## Print Cooling Fan
|
||||
[fan]
|
||||
pin: FAN
|
||||
max_power: 1.0
|
||||
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.13
|
||||
cycle_time: 0.010
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Other Sensors
|
||||
#####################################################################
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Lighting Control
|
||||
#####################################################################
|
||||
## Neopixel interface
|
||||
[neopixel neo_status]
|
||||
pin: RGB
|
||||
chain_count: 1
|
||||
color_order: RGB
|
||||
initial_RED: 0.1
|
||||
initial_GREEN: 0.5
|
||||
initial_BLUE: 0.0
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Advanced Features
|
||||
#####################################################################
|
||||
|
||||
### Filament Runout Sensor - XYE Board, Z+
|
||||
#[filament_switch_sensor filament_sensor]
|
||||
#pause_on_runout: True
|
||||
#switch_pin: ^!P1.24
|
||||
#insert_gcode:
|
||||
# M117 Insert Detected
|
||||
#runout_gcode:
|
||||
# M117 Runout Detected
|
||||
# M600
|
||||
# M400
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
[gcode_macro DUMP_PARAMETERS]
|
||||
gcode:
|
||||
{% set parameters = namespace(output = '') %}
|
||||
{% for name1 in printer %}
|
||||
{% for name2 in printer[name1] %}
|
||||
{% set donotwant = ['bed_mesh','configfile'] %}
|
||||
{% if name1 is not in donotwant %}
|
||||
{% set param = "printer['%s'].%s = %s" % (name1, name2, printer[name1][name2]) %}
|
||||
{% set parameters.output = parameters.output + param + "\n" %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% set param = "printer['%s'] = %s" % (name1, printer[name1]) %}
|
||||
{% set parameters.output = parameters.output + param + "\n" %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{action_respond_info(parameters.output)}
|
||||
|
||||
[gcode_macro DUMP_CONFIG]
|
||||
gcode:
|
||||
{% set parameters = namespace(output = '') %}
|
||||
{% for name1 in printer.configfile.config %}
|
||||
{% set show = ['printer', "bed_mesh VORON-0C-MUELLER"] %}
|
||||
{% if name1 is in show %}
|
||||
{% set param = "printer.configfile.config['%s'] = %s" % (name1, printer.configfile.config[name1]) %}
|
||||
{% set parameters.output = parameters.output + param + "\n" %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{action_respond_info(parameters.output)}
|
||||
|
||||
[gcode_macro DUMP_SETTINGS]
|
||||
gcode:
|
||||
{% set parameters = namespace(output = '') %}
|
||||
{% for name1 in printer.configfile.settings %}
|
||||
{% set show = ['extruder'] %}
|
||||
{% if name1 is not in show %}
|
||||
{% set param = "printer.configfile.settings['%s'] = %s" % (name1, printer.configfile.settings[name1]) %}
|
||||
{% set parameters.output = parameters.output + param + "\n" %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{action_respond_info(parameters.output)}
|
||||
|
||||
[gcode_macro DUMP_MCU_VER]
|
||||
gcode:
|
||||
{% set parameters = namespace(output = 'mcu build version: \n') %}
|
||||
{% for name1 in printer %}
|
||||
{% for name2 in printer[name1] %}
|
||||
{% set show = ['mcu_version'] %}
|
||||
{% if name2 is in show %}
|
||||
{% set param = "%s: %s" % (name1, printer[name1][name2]) %}
|
||||
{% set parameters.output = parameters.output + param + "\n" %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{action_respond_info(parameters.output)}
|
||||
|
||||
|
||||
[gcode_macro DUMP_SATS]
|
||||
gcode:
|
||||
{% set cpu_t = printer.system_stats.cputime %}
|
||||
{% set cpu_h = (cpu_t / 3600)|int %}
|
||||
{% set cpu_m = ((cpu_t / 60) % 60)|int %}
|
||||
{% set cpu_s = (cpu_t % 60)|int %}
|
||||
{% set sysload = printer.system_stats.sysload|float * 100.0 %}
|
||||
{% set mem_val = printer.system_stats.memavail|float / 8388608.0 %}
|
||||
{action_respond_info("klipper process statistic:
|
||||
Head stalls: %d
|
||||
CPU Time: %d:%02d:%02d
|
||||
Sysload: %.2f percent
|
||||
Mem Val: %.3f MB" % (printer.toolhead.stalls, cpu_h, cpu_m ,cpu_s, sysload, mem_val))}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
## use this if you need more then one action responeses in a order
|
||||
## insight a macro
|
||||
[gcode_macro _PRINT_AR]
|
||||
gcode:
|
||||
# set default parameter value
|
||||
{% set show_lcd = params.SHOW_LCD|default('false') %}
|
||||
{% if show_lcd == 'true' %}
|
||||
M117 {'%s' % (params.T|string)}
|
||||
{% endif %}
|
||||
{action_respond_info("%s" % (params.T|string))}
|
||||
|
||||
[gcode_macro _PRINT_TIME]
|
||||
gcode:
|
||||
#set default parameter value
|
||||
{% set text = params.TEXT|default('Timer') %}
|
||||
{% set show_ar = params.SHOW_AR|default('false') %}
|
||||
{% set minutes = ((params.TIME|int / 60) % 60)|int %}
|
||||
{% set seconds = (params.TIME|int % 60)|int %}
|
||||
M117 {'%s' % (TEXT)} {minutes|int}:{'%02d' % (seconds|int)}
|
||||
{%if show_ar == 'true' %}
|
||||
{action_respond_info("%s %d:%02d" % (text,minutes|int,seconds|int))}
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro _SET_Z_CURRENT]
|
||||
default_parameter_VAL: RUN
|
||||
variable_last_val: 'RUN'
|
||||
gcode:
|
||||
{% if VAL == 'HOME' %}
|
||||
{% set z_run = 0.3 %}
|
||||
{% set z1_run = 0.3 %}
|
||||
{% set z2_run = 0.3 %}
|
||||
{% set z3_run = 0.3 %}
|
||||
{% set z_hold = 0.3 %}
|
||||
{% set z1_hold = 0.3 %}
|
||||
{% set z2_hold = 0.3 %}
|
||||
{% set z3_hold = 0.3 %}
|
||||
{% else %}
|
||||
{% set z_run = printer.configfile.settings["tmc2209 stepper_z"]["run_current"] %}
|
||||
{% set z1_run = printer.configfile.settings["tmc2209 stepper_z1"]["run_current"] %}
|
||||
{% set z2_run = printer.configfile.settings["tmc2209 stepper_z2"]["run_current"] %}
|
||||
{% set z3_run = printer.configfile.settings["tmc2209 stepper_z3"]["run_current"] %}
|
||||
{% set z_hold = printer.configfile.settings["tmc2209 stepper_z"]["hold_current"] %}
|
||||
{% set z1_hold = printer.configfile.settings["tmc2209 stepper_z1"]["hold_current"] %}
|
||||
{% set z2_hold = printer.configfile.settings["tmc2209 stepper_z2"]["hold_current"] %}
|
||||
{% set z3_hold = printer.configfile.settings["tmc2209 stepper_z3"]["hold_current"] %}
|
||||
{% endif %}
|
||||
{% if VAL != printer["gcode_macro _SET_Z_CURRENT"].last_val|string %}
|
||||
SET_GCODE_VARIABLE MACRO=_SET_Z_CURRENT VARIABLE=last_val VALUE='"{VAL}"'
|
||||
{action_respond_info("Home&Probe: RunCur %.2f HoldCur %.2f" % (z_run|float, z_hold|float))}
|
||||
SET_TMC_CURRENT STEPPER=stepper_z CURRENT={z_run} HOLDCURRENT={z_hold}
|
||||
SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT={z1_run} HOLDCURRENT={z1_hold}
|
||||
SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT={z2_run} HOLDCURRENT={z2_hold}
|
||||
SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT={z3_run} HOLDCURRENT={z3_hold}
|
||||
M400
|
||||
{% endif %}
|
||||
|
||||
|
|
@ -0,0 +1,122 @@
|
|||
## Undock Sled
|
||||
[gcode_macro G32]
|
||||
gcode:
|
||||
BED_MESH_CLEAR
|
||||
G28
|
||||
QUAD_GANTRY_LEVEL
|
||||
G28
|
||||
G0 X175 Y175 Z20 F6000
|
||||
|
||||
|
||||
## Auto Bed Leveling / Mesh Bed Compensation
|
||||
[gcode_macro G29]
|
||||
gcode:
|
||||
G4
|
||||
|
||||
|
||||
## Park toolhead
|
||||
[gcode_macro M125]
|
||||
gcode:
|
||||
SAVE_GCODE_STATE NAME=parking
|
||||
M117 Parking toolhead
|
||||
G91
|
||||
G1 Z20 F300 # move up 5 mm
|
||||
G90
|
||||
G1 X125 Y0 F4000 # move to park position
|
||||
RESTORE_GCODE_STATE name=parking
|
||||
|
||||
|
||||
## Load filament
|
||||
[gcode_macro M701]
|
||||
gcode:
|
||||
SAVE_GCODE_STATE NAME=loading_filament
|
||||
M117 Loading Filament
|
||||
M83
|
||||
G92 E0.0
|
||||
G1 E420 F6000 # length of bowden tube till cold-end (~420mm)
|
||||
G1 E100 F200 # some extra to prime the nozzle --> slower
|
||||
G92 E0.0
|
||||
RESTORE_GCODE_STATE name=loading_filament
|
||||
|
||||
|
||||
## Unload filament
|
||||
[gcode_macro M702]
|
||||
gcode:
|
||||
SAVE_GCODE_STATE NAME=unloading_filament
|
||||
M125 # park
|
||||
M117 Unloading Filament
|
||||
G91 # set relative
|
||||
G1 E10 F100
|
||||
G92 E0.0
|
||||
G1 E-530 F6000 # the E is the length of the bowden tube (420mm) + 100 mm.
|
||||
G92 E0.0
|
||||
RESTORE_GCODE_STATE name=unloading_filament MOVE=1
|
||||
|
||||
|
||||
## Filament Change
|
||||
[gcode_macro M600]
|
||||
default_parameter_X: 50
|
||||
default_parameter_Y: 0
|
||||
default_parameter_Z: 10
|
||||
gcode:
|
||||
M117 Filament Change
|
||||
SAVE_GCODE_STATE NAME=filament_change
|
||||
PAUSE
|
||||
G91 # relative
|
||||
G1 E-1 F300 # retract 1
|
||||
M125 # park
|
||||
M702 # unload
|
||||
M0 Click when filament inserted
|
||||
M701 # load
|
||||
RESTORE_GCODE_STATE NAME=filament_change
|
||||
|
||||
|
||||
## TMC Debugging
|
||||
[gcode_macro M122]
|
||||
gcode:
|
||||
DUMP_TMC STEPPER=stepper_x
|
||||
DUMP_TMC STEPPER=stepper_y
|
||||
DUMP_TMC STEPPER=stepper_z
|
||||
DUMP_TMC STEPPER=extruder
|
||||
|
||||
|
||||
## Power On
|
||||
## Enables Octoprint 'PSU Control' and 'Action' plugins
|
||||
[gcode_macro M80]
|
||||
gcode:
|
||||
RESPOND TYPE=command MSG=action:poweron
|
||||
G4 P1500
|
||||
FIRMWARE_RESTART
|
||||
|
||||
|
||||
## Power Off
|
||||
## Enables Octoprint 'PSU Control' and 'Action' plugins
|
||||
[gcode_macro M81]
|
||||
gcode:
|
||||
RESPOND TYPE=command MSG=action:poweroff
|
||||
|
||||
|
||||
## Break and Continue
|
||||
[gcode_macro M108]
|
||||
gcode:
|
||||
TURN_OFF_HEATERS
|
||||
|
||||
|
||||
## Wait for Chamber Temperature
|
||||
[gcode_macro M191]
|
||||
default_parameter_R: 30
|
||||
default_parameter_S: 30
|
||||
gcode:
|
||||
TEMPERATURE_WAIT SENSOR="temperature_sensor chamber" MINIMUM={S}
|
||||
|
||||
# M201 - Set Print Max Acceleration
|
||||
[gcode_macro M201]
|
||||
gcode:
|
||||
|
||||
# M203 - Set Max Feedrate
|
||||
[gcode_macro M203]
|
||||
gcode:
|
||||
|
||||
# M205 - Set Advanced Settings
|
||||
[gcode_macro M205]
|
||||
gcode:
|
||||
|
|
@ -0,0 +1,188 @@
|
|||
[gcode_macro ABL_MESH]
|
||||
gcode:
|
||||
SMARTHOME
|
||||
QUAD_GANTRY_LEVEL
|
||||
G28
|
||||
BED_MESH_CALIBRATE
|
||||
BED_MESH_PROFILE SAVE=default
|
||||
M117 Restarting...
|
||||
SAVE_CONFIG
|
||||
|
||||
|
||||
# Do nozzle priming
|
||||
[gcode_macro PRIME_EXTRUDER]
|
||||
gcode:
|
||||
M117 Priming
|
||||
G92 E0
|
||||
G1 X4.1 Y0 Z2.0 F6000
|
||||
G1 X4.1 Y20 Z0.3 F6000.0
|
||||
G1 X4.1 Y80.0 Z0.3 F600.0 E9
|
||||
G1 X4.1 Y120.0 Z0.3 F600.0 E12
|
||||
G92 E0
|
||||
G1 F2400 E-0.2 # Small retract to remove pressure
|
||||
G1 Z2.0 F3000
|
||||
|
||||
|
||||
[gcode_macro CLEAN_EXTRUDER]
|
||||
gcode:
|
||||
M117 Cleaning # Indicate nozzle clean in progress on LCD
|
||||
M109 S255 # Uncomment to set your own temp [run warmer to clean out nozzle]
|
||||
M107 # Turn layer fan off
|
||||
G21 # Set to metric [change to G20 if you want Imperial]
|
||||
G90 # Force coordinates to be absolute relative to the origin
|
||||
G28 # Home X/Y/Z axis
|
||||
G0 X1 Y0 Z0.15 F9000 # Move in 1mm from edge and up [z] 0.15mm
|
||||
G92 E0 # Set extruder to [0] zero
|
||||
G1 Y290 E100 F500 # Extrude 100mm filiment along Y axis 290mm long to prime and clean the nozzle
|
||||
G92 E0 # Reset extruder to [0] zero end of cleaning run
|
||||
G1 E-3 F500 # Retract filiment by 3 mm to reduce string effect
|
||||
G1 X3 Y290 Z15 F9000 # Move over and rise to safe Z height
|
||||
G1 X3 Y0 Z15 F9000 # Move back to front of bed at safe Z height to shear strings
|
||||
G1 E3 F500 # Uncomment if you believe exruder will be reset
|
||||
|
||||
|
||||
[gcode_macro TUNE_EXTRUDER]
|
||||
gcode:
|
||||
M117 Tuning
|
||||
G28 X0 Y0 Z0 # HOME ALL AXIS
|
||||
G90 # ABSOLUTE POSITIONING
|
||||
G92 E0 # SET EXTRUDER TO ZERO VALUE
|
||||
M190 S60
|
||||
M104 S215
|
||||
M109
|
||||
M82
|
||||
G01 E100 F50 # ADVANCE 100MM OF FILAMENT
|
||||
M140 S0
|
||||
M104 S0
|
||||
G90 E0 # Return to absolute positioning
|
||||
|
||||
|
||||
[gcode_macro BLTOUCH_RESET]
|
||||
gcode:
|
||||
BLTOUCH_DEBUG COMMAND=reset
|
||||
|
||||
|
||||
# Lighting Control
|
||||
[gcode_macro lights_on]
|
||||
gcode:
|
||||
SET_PIN PIN=caselight VALUE=100
|
||||
|
||||
|
||||
[gcode_macro lights_off]
|
||||
gcode:
|
||||
SET_PIN PIN=caselight VALUE=0
|
||||
|
||||
|
||||
[gcode_macro lights_toggle]
|
||||
gcode:
|
||||
{% if printer["output_pin caselight"].value == 100 %}
|
||||
lights_off
|
||||
{% else %}
|
||||
lights_on
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro GOTO_CENTER]
|
||||
gcode:
|
||||
LIFT_Z
|
||||
G90
|
||||
G0 X175 Y175 F6000
|
||||
|
||||
[gcode_macro LIFT_Z]
|
||||
gcode:
|
||||
G91
|
||||
G0 Z15 F2000
|
||||
G90
|
||||
|
||||
[gcode_macro SAVE_AT_END]
|
||||
variable_save: 0
|
||||
gcode:
|
||||
SET_GCODE_VARIABLE MACRO=SAVE_AT_END VARIABLE=save VALUE=1
|
||||
|
||||
|
||||
[gcode_macro SAVE_IF_SET]
|
||||
gcode:
|
||||
{% if printer["gcode_macro SAVE_AT_END"].save == 1 %}
|
||||
{printer.gcode.action_respond_info("Saving was requested - saving and restarting now")}
|
||||
SAVE_CONFIG
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro TUNE_HOTEND]
|
||||
gcode:
|
||||
M106 S64
|
||||
M117 Hotend PID Cal
|
||||
PID_CALIBRATE HEATER=extruder TARGET=245
|
||||
M117 Restarting...
|
||||
SAVE_AT_END
|
||||
|
||||
[gcode_macro TUNE_HOTBED]
|
||||
gcode:
|
||||
M117 Hotbed PID Cal
|
||||
PID_CALIBRATE HEATER=heater_bed TARGET=100
|
||||
M117 Restarting...
|
||||
SAVE_AT_END
|
||||
|
||||
|
||||
[gcode_macro heat_soak]
|
||||
gcode:
|
||||
{% if printer.toolhead.status == "Ready" %}
|
||||
G28
|
||||
G1 Z10
|
||||
G1 X150 Y150 F6000
|
||||
M140 S100
|
||||
UPDATE_DELAYED_GCODE ID=heatsoakDelay DURATION=600
|
||||
{% else %}
|
||||
M117 "Load disabled while printing!"
|
||||
{% endif %}
|
||||
|
||||
|
||||
[delayed_gcode heatsoakDelay]
|
||||
gcode:
|
||||
M117
|
||||
SET_PIN PIN=caselight VALUE=1
|
||||
G4 P250
|
||||
SET_PIN PIN=caselight VALUE=0
|
||||
G4 P250
|
||||
SET_PIN PIN=caselight VALUE=1
|
||||
G4 P250
|
||||
SET_PIN PIN=caselight VALUE=0
|
||||
|
||||
|
||||
## Tuning Adjustments
|
||||
## Adjust Z (SET_GCODE_OFFSET) based on each filament type (based on bed temp)
|
||||
[gcode_macro TEMPADJUSTOFFSET]
|
||||
gcode:
|
||||
#ABS
|
||||
{% if printer.heater_bed.target >= 100 %}
|
||||
{% endif %}
|
||||
#PETG
|
||||
{% if printer.heater_bed.target > 65 and printer.heater_bed.target < 100 %}
|
||||
SET_GCODE_OFFSET Z=0 MOVE=1
|
||||
SET_GCODE_OFFSET Z_ADJUST=0.05 MOVE=1
|
||||
{% endif %}
|
||||
#PLA
|
||||
{% if printer.heater_bed.target <= 65 %}
|
||||
SET_GCODE_OFFSET Z=0 MOVE=1
|
||||
SET_GCODE_OFFSET Z_ADJUST=0.1 MOVE=1
|
||||
{% endif %}
|
||||
|
||||
## Pressure Advance Adjustments
|
||||
## Use a different PA setting for each filiment type (uses bed temp to determine)
|
||||
[gcode_macro TEMPADJUSTPA]
|
||||
gcode:
|
||||
#ABS
|
||||
{% if printer.heater_bed.target >= 100 %}
|
||||
SET_PRESSURE_ADVANCE ADVANCE=0.05585
|
||||
{% endif %}
|
||||
#PETG
|
||||
{% if printer.heater_bed.target > 65 and printer.heater_bed.target < 100 %}
|
||||
SET_PRESSURE_ADVANCE ADVANCE=0.0785
|
||||
{% endif %}
|
||||
#PLA
|
||||
{% if printer.heater_bed.target <= 65 %}
|
||||
SET_PRESSURE_ADVANCE ADVANCE=0.0325
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,209 @@
|
|||
#######################################################################################################################################
|
||||
|
||||
# Sample macro config to be used in conjunction with the Decontaminator Purge Bucket & Nozzle Scrubber mod. Created by Hernsl
|
||||
# (hernsl#8860 on Voron Design discord) and edited by Edwardyeeks (edwardyeeks#6042 on Voron Design Discord).
|
||||
|
||||
# The goal of this macro is to provide a nozzle scrubbing and purging routine that is easily copied/referenced into your printer.cfg.
|
||||
# Users can simply change parameters and enable/disable options in the first half. Descriptions are laid out in sequence to be read
|
||||
# first; PLEASE READ CAREFULLY.
|
||||
|
||||
# This sample config assumes the following: The user has implemented the default decontaminator purge bucket & nozzle scrubber mod
|
||||
# for the VORON 1/2.
|
||||
|
||||
# Features in this macro: option of putting the bucket at the rear or front of the bed. Purge routine that can be enabled/disabled.
|
||||
# By default, bucket is located at rear left of bed and purge routine is enabled.
|
||||
|
||||
# Default parameters are set for safe speeds and movements. Where necessary, tweak the parameters for the nozzle scrub procedure
|
||||
# to fit your printer.
|
||||
|
||||
# To avoid adding length of lines to your main printer.cfg config file, one can upload a config file separately into klipper and
|
||||
# include it into the main printer config. Upload nozzle_scrub.cfg to the same directory as printer.cfg. Usually, it is in /home/pi/.
|
||||
|
||||
# Once uploaded, add the following to your printer.cfg in the Macros section: [include /home/pi/nozzle_scrub.cfg]
|
||||
# Those running mainsail will need to use the following location instead: [include /home/pi/klipper_config/nozzle_scrub.cfg]
|
||||
|
||||
#######################################################################################################################################
|
||||
|
||||
# Name of the macro is clean_nozzle.
|
||||
|
||||
[gcode_macro clean_nozzle]
|
||||
|
||||
# If you are putting your purge bucket at the rear left of the bed as per default installation, enable True on your location_bucket_rear
|
||||
# variable. If you want to put your purge bucket elsewhere (perhaps the front), then set it to False. See diagrams and description
|
||||
# further below on how to set your XY position.
|
||||
variable_location_bucket_rear: True
|
||||
|
||||
# If you want the purging routine in your bucket enabled, set to True (and vice versa).
|
||||
variable_enable_purge: True
|
||||
|
||||
# These parameters define your filament purging. Update as necessary. If you decided to not enable purge, you can ignore this section.
|
||||
variable_purge_len: 10 ; Amount of filament, in mm, to purge.
|
||||
variable_purge_spd: 150 ; Speed, in mm/s, of the purge.
|
||||
variable_purge_temp_min: 235 ; Minimum nozzle temperature to permit a purge. Otherwise, purge will not occur.
|
||||
|
||||
# Adjust this so that your nozzle scrubs within the brush. Currently defaulted to be a lot higher for safety. Be careful not to go too low!
|
||||
variable_brush_top: 1.75 ;10
|
||||
|
||||
# These parameters define your scrubbing, travel speeds, safe z clearance and how many times you want to wipe. Update as necessary.
|
||||
variable_clearance_z: 5 ; When traveling, but not cleaning, the clearance along the z-axis between nozzle and brush.
|
||||
variable_wipe_qty: 3 ; Number of complete (A complete wipe: start left, go right, go left) wipes.
|
||||
variable_prep_spd_xy: 3000 ; Travel (not cleaning) speed along x and y-axis in mm/min.
|
||||
variable_prep_spd_z: 1500 ; Travel (not cleaning) speed along z axis in mm/min.
|
||||
variable_wipe_spd_xy: 5000 ; Nozzle wipe speed in mm/min.
|
||||
|
||||
|
||||
# These parameters define the size of the brush. Update as necessary. A visual reference is provided below. Note that orientation of
|
||||
# parameters remain the same whether bucket is at rear or front.
|
||||
#
|
||||
# ← brush_width →
|
||||
# _________________ ↑
|
||||
# | | ↑ If you chose location_bucket_rear = True, Y position is acquired
|
||||
# brush_start (x) | | brush_depth from your stepper_y position_max. Adjust your brush physically in
|
||||
# |_________________| ↓ Y so that the nozzle scrubs within the brush.
|
||||
# (y) ↓
|
||||
# brush_front
|
||||
# __________________________________________________________
|
||||
# PRINTER FRONT
|
||||
#
|
||||
#
|
||||
## For V1.8, you may need to measure where your brush is on the x axis and input manually into any of the variable_brush_start uncommented.
|
||||
## For V2.4 250mm build, uncomment this below:
|
||||
#variable_brush_start: 25
|
||||
|
||||
## For V2.4 300mm build, uncomment this below:
|
||||
#variable_brush_start: 50
|
||||
|
||||
## For V2.4 350mm build, uncomment this below:
|
||||
variable_brush_start: 75
|
||||
|
||||
# This value is defaulted from brush location in CAD (rear left). Change if your brush width is different.
|
||||
variable_brush_width: 52
|
||||
|
||||
## These are only used if location_bucket_rear is False. You specify a custom location in y axis for your brush - see diagram above. ##
|
||||
variable_brush_front: 0
|
||||
variable_brush_depth: 0
|
||||
|
||||
|
||||
# These parameters define the size of your purge bucket. Update as necessary. If you decided to not enable purge, you can ignore
|
||||
# this section. A visual reference is provided below. Note that orientation of parameters remain the same whether bucket is at rear
|
||||
# or front.
|
||||
#
|
||||
# bucket_gap
|
||||
# ← ---- →
|
||||
# __________________________________________
|
||||
# | | | |
|
||||
# | | | |
|
||||
# bucket_start (x) | |______| |
|
||||
# | | | |
|
||||
# | | | |
|
||||
# |_________________|. . . |_________________|
|
||||
# ← ------------- → ← ------------- →
|
||||
# bucket_left_width bucket_right_width
|
||||
# _______________________________________________________________________________________
|
||||
# PRINTER FRONT
|
||||
#
|
||||
## For V2.4 250mm build, uncomment below
|
||||
#variable_bucket_left_width: 42
|
||||
|
||||
## For V2.4 300mm build, uncomment below
|
||||
#variable_bucket_left_width: 67
|
||||
|
||||
## For V2.4 350mm build, uncomment below
|
||||
variable_bucket_left_width: 92
|
||||
|
||||
# These values are defaulted from bucket geometry in CAD (rear left location). Change only if you're using a custom bucket.
|
||||
variable_bucket_right_width: 40
|
||||
variable_bucket_gap: 22
|
||||
|
||||
# For V1.8, you may need to measure where your bucket start is and input into bucket_start. Otherwise, a value of 0 is for a default
|
||||
# installation of purge bucket at rear left.
|
||||
variable_bucket_start: 0
|
||||
|
||||
|
||||
###############################################################################################################################################
|
||||
###############################################################################################################################################
|
||||
|
||||
### From here on, unless you know what you're doing, it's recommended not to change anything.
|
||||
|
||||
###############################################################################################################################################
|
||||
###############################################################################################################################################
|
||||
|
||||
# Placeholder. The variable will contain at random a number representing the left or right bucket.
|
||||
variable_bucket_pos: 1
|
||||
|
||||
gcode:
|
||||
# First, check if the axes are homed.
|
||||
{% if "xyz" in printer.toolhead.homed_axes %}
|
||||
|
||||
## Save the gcode state in this macro instance.
|
||||
SAVE_GCODE_STATE NAME=clean_nozzle
|
||||
|
||||
## Set to absolute positioning.
|
||||
G90
|
||||
|
||||
## Grab max position of Y-axis from config to use in setting a fixed y position for location_bucket_rear = True.
|
||||
{% set Ry = printer.configfile.config["stepper_y"]["position_max"]|float %}
|
||||
|
||||
## Check if user enabled purge option or not.
|
||||
{% if enable_purge %}
|
||||
|
||||
### Randomly select left or right bin for purge.
|
||||
SET_GCODE_VARIABLE MACRO=clean_nozzle VARIABLE=bucket_pos VALUE={(range(0, 1) | random)}
|
||||
|
||||
### Raise Z for travel.
|
||||
G1 Z{brush_top + clearance_z} F{prep_spd_z}
|
||||
|
||||
### Check if user chose to use rear location.
|
||||
{% if location_bucket_rear %}
|
||||
G1 Y{Ry} F{prep_spd_xy}
|
||||
{% else %}
|
||||
G1 Y{brush_front + (brush_depth / 2)} F{prep_spd_xy}
|
||||
{% endif %}
|
||||
|
||||
### Position for purge. Randomly selects middle of left or right bucket. It references from the middle of the left bucket.
|
||||
G1 X{bucket_start + (bucket_left_width / 2) + (bucket_pos * bucket_gap) + (bucket_pos * (bucket_right_width / 2))}
|
||||
|
||||
### Perform purge if the temp is up to min temp. If not, it will skip and continue executing rest of macro.
|
||||
{% if printer.extruder.temperature >= purge_temp_min %}
|
||||
M83 ; relative mode
|
||||
G1 E{purge_len} F{purge_spd}
|
||||
G92 E0 ; reset extruder
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Position for wipe.
|
||||
G1 Z{brush_top + clearance_z} F{prep_spd_z}
|
||||
G1 X{brush_start} F{prep_spd_xy}
|
||||
|
||||
## Check if user chose to use rear location.
|
||||
{% if location_bucket_rear %}
|
||||
G1 Y{Ry}
|
||||
{% else %}
|
||||
G1 Y{brush_front + (brush_depth / 2)}
|
||||
{% endif %}
|
||||
|
||||
## Move nozzle down into brush.
|
||||
G1 Z{brush_top} F{prep_spd_z}
|
||||
|
||||
## Perform wipe.
|
||||
{% for wipes in range(1, (wipe_qty + 1)) %}
|
||||
G1 X{brush_start + brush_width} F{wipe_spd_xy}
|
||||
G1 X{brush_start} F{wipe_spd_xy}
|
||||
{% endfor %}
|
||||
|
||||
## Clear from area.
|
||||
M117 Cleaned!
|
||||
G1 Z{brush_top + clearance_z} F{prep_spd_z}
|
||||
G1 X{bucket_left_width / 4} F{prep_spd_xy}
|
||||
|
||||
## Restore the gcode state to how it was before the macro.
|
||||
RESTORE_GCODE_STATE NAME=clean_nozzle
|
||||
|
||||
{% else %}
|
||||
|
||||
## raise error will stop any macros that clean_nozzle is referenced in from proceeding for safety.
|
||||
{ action_raise_error("Please home your axes!") }
|
||||
M117 Please home first!
|
||||
|
||||
{% endif %}
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
######################################################################
|
||||
# Start Print and End Print
|
||||
######################################################################
|
||||
|
||||
# Replace the slicer's custom start and end g-code scripts with
|
||||
# START_PRINT and END_PRINT.
|
||||
|
||||
[gcode_macro START_PRINT]
|
||||
variable_parameter_T_BED: 60
|
||||
variable_parameter_T_EXTRUDER: 190
|
||||
gcode:
|
||||
CLEAR_PAUSE
|
||||
|
||||
# Perform a G28 'home' (if needed), wait for the bed to finish heating and do a QGL
|
||||
SMARTHOME
|
||||
SMARTQGL
|
||||
|
||||
# Start preheating the bed
|
||||
M117 Heating bed/toolhead
|
||||
_LCD_KNOB COLOR=RED BLINK=1
|
||||
M140 S{T_BED}
|
||||
M104 S{params.T_EXTRUDER|float*0.75}
|
||||
G0 Z30 F1800
|
||||
G0 X175 Y175 Z10 F6000
|
||||
|
||||
# Perform a G28 'home' (if needed), wait for the bed to finish heating and do a QGL
|
||||
M190 S{T_BED}
|
||||
;LOAD_MESH_TEMP BED_TEMPERATURE{T_BED}
|
||||
BED_MESH_PROFILE LOAD=default
|
||||
|
||||
# Hover over purge bucket, wait for the hotend to finish, then purge/wipe and rehome Z
|
||||
G0 X46 Y350 Z10 F18000
|
||||
M109 S{T_EXTRUDER}
|
||||
clean_nozzle
|
||||
G28 Z
|
||||
|
||||
# Move the nozzle near the bed
|
||||
G0 X4.1 Y0.1 Z2.0 F6000
|
||||
G1 Z0.3 F6000
|
||||
|
||||
# Prime line
|
||||
PRIME_EXTRUDER
|
||||
M117
|
||||
|
||||
|
||||
[gcode_macro END_PRINT]
|
||||
variable_print_done: 'false'
|
||||
gcode:
|
||||
SAVE_GCODE_STATE NAME=STATE_PRINT_END
|
||||
|
||||
##### Get Boundaries #####
|
||||
{% set max_x = printer.toolhead.axis_maximum.x|float %}
|
||||
{% set max_y = printer.toolhead.axis_maximum.y|float %}
|
||||
{% set max_z = printer.toolhead.axis_maximum.z|float %}
|
||||
{% set act_x = printer.toolhead.position.x|float %}
|
||||
{% set act_y = printer.toolhead.position.y|float %}
|
||||
{% set act_z = printer.toolhead.position.z|float %}
|
||||
|
||||
##### Calculate save move #####
|
||||
{% if act_x < (max_x - 20.0) %}
|
||||
{% set x_safe = 20.0 %}
|
||||
{% else %}
|
||||
{% set x_safe = -20.0 %}
|
||||
{% endif %}
|
||||
{% if act_y < (max_y - 20.0) %}
|
||||
{% set y_safe = 20.0 %}
|
||||
{% else %}
|
||||
{% set y_safe = -20.0 %}
|
||||
{% endif %}
|
||||
{% if act_z < (max_z - 2.0) %}
|
||||
{% set z_safe = 2.0 %}
|
||||
{% else %}
|
||||
{% set z_safe = max_z - act_z %}
|
||||
{% endif %}
|
||||
|
||||
M400
|
||||
G92 E0
|
||||
G1 E-2 F1800
|
||||
G91
|
||||
G0 X{x_safe} Y{y_safe} Z{z_safe} F20000 ; move nozzle to remove stringing
|
||||
TURN_OFF_HEATERS
|
||||
M107
|
||||
G90
|
||||
G0 X46 Y350 F18000 ; Park over purge bucket
|
||||
BED_MESH_CLEAR
|
||||
M300 ; Play a tone
|
||||
_LCD_KNOB COLOR=GREEN
|
||||
UPDATE_DELAYED_GCODE ID=_CLEAR_DISPLAY DURATION=10
|
||||
SET_GCODE_VARIABLE MACRO=END_PRINT VARIABLE=print_done VALUE='"true"'
|
||||
RESTORE_GCODE_STATE NAME=STATE_PRINT_END
|
||||
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
[gcode_macro SONG_SMB_FLAGPOLE]
|
||||
gcode:
|
||||
M300 S196.0 P156 ;G3
|
||||
M300 S261.6 P156 ;C4
|
||||
M300 S329.6 P156 ;E4
|
||||
M300 S392.0 P156 ;G4
|
||||
M300 S523.3 P156 ;C5
|
||||
M300 S659.3 P156 ;E5
|
||||
M300 S784.0 P413 ;G5
|
||||
M300 S659.3 P413 ;E5
|
||||
M300 S207.7 P156 ;G#3
|
||||
M300 S261.6 P156 ;C4
|
||||
M300 S311.1 P156 ;D#4
|
||||
M300 S415.3 P156 ;G#4
|
||||
M300 S523.3 P156 ;C5
|
||||
M300 S622.3 P156 ;D#5
|
||||
M300 S830.6 P413 ;G#5
|
||||
M300 S622.3 P413 ;D#5
|
||||
M300 S233.1 P156 ;A#3
|
||||
M300 S293.7 P156 ;D4
|
||||
M300 S349.2 P156 ;F4
|
||||
M300 S466.2 P156 ;A#4
|
||||
M300 S587.3 P156 ;D5
|
||||
M300 S698.5 P156 ;F5
|
||||
M300 S932.3 P413 ;A#5
|
||||
M300 S000.0 P001 ;silence
|
||||
M300 S932.3 P156 ;A#5
|
||||
M300 S000.0 P001 ;silence
|
||||
M300 S932.3 P156 ;A#5
|
||||
M300 S000.0 P001 ;silence
|
||||
M300 S932.3 P156 ;A#5
|
||||
M300 S000.0 P001 ;silence
|
||||
M300 S1046.5 P700 ;C6
|
||||
|
||||
[gcode_macro SONG_FF_VICTORY]
|
||||
gcode:
|
||||
M300 S2349 P53
|
||||
M300 S0 P53
|
||||
M300 S2349 P53
|
||||
M300 S0 P53
|
||||
M300 S2349 P53
|
||||
M300 S0 P53
|
||||
M300 S2349 P428
|
||||
M300 S932 P428
|
||||
M300 S2093 P428
|
||||
M300 S2349 P107
|
||||
M300 S0 P214
|
||||
M300 S2093 P107
|
||||
M300 S2349 P857
|
||||
|
||||
[gcode_macro SONG_ZELDA_TREASURE]
|
||||
gcode:
|
||||
G4 P1000 ; wait
|
||||
M300 S392 P200 ; G4
|
||||
M300 S440 P200 ; A4
|
||||
M300 S493.88 P200 ; B4
|
||||
M300 S554.37 P200 ; C#5
|
||||
M300 S392 P195 ; G4
|
||||
M300 S440 P195 ; A4
|
||||
M300 S493.88 P195 ; B4
|
||||
M300 S554.37 P195 ; C#5
|
||||
M300 S415.3 P190 ; G#4
|
||||
M300 S466.16 P190 ; A#4
|
||||
M300 S523.25 P190 ; C5
|
||||
M300 S587.33 P190 ; D5
|
||||
M300 S415.3 P185 ; G#4
|
||||
M300 S466.16 P185 ; A#4
|
||||
M300 S523.25 P185 ; C5
|
||||
M300 S587.33 P185 ; D5
|
||||
M300 S440 P180 ; A4
|
||||
M300 S493.88 P180 ; B4
|
||||
M300 S554.37 P180 ; C#5
|
||||
M300 S622.25 P180 ; D#5
|
||||
M300 S440 P175 ; A4
|
||||
M300 S493.88 P175 ; B4
|
||||
M300 S554.37 P175 ; C#5
|
||||
M300 S622.25 P175 ; D#5
|
||||
M300 S466.16 P169 ; A#4
|
||||
M300 S523.25 P169 ; C5
|
||||
M300 S587.33 P169 ; D5
|
||||
M300 S659.25 P169 ; E5
|
||||
M300 S466.16 P163 ; A#4
|
||||
M300 S523.25 P163 ; C5
|
||||
M300 S587.33 P163 ; D5
|
||||
M300 S659.25 P163 ; E5
|
||||
M300 S493.88 P158 ; B4
|
||||
M300 S554.37 P158 ; C#5
|
||||
M300 S622.25 P158 ; D#5
|
||||
M300 S698.46 P158 ; F5
|
||||
M300 S523.25 P151 ; C5
|
||||
M300 S587.33 P151 ; D5
|
||||
M300 S659.25 P151 ; E5
|
||||
M300 S739.99 P151 ; F#5
|
||||
M300 S554.37 P144 ; C#5
|
||||
M300 S622.25 P144 ; D#5
|
||||
M300 S698.46 P144 ; F5
|
||||
M300 S783.99 P144 ; G5
|
||||
M300 S587.33 P137 ; D5
|
||||
M300 S659.25 P137 ; E5
|
||||
M300 S739.99 P137 ; F#5
|
||||
M300 S830.61 P137 ; G#5
|
||||
G4 P750 ; wait
|
||||
|
||||
[gcode_macro SONG_PORTAL_ALIVE]
|
||||
gcode:
|
||||
M300 S3135 P166
|
||||
M300 S2959 P166
|
||||
M300 S2637 P166
|
||||
M300 S2637 P166
|
||||
M300 S2959 P166
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
## Other settings
|
||||
|
||||
# This enables a 'force_move' command ignoring all homing, Z-stops etc. Useful in debugging.
|
||||
[force_move]
|
||||
enable_force_move: True
|
||||
|
||||
# Support for gcode arc (G2/G3) commands.
|
||||
[gcode_arcs]
|
||||
resolution: 0.12
|
||||
|
||||
# Enables G10 (retract) and G11 (unretract) GCODE commands
|
||||
[firmware_retraction]
|
||||
retract_length: 1 # 1mm for direct drive/afterburner
|
||||
retract_speed: 20
|
||||
unretract_extra_length: 0
|
||||
unretract_speed: 10
|
||||
|
||||
# File location of stored varibales
|
||||
[save_variables]
|
||||
filename: ~/config/.variables.stb
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
[mcu rpi]
|
||||
serial: /tmp/klipper_host_mcu
|
||||
|
||||
## Rasberry Pi CPU Temperature
|
||||
[temperature_sensor cpu]
|
||||
sensor_type: rpi_temperature
|
||||
min_temp: 0
|
||||
max_temp: 85
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
#This file contains common pin mappings for the BigTreeTech SKR 2.
|
||||
# To use this config, the firmware should be compiled for the
|
||||
# STM32F407 with a "32KiB bootloader".
|
||||
|
||||
# The "make flash" command does not work on the SKR 2. Instead,
|
||||
# after running "make", copy the generated "out/klipper.bin" file to a
|
||||
# file named "firmware.bin" on an SD card and then restart the SKR 2
|
||||
# with that SD card.
|
||||
|
||||
# See docs/Config_Reference.md for a description of parameters.
|
||||
|
||||
[board_pins]
|
||||
aliases:
|
||||
# BLTouch (Servo/Probe)
|
||||
SERVO0=PA1,
|
||||
PROBE=PC14,
|
||||
|
||||
# RGB
|
||||
RGB=PA8
|
||||
|
||||
# Limit Switches
|
||||
X_STOP=PC1,
|
||||
Y_STOP=PC3,
|
||||
Z_STOP=PC0,
|
||||
E0_STOP=PC2,
|
||||
E1_STOP=PA0,
|
||||
|
||||
# Steppers
|
||||
X_STEP=PB13, X_DIR=PB12, X_ENABLE=PB14, X_UART=PC11, X_TX=PC10,
|
||||
Y_STEP=PB10, Y_DIR=PB2, Y_ENABLE=PB11, Y_UART=PC11, Y_TX=PC10,
|
||||
Z_STEP=PB0, Z_DIR=PC5, Z_ENABLE=PB1, Z_UART=PC11, Z_TX=PC10,
|
||||
E0_STEP=PB3, E0_DIR=PB4, E0_ENABLE=PD2, E0_UART=PC11, E0_TX=PC10,
|
||||
|
||||
TEMP_0=PA0,
|
||||
TEMP_BED=PC3,
|
||||
|
||||
FAN=PC6,
|
||||
FAN1=PC7,
|
||||
HEAT_0=PC8,
|
||||
HEAT_BED=PC9,
|
||||
|
||||
# EXP1 header
|
||||
EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=<GND>,
|
||||
EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9, EXP1_8=PB15, EXP1_10=<5V>
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
## Voron V2.4
|
||||
# Inspiration from /u/VonThing & Floris Remmen
|
||||
# Uses multiple config files.
|
||||
|
||||
#####################################################################
|
||||
# Machine definitions
|
||||
#####################################################################
|
||||
[include machine.cfg]
|
||||
[include pi.cfg]
|
||||
|
||||
#####################################################################
|
||||
# Macros
|
||||
#####################################################################
|
||||
[include macros.d/*.cfg]
|
||||
|
||||
#####################################################################
|
||||
# Caselight Control
|
||||
#####################################################################
|
||||
[include caselight.cfg]
|
||||
|
||||
#####################################################################
|
||||
# Homing Routines
|
||||
#####################################################################
|
||||
[include homing.cfg]
|
||||
|
||||
#####################################################################
|
||||
# Bed Mesh
|
||||
#####################################################################
|
||||
[include bed_mesh.cfg]
|
||||
|
||||
#####################################################################
|
||||
# Calibration
|
||||
#####################################################################
|
||||
[include input_shaper.cfg]
|
||||
|
||||
#####################################################################
|
||||
# Display
|
||||
#####################################################################
|
||||
[include display.cfg]
|
||||
|
||||
#####################################################################
|
||||
# Idle/Timeout Routine
|
||||
#####################################################################
|
||||
[include idle_timeout.cfg]
|
||||
|
||||
#####################################################################
|
||||
# Moonraker + Webclient
|
||||
#####################################################################
|
||||
[include webclient.cfg]
|
||||
|
||||
#####################################################################
|
||||
# Other
|
||||
#####################################################################
|
||||
[include other.cfg]
|
||||
|
||||
|
||||
#*# <---------------------- SAVE_CONFIG ---------------------->
|
||||
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
|
||||
#*#
|
||||
#*# [stepper_z]
|
||||
#*# position_endstop = -0.918
|
||||
#*#
|
||||
#*# [extruder]
|
||||
#*# control = pid
|
||||
#*# pid_kp = 20.763
|
||||
#*# pid_ki = 1.073
|
||||
#*# pid_kd = 100.443
|
||||
#*#
|
||||
#*# [heater_bed]
|
||||
#*# control = pid
|
||||
#*# pid_kp = 39.324
|
||||
#*# pid_ki = 0.920
|
||||
#*# pid_kd = 420.279
|
||||
#*#
|
||||
#*# [bed_mesh default]
|
||||
#*# version = 1
|
||||
#*# points =
|
||||
#*# 0.012500, 0.062500, 0.065000, 0.047500, 0.030000, 0.025000, 0.042500
|
||||
#*# 0.005000, 0.037500, 0.032500, 0.012500, -0.015000, -0.022500, 0.005000
|
||||
#*# -0.010000, 0.022500, 0.012500, -0.007500, -0.027500, -0.027500, 0.002500
|
||||
#*# -0.010000, 0.025000, 0.020000, 0.000000, -0.020000, -0.017500, 0.027500
|
||||
#*# -0.020000, 0.012500, 0.007500, -0.017500, -0.032500, -0.017500, 0.040000
|
||||
#*# 0.010000, 0.042500, 0.035000, 0.012500, -0.007500, 0.005000, 0.062500
|
||||
#*# 0.045000, 0.067500, 0.057500, 0.025000, 0.005000, 0.012500, 0.067500
|
||||
#*# tension = 0.2
|
||||
#*# min_x = 30.0
|
||||
#*# algo = bicubic
|
||||
#*# y_count = 7
|
||||
#*# mesh_y_pps = 2
|
||||
#*# min_y = 30.0
|
||||
#*# x_count = 7
|
||||
#*# max_y = 319.98
|
||||
#*# mesh_x_pps = 2
|
||||
#*# max_x = 319.98
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
#####################################################################
|
||||
# Webclient Settings
|
||||
#####################################################################
|
||||
[virtual_sdcard]
|
||||
path: ~/sdcard
|
||||
|
||||
# Enable status panel messages
|
||||
[display_status]
|
||||
|
||||
# This adds pause/resume support
|
||||
[pause_resume]
|
||||
|
||||
# Enable the "M118" and "RESPOND" extended commands.
|
||||
[respond]
|
||||
default_type: echo
|
||||
default_prefix: echo:
|
||||
|
||||
|
||||
#####################################################################
|
||||
# LCD Menu Items
|
||||
#####################################################################
|
||||
[menu __main __octoprint]
|
||||
type: disabled
|
||||
|
||||
[menu __main __sdcard]
|
||||
type: list
|
||||
enable: {'virtual_sdcard' in printer}
|
||||
name: SD Card
|
||||
|
||||
[menu __main __sdcard __file]
|
||||
type: command
|
||||
name: File: {printer.print_stats.filename}
|
||||
index: 0
|
||||
|
||||
[menu __main __sdcard __load]
|
||||
type: vsdlist
|
||||
#type: list
|
||||
#event_sender: __vsdfiles
|
||||
enable: {printer.print_stats.filename == "" and (printer.print_stats.state == "standby" or printer.print_stats.state == "error" or printer.print_stats.state == "complete")}
|
||||
name: Load file
|
||||
index: 1
|
||||
|
||||
[menu __main __sdcard __unload]
|
||||
type: command
|
||||
enable: {printer.print_stats.filename != "" and (printer.print_stats.state == "standby" or printer.print_stats.state == "error" or printer.print_stats.state == "complete")}
|
||||
name: Unload file
|
||||
index: 2
|
||||
gcode:
|
||||
# back is needed to reload the modified menu structure
|
||||
{menu.back()}
|
||||
SDCARD_RESET_FILE
|
||||
|
||||
[menu __main __sdcard __start]
|
||||
type: command
|
||||
enable: {printer.print_stats.filename != "" and (printer.print_stats.state == "standby" or printer.print_stats.state == "error" or printer.print_stats.state == "complete")}
|
||||
name: Start print
|
||||
index: 3
|
||||
gcode:
|
||||
{menu.exit()}
|
||||
M24
|
||||
|
||||
[menu __main __sdcard __pause]
|
||||
type: command
|
||||
enable: {printer.print_stats.state == "printing"}
|
||||
name: Pause print
|
||||
gcode:
|
||||
# back is needed to reload the modified menu structure
|
||||
{menu.back()}
|
||||
PAUSE
|
||||
|
||||
[menu __main __sdcard __resume]
|
||||
type: command
|
||||
enable: {printer.print_stats.state == "paused"}
|
||||
name: Resume print
|
||||
gcode:
|
||||
{menu.exit()}
|
||||
RESUME
|
||||
|
||||
[menu __main __sdcard __cancel]
|
||||
type: command
|
||||
enable: {printer.print_stats.state == "paused"}
|
||||
name: Cancel print
|
||||
gcode:
|
||||
{menu.exit()}
|
||||
CANCEL_PRINT
|
||||
|
||||
|
||||
#####################################################################
|
||||
# Macros
|
||||
#####################################################################
|
||||
[gcode_macro PAUSE]
|
||||
rename_existing: BASE_PAUSE
|
||||
default_parameter_X: 0 #edit to your park position
|
||||
default_parameter_Y: 0 #edit to your park position
|
||||
default_parameter_Z: 120 #edit to your park position
|
||||
default_parameter_E: 0.2 #edit to your retract length
|
||||
gcode:
|
||||
SAVE_GCODE_STATE NAME=PAUSE_state
|
||||
BASE_PAUSE
|
||||
G91
|
||||
G1 E-{E} F2100
|
||||
G1 Z{Z}
|
||||
G90
|
||||
G1 X{X} Y{Y} F6000
|
||||
|
||||
|
||||
[gcode_macro RESUME]
|
||||
rename_existing: BASE_RESUME
|
||||
default_parameter_E: 0.2 #edit to your retract length
|
||||
gcode:
|
||||
G91
|
||||
G1 E{E} F2100
|
||||
G90
|
||||
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1
|
||||
BASE_RESUME
|
||||
|
||||
|
||||
[gcode_macro CANCEL_PRINT]
|
||||
rename_existing: BASE_CANCEL_PRINT
|
||||
default_parameter_X: 0 #edit to your park position
|
||||
default_parameter_Y: 0 #edit to your park position
|
||||
default_parameter_Z: 120 #edit to your park position
|
||||
gcode:
|
||||
M104 S0
|
||||
M140 S0
|
||||
M141 S0
|
||||
M106 S0
|
||||
CLEAR_PAUSE
|
||||
SDCARD_RESET_FILE
|
||||
BASE_CANCEL_PRINT
|
||||
|
||||
Loading…
Reference in New Issue