Getting the beeper on the SV07 to work by using a shell-script takes two files:
macro_beep-beep.sh
#!/bin/bash
# usage: beep.sh [BEEPCOUNT] [BEEPDURATION] [PAUSEDURATION]
# Output raw passed parameters
echo "Raw parameters: $@"
# Default values
BEEPCOUNT=${1:-3}
BEEPDURATION=${2:-0.1}
PAUSEDURATION=${3:-0.5}
# Output all passed parameters
echo "Beep count: $BEEPCOUNT, beep duration: $BEEPDURATION, pause duration: $PAUSEDURATION"
# Function to play a beep
play_beep() {
echo 1 > /sys/class/gpio/gpio82/value
sleep $BEEPDURATION
echo 0 > /sys/class/gpio/gpio82/value
}
# Play the beep for the specified count
for (( i=0; i<BEEPCOUNT; i++ )); do
play_beep
sleep $PAUSEDURATION
done
macro_beep.cfg
[gcode_macro BEEP]
gcode:
{% set beep_count = params.BC|default("3") %}
{% set beep_duration = params.BD|default("0.2") %}
{% set pause_duration = params.PD|default("1") %}
RUN_SHELL_COMMAND CMD=beep PARAMS='{beep_count} {beep_duration} {pause_duration}'
[gcode_shell_command beep]
command: bash /home/mks/printer_data/config/macro/macro_beep-beep.sh
timeout: 10
verbose: False
- adapt the path to the script-file in
macro_beep.cfg
(third line from the bottom) - include
macro_beep.cfg
in yourprinter.cfg
- then, you may use e.g.
BEEP BC=5 BD=0.1 PD=0.5
in other macros (PAUSE, PRINT_END, …)