printer.cfg opgedeeld in diverse bestanden en grootte van het bed aangepast

This commit is contained in:
2024-05-15 22:32:16 +02:00
parent acc9abf111
commit 42d596c820
16 changed files with 2055 additions and 757 deletions

View File

@@ -6,6 +6,7 @@ klippy_uds_address = /tmp/klippy_uds
[authorization] [authorization]
trusted_clients = trusted_clients =
127.0.0.0/8 127.0.0.0/8
10.11.98.0/24
169.254.0.0/16 169.254.0.0/16
FE80::/10 FE80::/10
::1/128 ::1/128

View File

@@ -5,6 +5,3 @@
#~# screen_blanking = 900 #~# screen_blanking = 900
#~# move_speed_z = 5 #~# move_speed_z = 5
#~# #~#
#~# [graph Printer]
#~# heater_bed = False
#~#

View File

@@ -0,0 +1,18 @@
# Copyright (C) 2022 Justin Schuh <code@justinschuh.com>
#
# This file may be distributed under the terms of the GNU GPLv3 license.
#
# Credit to original source:
# https://gist.github.com/ChipCE/95fdbd3c2f3a064397f9610f915f7d02
[gcode_macro bed_mesh_calibrate]
rename_existing: _KM_BED_MESH_CALIBRATE_BASE
variable_km_override: True
description: Wraps BED_MESH_CALIBRATE, scaling probe count to specified area.
Usage: See Klipper documentation.
gcode:
BED_MESH_CALIBRATE_FAST{%for k in params%}{' '~k~'="'~params[k]~'"'}{%endfor%}
[gcode_macro g29]
gcode:
BED_MESH_CALIBRATE

View File

@@ -0,0 +1,969 @@
# Copyright (C) 2022 Justin Schuh <code@justinschuh.com>
#
# This file may be distributed under the terms of the GNU GPLv3 license.
################################################################################
# Existing menu refinements.
################################################################################
# Hide unused menus
[menu __main __octoprint]
type: list
name: OctoPrint
enable: {printer["gcode_macro _km_globals"].menu_show_octoprint}
# Get the file list out of the SD card menu while printing.
[menu __main __sdcard]
type: list
enable: {'virtual_sdcard' in printer and
printer["gcode_macro _km_globals"].menu_show_sdcard}
name: SD Card
[menu __main __sdcard __start]
type: command
enable: {printer.virtual_sdcard.file_path and
not printer.virtual_sdcard.is_active and
printer.print_stats.state != "printing" and
printer.print_stats.state != "paused"}
name: Print: {printer.virtual_sdcard.file_path.split('/')|last}
gcode:
M24
{menu.back()}
[menu __main __sdcard __select]
type: vsdlist
enable: {not printer.virtual_sdcard.is_active and
printer.print_stats.state != "printing" and
printer.print_stats.state != "paused"}
name: Select file
index: 1
[menu __main __sdcard __select __start]
type: command
enable: {printer.virtual_sdcard.file_path and
not printer.virtual_sdcard.is_active}
name: Print: {printer.virtual_sdcard.file_path.split('/')|last}
gcode:
M24
{menu.back()}
[menu __main __setup __calib __delta_calib_auto]
type: command
enable: {'delta_calibrate' in printer.configfile.settings and
not printer.idle_timeout.state == "Printing"}
name: Delta cal. auto
gcode:
G28
DELTA_CALIBRATE
[menu __main __setup __calib __delta_calib_man]
type: list
enable: {'delta_calibrate' in printer.configfile.settings and
not printer.idle_timeout.state == "Printing"}
name: Delta cal. man
# Require confirmation for anything that would abort an in-progress print.
# Steppers off
[menu __main __control __disable]
type: command
name: Steppers off
enable: {printer.idle_timeout.state != "Printing"}
gcode:
M84
M18
[menu __main __control __disable_printing]
type: list
index: 3
enable: {printer.idle_timeout.state == "Printing"}
name: Steppers off
[menu __my_main __control __disable_printing __confirm]
type: command
name: Confirm steppers off
gcode:
M84
M18
{menu.back()}
# Add a park menu item.
[menu __main __control __park]
type: command
name: Park toolhead
enable: {printer.idle_timeout.state != "Printing" or
printer.pause_resume.is_paused}
index: 1
gcode:
G28 O ; Lazy home first.
PARK
# Octoprint abort
[menu __main __octoprint __abort]
type: list
enable: {printer.idle_timeout.state == "Printing"}
name: Abort printing
[menu __main __octoprint __abort __confirm]
type: command
name: Confirm abort printing
gcode:
{action_respond_info('action:cancel')}
{menu.back()}
# SD card cancel
[menu __main __sdcard __cancel]
type: list
enable: {('virtual_sdcard' in printer) and
(printer.print_stats.state == "printing" or
printer.print_stats.state == "paused")}
name: Cancel printing
[menu __main __sdcard __cancel __confirm]
type: command
name: Confirm cancel printing
gcode:
{% if 'pause_resume' in printer %}
CANCEL_PRINT
{% else %}
M25
M27
M26 S0
TURN_OFF_HEATERS
G91
G0 Z{(printer.toolhead.position.z, printer.toolhead.axis_maximum.z - 5)|min
} F1000
G90
{% endif %}
{menu.back()}
# Extra setup menu options
# Shutdown and reboot
[menu __main __setup __restart]
type: list
name: Restart/Shutdown
[menu __main __setup __restart __reboot]
type: command
name: Reboot host
gcode:
M117 Rebooting host
M118 Rebooting host
{menu.exit()}
G4 S2 ; Let the user see the console message.
{action_call_remote_method("reboot_machine")} ; Try Moonraker.
G4 S1 ; give Moonraker a chance to finish.
{action_respond_info('action:poweroff')} ; Try Octoprint.
[menu __main __setup __restart __shutdown]
type: command
name: Shutdown host
gcode:
M117 Shutting down
M118 Shutting down
{menu.exit()}
G4 S2 ; Let the user see the console message.
{action_call_remote_method("shutdown_machine")} ; Try Moonraker.
G4 S1 ; give Moonraker a chance to finish.
{action_respond_info('action:poweroff')} ; Try Octoprint.
# Speed and flow
[menu __main __setup __speed]
type: input
name: Speed: {'%3d' % (menu.input*100)}%
input: {printer.gcode_move.speed_factor}
input_min: 0.01
input_max: 5
input_step: 0.01
realtime: True
index: 4
gcode:
M220 S{'%d' % (menu.input*100)}
[menu __main __setup __flow]
type: input
name: Flow: {'%3d' % (menu.input*100)}%
input: {printer.gcode_move.extrude_factor}
input_min: 0.01
input_max: 2
input_step: 0.01
realtime: True
index: 5
gcode:
M221 S{'%d' % (menu.input*100)}
################################################################################
# Replace filament loading with our own macros.
################################################################################
[menu __main __filament]
type: list
name: Filament
enable: {printer.idle_timeout.state != "Printing" or
printer.pause_resume.is_paused}
# Hide the old load/unload commands.
[menu __main __filament __loadf]
type: command
name: Load Fil. fast
enable: False
[menu __main __filament __loads]
type: command
name: Load Fil. slow
enable: False
[menu __main __filament __unloadf]
type: command
name: Unload Fil.fast
enable: False
[menu __main __filament __unloads]
type: command
name: Unload Fil.slow
enable: False
# Add new load/unload using our macros.
[menu __main __filament __load]
type: command
index: 1
name: Load Filament
gcode:
LOAD_FILAMENT
[menu __main __filament __unload]
type: command
index: 2
name: Unload Filament
gcode:
UNLOAD_FILAMENT
[menu __main __filament __feed]
type: input
name: Feed: {'%.1f' % menu.input}
input: 0.0
input_min: -50.0
input_max: 50.0
input_step: 1.0
gcode:
SAVE_GCODE_STATE NAME=_KM_FILAMENT_LOAD
M83
G1 E{'%.1f' % menu.input
} F{printer["gcode_macro _km_globals"].load_priming_speed}
RESTORE_GCODE_STATE NAME=_KM_FILAMENT_LOAD
################################################################################
# Layer triggers.
################################################################################
[menu __main __sdcard __pause_layer]
type: input
index: 4
enable: {('virtual_sdcard' in printer) and
printer.print_stats.state == "printing"}
name: Pause {% set layer = printer["gcode_macro _km_layer_run"].cur_layer %}{%
if layer >= menu.input|int %}layer{%
elif layer + 1 == menu.input|int %}at: next{%
else %}at: {menu.input|int}{% endif %}
input: {printer["gcode_macro _km_layer_run"].cur_layer}
input_min: {printer["gcode_macro _km_layer_run"].cur_layer}
input_max: {printer["gcode_macro _km_layer_run"].tot_layers}
input_step: 1
gcode:
{% set layers = printer["gcode_macro _km_layer_run"] %}
{% if menu.input|int > layers.cur_layer %}
PAUSE_AT_LAYER LAYER={menu.input}
{% endif %}
[menu __main __octoprint __pause_layer]
type: input
index: 1
enable: {printer.idle_timeout.state == "Printing"}
name: Pause {% set layer = printer["gcode_macro _km_layer_run"].cur_layer %}{%
if layer >= menu.input|int %}layer{%
elif layer + 1 == menu.input|int + 1 %}at: next{%
else %}at: {menu.input|int}{% endif %}
input: {printer["gcode_macro _km_layer_run"].cur_layer}
input_min: {printer["gcode_macro _km_layer_run"].cur_layer}
input_max: {printer["gcode_macro _km_layer_run"].tot_layers}
input_step: 1
gcode:
{% set layers = printer["gcode_macro _km_layer_run"] %}
{% if menu.input|int > layers.cur_layer %}
GCODE_AT_LAYER LAYER={menu.input|int
} COMMAND="RESPOND TYPE=command MSG=action:pause"
{% endif %}
################################################################################
# Bed surface.
################################################################################
[menu __main __setup __bed_surface]
type: input
name: Bed: {(printer.save_variables.variables.bed_surfaces.available
| list | sort)[menu.input|int]}
input: {% set surfaces = printer.save_variables.variables.bed_surfaces
%}{(surfaces.available | list | sort).index(surfaces.active) | int}
input_min: 0
input_max: {((printer.save_variables.variables.bed_surfaces.available
| length) - 1)}
input_step: 1
index: 4
gcode:
SET_SURFACE_ACTIVE SURFACE={
(printer.save_variables.variables.bed_surfaces.available
| list | sort)[menu.input|int]}
[menu __main __setup __offsetz]
type: input
name: Offset Z:{ '%05.3f' % menu.input }
input: {% set surfaces = printer.save_variables.variables.bed_surfaces
%}{ surfaces.available[surfaces.active].offset | float }
input_min: -5
input_max: 5
input_step: 0.005
index: 5
realtime: True
gcode:
SET_SURFACE_OFFSET OFFSET={menu.input}
[menu __main __tune __offsetz]
type: input
name: Offset Z:{ '%05.3f' % menu.input }
input: { printer.gcode_move.homing_origin.z }
input_min: -5
input_max: 5
input_step: 0.005
realtime: True
gcode:
SET_SURFACE_OFFSET OFFSET={menu.input}
################################################################################
# Heater overrides.
################################################################################
### menu temperature ###
# Hide the original menu
[menu __main __temp]
type: list
name: Temperature
enable: False
[menu __main __temp_km]
type: list
name: Temperature
index: 4
[menu __main __temp_km __hotend0_target]
type: input
enable: {'extruder' in printer}
name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)}
input: {printer.extruder.target}
input_min: 0
input_max: {printer.configfile.config.extruder.max_temp}
input_step: 1
gcode: SET_HEATER_TEMPERATURE HEATER=extruder TARGET={'%.0f' % menu.input}
[menu __main __temp_km __hotend1_target]
type: input
enable: {'extruder1' in printer}
name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)}
input: {printer.extruder1.target}
input_min: 0
input_max: {printer.configfile.config.extruder1.max_temp}
input_step: 1
gcode: SET_HEATER_TEMPERATURE HEATER=extruder1 TARGET={'%.0f' % menu.input}
[menu __main __temp_km __hotbed_target]
type: input
enable: {'heater_bed' in printer}
name: {"Bed:%3.0f (%4.0f)" % (menu.input, printer.heater_bed.temperature)}
input: {printer.heater_bed.target}
input_min: 0
input_max: {printer.configfile.config.heater_bed.max_temp}
input_step: 1
gcode: SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={'%.0f' % menu.input}
# We just create 10 preheat placeholders below, and dynamically enable and fill
# them in from the dictionary in variable_menu_temperature.
## Pre-heat [0] ##
[menu __main __temp_km __preheat_0]
type: list
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[0].name}
enable: {printer.idle_timeout.state != "Printing" and
printer["gcode_macro _km_globals"].menu_temperature|length > 0}
[menu __main __temp_km __preheat_0 __all]
type: command
enable: {printer["gcode_macro _km_globals"].menu_temperature[0] | list |
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Preheat all
gcode:
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[0] %}
{% if 'chamber' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
{% endif %}
{% if 'bed' in targets and 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
{% endif %}
{% if 'extruder' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
targets.extruder}
{% endif %}
[menu __main __temp_km __preheat_0 __hotend]
type: command
enable: {'extruder' in printer and
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[0]}
name: Preheat hotend
gcode:
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
printer["gcode_macro _km_globals"].menu_temperature[0].extruder}
[menu __main __temp_km __preheat_0 __hotbed]
type: command
enable: {'heater_bed' in printer and
'bed' in printer["gcode_macro _km_globals"].menu_temperature[0]}
name: Preheat bed
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
printer["gcode_macro _km_globals"].menu_temperature[0].bed}
[menu __main __temp_km __preheat_0 __chamber]
type: command
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[0]}
name: Preheat chamber
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
printer["gcode_macro _km_globals"].menu_temperature[0].chamber}
## Pre-heat [1] ##
[menu __main __temp_km __preheat_1]
type: list
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[1].name}
enable: {printer.idle_timeout.state != "Printing" and
printer["gcode_macro _km_globals"].menu_temperature|length > 1}
[menu __main __temp_km __preheat_1 __all]
type: command
enable: {printer["gcode_macro _km_globals"].menu_temperature[1] | list |
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Preheat all
gcode:
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[1] %}
{% if 'chamber' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
{% endif %}
{% if 'bed' in targets and 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
{% endif %}
{% if 'extruder' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
targets.extruder}
{% endif %}
[menu __main __temp_km __preheat_1 __hotend]
type: command
enable: {'extruder' in printer and
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[1]}
name: Preheat hotend
gcode:
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
printer["gcode_macro _km_globals"].menu_temperature[1].extruder}
[menu __main __temp_km __preheat_1 __hotbed]
type: command
enable: {'heater_bed' in printer and
'bed' in printer["gcode_macro _km_globals"].menu_temperature[1]}
name: Preheat bed
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
printer["gcode_macro _km_globals"].menu_temperature[1].bed}
[menu __main __temp_km __preheat_1 __chamber]
type: command
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[1]}
name: Preheat chamber
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
printer["gcode_macro _km_globals"].menu_temperature[1].chamber}
## Pre-heat [2] ##
[menu __main __temp_km __preheat_2]
type: list
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[2].name}
enable: {printer.idle_timeout.state != "Printing" and
printer["gcode_macro _km_globals"].menu_temperature|length > 2}
[menu __main __temp_km __preheat_2 __all]
type: command
enable: {printer["gcode_macro _km_globals"].menu_temperature[2] | list |
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Preheat all
gcode:
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[2] %}
{% if 'chamber' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
{% endif %}
{% if 'bed' in targets and 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
{% endif %}
{% if 'extruder' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
targets.extruder}
{% endif %}
[menu __main __temp_km __preheat_2 __hotend]
type: command
enable: {'extruder' in printer and
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[2]}
name: Preheat hotend
gcode:
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
printer["gcode_macro _km_globals"].menu_temperature[2].extruder}
[menu __main __temp_km __preheat_2 __hotbed]
type: command
enable: {'heater_bed' in printer and
'bed' in printer["gcode_macro _km_globals"].menu_temperature[2]}
name: Preheat bed
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
printer["gcode_macro _km_globals"].menu_temperature[2].bed}
[menu __main __temp_km __preheat_2 __chamber]
type: command
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[2]}
name: Preheat chamber
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
printer["gcode_macro _km_globals"].menu_temperature[2].chamber}
## Pre-heat [3] ##
[menu __main __temp_km __preheat_3]
type: list
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[3].name}
enable: {printer.idle_timeout.state != "Printing" and
printer["gcode_macro _km_globals"].menu_temperature|length > 3}
[menu __main __temp_km __preheat_3 __all]
type: command
enable: {printer["gcode_macro _km_globals"].menu_temperature[3] | list |
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Preheat all
gcode:
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[3] %}
{% if 'chamber' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
{% endif %}
{% if 'bed' in targets and 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
{% endif %}
{% if 'extruder' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
targets.extruder}
{% endif %}
[menu __main __temp_km __preheat_3 __hotend]
type: command
enable: {'extruder' in printer and
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[3]}
name: Preheat hotend
gcode:
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
printer["gcode_macro _km_globals"].menu_temperature[3].extruder}
[menu __main __temp_km __preheat_3 __hotbed]
type: command
enable: {'heater_bed' in printer and
'bed' in printer["gcode_macro _km_globals"].menu_temperature[3]}
name: Preheat bed
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
printer["gcode_macro _km_globals"].menu_temperature[3].bed}
[menu __main __temp_km __preheat_3 __chamber]
type: command
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[3]}
name: Preheat chamber
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
printer["gcode_macro _km_globals"].menu_temperature[3].chamber}
## Pre-heat [4] ##
[menu __main __temp_km __preheat_4]
type: list
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[4].name}
enable: {printer.idle_timeout.state != "Printing" and
printer["gcode_macro _km_globals"].menu_temperature|length > 4}
[menu __main __temp_km __preheat_4 __all]
type: command
enable: {printer["gcode_macro _km_globals"].menu_temperature[4] | list |
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Preheat all
gcode:
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[4] %}
{% if 'chamber' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
{% endif %}
{% if 'bed' in targets and 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
{% endif %}
{% if 'extruder' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
targets.extruder}
{% endif %}
[menu __main __temp_km __preheat_4 __hotend]
type: command
enable: {'extruder' in printer and
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[4]}
name: Preheat hotend
gcode:
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
printer["gcode_macro _km_globals"].menu_temperature[4].extruder}
[menu __main __temp_km __preheat_4 __hotbed]
type: command
enable: {'heater_bed' in printer and
'bed' in printer["gcode_macro _km_globals"].menu_temperature[4]}
name: Preheat bed
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
printer["gcode_macro _km_globals"].menu_temperature[4].bed}
[menu __main __temp_km __preheat_4 __chamber]
type: command
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[4]}
name: Preheat chamber
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
printer["gcode_macro _km_globals"].menu_temperature[4].chamber}
## Pre-heat [5] ##
[menu __main __temp_km __preheat_5]
type: list
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[5].name}
enable: {printer.idle_timeout.state != "Printing" and
printer["gcode_macro _km_globals"].menu_temperature|length > 5}
[menu __main __temp_km __preheat_5 __all]
type: command
enable: {printer["gcode_macro _km_globals"].menu_temperature[5] | list |
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Preheat all
gcode:
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[5] %}
{% if 'chamber' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
{% endif %}
{% if 'bed' in targets and 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
{% endif %}
{% if 'extruder' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
targets.extruder}
{% endif %}
[menu __main __temp_km __preheat_5 __hotend]
type: command
enable: {'extruder' in printer and
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[5]}
name: Preheat hotend
gcode:
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
printer["gcode_macro _km_globals"].menu_temperature[5].extruder}
[menu __main __temp_km __preheat_5 __hotbed]
type: command
enable: {'heater_bed' in printer and
'bed' in printer["gcode_macro _km_globals"].menu_temperature[5]}
name: Preheat bed
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
printer["gcode_macro _km_globals"].menu_temperature[5].bed}
[menu __main __temp_km __preheat_5 __chamber]
type: command
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[5]}
name: Preheat chamber
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
printer["gcode_macro _km_globals"].menu_temperature[5].chamber}
## Pre-heat [6] ##
[menu __main __temp_km __preheat_6]
type: list
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[6].name}
enable: {printer.idle_timeout.state != "Printing" and
printer["gcode_macro _km_globals"].menu_temperature|length > 6}
[menu __main __temp_km __preheat_6 __all]
type: command
enable: {printer["gcode_macro _km_globals"].menu_temperature[6] | list |
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Preheat all
gcode:
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[6] %}
{% if 'chamber' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
{% endif %}
{% if 'bed' in targets and 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
{% endif %}
{% if 'extruder' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
targets.extruder}
{% endif %}
[menu __main __temp_km __preheat_6 __hotend]
type: command
enable: {'extruder' in printer and
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[6]}
name: Preheat hotend
gcode:
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
printer["gcode_macro _km_globals"].menu_temperature[6].extruder}
[menu __main __temp_km __preheat_6 __hotbed]
type: command
enable: {'heater_bed' in printer and
'bed' in printer["gcode_macro _km_globals"].menu_temperature[6]}
name: Preheat bed
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
printer["gcode_macro _km_globals"].menu_temperature[6].bed}
[menu __main __temp_km __preheat_6 __chamber]
type: command
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[6]}
name: Preheat chamber
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
printer["gcode_macro _km_globals"].menu_temperature[6].chamber}
## Pre-heat [7] ##
[menu __main __temp_km __preheat_7]
type: list
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[7].name}
enable: {printer.idle_timeout.state != "Printing" and
printer["gcode_macro _km_globals"].menu_temperature|length > 7}
[menu __main __temp_km __preheat_7 __all]
type: command
enable: {printer["gcode_macro _km_globals"].menu_temperature[7] | list |
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Preheat all
gcode:
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[7] %}
{% if 'chamber' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
{% endif %}
{% if 'bed' in targets and 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
{% endif %}
{% if 'extruder' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
targets.extruder}
{% endif %}
[menu __main __temp_km __preheat_7 __hotend]
type: command
enable: {'extruder' in printer and
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[7]}
name: Preheat hotend
gcode:
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
printer["gcode_macro _km_globals"].menu_temperature[7].extruder}
[menu __main __temp_km __preheat_7 __hotbed]
type: command
enable: {'heater_bed' in printer and
'bed' in printer["gcode_macro _km_globals"].menu_temperature[7]}
name: Preheat bed
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
printer["gcode_macro _km_globals"].menu_temperature[7].bed}
[menu __main __temp_km __preheat_7 __chamber]
type: command
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[7]}
name: Preheat chamber
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
printer["gcode_macro _km_globals"].menu_temperature[7].chamber}
## Pre-heat [8] ##
[menu __main __temp_km __preheat_8]
type: list
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[8].name}
enable: {printer.idle_timeout.state != "Printing" and
printer["gcode_macro _km_globals"].menu_temperature|length > 8}
[menu __main __temp_km __preheat_8 __all]
type: command
enable: {printer["gcode_macro _km_globals"].menu_temperature[8] | list |
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Preheat all
gcode:
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[8] %}
{% if 'chamber' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
{% endif %}
{% if 'bed' in targets and 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
{% endif %}
{% if 'extruder' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
targets.extruder}
{% endif %}
[menu __main __temp_km __preheat_8 __hotend]
type: command
enable: {'extruder' in printer and
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[8]}
name: Preheat hotend
gcode:
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
printer["gcode_macro _km_globals"].menu_temperature[8].extruder}
[menu __main __temp_km __preheat_8 __hotbed]
type: command
enable: {'heater_bed' in printer and
'bed' in printer["gcode_macro _km_globals"].menu_temperature[8]}
name: Preheat bed
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
printer["gcode_macro _km_globals"].menu_temperature[8].bed}
[menu __main __temp_km __preheat_8 __chamber]
type: command
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[8]}
name: Preheat chamber
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
printer["gcode_macro _km_globals"].menu_temperature[8].chamber}
## Pre-heat [9] ##
[menu __main __temp_km __preheat_9]
type: list
name: Preheat {printer["gcode_macro _km_globals"].menu_temperature[9].name}
enable: {printer.idle_timeout.state != "Printing" and
printer["gcode_macro _km_globals"].menu_temperature|length > 9}
[menu __main __temp_km __preheat_9 __all]
type: command
enable: {printer["gcode_macro _km_globals"].menu_temperature[9] | list |
select('in', ['extruder', 'bed', 'chamber']) | list | length > 1 and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Preheat all
gcode:
{% set targets = printer["gcode_macro _km_globals"].menu_temperature[9] %}
{% if 'chamber' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={targets.chamber}
{% endif %}
{% if 'bed' in targets and 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={targets.bed}
{% endif %}
{% if 'extruder' in targets and 'extruder' in printer %}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
targets.extruder}
{% endif %}
[menu __main __temp_km __preheat_9 __hotend]
type: command
enable: {'extruder' in printer and
'extruder' in printer["gcode_macro _km_globals"].menu_temperature[9]}
name: Preheat hotend
gcode:
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET={
printer["gcode_macro _km_globals"].menu_temperature[9].extruder}
[menu __main __temp_km __preheat_9 __hotbed]
type: command
enable: {'heater_bed' in printer and
'bed' in printer["gcode_macro _km_globals"].menu_temperature[9]}
name: Preheat bed
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={
printer["gcode_macro _km_globals"].menu_temperature[9].bed}
[menu __main __temp_km __preheat_9 __chamber]
type: command
enable: {'heater_generic chamber' in printer.heaters.available_heaters and
'chamber' in printer["gcode_macro _km_globals"].menu_temperature[9]}
name: Preheat chamber
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber TARGET={
printer["gcode_macro _km_globals"].menu_temperature[9].chamber}
## Cooldown ##
[menu __main __temp_km __cooldown_all]
type: command
enable: {printer.idle_timeout.state != "Printing" and
(('extruder' in printer) + ('heater_bed' in printer) +
('heater_generic chamber' in printer.heaters.available_heaters)) > 1}
name: Cooldown all
gcode:
{% if 'heater_generic chamber' in printer.heaters.available_heaters %}
SET_HEATER_TEMPERATURE HEATER=chamber TARGET=0
{% endif %}
{% if 'heater_bed' in printer %}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0
{% endif %}
{% if 'extruder' in printer%}
SET_HEATER_TEMPERATURE HEATER={printer.toolhead.extruder} TARGET=0
{% endif %}
[menu __main __temp_km __cooldown_hotend]
type: command
enable: {printer.idle_timeout.state != "Printing" and 'extruder' in printer}
name: Cooldown hotend
gcode: M104 S0
[menu __main __temp_km __cooldown_hotbed]
type: command
enable: {printer.idle_timeout.state != "Printing" and 'heater_bed' in printer}
name: Cooldown bed
gcode: M140 S0
[menu __main __temp_km __cooldown_chamber]
type: command
enable: {printer.idle_timeout.state != "Printing" and
'heater_generic chamber' in printer.heaters.available_heaters}
name: Cooldown chamber
gcode: M141 S0

View File

@@ -0,0 +1,20 @@
[neopixel ledjes]
pin: PC7
# The pin connected to the neopixel. This parameter must be
# provided.
chain_count: 6
# The number of Neopixel chips that are "daisy chained" to the
# provided pin. The default is 1 (which indicates only a single
# Neopixel is connected to the pin).
color_order: GRB
# Set the pixel order required by the LED hardware (using a string
# containing the letters R, G, B, W with W optional). Alternatively,
# this may be a comma separated list of pixel orders - one for each
# LED in the chain. The default is GRB.
initial_RED: 1.0
initial_GREEN: 1.0
initial_BLUE: 1.0
#initial_WHITE: 0.0
# See the "led" section for information on these parameters.
#[include neopixels.cfg]

View File

@@ -0,0 +1,118 @@
[gcode_macro lighten_rainbow]
gcode:
SET_LED LED=ledjes RED=1 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=0.5 BLUE=0 INDEX=2 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=1 BLUE=0 INDEX=3 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=1 BLUE=0 INDEX=4 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=1 INDEX=5 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0.3 GREEN=0 BLUE=0.5 INDEX=6 TRANSMIT=0 SYNC=0
# SET_LED LED=ledjes RED=0.6 GREEN=0 BLUE=0.8 INDEX=7 TRANSMIT=1 SYNC=0
[gcode_macro led_update_temperatures]
gcode:
{% set TRANSMIT = params.TRANSMIT|default(1) %}
{% set extr_temp = printer.extruder.temperature %}
#if the extruder is off
{% if printer.extruder.target == 0 %}
#Set the LED to red if the extruder is off but is still hot, otherwise
# set the color to OFF
{% if extr_temp > 60.0 %}
SET_LED LED=ledjes RED=1 GREEN=0 BLUE=0 INDEX=3 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=0 BLUE=0 INDEX=4 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=0 BLUE=0 INDEX=5 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=0 BLUE=0 INDEX=6 TRANSMIT=0 SYNC=0
{% else %}
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=3 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=4 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=5 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=6 TRANSMIT=0 SYNC=0
{% endif %}
{% else %}
{% set red = 1 %}
{% set green = 0.003 * extr_temp %}
{% set green = 1 - green %}
{% if green < 0 %}
{% set green = 0 %}
{% endif %}
{% if extr_temp < 61 %}
{% set blue = 1 %}
{% elif extr_temp < 121 %}
{% set blue = 0.8 %}
{% elif extr_temp < 181 %}
{% set blue = 0.7 %}
{% elif extr_temp < 215 %}
{% set blue = 0.5 %}
{% else %}
{% set blue = 0.3 %}
{% endif %}
SET_LED LED=ledjes RED={ red|float * 1 } GREEN={ '%0.1f'| format(green|float) } BLUE={ '%0.1f'| format(blue|float) } INDEX=3 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED={ red|float * 1 } GREEN={ '%0.1f'| format(green|float) } BLUE={ '%0.1f'| format(blue|float) } INDEX=4 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED={ red|float * 1 } GREEN={ '%0.1f'| format(green|float) } BLUE={ '%0.1f'| format(blue|float) } INDEX=5 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED={ red|float * 1 } GREEN={ '%0.1f'| format(green|float) } BLUE={ '%0.1f'| format(blue|float) } INDEX=6 TRANSMIT=0 SYNC=0
{% endif %}
{% set bed_temp = printer.heater_bed.temperature %}
#if the hotbed is off
{% if printer.heater_bed.target == 0 %}
#Set the LED to red if the extruder is off but is still hot, otherwise
# set the color to OFF
{% if bed_temp > 34.0 %}
SET_LED LED=ledjes RED=1 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=0 BLUE=0 INDEX=3 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=0 BLUE=0 INDEX=4 TRANSMIT={ TRANSMIT } SYNC=0
{% else %}
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=3 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=4 TRANSMIT={ TRANSMIT } SYNC=0
{% endif %}
{% else %}
{% set red = 1 %}
{% set green = 0.003 * bed_temp %}
{% set green = 0,55 - green %}
{% if green < 0 %}
{% set green = 0 %}
{% endif %}
{% if bed_temp < 42 %}
{% set blue = 1 %}
{% elif bed_temp < 55 %}
{% set blue = 0.6 %}
{% elif bed_temp < 68 %}
{% set blue = 0.5 %}
{% else %}
{% set blue = 0.3 %}
{% endif %}
SET_LED LED=ledjes RED={ red|float * 1 } GREEN={ '%0.1f'| format(green|float) } BLUE={ '%0.1f'| format(blue|float) } INDEX=1 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED={ red|float * 1 } GREEN={ '%0.1f'| format(green|float) } BLUE={ '%0.1f'| format(blue|float) } INDEX=2 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED={ red|float * 1 } GREEN={ '%0.1f'| format(green|float) } BLUE={ '%0.1f'| format(blue|float) } INDEX=3 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED={ red|float * 1 } GREEN={ '%0.1f'| format(green|float) } BLUE={ '%0.1f'| format(blue|float) } INDEX=4 TRANSMIT={ TRANSMIT } SYNC=0
{% endif %}
[gcode_macro led_update_printer_status]
gcode:
{% set TRANSMIT = params.TRANSMIT|default(1) %}
{% if printer.idle_timeout.state == "Idle" %}
SET_LED LED=ledjes RED=0 GREEN=1 BLUE=0 INDEX=1 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=5 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=6 TRANSMIT=0 SYNC=0
{% elif printer.idle_timeout.state == "Ready" %}
SET_LED LED=ledjes RED=0 GREEN=1 BLUE=0 INDEX=1 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=1 BLUE=0 INDEX=5 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=0 GREEN=0 BLUE=0 INDEX=6 TRANSMIT=0 SYNC=0
{% elif printer.idle_timeout.state == "Printing" %}
SET_LED LED=ledjes RED=0 GREEN=1 BLUE=0 INDEX=1 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=1 BLUE=0 INDEX=5 TRANSMIT=0 SYNC=0
SET_LED LED=ledjes RED=1 GREEN=0 BLUE=0 INDEX=6 TRANSMIT=0 SYNC=0
{% endif %}
SET_LED LED=ledjes RED=1 GREEN=1 BLUE=1 INDEX=2 TRANSMIT={ TRANSMIT } SYNC=0
[delayed_gcode led_update]
initial_duration: 5
gcode:
led_update_temperatures TRANSMIT=0
led_update_printer_status TRANSMIT=1
UPDATE_DELAYED_GCODE ID=led_update DURATION=5

View File

@@ -1,8 +1,8 @@
[bed_mesh] [bed_mesh]
speed: 100 speed: 100
horizontal_move_z: 5 horizontal_move_z: 5
mesh_min: 10,10 mesh_min: 5,5
mesh_max: 265,230 mesh_max: 220,195
algorithm: bicubic algorithm: bicubic
bicubic_tension: 0.1 bicubic_tension: 0.1
probe_count: 7,7 probe_count: 7,7

View File

@@ -0,0 +1,69 @@
# Copyright (C) 2022 Justin Schuh <code@justinschuh.com>
#
# This file may be distributed under the terms of the GNU GPLv3 license.
#
# Credit to original source:
# https://gist.github.com/ChipCE/95fdbd3c2f3a064397f9610f915f7d02
[gcode_macro bed_mesh_calibrate]
rename_existing: _KM_BED_MESH_CALIBRATE_BASE
description: Wraps BED_MESH_CALIBRATE, scaling probe count to specified area.
Usage: See Klipper documentation.
gcode:
{% set km = printer["gcode_macro _km_globals"] %}
{% set probe_mesh_padding = km.probe_mesh_padding %}
{% set probe_min_count = km.probe_min_count %}
{% set probe_count_scale = km.probe_count_scale %}
{% set bed_mesh = printer.configfile.config.bed_mesh %}
# don't have the math functions available to work on a delta bed.
{%if "mesh_radius" not in bed_mesh %}
{% set safe_min_x = bed_mesh.mesh_min.split(",")[0]|float %}
{% set safe_min_y = bed_mesh.mesh_min.split(",")[1]|float %}
{% set safe_max_x = bed_mesh.mesh_max.split(",")[0]|float %}
{% set safe_max_y = bed_mesh.mesh_max.split(",")[1]|float %}
{% if "MESH_MIN" in params %}
{% set mesh_min_x = (params.MESH_MIN.split(",")[0]|float -
probe_mesh_padding, safe_min_x)|max %}
{% set mesh_min_y = (params.MESH_MIN.split(",")[1]|float -
probe_mesh_padding, safe_min_y)|max %}
{% else %}
{% set mesh_min_x = safe_min_x %}
{% set mesh_min_y = safe_min_y %}
{% endif %}
{% if "MESH_MAX" in params %}
{% set mesh_max_x = (params.MESH_MAX.split(",")[0]|float +
probe_mesh_padding, safe_max_x)|min %}
{% set mesh_max_y = (params.MESH_MAX.split(",")[1]|float +
probe_mesh_padding, safe_max_y)|min %}
{% else %}
{% set mesh_max_x = safe_max_x %}
{% set mesh_max_y = safe_max_y %}
{% endif %}
{% set max_x_probes = (params.PROBE_COUNT |
default(bed_mesh.probe_count)).split(",")[0]|int %}
{% set max_y_probes = (params.PROBE_COUNT |
default(bed_mesh.probe_count)).split(",")[1]|int %}
{% set x_probes = (max_x_probes * (mesh_max_x - mesh_min_x) /
(safe_max_x - safe_min_x) * probe_count_scale)
| round(0) | int %}
{% set x_probes = ((x_probes, probe_min_count)|max, max_x_probes)|min %}
{% set y_probes = (max_y_probes * (mesh_max_y - mesh_min_y ) /
(safe_max_y - safe_min_y) * probe_count_scale )
| round(0) | int %}
{% set y_probes = ((y_probes, probe_min_count)|max, max_y_probes)|min %}
{% set dummy = params.__setitem__("MESH_MIN", mesh_min_x~","~mesh_min_y) %}
{% set dummy = params.__setitem__("MESH_MAX", mesh_max_x~","~mesh_max_y) %}
{% set dummy = params.__setitem__("PROBE_COUNT", x_probes~","~y_probes) %}
{% endif %}
_km_bed_mesh_calibrate_base{%for k in params%}{
' '~k~'="'~params[k]~'"'}{%endfor%}
[gcode_macro g29]
gcode:
BED_MESH_CALIBRATE

View File

@@ -0,0 +1,56 @@
# All customizations are documented in globals.cfg. Just copy a variable from
# there into the section below, and change the value to meet your needs.
[gcode_macro _km_options]
# These are examples of some likely customizations:
# Any sheets in the below list will be available with a configurable offset.
#variable_bed_surfaces: ['smooth_1','texture_1']
# Length (in mm) of filament to load (bowden tubes will be longer).
#variable_load_length: 90.0
# Hide the Octoprint LCD menu since I don't use it.
#variable_menu_show_octoprint: False
# Customize the filament menus (up to 10 entries).
#variable_menu_temperature: [
# {'name' : 'PLA', 'extruder' : 200.0, 'bed' : 60.0},
# {'name' : 'PETG', 'extruder' : 230.0, 'bed' : 85.0},
# {'name' : 'ABS', 'extruder' : 245.0, 'bed' : 110.0, 'chamber' : 60}]
# Length of filament (in millimeters) to purge at print start.
#variable_start_purge_length: 30 # This value works for most setups.
gcode: # This line is required by Klipper.
# Any code you put here will run at klipper startup, after the initialization
# for these macros. For example, you could uncomment the following line to
# automatically adjust your bed surface offsets to account for any changes made
# to your Z endstop or probe offset.
# ADJUST_SURFACE_OFFSETS
# This line includes all the standard macros.
[include klipper-macros/*.cfg]
# Uncomment to include features that require specific hardware support.
# LCD menu support for features like bed surface selection and pause next layer.
[include klipper-macros/optional/lcd_menus.cfg]
# Optimized bed leveling
[include klipper-macros/optional/bed_mesh.cfg]
# The sections below here are required for the macros to work. If your config
# already has some of these sections you should merge the duplicates into one
# (or if they are identical just remove one of them).
[idle_timeout]
gcode:
_KM_IDLE_TIMEOUT # This line must be in your idle_timeout section.
[pause_resume]
[respond]
[save_variables]
filename: ~/printer_data/variables.cfg # UPDATE THIS FOR YOUR PATH!!!
#[virtual_sdcard]
#path: ~/gcode_files # UPDATE THIS FOR YOUR PATH!!!
[display_status]
# Uncomment the sections below if Fluidd complains (because it's confused).
#[gcode_macro CANCEL_PRINT]
#rename_existing: CANCEL_PRINT_FAKE_BASE
#gcode: CANCEL_PRINT_FAKE_BASE {rawparams}

View File

@@ -0,0 +1,59 @@
################################################################################
# ~~~~~~~~~~~~~~~~~~~~~~~~ AUTOCREATED WITH KIAUH ~~~~~~~~~~~~~~~~~~~~~~~~~~ #
################################################################################
# Recommended macros and config entries if you use Mainsail or Fluidd! #
# You can edit or delete those macros if you already defined them elsewhere! #
################################################################################
[pause_resume]
[display_status]
[gcode_macro CANCEL_PRINT]
rename_existing: BASE_CANCEL_PRINT
gcode:
TURN_OFF_HEATERS
CLEAR_PAUSE
SDCARD_RESET_FILE
BASE_CANCEL_PRINT
[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
gcode:
##### set defaults #####
{% set x = params.X|default(230) %} #edit to your park position
{% set y = params.Y|default(230) %} #edit to your park position
{% set z = params.Z|default(10)|float %} #edit to your park position
{% set e = params.E|default(1) %} #edit to your retract length
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% set lift_z = z|abs %}
{% if act_z < (max_z - lift_z) %}
{% set z_safe = lift_z %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
G91
G1 E-{e} F2100
G1 Z{z_safe}
G90
G1 X{x} Y{y} F6000
[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
##### set defaults #####
{% set e = params.E|default(1) %} #edit to your retract length
G91
G1 E{e} F2100
G90
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1
BASE_RESUME
################################################################################
################################################################################

View File

@@ -0,0 +1,125 @@
[pause_resume]
[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}
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
TURN_OFF_HEATERS
CANCEL_PRINT_BASE
# The print bed can move so far to the front, that the nozzle can reach the
# plastic cover of the print bed heater cable (only when the bed is moved by
# hand). By homing the Y axis before the X axis, it is ensured the nozzle will
# not melt through the plastic part.
# BEWARE: You will lose the ability to home axes individually. The printer will
# always home all axes for every G28 command.
#[homing_override]
#gcode:
# G28 Y0
# G28 X0
# G28 Z0
# ================================================================================
# GCode Macro: START_PRINT
# Add START_PRINT in your slicers starting script.
# ================================================================================
[gcode_macro START_PRINT]
gcode:
G28; Home all axes
BED_MESH_CALIBRATE
G92 E0; Reset Extruder
G1 Z25.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30; Draw the second line
G92 E0; Reset Extruder
G1 Z25.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed
M118 punt gcode_macro START_PRINT
# ================================================================================
# GCode Macro: END_PRINT
# Add END_PRINT in your slicers ending script
# ================================================================================
[gcode_macro END_PRINT]
gcode:
G91; Relative Positioning
G1 Z+10; Move Z up so it doesn't hit anything
G90; Absolute Positioning
G1 Y190 F1500; bring Y up front
# G10 ; set tool offset? or retract?
# G1 E-10 F300; Retrack-10
G1 X10 Y220 F2000; Move to X10, Y220
M104 S0; Turn off Extruder temperature (set it to 0)
M140 S0; Turn off Bed temperature (set it to 0)
M106 S0; turn off cooling fan
M84; Disable steppers
# ================================================================================
# GCode Macro G29
# Fires when G29 is sent to the printer
# ================================================================================
#[gcode_macro G29]
#gcode:
# G1 Z10 F600
# G4 P200
# G1 Z10 F600
# G4 P100
### Raspberry Pi als MCU om de GPIO te gebruiken voor in- en output

View File

@@ -12,6 +12,7 @@ klippy_uds_address: /tmp/klippy_uds
trusted_clients: trusted_clients:
; 10.0.0.0/8 ; 10.0.0.0/8
127.0.0.0/8 127.0.0.0/8
10.11.98.0/24
169.254.0.0/16 169.254.0.0/16
; 172.16.0.0/12 ; 172.16.0.0/12
; 192.168.0.0/16 ; 192.168.0.0/16

View File

@@ -16,8 +16,12 @@
# Met de DropEffect OmniDrop V2.1 is het punt links-beneden (dus het 0-punt): X = 12 en Y = 30 # Met de DropEffect OmniDrop V2.1 is het punt links-beneden (dus het 0-punt): X = 12 en Y = 30
# Invoegen van de standaard macros, geknipt uit printer.cfg
#[include macros/standaardMacros.cfg]
# Invoegen van macros. Deze komen uit: https://github.com/jschuh/klipper-macros # Invoegen van macros. Deze komen uit: https://github.com/jschuh/klipper-macros
[include jschuh_macros.cfg] [include jschuh_macros.cfg]
[include scherm/menu.cfg]
[include leds/neopixel.cfg]
[exclude_object] [exclude_object]
@@ -46,9 +50,9 @@ enable_pin: !PB11
microsteps: 16 microsteps: 16
rotation_distance: 40 rotation_distance: 40
endstop_pin: ^PC1 endstop_pin: ^PC1
position_endstop: -9 position_endstop: -51
position_min: -9 position_min: -51
position_max: 226 position_max: 195
homing_speed: 50 homing_speed: 50
[tmc2209 stepper_y] [tmc2209 stepper_y]
@@ -95,7 +99,7 @@ screw4: 29,206
speed: 80 speed: 80
horizontal_move_z: 5 horizontal_move_z: 5
mesh_min: 25,10 mesh_min: 25,10
mesh_max: 200,170 mesh_max: 200,150
probe_count: 5,5 probe_count: 5,5
[extruder] [extruder]
@@ -155,27 +159,6 @@ max_accel: 3000
max_z_velocity: 5 max_z_velocity: 5
max_z_accel: 100 max_z_accel: 100
[neopixel ledjes]
pin: PC7
# The pin connected to the neopixel. This parameter must be
# provided.
chain_count: 6
# The number of Neopixel chips that are "daisy chained" to the
# provided pin. The default is 1 (which indicates only a single
# Neopixel is connected to the pin).
color_order: GRB
# Set the pixel order required by the LED hardware (using a string
# containing the letters R, G, B, W with W optional). Alternatively,
# this may be a comma separated list of pixel orders - one for each
# LED in the chain. The default is GRB.
initial_RED: 1.0
initial_GREEN: 1.0
initial_BLUE: 1.0
#initial_WHITE: 0.0
# See the "led" section for information on these parameters.
#[include neopixels.cfg]
[static_digital_output usb_pullup_enable] [static_digital_output usb_pullup_enable]
pins: !PC13 pins: !PC13
@@ -203,132 +186,6 @@ path: ~/printer_data/gcodes
[display_status] [display_status]
[pause_resume]
[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}
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
TURN_OFF_HEATERS
CANCEL_PRINT_BASE
# The print bed can move so far to the front, that the nozzle can reach the
# plastic cover of the print bed heater cable (only when the bed is moved by
# hand). By homing the Y axis before the X axis, it is ensured the nozzle will
# not melt through the plastic part.
# BEWARE: You will lose the ability to home axes individually. The printer will
# always home all axes for every G28 command.
#[homing_override]
#gcode:
# G28 Y0
# G28 X0
# G28 Z0
# ================================================================================
# GCode Macro: START_PRINT
# Add START_PRINT in your slicers starting script.
# ================================================================================
[gcode_macro START_PRINT]
gcode:
G28; Home all axes
BED_MESH_CALIBRATE
G92 E0; Reset Extruder
G1 Z25.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30; Draw the second line
G92 E0; Reset Extruder
G1 Z25.0 F3000; Move Z Axis up little to prevent scratching of Heat Bed
M118 punt gcode_macro START_PRINT
# ================================================================================
# GCode Macro: END_PRINT
# Add END_PRINT in your slicers ending script
# ================================================================================
[gcode_macro END_PRINT]
gcode:
G91; Relative Positioning
G1 Z+10; Move Z up so it doesn't hit anything
G90; Absolute Positioning
G1 Y190 F1500; bring Y up front
# G10 ; set tool offset? or retract?
# G1 E-10 F300; Retrack-10
G1 X10 Y220 F2000; Move to X10, Y220
M104 S0; Turn off Extruder temperature (set it to 0)
M140 S0; Turn off Bed temperature (set it to 0)
M106 S0; turn off cooling fan
M84; Disable steppers
# ================================================================================
# GCode Macro G29
# Fires when G29 is sent to the printer
# ================================================================================
#[gcode_macro G29]
#gcode:
# G1 Z10 F600
# G4 P200
# G1 Z10 F600
# G4 P100
### Raspberry Pi als MCU om de GPIO te gebruiken voor in- en output
[mcu rpi] [mcu rpi]
serial: /tmp/klipper_host_mcu serial: /tmp/klipper_host_mcu
@@ -347,593 +204,6 @@ shaper_type_x: mzv
shaper_freq_y: 41.4 shaper_freq_y: 41.4
shaper_type_y: ei shaper_type_y: ei
### menu main ###
[menu __main]
type: list
name: Main
### menu tune ###
[menu __main __tune]
type: list
enable: {printer.idle_timeout.state == "Printing"}
name: Afstellen
[menu __main __tune __speed]
type: input
name: Snelheid: {'%3d' % (menu.input*100)}%
input: {printer.gcode_move.speed_factor}
input_min: 0.01
input_max: 5
input_step: 0.01
realtime: True
gcode:
M220 S{'%d' % (menu.input*100)}
[menu __main __tune __flow]
type: input
name: Flow: {'%3d' % (menu.input*100)}%
input: {printer.gcode_move.extrude_factor}
input_min: 0.01
input_max: 2
input_step: 0.01
realtime: True
gcode:
M221 S{'%d' % (menu.input*100)}
[menu __main __tune __offsetz]
type: input
name: Offset Z:{'%05.3f' % menu.input}
input: {printer.gcode_move.homing_origin.z}
input_min: -5
input_max: 5
input_step: 0.005
realtime: True
gcode:
SET_GCODE_OFFSET Z={'%.3f' % menu.input} MOVE=1
### menu virtual sdcard ###
[menu __main __sdcard]
type: vsdlist
enable: {('virtual_sdcard' in printer)}
name: SD Kaart
[menu __main __sdcard __start]
type: command
enable: {('virtual_sdcard' in printer) and printer.virtual_sdcard.file_path and not printer.virtual_sdcard.is_active}
name: Start printen
gcode: M24
[menu __main __sdcard __resume]
type: command
enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "paused"}
name: Herstart printen
gcode:
{% if "pause_resume" in printer %}
RESUME
{% else %}
M24
{% endif %}
[menu __main __sdcard __pause]
type: command
enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "printing"}
name: Pauseer printen
gcode:
{% if "pause_resume" in printer %}
PAUSE
{% else %}
M25
{% endif %}
[menu __main __sdcard __cancel]
type: command
enable: {('virtual_sdcard' in printer) and (printer.print_stats.state == "printing" or printer.print_stats.state == "paused")}
name: Annuleer printen
gcode:
{% if 'pause_resume' in printer %}
CANCEL_PRINT
{% else %}
M25
M27
M26 S0
TURN_OFF_HEATERS
{% if printer.toolhead.position.z <= printer.toolhead.axis_maximum.z - 5 %}
G91
G0 Z5 F1000
G90
{% endif %}
{% endif %}
### menu control ###
[menu __main __control]
type: list
name: Control
[menu __main __control __home]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Home All
gcode: G28
[menu __main __control __homez]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Home Z
gcode: G28 Z
[menu __main __control __homexy]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Home X/Y
gcode: G28 X Y
[menu __main __control __disable]
type: command
name: Steppers uit
gcode:
M84
M18
[menu __main __control __fanonoff]
type: input
enable: {'fan' in printer}
name: Koeling: {'ON ' if menu.input else 'OFF'}
input: {printer.fan.speed}
input_min: 0
input_max: 1
input_step: 1
gcode:
M106 S{255 if menu.input else 0}
[menu __main __control __fanspeed]
type: input
enable: {'fan' in printer}
name: Snelheid koeler: {'%3d' % (menu.input*100)}%
input: {printer.fan.speed}
input_min: 0
input_max: 1
input_step: 0.01
gcode:
M106 S{'%d' % (menu.input*255)}
[menu __main __control __caselightonoff]
type: input
enable: {'output_pin caselight' in printer}
name: Verlichting: {'ON ' if menu.input else 'OFF'}
input: {printer['output_pin caselight'].value}
input_min: 0
input_max: 1
input_step: 1
gcode:
SET_PIN PIN=caselight VALUE={1 if menu.input else 0}
[menu __main __control __caselightpwm]
type: input
enable: {'output_pin caselight' in printer}
name: Verlichting: {'%3d' % (menu.input*100)}%
input: {printer['output_pin caselight'].value}
input_min: 0.0
input_max: 1.0
input_step: 0.01
gcode:
SET_PIN PIN=caselight VALUE={menu.input}
### menu move 10mm ###
[menu __main __control __move_10mm]
type: list
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats 10mm
[menu __main __control __move_10mm __axis_x]
type: input
name: Verplaats X:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.x}
input_min: {printer.toolhead.axis_minimum.x}
input_max: {printer.toolhead.axis_maximum.x}
input_step: 10.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 X{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_10mm __axis_y]
type: input
name: Verplaats Y:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.y}
input_min: {printer.toolhead.axis_minimum.y}
input_max: {printer.toolhead.axis_maximum.y}
input_step: 10.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Y{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_10mm __axis_z]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats Z:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.z}
input_min: 0
input_max: {printer.toolhead.axis_maximum.z}
input_step: 10.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Z{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_10mm __axis_e]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Draai E:{'%+06.1f' % menu.input}
input: 0
input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_step: 10.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
M83
G1 E{menu.input} F240
RESTORE_GCODE_STATE NAME=__move__axis
### menu move 1mm ###
[menu __main __control __move_1mm]
type: list
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats 1mm
[menu __main __control __move_1mm __axis_x]
type: input
name: Verplaats X:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.x}
input_min: {printer.toolhead.axis_minimum.x}
input_max: {printer.toolhead.axis_maximum.x}
input_step: 1.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 X{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_1mm __axis_y]
type: input
name: Verplaats Y:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.y}
input_min: {printer.toolhead.axis_minimum.y}
input_max: {printer.toolhead.axis_maximum.y}
input_step: 1.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Y{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_1mm __axis_z]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats Z:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.z}
input_min: 0
input_max: {printer.toolhead.axis_maximum.z}
input_step: 1.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Z{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_1mm __axis_e]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Draai E:{'%+06.1f' % menu.input}
input: 0
input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_step: 1.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
M83
G1 E{menu.input} F240
RESTORE_GCODE_STATE NAME=__move__axis
### menu move 0.1mm ###
[menu __main __control __move_01mm]
type: list
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats 0.1mm
[menu __main __control __move_01mm __axis_x]
type: input
name: Verplaats X:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.x}
input_min: {printer.toolhead.axis_minimum.x}
input_max: {printer.toolhead.axis_maximum.x}
input_step: 0.1
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 X{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_01mm __axis_y]
type: input
name: Verplaats Y:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.y}
input_min: {printer.toolhead.axis_minimum.y}
input_max: {printer.toolhead.axis_maximum.y}
input_step: 0.1
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Y{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_01mm __axis_z]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats Z:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.z}
input_min: 0
input_max: {printer.toolhead.axis_maximum.z}
input_step: 0.1
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Z{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_01mm __axis_e]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Draai E:{'%+06.1f' % menu.input}
input: 0
input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_step: 0.1
gcode:
SAVE_GCODE_STATE NAME=__move__axis
M83
G1 E{menu.input} F240
RESTORE_GCODE_STATE NAME=__move__axis
### menu temperature ###
[menu __main __temp]
type: list
name: Temperatuur
[menu __main __temp __hotend0_target]
type: input
enable: {('extruder' in printer) and ('extruder' in printer.heaters.available_heaters)}
name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)}
input: {printer.extruder.target}
input_min: 0
input_max: {printer.configfile.config.extruder.max_temp}
input_step: 1
gcode: M104 T0 S{'%.0f' % menu.input}
[menu __main __temp __hotend1_target]
type: input
enable: {('extruder1' in printer) and ('extruder1' in printer.heaters.available_heaters)}
name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)}
input: {printer.extruder1.target}
input_min: 0
input_max: {printer.configfile.config.extruder1.max_temp}
input_step: 1
gcode: M104 T1 S{'%.0f' % menu.input}
[menu __main __temp __hotbed_target]
type: input
enable: {'heater_bed' in printer}
name: {"Bed:%3.0f (%4.0f)" % (menu.input, printer.heater_bed.temperature)}
input: {printer.heater_bed.target}
input_min: 0
input_max: {printer.configfile.config.heater_bed.max_temp}
input_step: 1
gcode: M140 S{'%.0f' % menu.input}
[menu __main __temp __preheat_pla]
type: list
name: Voorverwarmen PLA
[menu __main __temp __preheat_pla __all]
type: command
enable: {('extruder' in printer) and ('heater_bed' in printer)}
name: Alles voorverwarmen
gcode:
M140 S60
M104 S200
[menu __main __temp __preheat_pla __hotend]
type: command
enable: {'extruder' in printer}
name: Hotend voorverwarmen
gcode: M104 S200
[menu __main __temp __preheat_pla __hotbed]
type: command
enable: {'heater_bed' in printer}
name: Hotbed voorverwarmen
gcode: M140 S60
[menu __main __temp __preheat_abs]
type: list
name: Voorverwarmen ABS
[menu __main __temp __preheat_abs __all]
type: command
enable: {('extruder' in printer) and ('heater_bed' in printer)}
name: Alles voorverwarmen
gcode:
M140 S110
M104 S245
[menu __main __temp __preheat_abs __hotend]
type: command
enable: {'extruder' in printer}
name: Hotend voorverwarmen
gcode: M104 S245
[menu __main __temp __preheat_abs __hotbed]
type: command
enable: {'heater_bed' in printer}
name: Hotbed voorverwarmen
gcode: M140 S110
[menu __main __temp __cooldown]
type: list
name: Afkoelen
[menu __main __temp __cooldown __all]
type: command
enable: {('extruder' in printer) and ('heater_bed' in printer)}
name: Alles afkoelen
gcode:
M104 S0
M140 S0
[menu __main __temp __cooldown __hotend]
type: command
enable: {'extruder' in printer}
name: Hotend afkoelen
gcode: M104 S0
[menu __main __temp __cooldown __hotbed]
type: command
enable: {'heater_bed' in printer}
name: Hotbed afkoelen
gcode: M140 S0
### menu filament ###
[menu __main __filament]
type: list
name: Filament
[menu __main __filament __hotend0_target]
type: input
enable: {'extruder' in printer}
name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)}
input: {printer.extruder.target}
input_min: 0
input_max: {printer.configfile.config.extruder.max_temp}
input_step: 1
gcode: M104 T0 S{'%.0f' % menu.input}
[menu __main __filament __loadf]
type: command
name: Fil. snel laden
gcode:
SAVE_GCODE_STATE NAME=__filament__load
M83
G1 E50 F960
RESTORE_GCODE_STATE NAME=__filament__load
[menu __main __filament __loads]
type: command
name: Fil. langzaam laden
gcode:
SAVE_GCODE_STATE NAME=__filament__load
M83
G1 E50 F240
RESTORE_GCODE_STATE NAME=__filament__load
[menu __main __filament __unloadf]
type: command
name: Fil. snel uitwerpen
gcode:
SAVE_GCODE_STATE NAME=__filament__load
M83
G1 E-50 F960
RESTORE_GCODE_STATE NAME=__filament__load
[menu __main __filament __unloads]
type: command
name: Fil. langzaam uitwerpen
gcode:
SAVE_GCODE_STATE NAME=__filament__load
M83
G1 E-50 F240
RESTORE_GCODE_STATE NAME=__filament__load
[menu __main __filament __feed]
type: input
name: Snelheid: {'%.1f' % menu.input}
input: 5
input_step: 0.1
gcode:
SAVE_GCODE_STATE NAME=__filament__load
M83
G1 E{'%.1f' % menu.input} F60
RESTORE_GCODE_STATE NAME=__filament__load
### menu setup ###
[menu __main __setup]
type: list
enable: {not printer.idle_timeout.state == "Printing"}
name: Setup
[menu __main __setup __save_config]
type: command
name: Bewaar configuratie
gcode: SAVE_CONFIG
[menu __main __setup __restart]
type: list
name: Herstarten
[menu __main __setup __restart __host_restart]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Herstart host
gcode: RESTART
[menu __main __setup __restart __firmware_restart]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Herstart FW
gcode: FIRMWARE_RESTART
[menu __main __setup __tuning]
type: list
name: PID tuning
[menu __main __setup __tuning __hotend_pid_tuning]
type: command
enable: {(not printer.idle_timeout.state == "Printing") and ('extruder' in printer)}
name: Tune Hotend PID
gcode: PID_CALIBRATE HEATER=extruder TARGET=210 WRITE_FILE=1
[menu __main __setup __tuning __hotbed_pid_tuning]
type: command
enable: {(not printer.idle_timeout.state == "Printing") and ('heater_bed' in printer)}
name: Tune Hotbed PID
gcode: PID_CALIBRATE HEATER=heater_bed TARGET=60 WRITE_FILE=1
[menu __main __setup __calib]
type: list
name: Calibratie
[menu __main __setup __calib __bedprobe]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Bed probe
gcode: PROBE
[menu __main __setup __dump]
type: command
name: Dump parameters
gcode:
{% for name1 in printer %}
{% for name2 in printer[name1] %}
{ action_respond_info("printer['%s'].%s = %s"
% (name1, name2, printer[name1][name2])) }
{% else %}
{ action_respond_info("printer['%s'] = %s" % (name1, printer[name1])) }
{% endfor %}
{% endfor %}
#*# <---------------------- SAVE_CONFIG ----------------------> #*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*# #*#
@@ -995,16 +265,18 @@ gcode:
#*# [bed_mesh default] #*# [bed_mesh default]
#*# version = 1 #*# version = 1
#*# points = #*# points =
#*# -0.302500, -0.277500, -0.252500 #*# -0.327500, -0.370000, -0.362500, -0.365000, -0.490000
#*# -0.277500, -0.267500, -0.252500 #*# -0.285000, -0.327500, -0.385000, -0.417500, -0.482500
#*# -0.282500, -0.265000, -0.215000 #*# -0.442500, -0.385000, -0.335000, -0.302500, -0.357500
#*# -0.460000, -0.382500, -0.365000, -0.307500, -0.282500
#*# -0.405000, -0.302500, -0.257500, -0.222500, -0.240000
#*# tension = 0.2 #*# tension = 0.2
#*# min_x = 88.33 #*# min_x = 25.0
#*# algo = lagrange #*# algo = lagrange
#*# y_count = 3 #*# y_count = 5
#*# mesh_y_pps = 2 #*# mesh_y_pps = 2
#*# min_y = 88.86 #*# min_y = 10.0
#*# x_count = 3 #*# x_count = 5
#*# max_y = 132.74 #*# max_y = 170.0
#*# mesh_x_pps = 2 #*# mesh_x_pps = 2
#*# max_x = 146.55 #*# max_x = 200.0

View File

@@ -0,0 +1,586 @@
### menu main ###
[menu __main]
type: list
name: Main
### menu tune ###
[menu __main __tune]
type: list
enable: {printer.idle_timeout.state == "Printing"}
name: Afstellen
[menu __main __tune __speed]
type: input
name: Snelheid: {'%3d' % (menu.input*100)}%
input: {printer.gcode_move.speed_factor}
input_min: 0.01
input_max: 5
input_step: 0.01
realtime: True
gcode:
M220 S{'%d' % (menu.input*100)}
[menu __main __tune __flow]
type: input
name: Flow: {'%3d' % (menu.input*100)}%
input: {printer.gcode_move.extrude_factor}
input_min: 0.01
input_max: 2
input_step: 0.01
realtime: True
gcode:
M221 S{'%d' % (menu.input*100)}
[menu __main __tune __offsetz]
type: input
name: Offset Z:{'%05.3f' % menu.input}
input: {printer.gcode_move.homing_origin.z}
input_min: -5
input_max: 5
input_step: 0.005
realtime: True
gcode:
SET_GCODE_OFFSET Z={'%.3f' % menu.input} MOVE=1
### menu virtual sdcard ###
[menu __main __sdcard]
type: vsdlist
enable: {('virtual_sdcard' in printer)}
name: SD Kaart
[menu __main __sdcard __start]
type: command
enable: {('virtual_sdcard' in printer) and printer.virtual_sdcard.file_path and not printer.virtual_sdcard.is_active}
name: Start printen
gcode: M24
[menu __main __sdcard __resume]
type: command
enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "paused"}
name: Herstart printen
gcode:
{% if "pause_resume" in printer %}
RESUME
{% else %}
M24
{% endif %}
[menu __main __sdcard __pause]
type: command
enable: {('virtual_sdcard' in printer) and printer.print_stats.state == "printing"}
name: Pauseer printen
gcode:
{% if "pause_resume" in printer %}
PAUSE
{% else %}
M25
{% endif %}
[menu __main __sdcard __cancel]
type: command
enable: {('virtual_sdcard' in printer) and (printer.print_stats.state == "printing" or printer.print_stats.state == "paused")}
name: Annuleer printen
gcode:
{% if 'pause_resume' in printer %}
CANCEL_PRINT
{% else %}
M25
M27
M26 S0
TURN_OFF_HEATERS
{% if printer.toolhead.position.z <= printer.toolhead.axis_maximum.z - 5 %}
G91
G0 Z5 F1000
G90
{% endif %}
{% endif %}
### menu control ###
[menu __main __control]
type: list
name: Control
[menu __main __control __home]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Home All
gcode: G28
[menu __main __control __homez]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Home Z
gcode: G28 Z
[menu __main __control __homexy]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Home X/Y
gcode: G28 X Y
[menu __main __control __disable]
type: command
name: Steppers uit
gcode:
M84
M18
[menu __main __control __fanonoff]
type: input
enable: {'fan' in printer}
name: Koeling: {'ON ' if menu.input else 'OFF'}
input: {printer.fan.speed}
input_min: 0
input_max: 1
input_step: 1
gcode:
M106 S{255 if menu.input else 0}
[menu __main __control __fanspeed]
type: input
enable: {'fan' in printer}
name: Snelheid koeler: {'%3d' % (menu.input*100)}%
input: {printer.fan.speed}
input_min: 0
input_max: 1
input_step: 0.01
gcode:
M106 S{'%d' % (menu.input*255)}
[menu __main __control __caselightonoff]
type: input
enable: {'output_pin caselight' in printer}
name: Verlichting: {'ON ' if menu.input else 'OFF'}
input: {printer['output_pin caselight'].value}
input_min: 0
input_max: 1
input_step: 1
gcode:
SET_PIN PIN=caselight VALUE={1 if menu.input else 0}
[menu __main __control __caselightpwm]
type: input
enable: {'output_pin caselight' in printer}
name: Verlichting: {'%3d' % (menu.input*100)}%
input: {printer['output_pin caselight'].value}
input_min: 0.0
input_max: 1.0
input_step: 0.01
gcode:
SET_PIN PIN=caselight VALUE={menu.input}
### menu move 10mm ###
[menu __main __control __move_10mm]
type: list
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats 10mm
[menu __main __control __move_10mm __axis_x]
type: input
name: Verplaats X:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.x}
input_min: {printer.toolhead.axis_minimum.x}
input_max: {printer.toolhead.axis_maximum.x}
input_step: 10.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 X{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_10mm __axis_y]
type: input
name: Verplaats Y:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.y}
input_min: {printer.toolhead.axis_minimum.y}
input_max: {printer.toolhead.axis_maximum.y}
input_step: 10.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Y{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_10mm __axis_z]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats Z:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.z}
input_min: 0
input_max: {printer.toolhead.axis_maximum.z}
input_step: 10.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Z{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_10mm __axis_e]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Draai E:{'%+06.1f' % menu.input}
input: 0
input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_step: 10.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
M83
G1 E{menu.input} F240
RESTORE_GCODE_STATE NAME=__move__axis
### menu move 1mm ###
[menu __main __control __move_1mm]
type: list
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats 1mm
[menu __main __control __move_1mm __axis_x]
type: input
name: Verplaats X:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.x}
input_min: {printer.toolhead.axis_minimum.x}
input_max: {printer.toolhead.axis_maximum.x}
input_step: 1.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 X{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_1mm __axis_y]
type: input
name: Verplaats Y:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.y}
input_min: {printer.toolhead.axis_minimum.y}
input_max: {printer.toolhead.axis_maximum.y}
input_step: 1.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Y{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_1mm __axis_z]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats Z:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.z}
input_min: 0
input_max: {printer.toolhead.axis_maximum.z}
input_step: 1.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Z{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_1mm __axis_e]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Draai E:{'%+06.1f' % menu.input}
input: 0
input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_step: 1.0
gcode:
SAVE_GCODE_STATE NAME=__move__axis
M83
G1 E{menu.input} F240
RESTORE_GCODE_STATE NAME=__move__axis
### menu move 0.1mm ###
[menu __main __control __move_01mm]
type: list
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats 0.1mm
[menu __main __control __move_01mm __axis_x]
type: input
name: Verplaats X:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.x}
input_min: {printer.toolhead.axis_minimum.x}
input_max: {printer.toolhead.axis_maximum.x}
input_step: 0.1
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 X{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_01mm __axis_y]
type: input
name: Verplaats Y:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.y}
input_min: {printer.toolhead.axis_minimum.y}
input_max: {printer.toolhead.axis_maximum.y}
input_step: 0.1
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Y{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_01mm __axis_z]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Verplaats Z:{'%05.1f' % menu.input}
input: {printer.gcode_move.gcode_position.z}
input_min: 0
input_max: {printer.toolhead.axis_maximum.z}
input_step: 0.1
gcode:
SAVE_GCODE_STATE NAME=__move__axis
G90
G1 Z{menu.input}
RESTORE_GCODE_STATE NAME=__move__axis
[menu __main __control __move_01mm __axis_e]
type: input
enable: {not printer.idle_timeout.state == "Printing"}
name: Draai E:{'%+06.1f' % menu.input}
input: 0
input_min: -{printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_max: {printer.configfile.config.extruder.max_extrude_only_distance|default(50)}
input_step: 0.1
gcode:
SAVE_GCODE_STATE NAME=__move__axis
M83
G1 E{menu.input} F240
RESTORE_GCODE_STATE NAME=__move__axis
### menu temperature ###
[menu __main __temp]
type: list
name: Temperatuur
[menu __main __temp __hotend0_target]
type: input
enable: {('extruder' in printer) and ('extruder' in printer.heaters.available_heaters)}
name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)}
input: {printer.extruder.target}
input_min: 0
input_max: {printer.configfile.config.extruder.max_temp}
input_step: 1
gcode: M104 T0 S{'%.0f' % menu.input}
[menu __main __temp __hotend1_target]
type: input
enable: {('extruder1' in printer) and ('extruder1' in printer.heaters.available_heaters)}
name: {"Ex1:%3.0f (%4.0f)" % (menu.input, printer.extruder1.temperature)}
input: {printer.extruder1.target}
input_min: 0
input_max: {printer.configfile.config.extruder1.max_temp}
input_step: 1
gcode: M104 T1 S{'%.0f' % menu.input}
[menu __main __temp __hotbed_target]
type: input
enable: {'heater_bed' in printer}
name: {"Bed:%3.0f (%4.0f)" % (menu.input, printer.heater_bed.temperature)}
input: {printer.heater_bed.target}
input_min: 0
input_max: {printer.configfile.config.heater_bed.max_temp}
input_step: 1
gcode: M140 S{'%.0f' % menu.input}
[menu __main __temp __preheat_pla]
type: list
name: Voorverwarmen PLA
[menu __main __temp __preheat_pla __all]
type: command
enable: {('extruder' in printer) and ('heater_bed' in printer)}
name: Alles voorverwarmen
gcode:
M140 S60
M104 S200
[menu __main __temp __preheat_pla __hotend]
type: command
enable: {'extruder' in printer}
name: Hotend voorverwarmen
gcode: M104 S200
[menu __main __temp __preheat_pla __hotbed]
type: command
enable: {'heater_bed' in printer}
name: Hotbed voorverwarmen
gcode: M140 S60
[menu __main __temp __preheat_abs]
type: list
name: Voorverwarmen ABS
[menu __main __temp __preheat_abs __all]
type: command
enable: {('extruder' in printer) and ('heater_bed' in printer)}
name: Alles voorverwarmen
gcode:
M140 S110
M104 S245
[menu __main __temp __preheat_abs __hotend]
type: command
enable: {'extruder' in printer}
name: Hotend voorverwarmen
gcode: M104 S245
[menu __main __temp __preheat_abs __hotbed]
type: command
enable: {'heater_bed' in printer}
name: Hotbed voorverwarmen
gcode: M140 S110
[menu __main __temp __cooldown]
type: list
name: Afkoelen
[menu __main __temp __cooldown __all]
type: command
enable: {('extruder' in printer) and ('heater_bed' in printer)}
name: Alles afkoelen
gcode:
M104 S0
M140 S0
[menu __main __temp __cooldown __hotend]
type: command
enable: {'extruder' in printer}
name: Hotend afkoelen
gcode: M104 S0
[menu __main __temp __cooldown __hotbed]
type: command
enable: {'heater_bed' in printer}
name: Hotbed afkoelen
gcode: M140 S0
### menu filament ###
[menu __main __filament]
type: list
name: Filament
[menu __main __filament __hotend0_target]
type: input
enable: {'extruder' in printer}
name: {"Ex0:%3.0f (%4.0f)" % (menu.input, printer.extruder.temperature)}
input: {printer.extruder.target}
input_min: 0
input_max: {printer.configfile.config.extruder.max_temp}
input_step: 1
gcode: M104 T0 S{'%.0f' % menu.input}
[menu __main __filament __loadf]
type: command
name: Fil. snel laden
gcode:
SAVE_GCODE_STATE NAME=__filament__load
M83
G1 E50 F960
RESTORE_GCODE_STATE NAME=__filament__load
[menu __main __filament __loads]
type: command
name: Fil. langzaam laden
gcode:
SAVE_GCODE_STATE NAME=__filament__load
M83
G1 E50 F240
RESTORE_GCODE_STATE NAME=__filament__load
[menu __main __filament __unloadf]
type: command
name: Fil. snel uitwerpen
gcode:
SAVE_GCODE_STATE NAME=__filament__load
M83
G1 E-50 F960
RESTORE_GCODE_STATE NAME=__filament__load
[menu __main __filament __unloads]
type: command
name: Fil. langzaam uitwerpen
gcode:
SAVE_GCODE_STATE NAME=__filament__load
M83
G1 E-50 F240
RESTORE_GCODE_STATE NAME=__filament__load
[menu __main __filament __feed]
type: input
name: Snelheid: {'%.1f' % menu.input}
input: 5
input_step: 0.1
gcode:
SAVE_GCODE_STATE NAME=__filament__load
M83
G1 E{'%.1f' % menu.input} F60
RESTORE_GCODE_STATE NAME=__filament__load
### menu setup ###
[menu __main __setup]
type: list
enable: {not printer.idle_timeout.state == "Printing"}
name: Setup
[menu __main __setup __save_config]
type: command
name: Bewaar configuratie
gcode: SAVE_CONFIG
[menu __main __setup __restart]
type: list
name: Herstarten
[menu __main __setup __restart __host_restart]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Herstart host
gcode: RESTART
[menu __main __setup __restart __firmware_restart]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Herstart FW
gcode: FIRMWARE_RESTART
[menu __main __setup __tuning]
type: list
name: PID tuning
[menu __main __setup __tuning __hotend_pid_tuning]
type: command
enable: {(not printer.idle_timeout.state == "Printing") and ('extruder' in printer)}
name: Tune Hotend PID
gcode: PID_CALIBRATE HEATER=extruder TARGET=210 WRITE_FILE=1
[menu __main __setup __tuning __hotbed_pid_tuning]
type: command
enable: {(not printer.idle_timeout.state == "Printing") and ('heater_bed' in printer)}
name: Tune Hotbed PID
gcode: PID_CALIBRATE HEATER=heater_bed TARGET=60 WRITE_FILE=1
[menu __main __setup __calib]
type: list
name: Calibratie
[menu __main __setup __calib __bedprobe]
type: command
enable: {not printer.idle_timeout.state == "Printing"}
name: Bed probe
gcode: PROBE
[menu __main __setup __dump]
type: command
name: Dump parameters
gcode:
{% for name1 in printer %}
{% for name2 in printer[name1] %}
{ action_respond_info("printer['%s'].%s = %s"
% (name1, name2, printer[name1][name2])) }
{% else %}
{ action_respond_info("printer['%s'] = %s" % (name1, printer[name1])) }
{% endfor %}
{% endfor %}

View File

@@ -13,8 +13,8 @@ percent: 20
height: 5 height: 5
#time: 5 #time: 5
[timelapse] #[timelapse]
cleanup: true #cleanup: true
height: 0.2 #height: 0.2
time: 5 #time: 5
target_fps: 30 #target_fps: 30

View File

@@ -0,0 +1,7 @@
## Werkzaamheden uitgevoerd aan de Ender3 TPU printer bijgehouden vanaf 8 mei 2024
#### 8 mei 2024 - mei 2024
* Siliconen sock om de nozzle was verstaft en bij [DropEffect](https://www.dropeffect.com/pages/contact-us) gevraagd waar een nieuwe gehaald kan worden. Zij sturen er 1 op.
* Het bed op de y-as zat iets los, deze strakker gezet.
* De afmeting en het nulpunt van het bed gewijzigd: Het homing-punt zit nu op -13.5 x -51, hierdoor start het nulpunt op 0,42. De bed-grootte is aangepast naar 221.5x195. Door deze wijziging kunnen de clipjes blijven zitten.
* In de homing-macro aangepast dat de kop eerst omhoog gaat zodat deze de clipjes niet meeneemt tijdens het verplaatsen.