37 lines
610 B
Bash
Executable file
37 lines
610 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
if [ $UID -ne 0 ]; then
|
|
echo "Please run as root!"
|
|
exit 1
|
|
fi
|
|
|
|
if ! which pinctrl; then
|
|
echo "Please install pinctrl (raspberrypi-utils)!"
|
|
exit 1
|
|
fi
|
|
|
|
cleanup() {
|
|
echo "Disabling speaker before exitting"
|
|
# Disable speaker when this script exits
|
|
pinctrl set 11 dl
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
|
|
# Initialize GPIO pin 10 (3.5mm sense)
|
|
pinctrl set 10 ip pn
|
|
# Pin 11 (speaker)
|
|
pinctrl set 11 op
|
|
|
|
while true; do
|
|
if pinctrl 10 | grep -q "lo"; then
|
|
echo "Enabling speaker"
|
|
pinctrl set 11 op dh
|
|
else
|
|
echo "Disabling speaker"
|
|
pinctrl set 11 op dl
|
|
fi
|
|
sleep 1
|
|
done
|