diff --git a/macros/homing.cfg.old b/macros/homing.cfg.old deleted file mode 100644 index a42e7a0..0000000 --- a/macros/homing.cfg.old +++ /dev/null @@ -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 - diff --git a/macros/main.cfg b/macros/main.cfg index b6f9887..cd990ce 100644 --- a/macros/main.cfg +++ b/macros/main.cfg @@ -16,6 +16,7 @@ gcode: [include ../KAMP_Settings.cfg] #[include ../KAMP/KAMP_Settings.cfg] [include tools.cfg] +[include nevermore.cfg] @@ -155,6 +156,9 @@ gcode: #M190 S{BED_TEMP} M109 S{EXTRUDER_TEMP} ; M109 heat and wait for it to reach temp SFS_ENABLE + {% if BED_TEMP > 100 %} + _NEVERMORE_ON + {% endif %} M117 STATUS_CLEANING VORON_PURGE @@ -173,7 +177,7 @@ variable_park_xy: [350,350] variable_up_z: 4 #12 gcode: {% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity * 60 %} - STATUS_BUSY + STATUS_BUSY SET_SKEW CLEAR=1 M400 ; wait for buffer to clear G92 E0 ; zero the extruder @@ -186,7 +190,8 @@ gcode: G90 ; absolute positioning G0 X{park_xy[0]} Y{park_xy[1]} F{park_speed} ; park nozzle at rear #BED_MESH_CLEAR - SFS_DISABLE + SFS_DISABLE + _NEVERMORE_OFF #M141 S35 SET_STEPPER_ENABLE STEPPER=extruder ENABLE=0 #disable stepper STATUS_OFF @@ -207,13 +212,13 @@ gcode: [gcode_macro M141] gcode: {% 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: {% set s = params.S|default(0)|float %} 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 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] rename_existing: BASE_PAUSE gcode: diff --git a/nevermore.cfg b/macros/nevermore.cfg similarity index 62% rename from nevermore.cfg rename to macros/nevermore.cfg index 6411c4d..bda7f45 100644 --- a/nevermore.cfg +++ b/macros/nevermore.cfg @@ -9,30 +9,6 @@ ## (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" ## 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] gcode: SET_FAN_SPEED FAN=Nevermore SPEED=0 @@ -44,3 +20,11 @@ gcode: {% else %} SET_FAN_SPEED FAN=Nevermore SPEED=1 {% 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 diff --git a/octopus_pro_1.1.cfg b/octopus_pro_1.1.cfg index 5cced47..8f3b47b 100644 --- a/octopus_pro_1.1.cfg +++ b/octopus_pro_1.1.cfg @@ -4,6 +4,10 @@ canbus_uuid: afcf80281237 [temperature_sensor OctopusPro] sensor_type: temperature_mcu +[temperature_sensor Chamber] +sensor_type: ATC Semitec 104NT-4-R025H42G +sensor_pin: PF4 + [output_pin ps_on] pin: PE11 value: 1 @@ -155,30 +159,42 @@ stepper: stepper_x, stepper_y idle_speed: 0 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 -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 -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 - +cycle_time: 0.01 +hardware_pwm: false [multi_pin soc_pin] pins: PD12, PD13