diff --git a/cfgs/misc-macros.cfg b/cfgs/misc-macros.cfg index 664b32f..235368a 100644 --- a/cfgs/misc-macros.cfg +++ b/cfgs/misc-macros.cfg @@ -15,15 +15,36 @@ path: /home/pi/printer_data/gcodes [display_status] [gcode_macro _globals] +variable_filament_sensor_enabled: 0 # NOTE Enable(1) or disable(0) the filament sensor, if one is connected +variable_beeping_enabled: 1 # NOTE Enable(1) or disable(0) beeping everywhere except during gantry calibration variable_pre_purge_prime_length: 1.4 gcode: SET_GCODE_VARIABLE MACRO=_globals VARIABLE=pre_purge_prime_length VALUE={ variable_pre_purge_prime_length } + SET_GCODE_VARIABLE MACRO=_globals VARIABLE=filament_sensor_enabled VALUE={ variable_filament_sensor_enabled } + SET_GCODE_VARIABLE MACRO=_globals VARIABLE=beeping_enabled VALUE={ variable_beeping_enabled } -[gcode_macro CHECK_PRE_PURGE_PRIME_LENGTH] +[gcode_macro CONDITIONAL_BEEP] gcode: - {% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length %} - {% if not PRE_PURGE_PRIME_LENGTH %} - {action_raise_error('Pre purge prime length not found')} + # Parameters + {% set i = params.I|default(1)|int %} ; Iterations (number of times to beep). + {% set dur = params.DUR|default(100)|int %} ; Duration/wait of each beep in ms. Default 100ms. + {% set freq = params.FREQ|default(2000)|int %} ; Frequency in Hz. Default 2kHz. + + {% set BEEPING_ENABLED=printer["gcode_macro _globals"].beeping_enabled|default(-1)|int %} + + {% if BEEPING_ENABLED == 1 %} + BEEP I={i} DUR={dur} FREQ={freq} + {% endif %} + +[gcode_macro ADJUST_FILAMENT_SENSOR_STATUS] +gcode: + # Parameters + {% set NEWSTATUS = params.ENABLE|default(-1)|int %} + + {% set FILAMENT_SENSOR_ENABLED=printer["gcode_macro _globals"].filament_sensor_enabled|default(-1)|int %} + + {% if FILAMENT_SENSOR_ENABLED == 1 and NEWSTATUS != -1 %} + SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE={NEWSTATUS} {% endif %} [gcode_macro M109] @@ -52,8 +73,8 @@ gcode: # https://github.com/JoeCat1207/V0.1-Purge-line-SuperSlicer/blob/main/Purgeline.txt # https://github.com/VoronDesign/Voron-Switchwire/blob/200cdae033c59ef81f67c4235469da7ca66d53a1/Firmware/skr_mini_e3_v2_config.cfg gcode: - {% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length %} - CHECK_PRE_PURGE_PRIME_LENGTH + {% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length|default(1.40)|float %} + G0 Y0 X0 F4000 ; go to tongue of print bed G1 Z0.4 F500.0 ; move bed to nozzle G92 E0.0 ; reset extruder