Topic: How to temporarily stop control panel
I am trying to use my Ironforge chumby as a caller id display/ringer. Chumby gets a png image via wget and uses imgtool to display it.
I am writing to both fb0 and fb1(saving the previous content) as I do not believe there as a way to tell which one is active.
The problem is the widgets/control panel interfere with the image.
I would like to stop the control panel for 30 seconds while the info is on the screen and then resume playing the current stream.
My script removes /tmp/flashplayer_started, sends SIGSTOP to control panel, writes to /tmp/movieheartbeat and /tmp/flashheartbeat while running and when it finishes sends SIGCONT.
In about 50% of the cases the panel gets restarted if one of My Streams is being played. This does not happen when widgets are running. Any ideas ? I am also attaching my script.
#!/bin/sh
echo Content-type: text/plain
echo
FILE=chumby.png
START=`date +%s`
END=$(( START + 30 ))
cd /tmp
rm -f $FILE
wget http://192.168.122.164/images/$FILE
[ -e splash0.bin ] && exit
dd if=/dev/fb0 of=splash0.bin bs=640 count=240
dd if=/dev/fb1 of=splash1.bin bs=640 count=240
# disable flashplayer watchdog
rm -f /tmp/flashplayer_started
read PID < /var/run/chumbyflashplayer.pid
kill -STOP $PID
imgtool --fb=1 $FILE
imgtool --fb=0 $FILE
btplay /psp/ring.mp3
while [ `date +%s` -lt $END ]; do
kill -CONT $PID
sleep 1
kill -STOP $PID
imgtool --fb=1 $FILE
imgtool --fb=0 $FILE
echo 1 > /tmp/movieheartbeat
echo 1 > /tmp/flashheartbeat
sleep 5
done
dd of=/dev/fb1 if=splash1.bin bs=640 count=240
dd of=/dev/fb0 if=splash0.bin bs=640 count=240
kill -CONT $PID
sleep 1
# enable flashplayer watchdog
echo 1 >/tmp/flashplayer_started
rm -rf splash?.bin