diff --git a/macros/beeper.cfg b/macros/beeper.cfg index 0795af5..374a14d 100644 --- a/macros/beeper.cfg +++ b/macros/beeper.cfg @@ -5,6 +5,15 @@ shutdown_value: 0 pwm: True cycle_time: 0.0005 ; Default beeper tone in kHz. 1 / 0.0005 = 2000Hz (2kHz) +[gcode_macro M300] +gcode: + {% set S = params.S|default(1000)|int %} + {% set P = params.P|default(100)|int %} + + SET_PIN PIN=beeper VALUE=0.5 CYCLE_TIME={ 1.0/S if S > 0 else 1 } + G4 P{P} + SET_PIN PIN=beeper VALUE=0 + [gcode_macro BEEP] description: "BEEP I=3 DUR=200 FREQ=2000: Beep 3 times, for 200ms each, at 2kHz frequency." gcode: @@ -19,3 +28,27 @@ gcode: SET_PIN PIN=beeper VALUE=0 G4 P{dur} {% endfor %} + +[gcode_macro SONG_SINGLE_BEEP] +gcode: + M300 S830.61 P137 + +[gcode_macro TOGGLE_BEEPER] +description: Toggle the printer beeper on and off. +gcode: + {% set beeper_state = printer.save_variables.variables.beeper_state|lower %} + + {% if printer['gcode_macro _USER_VARIABLE'].debug == 1 %} + {action_respond_info('==== TOGGLE_BEEPER ====')} + {action_respond_info("beeper_state: %s" % (beeper_state))} + {action_respond_info('===============')} + {% endif %} + + {% if beeper_state == "off" %} + {action_respond_info('beeper is off, turning it on')} + SAVE_VARIABLE VARIABLE=beeper_state VALUE='"on"' + {% else %} + {action_respond_info('beeper is on= turning it off')} + SAVE_VARIABLE VARIABLE=beeper_state VALUE='"off"' + {% endif %} + SONG_SINGLE_BEEP \ No newline at end of file