Autocommit from 2025-03-29 08:17:20
Klipper version: v0.12.0-382-ga18c74be0 Moonraker version: v0.9.3-3-gccfe32f Mainsail version: v2.13.2
This commit is contained in:
@@ -1,174 +0,0 @@
|
|||||||
[gcode_macro MOVE_UP]
|
|
||||||
variable_set_kinematic_z: 20
|
|
||||||
variable_up_z: 10
|
|
||||||
gcode:
|
|
||||||
SAVE_GCODE_STATE NAME=my_move_up_state
|
|
||||||
{% if not 'z' in printer.toolhead.homed_axes %}
|
|
||||||
SET_KINEMATIC_POSITION Z={set_kinematic_z}
|
|
||||||
{% endif %}
|
|
||||||
G91
|
|
||||||
G0 Z{up_z} F1200
|
|
||||||
RESTORE_GCODE_STATE NAME=my_move_up_state
|
|
||||||
|
|
||||||
[gcode_macro _HOME_X]
|
|
||||||
variable_homing_current: 0.65
|
|
||||||
variable_start_retract: 15
|
|
||||||
gcode:
|
|
||||||
# Always use consistent run_current on A/B steppers during sensorless homing
|
|
||||||
{% set RUN_CURRENT_X = printer.configfile.settings['tmc2240 stepper_x'].run_current|float %}
|
|
||||||
{% set RUN_CURRENT_Y = printer.configfile.settings['tmc2240 stepper_y'].run_current|float %}
|
|
||||||
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={homing_current}
|
|
||||||
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={homing_current}
|
|
||||||
|
|
||||||
M117 Homing X...
|
|
||||||
|
|
||||||
SET_KINEMATIC_POSITION X={start_retract}
|
|
||||||
G91
|
|
||||||
G1 X-{start_retract} F1200
|
|
||||||
|
|
||||||
M400
|
|
||||||
G28 X
|
|
||||||
|
|
||||||
G91
|
|
||||||
G1 X-60 F1200
|
|
||||||
#G4 P500
|
|
||||||
|
|
||||||
M117
|
|
||||||
|
|
||||||
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X}
|
|
||||||
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}
|
|
||||||
|
|
||||||
|
|
||||||
[gcode_macro _HOME_Y]
|
|
||||||
variable_homing_current: 0.65
|
|
||||||
variable_start_retract: 15
|
|
||||||
gcode:
|
|
||||||
# Set current for sensorless homing
|
|
||||||
{% set RUN_CURRENT_X = printer.configfile.settings['tmc2240 stepper_x'].run_current|float %}
|
|
||||||
{% set RUN_CURRENT_Y = printer.configfile.settings['tmc2240 stepper_y'].run_current|float %}
|
|
||||||
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={homing_current}
|
|
||||||
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={homing_current}
|
|
||||||
#SET_TMC_FIELD FIELD=SGT STEPPER=stepper_x VALUE=1
|
|
||||||
#G4 P1000
|
|
||||||
|
|
||||||
M117 Homing Y...
|
|
||||||
|
|
||||||
SET_KINEMATIC_POSITION Y={start_retract}
|
|
||||||
G91
|
|
||||||
G1 Y-{start_retract} F1200
|
|
||||||
|
|
||||||
M400
|
|
||||||
G28 Y
|
|
||||||
|
|
||||||
G91
|
|
||||||
G1 Y-10 F1200
|
|
||||||
#G4 P500
|
|
||||||
|
|
||||||
M117
|
|
||||||
# Set current during print
|
|
||||||
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X}
|
|
||||||
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}
|
|
||||||
|
|
||||||
|
|
||||||
[homing_override]
|
|
||||||
axes: xyz
|
|
||||||
gcode:
|
|
||||||
{% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}
|
|
||||||
{% set move_x = params.X|default(printer.toolhead.axis_maximum.y/2)|int %}
|
|
||||||
{% set move_y = params.Y|default(printer.toolhead.axis_maximum.y/2)|int %}
|
|
||||||
{% if params.Z == '' %}
|
|
||||||
{% set move_z = 10 %}
|
|
||||||
{% else %}
|
|
||||||
{% set move_z = params.Z|default(10)|int %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=homing VALUE=True
|
|
||||||
STATUS_HOMING
|
|
||||||
|
|
||||||
{% if home_all or 'X' or 'Y' in params %}
|
|
||||||
INIT_TMC STEPPER=stepper_y
|
|
||||||
INIT_TMC STEPPER=stepper_x
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if home_all or 'Z' in params %}
|
|
||||||
BED_MESH_CLEAR
|
|
||||||
MOVE_UP
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if home_all or 'X' in params %}
|
|
||||||
_HOME_X
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if home_all or 'Y' in params %}
|
|
||||||
_HOME_Y
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
|
|
||||||
G90
|
|
||||||
|
|
||||||
{% if home_all or 'Z' in params %}
|
|
||||||
G1 X{printer.toolhead.axis_maximum.x/2} Y{printer.toolhead.axis_maximum.y/2} F12000 #probe point
|
|
||||||
G28 Z
|
|
||||||
G1 Z{move_z} F1200
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
#{ action_respond_info("Move X,Y => {},{}".format(params.X,params.Y)) }
|
|
||||||
|
|
||||||
{% if params.X %}
|
|
||||||
|
|
||||||
G1 X{move_x} F12000
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if params.Y %}
|
|
||||||
G1 Y{move_y} F12000
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
STATUS_OFF
|
|
||||||
SET_GCODE_VARIABLE MACRO=_KNOMI_STATUS VARIABLE=homing VALUE=False
|
|
||||||
|
|
||||||
[gcode_macro CG28]
|
|
||||||
gcode:
|
|
||||||
{% if "xyz" not in printer.toolhead.homed_axes %}
|
|
||||||
G28
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
[gcode_macro PARKFRONT]
|
|
||||||
gcode:
|
|
||||||
CG28 ; home if not already homed
|
|
||||||
SAVE_GCODE_STATE NAME=PARKFRONT
|
|
||||||
G90 ; absolute positioning
|
|
||||||
G0 X{printer.toolhead.axis_maximum.x/2} Y{printer.toolhead.axis_minimum.y+5} Z{printer.toolhead.axis_maximum.z/2} F6000
|
|
||||||
RESTORE_GCODE_STATE NAME=PARKFRONT
|
|
||||||
|
|
||||||
[gcode_macro PARKFRONTLOW]
|
|
||||||
gcode:
|
|
||||||
CG28 ; home if not already homed
|
|
||||||
SAVE_GCODE_STATE NAME=PARKFRONT
|
|
||||||
G90 ; absolute positioning
|
|
||||||
G0 X{printer.toolhead.axis_maximum.x/2} Y{printer.toolhead.axis_minimum.y+5} Z20 F6000
|
|
||||||
RESTORE_GCODE_STATE NAME=PARKFRONT
|
|
||||||
|
|
||||||
[gcode_macro PARKREAR]
|
|
||||||
gcode:
|
|
||||||
CG28 ; home if not already homed
|
|
||||||
SAVE_GCODE_STATE NAME=PARKREAR
|
|
||||||
G90 ; absolute positioning
|
|
||||||
G0 X{printer.toolhead.axis_minimum.x+10} Y{printer.toolhead.axis_maximum.y-10} Z{printer.toolhead.axis_maximum.z-50} F6000
|
|
||||||
RESTORE_GCODE_STATE NAME=PARKREAR
|
|
||||||
|
|
||||||
[gcode_macro PARKCENTER]
|
|
||||||
gcode:
|
|
||||||
CG28 ; home if not already homed
|
|
||||||
SAVE_GCODE_STATE NAME=PARKCENTER
|
|
||||||
G90 ; absolute positioning
|
|
||||||
G0 X{printer.toolhead.axis_maximum.x/2} Y{printer.toolhead.axis_maximum.y/2} Z{printer.toolhead.axis_maximum.z/2} F6000
|
|
||||||
RESTORE_GCODE_STATE NAME=PARKCENTER
|
|
||||||
|
|
||||||
[gcode_macro PARKBED]
|
|
||||||
gcode:
|
|
||||||
CG28 ; home if not already homed
|
|
||||||
SAVE_GCODE_STATE NAME=PARKBED
|
|
||||||
G90 ; absolute positioning
|
|
||||||
G0 X{printer.toolhead.axis_maximum.x/2} Y{printer.toolhead.axis_maximum.y/2} Z15 F6000
|
|
||||||
RESTORE_GCODE_STATE NAME=PARKBED
|
|
||||||
|
|
||||||
@@ -16,6 +16,7 @@ gcode:
|
|||||||
[include ../KAMP_Settings.cfg]
|
[include ../KAMP_Settings.cfg]
|
||||||
#[include ../KAMP/KAMP_Settings.cfg]
|
#[include ../KAMP/KAMP_Settings.cfg]
|
||||||
[include tools.cfg]
|
[include tools.cfg]
|
||||||
|
[include nevermore.cfg]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -155,6 +156,9 @@ gcode:
|
|||||||
#M190 S{BED_TEMP}
|
#M190 S{BED_TEMP}
|
||||||
M109 S{EXTRUDER_TEMP} ; M109 heat and wait for it to reach temp
|
M109 S{EXTRUDER_TEMP} ; M109 heat and wait for it to reach temp
|
||||||
SFS_ENABLE
|
SFS_ENABLE
|
||||||
|
{% if BED_TEMP > 100 %}
|
||||||
|
_NEVERMORE_ON
|
||||||
|
{% endif %}
|
||||||
M117
|
M117
|
||||||
STATUS_CLEANING
|
STATUS_CLEANING
|
||||||
VORON_PURGE
|
VORON_PURGE
|
||||||
@@ -187,6 +191,7 @@ gcode:
|
|||||||
G0 X{park_xy[0]} Y{park_xy[1]} F{park_speed} ; park nozzle at rear
|
G0 X{park_xy[0]} Y{park_xy[1]} F{park_speed} ; park nozzle at rear
|
||||||
#BED_MESH_CLEAR
|
#BED_MESH_CLEAR
|
||||||
SFS_DISABLE
|
SFS_DISABLE
|
||||||
|
_NEVERMORE_OFF
|
||||||
#M141 S35
|
#M141 S35
|
||||||
SET_STEPPER_ENABLE STEPPER=extruder ENABLE=0 #disable stepper
|
SET_STEPPER_ENABLE STEPPER=extruder ENABLE=0 #disable stepper
|
||||||
STATUS_OFF
|
STATUS_OFF
|
||||||
@@ -207,13 +212,13 @@ gcode:
|
|||||||
[gcode_macro M141]
|
[gcode_macro M141]
|
||||||
gcode:
|
gcode:
|
||||||
{% set s = params.S|default(0)|float %}
|
{% set s = params.S|default(0)|float %}
|
||||||
SET_TEMPERATURE_FAN_TARGET temperature_fan=chamber target={s}
|
#SET_TEMPERATURE_FAN_TARGET temperature_fan=chamber target={s}
|
||||||
|
|
||||||
[gcode_macro M191]
|
[gcode_macro M191]
|
||||||
gcode:
|
gcode:
|
||||||
{% set s = params.S|default(0)|float %}
|
{% set s = params.S|default(0)|float %}
|
||||||
M141 S{s}
|
M141 S{s}
|
||||||
TEMPERATURE_WAIT SENSOR="temperature_fan chamber" MINIMUM={s}
|
#TEMPERATURE_WAIT SENSOR="temperature_fan chamber" MINIMUM={s}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -222,6 +227,18 @@ gcode:
|
|||||||
#LCDRGB R=0 G=1 B=0 ; Turn LCD green
|
#LCDRGB R=0 G=1 B=0 ; Turn LCD green
|
||||||
PAUSE ; Pause
|
PAUSE ; Pause
|
||||||
|
|
||||||
|
[gcode_macro M106]
|
||||||
|
rename_existing: M99106
|
||||||
|
variable_fan_aliases: { 'exhaust_fan': ['fan3'] }
|
||||||
|
gcode:
|
||||||
|
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
|
||||||
|
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
|
||||||
|
{% for key in fan_aliases %}
|
||||||
|
{% if fan in fan_aliases[key] %}
|
||||||
|
SET_FAN_SPEED FAN={key} SPEED={speed}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
[gcode_macro PAUSE]
|
[gcode_macro PAUSE]
|
||||||
rename_existing: BASE_PAUSE
|
rename_existing: BASE_PAUSE
|
||||||
gcode:
|
gcode:
|
||||||
|
|||||||
@@ -9,30 +9,6 @@
|
|||||||
## (or less fan depending on your needs, like SPEED=0.8)
|
## (or less fan depending on your needs, like SPEED=0.8)
|
||||||
## in your end print code, add "UPDATE_DELAYED_GCODE ID=filter_off DURATION=180"
|
## in your end print code, add "UPDATE_DELAYED_GCODE ID=filter_off DURATION=180"
|
||||||
## this keeps your Nevermore running for 180s after the print finishes to clean the chamber a bit more.
|
## this keeps your Nevermore running for 180s after the print finishes to clean the chamber a bit more.
|
||||||
|
|
||||||
[fan_generic Nevermore]
|
|
||||||
## Nevermore - FAN5 on Octopus
|
|
||||||
## Adjust if you use a different board or a different terminal.
|
|
||||||
pin: PD15
|
|
||||||
|
|
||||||
[menu __main __control __nevermoreonoff]
|
|
||||||
type: command
|
|
||||||
name: Nevermore {'ON' if printer['fan_generic Nevermore'].speed > 0 else 'OFF'}
|
|
||||||
enable: {'fan_generic Nevermore' in printer}
|
|
||||||
gcode:
|
|
||||||
TOGGLE_NEVERMORE
|
|
||||||
|
|
||||||
[menu __main __control __filterspeed]
|
|
||||||
type: input
|
|
||||||
enable: {'fan_generic Nevermore' in printer}
|
|
||||||
name: Filter %: {'%3d' % (menu.input*100)}%
|
|
||||||
input: {printer["fan_generic Nevermore"].speed}
|
|
||||||
input_min: 0
|
|
||||||
input_max: 1
|
|
||||||
input_step: 0.1
|
|
||||||
gcode:
|
|
||||||
SET_FAN_SPEED FAN=Nevermore SPEED={menu.input}
|
|
||||||
|
|
||||||
[delayed_gcode filter_off]
|
[delayed_gcode filter_off]
|
||||||
gcode:
|
gcode:
|
||||||
SET_FAN_SPEED FAN=Nevermore SPEED=0
|
SET_FAN_SPEED FAN=Nevermore SPEED=0
|
||||||
@@ -44,3 +20,11 @@ gcode:
|
|||||||
{% else %}
|
{% else %}
|
||||||
SET_FAN_SPEED FAN=Nevermore SPEED=1
|
SET_FAN_SPEED FAN=Nevermore SPEED=1
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro _NEVERMORE_ON]
|
||||||
|
gcode:
|
||||||
|
SET_FAN_SPEED FAN=Nevermore SPEED=1
|
||||||
|
|
||||||
|
[gcode_macro _NEVERMORE_OFF]
|
||||||
|
gcode:
|
||||||
|
SET_FAN_SPEED FAN=Nevermore SPEED=1
|
||||||
@@ -4,6 +4,10 @@ canbus_uuid: afcf80281237
|
|||||||
[temperature_sensor OctopusPro]
|
[temperature_sensor OctopusPro]
|
||||||
sensor_type: temperature_mcu
|
sensor_type: temperature_mcu
|
||||||
|
|
||||||
|
[temperature_sensor Chamber]
|
||||||
|
sensor_type: ATC Semitec 104NT-4-R025H42G
|
||||||
|
sensor_pin: PF4
|
||||||
|
|
||||||
[output_pin ps_on]
|
[output_pin ps_on]
|
||||||
pin: PE11
|
pin: PE11
|
||||||
value: 1
|
value: 1
|
||||||
@@ -155,30 +159,42 @@ stepper: stepper_x, stepper_y
|
|||||||
idle_speed: 0
|
idle_speed: 0
|
||||||
fan_speed: 0.6
|
fan_speed: 0.6
|
||||||
|
|
||||||
[heater_fan Nevermore]
|
#[heater_fan Nevermore]
|
||||||
|
#pin: PE5
|
||||||
|
#heater_temp: 90
|
||||||
|
#max_power: 1.0
|
||||||
|
#kick_start_time: 0.5
|
||||||
|
#heater: heater_bed
|
||||||
|
#fan_speed: 1
|
||||||
|
|
||||||
|
[fan_generic Nevermore]
|
||||||
|
## Nevermore - FAN5 on Octopus
|
||||||
|
## Adjust if you use a different board or a different terminal.
|
||||||
pin: PE5
|
pin: PE5
|
||||||
heater_temp: 90
|
|
||||||
max_power: 1.0
|
|
||||||
kick_start_time: 0.5
|
|
||||||
heater: heater_bed
|
|
||||||
fan_speed: 1
|
|
||||||
|
|
||||||
[temperature_fan chamber]
|
|
||||||
|
#[temperature_fan chamber]
|
||||||
|
#pin: PD14
|
||||||
|
#max_power: 1.0
|
||||||
|
#shutdown_speed: 0.0
|
||||||
|
#kick_start_time: 5.0
|
||||||
|
#cycle_time:0.01
|
||||||
|
#off_below:0.1
|
||||||
|
#hardware_pwm: True
|
||||||
|
#sensor_type: ATC Semitec 104NT-4-R025H42G
|
||||||
|
#sensor_pin: PF4
|
||||||
|
#min_temp: 0
|
||||||
|
#max_temp: 70
|
||||||
|
#target_temp: 40
|
||||||
|
#control: watermark
|
||||||
|
#gcode_id: C
|
||||||
|
|
||||||
|
# this is the exhaust fan
|
||||||
|
# comment out it if you don't have exhaust fan
|
||||||
|
[fan_generic exhaust_fan]
|
||||||
pin: PD14
|
pin: PD14
|
||||||
max_power: 1.0
|
|
||||||
shutdown_speed: 0.0
|
|
||||||
kick_start_time: 5.0
|
|
||||||
cycle_time: 0.01
|
cycle_time: 0.01
|
||||||
off_below:0.1
|
hardware_pwm: false
|
||||||
hardware_pwm: True
|
|
||||||
sensor_type: ATC Semitec 104NT-4-R025H42G
|
|
||||||
sensor_pin: PF4
|
|
||||||
min_temp: 0
|
|
||||||
max_temp: 70
|
|
||||||
target_temp: 40
|
|
||||||
control: watermark
|
|
||||||
gcode_id: C
|
|
||||||
|
|
||||||
|
|
||||||
[multi_pin soc_pin]
|
[multi_pin soc_pin]
|
||||||
pins: PD12, PD13
|
pins: PD12, PD13
|
||||||
|
|||||||
Reference in New Issue
Block a user