fixed various bugs

This commit is contained in:
root 2019-07-08 20:41:30 +00:00
parent 1246652dec
commit 13c93e37fb
1 changed files with 14 additions and 20 deletions

View File

@ -54,36 +54,29 @@ esac
set_room_color() {
case "$ROOM_NUMBER" in
0)
find "$(dirname "$TMPFILE_PID_BASE")" -name "$(basename "${TMPFILE_PID_BASE}_0")" -exec sh -c 'cat {} | xargs kill; rm -f {}' \;
find "$(dirname "$TMPFILE_PID_BASE")" -name "$(basename "${TMPFILE_PID_BASE}_0*")" -exec sh -c 'cat {} | xargs kill; rm -f {}' \;
COLOR="$(echo "$STATE" | cut -d";" -f1 | cut -d"|" -f2)"
if [ "${COLOR:0:1}" == "!" ]; then
(
R1=$(( RANDOM % 256 )); G1=$(( RANDOM % 256 )); B1=$(( RANDOM % 256 ))
R2=$(( RANDOM % 256 )); G2=$(( RANDOM % 256 )); B2=$(( RANDOM % 256 ))
R3=$(( RANDOM % 256 )); G3=$(( RANDOM % 256 )); B3=$(( RANDOM % 256 ))
while true; do
R1_=$(( RANDOM % 256 )); G1_=$(( RANDOM % 256 )); B1_=$(( RANDOM % 256 ))
R2_=$(( RANDOM % 256 )); G2_=$(( RANDOM % 256 )); B2_=$(( RANDOM % 256 ))
R3_=$(( RANDOM % 256 )); G3_=$(( RANDOM % 256 )); B3_=$(( RANDOM % 256 ))
while [ $R1 -ne $R1_ -o $G1 -ne $G1_ -o $B1 -ne $B1_ -o\
$R2 -ne $R2_ -o $G2 -ne $G2_ -o $B2 -ne $B2_ -o\
$R3 -ne $R3_ -o $G3 -ne $G3_ -o $B3 -ne $B3_ ]; do
while [ $R1 -ne $R1_ -a $G1 -ne $G1_ -a $B1 -ne $B1_ -a $R2 -ne $R2_ -a $G2 -ne $G2_ -a $B2 -ne $B2_ ]; do
DR1=$(sign $(($R1_-$R1))); DG1=$(sign $(($G1_-$G1))); DB1=$(sign $(($B1_-$B1)))
DR2=$(sign $(($R2_-$R2))); DG2=$(sign $(($G2_-$G2))); DB2=$(sign $(($B2_-$B2)))
DR3=$(sign $(($R3_-$R3))); DG3=$(sign $(($G3_-$G3))); DB3=$(sign $(($B3_-$B3)))
R1=$(($R1+$DR1)); G1=$(($G1+$DG1)); B1=$(($B1+$DB1))
R2=$(($R2+$DR2)); G2=$(($G2+$DG2)); B2=$(($B2+$DB2))
R3=$(($R3+$DR3)); G3=$(($G3+$DG3)); B3=$(($B3+$DB3))
echo "$R1 $G1 $B1 $R1 $G1 $B1 $R2 $G2 $B2 $R2 $G2 $B2 $R3 $G3 $B3 $R3 $G3 $B3" |\
while read code; do printf "%03d" $code; done > /dev/udp/172.23.92.19/31302 &
sleep .5
R1=$(($R1+$DR1)); G1=$(($G1+$DG1)); B1=$(($B1+$DB1)); R2=$(($R2+$DR2)); G2=$(($G2+$DG2)); B2=$(($B2+$DB2))
echo "${GAMMA_LUT[$R1]} ${GAMMA_LUT[$G1]} ${GAMMA_LUT[$B1]} ${GAMMA_LUT[$R2]} ${GAMMA_LUT[$G2]} ${GAMMA_LUT[$B2]}" |\
while read code; do printf "%03d" $code; done > /dev/udp/172.23.92.19/31302 &
sleep .2
done
done
) &
PID=$!
echo $PID > ${TMPFILE_PID_BASE}_0.$PID
else
for i in {1..5}; do (echo -en "$COLOR" > /dev/udp/172.23.92.19/31302 &); sleep .01; done
for i in {1..5}; do (echo -en "$COLOR" > /dev/udp/172.23.92.19/31302 &); sleep .1; done
fi
;;
1)
@ -92,9 +85,10 @@ case "$ROOM_NUMBER" in
COLOR_B="$(echo "$STATE" | cut -d";" -f1 | cut -d"|" -f2)"
if [ "${COLOR_A:0:1}" == "!" ]; then
${COLOR_A:1} >/dev/null 2>&1 &
echo $! > ${TMPFILE_PID_BASE}_1_A
PID=$!
echo $PID > ${TMPFILE_PID_BASE}_1_A.$PID
else
for i in {1..5}; do (echo -en "$COLOR_A" > /dev/udp/172.23.92.15/49152 &); sleep .01; done
for i in {1..5}; do (echo -en "$COLOR_A" > /dev/udp/172.23.92.15/49152 &); sleep .1; done
fi
if [ "${COLOR_B:0:1}" == "!" ]; then
(
@ -103,11 +97,11 @@ case "$ROOM_NUMBER" in
while true; do
R1_=$(( RANDOM % 256 )); G1_=$(( RANDOM % 256 )); B1_=$(( RANDOM % 256 ))
R2_=$(( RANDOM % 256 )); G2_=$(( RANDOM % 256 )); B2_=$(( RANDOM % 256 ))
while [ $R1 -ne $R1_ -o $G1 -ne $G1_ -o $B1 -ne $B1_ -o $R2 -ne $R2_ -o $G2 -ne $G2_ -o $B2 -ne $B2_ ]; do
while [ $R1 -ne $R1_ -a $G1 -ne $G1_ -a $B1 -ne $B1_ -a $R2 -ne $R2_ -a $G2 -ne $G2_ -a $B2 -ne $B2_ ]; do
DR1=$(sign $(($R1_-$R1))); DG1=$(sign $(($G1_-$G1))); DB1=$(sign $(($B1_-$B1)))
DR2=$(sign $(($R2_-$R2))); DG2=$(sign $(($G2_-$G2))); DB2=$(sign $(($B2_-$B2)))
R1=$(($R1+$DR1)); G1=$(($G1+$DG1)); B1=$(($B1+$DB1)); R2=$(($R2+$DR2)); G2=$(($G2+$DG2)); B2=$(($B2+$DB2))
echo "$R1 $G1 $B1 $R2 $G2 $B2" |\
echo "${GAMMA_LUT[$R1]} ${GAMMA_LUT[$G1]} ${GAMMA_LUT[$B1]} ${GAMMA_LUT[$R2]} ${GAMMA_LUT[$G2]} ${GAMMA_LUT[$B2]}" |\
while read code; do printf "%03d" $code; done > /dev/udp/172.23.92.16/31302 &
# echo -en "255204017255204017" > /dev/udp/172.23.92.16/31302 &
sleep .2
@ -117,7 +111,7 @@ case "$ROOM_NUMBER" in
PID=$!
echo $PID > ${TMPFILE_PID_BASE}_1_B.$PID
else
for i in {1..5}; do (echo -en "$COLOR_B" > /dev/udp/172.23.92.16/31302 &); sleep .01; done
for i in {1..5}; do (echo -en "$COLOR_B" > /dev/udp/172.23.92.16/31302 &); sleep .1; done
fi
;;
2)
@ -134,7 +128,7 @@ case "$ROOM_NUMBER" in
R=$(( RANDOM % 256 )); G=$(( RANDOM % 256 )); B=$(( RANDOM % 256 ))
while true; do
R_=$(( RANDOM % 256 )); G_=$(( RANDOM % 256 )); B_=$(( RANDOM % 256 ))
while [ $R -ne $R_ -o $G -ne $G_ -o $B -ne $B_ ]; do
while [ $R -ne $R_ -a $G -ne $G_ -a $B -ne $B_ ]; do
DR=$(sign $(($R_-$R))); DG=$(sign $(($G_-$G))); DB=$(sign $(($B_-$B)))
R=$(($R+$DR)); G=$((G+$DG)); B=$(($B+$DB))
wget -q --timeout 3 -O- --input-file <(