mirror of
https://github.com/nikdoof/builder.git
synced 2025-12-13 15:42:20 +00:00
63 lines
1.5 KiB
Bash
Executable File
63 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Automatic LED control for Xiaomi MJSXJ03HL
|
|
|
|
streamerProcess="majestic"
|
|
serviceProcess="sysupgrade"
|
|
pollingInterval=1
|
|
|
|
show_help() {
|
|
echo "Usage: $0 [-p process] [-s process] [-i value] [-h]
|
|
-p process Monitored streamer process (default = ${streamerProcess}).
|
|
-s process Monitored service process (default = ${serviceProcess}).
|
|
-i value Polling interval in seconds (default = ${pollingInterval}).
|
|
-h Show this help."
|
|
exit 0
|
|
}
|
|
|
|
# override config values with command line arguments
|
|
while getopts H:L:i:h flag; do
|
|
case ${flag} in
|
|
p)
|
|
streamerProcess=${OPTARG}
|
|
;;
|
|
s)
|
|
serviceProcess=${OPTARG}
|
|
;;
|
|
i)
|
|
pollingInterval=${OPTARG}
|
|
;;
|
|
h | *)
|
|
show_help
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo "Streamer process: ${streamerProcess}"
|
|
echo "Service process: ${serviceProcess}"
|
|
echo "Polling interval: ${pollingInterval} sec"
|
|
|
|
led_state=0
|
|
/usr/sbin/led_control.sh -o 0 -b 0
|
|
|
|
while true; do
|
|
if killall -q -0 $serviceProcess; then
|
|
if [ $led_state -ne 3 ]; then
|
|
echo "$serviceProcess is running, turn white LED on"
|
|
/usr/sbin/led_control.sh -o 1 -b 1
|
|
led_state=3
|
|
fi
|
|
else
|
|
if [ $led_state -ne 1 ] && ! killall -q -0 $streamerProcess; then
|
|
echo "$streamerProcess is not running, turn orange LED on"
|
|
/usr/sbin/led_control.sh -o 1 -b 0
|
|
led_state=1
|
|
elif [ $led_state -ne 2 ] && killall -q -0 $streamerProcess; then
|
|
echo "$streamerProcess is running, turn blue LED on"
|
|
/usr/sbin/led_control.sh -o 0 -b 1
|
|
led_state=2
|
|
fi
|
|
fi
|
|
sleep $pollingInterval
|
|
done
|