Advertisement
Guest User

alarm

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