fixed various bugs
This commit is contained in:
parent
1246652dec
commit
13c93e37fb
34
light.sh
34
light.sh
|
@ -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 <(
|
||||
|
|
Loading…
Reference in New Issue