Initial commit
This commit is contained in:
commit
a6cafba793
26 changed files with 786 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
printer-*.cfg
|
||||
|
70
fluidd.cfg
Normal file
70
fluidd.cfg
Normal file
|
@ -0,0 +1,70 @@
|
|||
[virtual_sdcard]
|
||||
path: /mnt/san/uploads
|
||||
|
||||
[pause_resume]
|
||||
|
||||
[display_status]
|
||||
|
||||
[gcode_macro CANCEL_PRINT]
|
||||
description: Cancel the actual running print
|
||||
rename_existing: CANCEL_PRINT_BASE
|
||||
gcode:
|
||||
TURN_OFF_HEATERS
|
||||
CANCEL_PRINT_BASE
|
||||
|
||||
[gcode_macro PAUSE]
|
||||
description: Pause the actual running print
|
||||
rename_existing: PAUSE_BASE
|
||||
# change this if you need more or less extrusion
|
||||
variable_extrude: 1.0
|
||||
gcode:
|
||||
##### read E from pause macro #####
|
||||
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
||||
##### set park positon for x and y #####
|
||||
# default is your max posion from your printer.cfg
|
||||
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
|
||||
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
|
||||
##### calculate save lift position #####
|
||||
{% set max_z = printer.toolhead.axis_maximum.z|float %}
|
||||
{% set act_z = printer.toolhead.position.z|float %}
|
||||
{% if act_z < (max_z - 2.0) %}
|
||||
{% set z_safe = 2.0 %}
|
||||
{% else %}
|
||||
{% set z_safe = max_z - act_z %}
|
||||
{% endif %}
|
||||
##### end of definitions #####
|
||||
PAUSE_BASE
|
||||
G91
|
||||
{% if printer.extruder.can_extrude|lower == 'true' %}
|
||||
G1 E-{E} F2100
|
||||
{% else %}
|
||||
{action_respond_info("Extruder not hot enough")}
|
||||
{% endif %}
|
||||
{% if "xyz" in printer.toolhead.homed_axes %}
|
||||
G1 Z{z_safe} F900
|
||||
G90
|
||||
G1 X{x_park} Y{y_park} F6000
|
||||
{% else %}
|
||||
{action_respond_info("Printer not homed")}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro RESUME]
|
||||
description: Resume the actual running print
|
||||
rename_existing: RESUME_BASE
|
||||
gcode:
|
||||
##### read E from pause macro #####
|
||||
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
||||
#### get VELOCITY parameter if specified ####
|
||||
{% if 'VELOCITY' in params|upper %}
|
||||
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
|
||||
{%else %}
|
||||
{% set get_params = "" %}
|
||||
{% endif %}
|
||||
##### end of definitions #####
|
||||
{% if printer.extruder.can_extrude|lower == 'true' %}
|
||||
G91
|
||||
G1 E{E} F2100
|
||||
{% else %}
|
||||
{action_respond_info("Extruder not hot enough")}
|
||||
{% endif %}
|
||||
RESUME_BASE {get_params}
|
BIN
macros/.prusa_mini.cfg.swp
Normal file
BIN
macros/.prusa_mini.cfg.swp
Normal file
Binary file not shown.
29
macros/G27.cfg
Normal file
29
macros/G27.cfg
Normal file
|
@ -0,0 +1,29 @@
|
|||
[gcode_macro G27]
|
||||
gcode:
|
||||
{% set default_x = printer.toolhead.axis_minimum.x + 20 %}
|
||||
{% set default_y = printer.toolhead.axis_minimum.y + 20 %}
|
||||
|
||||
{% if 'save_variables' in printer %}
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% if 'park_x' in svv %}
|
||||
{% set default_x = svv.park_x %}
|
||||
{% endif %}
|
||||
{% if 'park_y' in svv %}
|
||||
{% set default_y = svv.park_y %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% set x = params.X|default(default_x)|float %}
|
||||
{% set y = params.Y|default(default_y)|float %}
|
||||
{% set z = params.Z|default(20)|float %}
|
||||
|
||||
{% if printer.toolhead.homed_axes != "xyz" %}
|
||||
{action_respond_info("Please home XYZ first")}
|
||||
{% else %}
|
||||
SAVE_GCODE_STATE NAME=G27_state
|
||||
G91
|
||||
G1 Z{z}
|
||||
G90
|
||||
G1 X{x} Y{y} F3000
|
||||
RESTORE_GCODE_STATE NAME=G27_state MOVE=0
|
||||
{% endif %}
|
24
macros/G29.cfg
Normal file
24
macros/G29.cfg
Normal file
|
@ -0,0 +1,24 @@
|
|||
[gcode_macro G29]
|
||||
gcode:
|
||||
{% set t = params.T|default(0)|float %}
|
||||
|
||||
{% if printer.idle_timeout.state == "Printing" %}
|
||||
{action_respond_info("This command cannot be used while printing")}
|
||||
{% elif printer.toolhead.homed_axes != "xyz" %}
|
||||
{action_respond_info("Please home XYZ first")}
|
||||
{% else %}
|
||||
SAVE_GCODE_STATE NAME=G29_state
|
||||
G90
|
||||
G1 Z10 F240
|
||||
{% if t > 30.0 %}
|
||||
M190 S{t}
|
||||
{% endif %}
|
||||
BED_MESH_CALIBRATE
|
||||
{% if 'S' in params %}
|
||||
M140 S{params.S}
|
||||
{% endif %}
|
||||
G90
|
||||
G1 Z10 F240
|
||||
G1 X150 Y155 F6000
|
||||
RESTORE_GCODE_STATE NAME=G29_state MOVE=0
|
||||
{% endif %}
|
13
macros/INITIALIZE_VARIABLE.cfg
Normal file
13
macros/INITIALIZE_VARIABLE.cfg
Normal file
|
@ -0,0 +1,13 @@
|
|||
[gcode_macro INITIALIZE_VARIABLE]
|
||||
gcode:
|
||||
{% if 'VARIABLE' not in params %}
|
||||
{action_respond_info("Missing VARIABLE parameter")}
|
||||
{% elif 'VALUE' not in params %}
|
||||
{action_respond_info("Missing VALUE parameter")}
|
||||
{% else %}
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% if params.VARIABLE not in svv %}
|
||||
{% set escaped = params.VALUE|replace("\"", "\\\"") %}
|
||||
SAVE_VARIABLE VARIABLE={params.VARIABLE} VALUE="{escaped}"
|
||||
{% endif %}
|
||||
{% endif %}
|
5
macros/LAZY_HOME.cfg
Normal file
5
macros/LAZY_HOME.cfg
Normal file
|
@ -0,0 +1,5 @@
|
|||
[gcode_macro LAZY_HOME]
|
||||
gcode:
|
||||
{% if printer.toolhead.homed_axes != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
26
macros/M204.cfg
Normal file
26
macros/M204.cfg
Normal file
|
@ -0,0 +1,26 @@
|
|||
[gcode_macro M204]
|
||||
rename_existing: M204.1
|
||||
gcode:
|
||||
{% set f = params.F|default(0.5)|float %}
|
||||
|
||||
{% if 'S' in params %}
|
||||
{% set s = params.S|float %}
|
||||
SET_VELOCITY_LIMIT ACCEL={s} ACCEL_TO_DECEL={ s * f }
|
||||
{% else %}
|
||||
{% if 'P' in params %}
|
||||
{% set p = params.P|float %}
|
||||
{% if 'T' in params %}
|
||||
{% set t = params.T|float %}
|
||||
{% if p < t %}
|
||||
SET_VELOCITY_LIMIT ACCEL={p} ACCEL_TO_DECEL={ p * f }
|
||||
{% else %}
|
||||
SET_VELOCITY_LIMIT ACCEL={t} ACCEL_TO_DECEL={ t * f }
|
||||
{% endif %}
|
||||
{% else %}
|
||||
SET_VELOCITY_LIMIT ACCEL={p} ACCEL_TO_DECEL={ p * f }
|
||||
{% endif %}
|
||||
{% elif 'T' in params %}
|
||||
{% set t = params.T|float %}
|
||||
SET_VELOCITY_LIMIT ACCEL={t} ACCEL_TO_DECEL={ t * f }
|
||||
{% endif %}
|
||||
{% endif %}
|
7
macros/M205.cfg
Normal file
7
macros/M205.cfg
Normal file
|
@ -0,0 +1,7 @@
|
|||
[gcode_macro M205]
|
||||
gcode:
|
||||
{% if 'X' in params %}
|
||||
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={params.X}
|
||||
{% elif 'Y' in params %}
|
||||
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={params.Y}
|
||||
{% endif %}
|
32
macros/M600.cfg
Normal file
32
macros/M600.cfg
Normal file
|
@ -0,0 +1,32 @@
|
|||
[gcode_macro M600]
|
||||
gcode:
|
||||
{% set default_x = printer.toolhead.axis_minimum.x + 20 %}
|
||||
{% set default_y = printer.toolhead.axis_minimum.y + 20 %}
|
||||
{% set default_e = 100 %}
|
||||
|
||||
{% if 'save_variables' in printer %}
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% if 'park_x' in svv %}
|
||||
{% set default_x = svv.park_x %}
|
||||
{% endif %}
|
||||
{% if 'park_y' in svv %}
|
||||
{% set default_y = svv.park_y %}
|
||||
{% endif %}
|
||||
{% if 'bowden_len' in svv %}
|
||||
{% set default_e = svv.bowden_len %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% set x = params.X|default(default_x)|float %}
|
||||
{% set y = params.Y|default(default_y)|float %}
|
||||
{% set z = params.Z|default(20)|float %}
|
||||
{% set e = params.E|default(default_e)|float %}
|
||||
|
||||
{% if printer.pause_resume.is_paused %}
|
||||
{action_respond_info("Already paused")}
|
||||
{% elif printer.toolhead.homed_axes != "xyz" %}
|
||||
{action_respond_info("Please home XYZ first")}
|
||||
{% else %}
|
||||
PAUSE_PARK X={x} Y={y} Z={z}
|
||||
M702 U{e}
|
||||
{% endif %}
|
36
macros/M701.cfg
Normal file
36
macros/M701.cfg
Normal file
|
@ -0,0 +1,36 @@
|
|||
[gcode_macro M701]
|
||||
gcode:
|
||||
{% set default_u = 100 %}
|
||||
|
||||
{% if 'save_variables' in printer %}
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% if 'bowden_len' in svv %}
|
||||
{% set default_u = svv.bowden_len %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% set i = params.I|default(30)|float %}
|
||||
{% set i_f = params.IF|default(180)|float %}
|
||||
{% set u = params.U|default(default_u)|float %}
|
||||
{% set u_f = params.UF|default(360)|float %}
|
||||
{% set p = params.P|default(30)|float %}
|
||||
{% set p_f = params.PF|default(180)|float %}
|
||||
|
||||
{% if printer.idle_timeout.state == "Printing" and not printer.pause_resume.is_paused %}
|
||||
{action_respond_info("This command cannot be used while printing")}
|
||||
{% elif printer.extruder.temperature < 170 %}
|
||||
{action_respond_info("Extruder temperature too low")}
|
||||
{% else %}
|
||||
SAVE_GCODE_STATE NAME=M701_state
|
||||
M83
|
||||
{% if i > 0.0 %}
|
||||
G1 E{i} F{i_f}
|
||||
{% endif %}
|
||||
{% if u > 0.0 %}
|
||||
G1 E{u} F{u_f}
|
||||
{% endif %}
|
||||
{% if p > 0.0 %}
|
||||
G1 E{p} F{p_f}
|
||||
{% endif %}
|
||||
RESTORE_GCODE_STATE NAME=M701_state MOVE=0
|
||||
{% endif %}
|
36
macros/M702.cfg
Normal file
36
macros/M702.cfg
Normal file
|
@ -0,0 +1,36 @@
|
|||
[gcode_macro M702]
|
||||
gcode:
|
||||
{% set default_u = 100 %}
|
||||
|
||||
{% if 'save_variables' in printer %}
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% if 'bowden_len' in svv %}
|
||||
{% set default_u = svv.bowden_len %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% set p = params.P|default(8)|float %}
|
||||
{% set p_f = params.PF|default(180)|float %}
|
||||
{% set i = params.I|default(30)|float %}
|
||||
{% set i_f = params.IF|default(180)|float %}
|
||||
{% set u = params.U|default(default_u)|float %}
|
||||
{% set u_f = params.UF|default(360)|float %}
|
||||
|
||||
{% if printer.idle_timeout.state == "Printing" and not printer.pause_resume.is_paused %}
|
||||
{action_respond_info("This command cannot be used while printing")}
|
||||
{% elif printer.extruder.temperature < 170 %}
|
||||
{action_respond_info("Extruder temperature too low")}
|
||||
{% else %}
|
||||
SAVE_GCODE_STATE NAME=M702_state
|
||||
M83
|
||||
{% if p > 0.0 %}
|
||||
G1 E{p} F{p_f}
|
||||
{% endif %}
|
||||
{% if i > 0.0 %}
|
||||
G1 E-{i} F{i_f}
|
||||
{% endif %}
|
||||
{% if u > 0.0 %}
|
||||
G1 E-{u} F{u_f}
|
||||
{% endif %}
|
||||
RESTORE_GCODE_STATE NAME=M702_state MOVE=0
|
||||
{% endif %}
|
9
macros/M900.cfg
Normal file
9
macros/M900.cfg
Normal file
|
@ -0,0 +1,9 @@
|
|||
[gcode_macro M900]
|
||||
gcode:
|
||||
{% if 'K' in params %}
|
||||
{% if 'E' in params %}
|
||||
SET_PRESSURE_ADVANCE EXTRUDER={params.E} ADVANCE={params.K}
|
||||
{% else %}
|
||||
SET_PRESSURE_ADVANCE ADVANCE={params.K}
|
||||
{% endif %}
|
||||
{% endif %}
|
5
macros/NOTIFY.cfg
Normal file
5
macros/NOTIFY.cfg
Normal file
|
@ -0,0 +1,5 @@
|
|||
[gcode_macro NOTIFY]
|
||||
gcode:
|
||||
{% if 'MSG' in params %}
|
||||
RESPOND TYPE=command MSG="action:notification {params.MSG}"
|
||||
{% endif %}
|
31
macros/PAUSE_PARK.cfg
Normal file
31
macros/PAUSE_PARK.cfg
Normal file
|
@ -0,0 +1,31 @@
|
|||
[gcode_macro PAUSE_PARK]
|
||||
gcode:
|
||||
{% set default_x = printer.toolhead.axis_minimum.x + 20 %}
|
||||
{% set default_y = printer.toolhead.axis_minimum.y + 20 %}
|
||||
|
||||
{% if 'save_variables' in printer %}
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% if 'park_x' in svv %}
|
||||
{% set default_x = svv.park_x %}
|
||||
{% endif %}
|
||||
{% if 'park_y' in svv %}
|
||||
{% set default_y = svv.park_y %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% set x = params.X|default(default_x)|float %}
|
||||
{% set y = params.Y|default(default_y)|float %}
|
||||
{% set z = params.Z|default(20)|float %}
|
||||
{% set r = params.R|default(3)|float %}
|
||||
|
||||
{% if printer.pause_resume.is_paused %}
|
||||
{action_respond_info("Already paused")}
|
||||
{% elif printer.toolhead.homed_axes != "xyz" %}
|
||||
{action_respond_info("Please home XYZ first")}
|
||||
{% else %}
|
||||
PAUSE
|
||||
{% if r > 0.0 %}
|
||||
RETRACT D={r}
|
||||
{% endif %}
|
||||
G27 X{x} Y{y} Z{z}
|
||||
{% endif %}
|
23
macros/POST_END.cfg
Normal file
23
macros/POST_END.cfg
Normal file
|
@ -0,0 +1,23 @@
|
|||
[gcode_macro POST_END]
|
||||
gcode:
|
||||
CLEAR_PAUSE
|
||||
{% if 't5uid1' in printer %}
|
||||
DGUS_PRINT_END
|
||||
{% endif %}
|
||||
M220 S100
|
||||
M221 S100
|
||||
M900 K0
|
||||
{% if printer.extruder.temperature >= 170 %}
|
||||
M83
|
||||
G91
|
||||
G1 E-2 F2400
|
||||
G1 E-2 Z5 F2400
|
||||
{% endif %}
|
||||
M82
|
||||
G90
|
||||
G27
|
||||
M104 S0
|
||||
M140 S0
|
||||
M106 S0
|
||||
M84 X Y E
|
||||
SAVE_IF_SET
|
3
macros/POWEROFF.cfg
Normal file
3
macros/POWEROFF.cfg
Normal file
|
@ -0,0 +1,3 @@
|
|||
[gcode_macro POWEROFF]
|
||||
gcode:
|
||||
RESPOND TYPE=command MSG=action:poweroff
|
14
macros/PRE_START.cfg
Normal file
14
macros/PRE_START.cfg
Normal file
|
@ -0,0 +1,14 @@
|
|||
[gcode_macro PRE_START]
|
||||
gcode:
|
||||
{% set wz = params.WZ|default(0.25)|float %}
|
||||
{% set wn = params.WN|default(0.4)|float %}
|
||||
CLEAR_PAUSE
|
||||
M106 S0
|
||||
M220 S100
|
||||
M221 S100
|
||||
M900 K0
|
||||
{% if 't5uid1' in printer %}
|
||||
DGUS_PRINT_START
|
||||
{% endif %}
|
||||
G28
|
||||
WIPE_LINE Z={wz} N={wn}
|
16
macros/RETRACT.cfg
Normal file
16
macros/RETRACT.cfg
Normal file
|
@ -0,0 +1,16 @@
|
|||
[gcode_macro RETRACT]
|
||||
gcode:
|
||||
{% set f = params.F|default(600)|float %}
|
||||
|
||||
{% if 'D' in params %}
|
||||
{% if printer.idle_timeout.state == "Printing" and not printer.pause_resume.is_paused %}
|
||||
{action_respond_info("This command cannot be used while printing")}
|
||||
{% elif printer.extruder.temperature < 170 %}
|
||||
{action_respond_info("Extruder temperature too low")}
|
||||
{% else %}
|
||||
SAVE_GCODE_STATE NAME=RETRACT_state
|
||||
M83
|
||||
G1 E-{params.D} F{f}
|
||||
RESTORE_GCODE_STATE NAME=RETRACT_state MOVE=0
|
||||
{% endif %}
|
||||
{% endif %}
|
4
macros/SAVE_AT_END.cfg
Normal file
4
macros/SAVE_AT_END.cfg
Normal file
|
@ -0,0 +1,4 @@
|
|||
[gcode_macro SAVE_AT_END]
|
||||
variable_save: 0
|
||||
gcode:
|
||||
SET_GCODE_VARIABLE MACRO=SAVE_AT_END VARIABLE=save VALUE=1
|
5
macros/SAVE_IF_SET.cfg
Normal file
5
macros/SAVE_IF_SET.cfg
Normal file
|
@ -0,0 +1,5 @@
|
|||
[gcode_macro SAVE_IF_SET]
|
||||
gcode:
|
||||
{% if printer["gcode_macro SAVE_AT_END"].save == 1 %}
|
||||
SAVE_CONFIG
|
||||
{% endif %}
|
22
macros/WIPE_LINE.cfg
Normal file
22
macros/WIPE_LINE.cfg
Normal file
|
@ -0,0 +1,22 @@
|
|||
[gcode_macro WIPE_LINE]
|
||||
gcode:
|
||||
{% set z = params.Z|default(0.25)|float %}
|
||||
{% set n = params.N|default(0.4)|float %}
|
||||
|
||||
{% if printer.toolhead.homed_axes != "xyz" %}
|
||||
{action_respond_info("Please home XYZ first")}
|
||||
{% elif printer.extruder.temperature < 170 %}
|
||||
{action_respond_info("Extruder temperature too low")}
|
||||
{% else %}
|
||||
SAVE_GCODE_STATE NAME=WIPE_LINE_state
|
||||
M82
|
||||
G90
|
||||
G92 E0
|
||||
G1 X10 Y20 Z5 F3000
|
||||
G1 Z{z} F3000
|
||||
G1 X10 Y150 F1500 E10.83
|
||||
G1 X{ n + 10.0 } F5000
|
||||
G1 Y22 F1500 E21.5
|
||||
G1 Y20 F5000
|
||||
RESTORE_GCODE_STATE NAME=WIPE_LINE_state MOVE=0
|
||||
{% endif %}
|
38
macros/prusa_mini.cfg
Normal file
38
macros/prusa_mini.cfg
Normal file
|
@ -0,0 +1,38 @@
|
|||
[respond]
|
||||
default_type: command
|
||||
|
||||
[pause_resume]
|
||||
|
||||
# Filament change gcode, parameters are a default park position if no XYZ is specified - Z is relative.
|
||||
[gcode_macro M600]
|
||||
default_parameter_X: 100
|
||||
default_parameter_Y: 0
|
||||
default_parameter_Z: 10
|
||||
gcode:
|
||||
PAUSE
|
||||
G91
|
||||
G1 E400 F1800
|
||||
M117 Ready for unload
|
||||
|
||||
[gcode_macro LOAD_FILAMENT]
|
||||
gcode:
|
||||
M117 Loading Filament...
|
||||
M83
|
||||
G1 E50 F1800
|
||||
M83
|
||||
G1 E330 F2700
|
||||
M83
|
||||
G1 E60 F300
|
||||
M400
|
||||
M117 Load Complete
|
||||
|
||||
[gcode_macro UNLOAD_FILAMENT]
|
||||
gcode:
|
||||
M117 Unloading Filament...
|
||||
M83
|
||||
G1 E-5 F300
|
||||
M83
|
||||
G1 E-500 F2700
|
||||
M400
|
||||
M117 Remove Filament Now!
|
||||
|
42
moonraker.conf
Normal file
42
moonraker.conf
Normal file
|
@ -0,0 +1,42 @@
|
|||
[server]
|
||||
host: 0.0.0.0
|
||||
port: 7125
|
||||
enable_debug_logging: False
|
||||
config_path: ~/klipper_config
|
||||
temperature_store_size: 600
|
||||
gcode_store_size: 1000
|
||||
log_path: ~/klipper_logs
|
||||
|
||||
[authorization]
|
||||
force_logins: True
|
||||
cors_domains:
|
||||
*.local
|
||||
*.home
|
||||
*.lan
|
||||
*://app.fluidd.xyz
|
||||
|
||||
trusted_clients:
|
||||
10.0.0.0/8
|
||||
10.10.100.0/24
|
||||
127.0.0.0/8
|
||||
169.254.0.0/16
|
||||
172.16.0.0/12
|
||||
192.168.0.0/16
|
||||
FE80::/10
|
||||
::1/128
|
||||
|
||||
# enables partial support of Octoprint API
|
||||
[octoprint_compat]
|
||||
|
||||
# enables moonraker to track and store print history.
|
||||
[history]
|
||||
|
||||
# this enables moonraker's update manager
|
||||
[update_manager]
|
||||
enable_auto_refresh: True
|
||||
|
||||
# this enabled fluidd updates
|
||||
[update_manager client fluidd]
|
||||
type: web
|
||||
repo: cadriel/fluidd
|
||||
path: ~/fluidd
|
215
printer.cfg
Normal file
215
printer.cfg
Normal file
|
@ -0,0 +1,215 @@
|
|||
# This file contains common configurations and pin mappings for the Prusa
|
||||
# Mini+, which uses the Prusa Buddy board. The printer's LCD is not currently
|
||||
# supported by Klipper, so the touchscreen will permanently display the
|
||||
# bootloader screen after the Klipper firmware is flashed; use Fluidd, Mainsail,
|
||||
# or OctoPrint etc. to control the printer.
|
||||
|
||||
# To use this config, the firmware should be compiled for the STM32F407. When
|
||||
# running "make menuconfig", enable "extra low-level configuration setup",
|
||||
# select the "128KiB + 512 byte offset" bootloader, and USB communication.
|
||||
# Connect the printer to your Raspberry Pi using the printer's micro-USB port.
|
||||
# If you prefer to remove Prusa's stock bootloader entirely, select the
|
||||
# "No bootloader" option.
|
||||
|
||||
# When flashing for the first time, you will need to break the "appendix"
|
||||
# on the Buddy board, then put the device into DFU mode by moving the jumper
|
||||
# on the 3-pin header (older boards) or shorting the 2-pin header (newer boards)
|
||||
# and resetting, and finally use "make flash" to install Klipper. Once Klipper is
|
||||
# installed, you no longer need the jumper - just use "make flash" which will
|
||||
# automatically put the device into DFU mode.
|
||||
|
||||
# Note that if you were previously running Prusa firmware, you must fully
|
||||
# power cycle the board after flashing. Otherwise, Klipper will be unable to
|
||||
# communicate with the TMC2209s due to the abrupt change in the baud rate,
|
||||
# and will show this error: "Unable to read tmc uart register IFCNT".
|
||||
|
||||
# See docs/Config_Reference.md for a description of parameters.
|
||||
|
||||
[include macros/*.cfg]
|
||||
[include fluidd.cfg]
|
||||
|
||||
[stepper_x]
|
||||
step_pin: PD1
|
||||
dir_pin: PD0
|
||||
enable_pin: !PD3
|
||||
microsteps: 16
|
||||
rotation_distance: 32 # 200 * 16 / 100
|
||||
endstop_pin: tmc2209_stepper_x:virtual_endstop
|
||||
position_endstop: 180.4
|
||||
position_min: -2
|
||||
position_max: 180.4
|
||||
homing_speed: 50
|
||||
homing_retract_dist: 0
|
||||
|
||||
[stepper_y]
|
||||
step_pin: PD13
|
||||
dir_pin: PD12
|
||||
enable_pin: !PD14
|
||||
microsteps: 16
|
||||
rotation_distance: 32 # 200 * 16 / 100
|
||||
endstop_pin: tmc2209_stepper_y:virtual_endstop
|
||||
position_endstop: -3
|
||||
position_min: -3
|
||||
position_max: 180
|
||||
homing_speed: 50
|
||||
homing_retract_dist: 0
|
||||
|
||||
[stepper_z]
|
||||
step_pin: PD4
|
||||
dir_pin: !PD15
|
||||
enable_pin: !PD2
|
||||
microsteps: 16
|
||||
rotation_distance: 4
|
||||
endstop_pin: probe:z_virtual_endstop
|
||||
position_min: -2
|
||||
position_max: 185
|
||||
|
||||
[extruder]
|
||||
step_pin: PD9
|
||||
dir_pin: !PD8
|
||||
enable_pin: !PD10
|
||||
microsteps: 16
|
||||
rotation_distance: 26.2564 # (200 * 16 * 48/18) / 325
|
||||
gear_ratio: 48:18
|
||||
nozzle_diameter: 0.400
|
||||
filament_diameter: 1.750
|
||||
heater_pin: PB1
|
||||
sensor_type: ATC Semitec 104GT-2
|
||||
sensor_pin: PC0
|
||||
control: pid
|
||||
# Prusa's firmware defaults.
|
||||
pid_Kp: 7
|
||||
pid_Ki: 0.5
|
||||
pid_Kd: 45
|
||||
min_temp: 10
|
||||
max_temp: 305
|
||||
max_extrude_only_distance: 6000
|
||||
|
||||
[tmc2209 stepper_x]
|
||||
uart_pin: PD5
|
||||
uart_address: 1
|
||||
diag_pin: ^PE2
|
||||
driver_SGTHRS: 130
|
||||
run_current: 0.35
|
||||
sense_resistor: 0.22
|
||||
stealthchop_threshold: 999999
|
||||
|
||||
[tmc2209 stepper_y]
|
||||
uart_pin: PD5
|
||||
uart_address: 3
|
||||
diag_pin: ^PE1
|
||||
driver_SGTHRS: 130
|
||||
run_current: 0.35
|
||||
sense_resistor: 0.22
|
||||
stealthchop_threshold: 999999
|
||||
|
||||
[tmc2209 stepper_z]
|
||||
uart_pin: PD5
|
||||
uart_address: 0
|
||||
diag_pin: ^PE3
|
||||
driver_SGTHRS: 100
|
||||
run_current: 0.35
|
||||
sense_resistor: 0.22
|
||||
stealthchop_threshold: 999999
|
||||
|
||||
[tmc2209 extruder]
|
||||
uart_pin: PD5
|
||||
uart_address: 2
|
||||
diag_pin: ^PA15
|
||||
driver_SGTHRS: 100
|
||||
run_current: 0.4
|
||||
sense_resistor: 0.22
|
||||
|
||||
[heater_bed]
|
||||
heater_pin: PB0
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: PA4
|
||||
control: pid
|
||||
# Prusa's firmware defaults.
|
||||
pid_Kp: 120
|
||||
pid_Ki: 1.5
|
||||
pid_Kd: 600
|
||||
min_temp: 10
|
||||
max_temp: 110
|
||||
|
||||
# Hotend fan.
|
||||
# The stock firmware uses control ranges of PWM 0-50%, RPM 1000-8000.
|
||||
# Change fan_speed below to match your preference. Measured speeds:
|
||||
# fan_speed 0.5: 50% PWM = 4000RPM (Prusa stock default speed)
|
||||
# fan_speed 1.0: 100% PWM = 8000RPM (safe but loud)
|
||||
[heater_fan hotend_fan]
|
||||
pin: PE9
|
||||
tachometer_pin: PE14
|
||||
fan_speed: 0.5
|
||||
|
||||
# Part cooling fan.
|
||||
# The stock firmware uses control ranges of PWM 10-50%, RPM 500-5000.
|
||||
# To match stock firmware, set the Klipper fan speed to 50%. This speed
|
||||
# can be safely increased to 100% for better part cooling. Measured speeds:
|
||||
# 50% PWM = 2500RPM (Prusa stock default speed)
|
||||
# 100% PWM = 5000RPM (better cooling, still quiet)
|
||||
[fan]
|
||||
pin: PE11
|
||||
tachometer_pin: PE10
|
||||
|
||||
# The SuperPINDA has built-in temperature compensation and no thermistor output,
|
||||
# so no compensation table is needed here.
|
||||
[probe]
|
||||
pin: PA8
|
||||
x_offset: -29
|
||||
y_offset: -3
|
||||
#z_offset: 0 # set this to your Live Z Offset, but negated (invert the sign)
|
||||
speed: 6.0
|
||||
|
||||
[safe_z_home]
|
||||
home_xy_position: 147.4,21.1
|
||||
z_hop: 4
|
||||
|
||||
[bed_mesh]
|
||||
speed: 100
|
||||
horizontal_move_z: 5
|
||||
mesh_min: 10,10
|
||||
mesh_max: 141,167
|
||||
probe_count: 4,4
|
||||
|
||||
[filament_switch_sensor filament_sensor]
|
||||
switch_pin: ^PB4
|
||||
pause_on_runout: True
|
||||
|
||||
[mcu]
|
||||
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_1E002F000F47393233333131-if00
|
||||
restart_method: command
|
||||
|
||||
[printer]
|
||||
kinematics: cartesian
|
||||
# Prusa firmware defaults.
|
||||
max_velocity: 180
|
||||
square_corner_velocity: 5.0
|
||||
max_accel: 3500
|
||||
max_accel_to_decel: 3500
|
||||
max_z_velocity: 30
|
||||
max_z_accel: 400
|
||||
|
||||
#*# <---------------------- SAVE_CONFIG ---------------------->
|
||||
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
|
||||
#*#
|
||||
#*# [bed_mesh default]
|
||||
#*# version = 1
|
||||
#*# points =
|
||||
#*# 0.040000, -0.025000, -0.042500, -0.107500
|
||||
#*# -0.070000, -0.038750, -0.027500, 0.043750
|
||||
#*# -0.060000, 0.026250, 0.088750, 0.187500
|
||||
#*# -0.073750, 0.085000, 0.202500, 0.325000
|
||||
#*# tension = 0.2
|
||||
#*# min_x = 10.0
|
||||
#*# algo = lagrange
|
||||
#*# y_count = 4
|
||||
#*# mesh_y_pps = 2
|
||||
#*# min_y = 10.0
|
||||
#*# x_count = 4
|
||||
#*# max_y = 166.99
|
||||
#*# mesh_x_pps = 2
|
||||
#*# max_x = 140.98
|
||||
#*#
|
||||
#*# [probe]
|
||||
#*# z_offset = 1.000
|
79
webcam.txt
Normal file
79
webcam.txt
Normal file
|
@ -0,0 +1,79 @@
|
|||
### Windows users: To edit this file use Notepad++, VSCode, Atom or SublimeText.
|
||||
### Do not use Notepad or WordPad.
|
||||
|
||||
### MacOSX users: If you use Textedit to edit this file make sure to use
|
||||
### "plain text format" and "disable smart quotes" in "Textedit > Preferences"
|
||||
|
||||
### Configure which camera to use
|
||||
#
|
||||
# Available options are:
|
||||
# - auto: tries first usb webcam, if that's not available tries raspi cam
|
||||
# - usb: only tries usb webcam
|
||||
# - raspi: only tries raspi cam
|
||||
#
|
||||
# Defaults to auto
|
||||
#
|
||||
#camera="auto"
|
||||
|
||||
### Additional options to supply to MJPG Streamer for the USB camera
|
||||
#
|
||||
# See https://faq.octoprint.org/mjpg-streamer-config for available options
|
||||
#
|
||||
# Defaults to a resolution of 640x480 px and a framerate of 10 fps
|
||||
#
|
||||
# camera_usb_options="-r 1280x710 -f 30"
|
||||
|
||||
### Additional webcam devices known to cause problems with -f
|
||||
#
|
||||
# Apparently there a some devices out there that with the current
|
||||
# mjpg_streamer release do not support the -f parameter (for specifying
|
||||
# the capturing framerate) and will just refuse to output an image if it
|
||||
# is supplied.
|
||||
#
|
||||
# The webcam daemon will detect those devices by their USB Vendor and Product
|
||||
# ID and remove the -f parameter from the options provided to mjpg_streamer.
|
||||
#
|
||||
# By default, this is done for the following devices:
|
||||
# Logitech C170 (046d:082b)
|
||||
# GEMBIRD (1908:2310)
|
||||
# Genius F100 (0458:708c)
|
||||
# Cubeternet GL-UPC822 UVC WebCam (1e4e:0102)
|
||||
#
|
||||
# Using the following option it is possible to add additional devices. If
|
||||
# your webcam happens to show above symptoms, try determining your cam's
|
||||
# vendor and product id via lsusb, activating the line below by removing # and
|
||||
# adding it, e.g. for two broken cameras "aabb:ccdd" and "aabb:eeff"
|
||||
#
|
||||
# additional_brokenfps_usb_devices=("aabb:ccdd" "aabb:eeff")
|
||||
#
|
||||
#
|
||||
#additional_brokenfps_usb_devices=()
|
||||
|
||||
### Additional options to supply to MJPG Streamer for the RasPi Cam
|
||||
#
|
||||
# See https://faq.octoprint.org/mjpg-streamer-config for available options
|
||||
#
|
||||
# Defaults to 10fps
|
||||
#
|
||||
camera_raspi_options="-fps 30"
|
||||
|
||||
### Configuration of camera HTTP output
|
||||
#
|
||||
# Usually you should NOT need to change this at all! Only touch if you
|
||||
# know what you are doing and what the parameters mean.
|
||||
#
|
||||
# Below settings are used in the mjpg-streamer call like this:
|
||||
#
|
||||
# -o "output_http.so -w $camera_http_webroot $camera_http_options"
|
||||
#
|
||||
# Current working directory is the mjpg-streamer base directory.
|
||||
#
|
||||
#camera_http_webroot="./www-fluidd"
|
||||
#camera_http_options="-n"
|
||||
|
||||
### EXPERIMENTAL
|
||||
# Support for different streamer types.
|
||||
#
|
||||
# Available options:
|
||||
# mjpeg [default] - stable MJPG-streamer
|
||||
#camera_streamer=mjpeg
|
Loading…
Add table
Reference in a new issue