##################################################################### # Tones # # |~~~~~~~~~~~~~~~| # |~~~~~~~~~~~~~~~| # | | # /~~\| /~~\| # \__/ \__/ # ##################################################################### [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 [gcode_macro SONG_SINGLE_BEEP] gcode: M300 S830.61 P137 [gcode_macro M300] gcode: {% set S = params.S|default(1000)|int %} {% set P = params.P|default(100)|int %} SET_PIN PIN=BEEPER_pin VALUE=0.5 CYCLE_TIME={ 1.0/S if S > 0 else 1 } G4 P{P} SET_PIN PIN=BEEPER_pin VALUE=0 [gcode_macro Song_Doom] gcode: M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P142 S165 M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P135 S147 M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P135 S131 M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P135 S117 M300 P57 S82 M300 P78 S0 M300 P142 S82 M300 P135 S123 M300 P135 S131 M300 P28 S82 M300 P106 S0 M300 P135 S82 M300 P135 S165 M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P135 S147 M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P114 S131 M300 P28 S0 M300 P50 S82 M300 P85 S0 M300 P135 S82 M300 P674 S117 M300 P50 S82 M300 P85 S0 M300 P135 S82 M300 P135 S165 M300 P50 S82 M300 P92 S0 M300 P135 S82 M300 P135 S147 M300 P57 S82 M300 P78 S0 M300 P135 S82 M300 P135 S131 M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P135 S117 M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P142 S123 M300 P135 S131 M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P135 S165 M300 P50 S82 M300 P85 S0 M300 P135 S82 M300 P135 S147 M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P135 S131 M300 P50 S82 M300 P92 S0 M300 P135 S82 M300 P667 S117 M300 P7 S82 M300 P35 S82 M300 P92 S0 M300 P7 S82 M300 P135 S82 M300 P135 S165 M300 P43 S82 M300 P92 S0 M300 P135 S82 M300 P7 S147 M300 P128 S147 M300 P7 S82 M300 P43 S82 M300 P85 S0 M300 P7 S82 M300 P128 S82 M300 P7 S131 M300 P128 S131 M300 P7 S82 M300 P43 S82 M300 P85 S0 M300 P7 S82 M300 P128 S82 M300 P7 S117 M300 P128 S117 M300 P7 S82 M300 P57 S82 M300 P78 S0 M300 P135 S82 M300 P135 S123 M300 P135 S131 M300 P7 S82 M300 P21 S82 M300 P106 S0 M300 P7 S82 M300 P128 S82 M300 P7 S165 M300 P128 S165 M300 P7 S82 M300 P43 S82 M300 P85 S0 M300 P7 S82 M300 P128 S82 M300 P7 S147 M300 P128 S147 M300 P7 S82 M300 P43 S82 M300 P85 S0 M300 P7 S82 M300 P135 S82 M300 P114 S131 M300 P21 S0 M300 P50 S82 M300 P85 S0 M300 P135 S82 M300 P7 S117 M300 P667 S117 M300 P7 S82 M300 P50 S82 M300 P78 S0 M300 P7 S82 M300 P128 S82 M300 P7 S165 M300 P135 S165 M300 P50 S82 M300 P85 S0 M300 P135 S82 M300 P135 S147 M300 P7 S82 M300 P50 S82 M300 P78 S0 M300 P7 S82 M300 P128 S82 M300 P7 S131