Advertisement
Guest User

alarm

a guest
Mar 23rd, 2013
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.38 KB | None | 0 0
  1. #!/bin/sh
  2. #
  3. # Simple alarm clock
  4. #
  5.  
  6. alarm=07:45
  7.  
  8. # ANSI colors (darK,Red,Green,Yellow,
  9. #  Blue,Magenta,Cyan,White,Normal)
  10. K="\033[1;30m"
  11. R="\033[1;31m"
  12. G="\033[1;32m"
  13. Y="\033[1;33m"
  14. B="\033[1;34m"
  15. M="\033[1;35m"
  16. C="\033[1;36m"
  17. W="\033[1;37m"
  18. N="\033[0m"
  19.  
  20. ESC=`echo "\033"`
  21.  
  22. cleanup () {
  23. echo "\033[0;00m"
  24. setfont /mnt/ffs/share/fonts/myfont.psf
  25. clear
  26. #kbledsdim  # Not needed in Daylight.
  27. lcdbrightness 511 63 500
  28. if [ $LLED -eq 0 ] ; then
  29.   leftledon
  30. fi
  31. if [ $MLED -eq 0 ] ; then
  32.   middledon
  33. fi
  34. if [ $RLED -eq 0 ] ; then
  35.   rightledon
  36. fi
  37. }
  38.  
  39. giveup () {
  40. ret=$?
  41. cleanup
  42. #exit $ret
  43. # propagating C-c kills gmenu2x wrapper sh
  44. exit 0
  45. # Wrapper may need: trap - INT TERM; ...
  46. }
  47.  
  48. # Get state, then trap signals
  49. leftled
  50. LLED=$?
  51. middled
  52. MLED=$?
  53. rightled
  54. RLED=$?
  55. trap giveup INT TERM
  56.  
  57. # ALSA should be loaded by default on jffs
  58. if test ! -c /dev/snd/pcmC0D0p
  59. then
  60.   echo "Loading ALSA (sound) ..." > /dev/tty0
  61.   /mnt/ffs/bin/setup-alsa.sh > /dev/tty0 < /dev/tty0
  62. fi
  63.  
  64. # Set alarm time.
  65. clear
  66. setfont /mnt/ffs/share/fonts/ter-132b.psf
  67. echo "\033[2;0H    `date +"%H:%M:%S %p"`"
  68. echo "\033[4;0H    `date +"%a, %b %d"`"
  69. echo "\033[7;0H  Set alarm: "$R"$alarm"$B"\c"
  70. echo "\033[5D\c"
  71. read time
  72. case "$time" in
  73.   ??:??) alarm=$time ;;
  74.   *) ;;
  75. esac
  76. echo $N
  77.  
  78. # Dim the lights.
  79. leftledoff
  80. middledoff
  81. rightledoff
  82. kbledsoff
  83. lcdbrightness 511 63 100
  84.  
  85. case "$alarm" in
  86.   0* | 10* | 11* ) AM="AM" ;;
  87.   *) AM="PM" ;;
  88. esac
  89.  
  90. # Display flipclock until wakeup.
  91. # Must fix flipclock to display alarm time.
  92. #cd /mnt/sd0/share/flipclock
  93. #./fc &
  94.  
  95. # Show clock until alarm.
  96. clear
  97. quit=false
  98. until [ "$quit" = "true" ]; do
  99.   echo "\033[2;0H    `date +"%I:%M:%S %p"`"
  100.   echo "\033[4;0H    `date +"%a, %b %d"`"
  101.   echo "\033[7;0H    ΓΆ  $alarm $AM\033[11D\c"
  102.   #  sleep 1
  103.   IFS= read -s -n1 -t1 cmd
  104.   case "$cmd" in
  105.     q | " " | "${ESC}") giveup ;;
  106.     *) ;;
  107.   esac
  108.  
  109.   time=`date +%H:%M`
  110.   if [ "$time" = "$alarm" ]; then
  111.     quit=true
  112.   fi
  113. done
  114.  
  115. lcdbrightness 511 63 500
  116. echo "\033[7;0H      "$G"Wakeup!  "$N"\c"
  117. echo "\033[2D\c"
  118.  
  119. # Kill flipclock so alarm off is accessible.
  120. #killall fc
  121.  
  122. # Beep if internet radio unavailable.
  123. ping -c5 8.8.8.8>>/dev/null
  124. inet=$?
  125. cleanup
  126. if [ $inet -eq  0 ] ; then
  127.   gmu
  128. else
  129.   # mpg123tty4 -Z -C /mnt/ffs/share/alarm.mp3
  130.   killall mpg123
  131.   mpg123 -Z -C /mnt/ffs/share/alarm.mp3
  132. fi
  133.    
  134. clear
  135. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement