pandora-state: Added optional TV-Out-Enabling on startup
[openpandora.oe.git] / recipes / pandora-system / pandora-state / rc.pandora-state
index ef7f6d2..a7e9ee1 100644 (file)
@@ -4,11 +4,11 @@
 # Provides:          pandora-lcd-state
 # Required-Start:    #adjust
 # Required-Stop:     #adjust
-# Default-Start:     S
+# Default-Start:     5 3
 # Default-Stop:      0 1 6
 ### END INIT INFO
  
-DESC="OpenPandora Save and Restore LCD Settings"
+DESC="OpenPandora Save and Restore various settings"
 NAME="pandora-state"
 
 . /usr/pandora/scripts/op_paths.sh
@@ -33,32 +33,65 @@ d_stop() {
        cat -v /proc/pandora/nub1/scrolly_sensitivity | sed -n '1p' >> /etc/pandora/conf/nubs.state
        cat -v /proc/pandora/nub1/scroll_rate | sed -n '1p' >> /etc/pandora/conf/nubs.state
        cat -v /proc/pandora/nub1/mbutton_threshold | sed -n '1p' >> /etc/pandora/conf/nubs.state
+       cat -v /proc/pandora/nub0/mbutton_delay | sed -n '1p' >> /etc/pandora/conf/nubs.state
+       cat -v /proc/pandora/nub1/mbutton_delay | sed -n '1p' >> /etc/pandora/conf/nubs.state
 }
 
 d_start() {
+       # Determine Pandora type
+       pnd_version=$(dmesg | grep OMAP3 | grep ES | awk '{print $3}')
+       echo $pnd_version > /tmp/pnd_version
+       
        echo "Restoring Pandora specific settings"
+       
+       # Enable TV Out
+       if [ -f /etc/pandora/conf/tvout.state ]; then
+               /usr/pandora/scripts/op_tvout.sh
+       fi
+       
+       # Set LEDs
+       highpow="$(cat /etc/pandora/conf/led.conf | grep HighPowerLED: | awk -F\: '{print $2}')"
+       echo $highpow > /sys/class/leds/pandora\:\:power/brightness #power LED bright
        bright=$(cat /etc/pandora/conf/brightness.state)
        if [ "$bright" -gt "0" ]; then
                echo $bright > $SYSFS_BACKLIGHT_BRIGHTNESS
        fi
+       
+       # Set Gamma
        cat /etc/pandora/conf/dirty_expire_centisecs >  /proc/sys/vm/dirty_expire_centisecs
        cat /etc/pandora/conf/gamma.state > $SYSFS_GAMMA
+       if [ -f /etc/pandora/conf/dssgamma.state ]; then
+               dssgamma=$(cat /etc/pandora/conf/dssgamma.state)
+               dssgamma2=$(echo "scale=2;$dssgamma / 100" | bc)
+               /usr/pandora/scripts/op_gamma.sh $dssgamma2
+       fi
+       
+       # Set Filter
        if [ -f /etc/pandora/conf/filter.state ]; then
                filter=$(cat /etc/pandora/conf/filter.state)
                /usr/pandora/scripts/op_videofir.sh $filter 
        fi
+       
+       # Check for unclean shutdown and set CPU Speed
        cpuspeed="$(cat /etc/pandora/conf/cpu.conf | grep default | awk -F\: '{print $2}')"
        oppmax="$(cat /etc/pandora/conf/cpu.conf | grep opp | awk -F\: '{print $2}')"
        echo $oppmax > /proc/pandora/cpu_opp_max
        if [ -f /etc/pandora/shutdown ]; then
              rm /etc/pandora/shutdown
-             sync
-             /usr/pandora/scripts/op_cpuspeed.sh -n $cpuspeed
+             sync      
        else
-             echo "No clean shutdown - will not set CPU speed"
+             echo "No clean shutdown - will CPU Speed will be set to safe value."
              echo "Yes" > /tmp/nocleanwarn
              chmod 777 /tmp/nocleanwarn
+               if [ "$pnd_version" == "OMAP3630" ]; then
+                 cpuspeed="1000"
+               else
+                 cpuspeed="600"
+               fi
        fi
+       /usr/pandora/scripts/op_cpuspeed.sh -n $cpuspeed
+       
+       # Set nubs
        sed -n '1p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/mode
        sed -n '2p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/mouse_sensitivity
        sed -n '3p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/scrollx_sensitivity
@@ -71,6 +104,10 @@ d_start() {
        sed -n '10p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/scrolly_sensitivity
        sed -n '11p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/scroll_rate
        sed -n '12p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/mbutton_threshold
+       sed -n '13p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/mbutton_delay
+       sed -n '14p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/mbutton_delay
+       
+       # Enable ZRAM Swap
        echo "Enabling ZRAM Swap"
        mkswap /dev/zram0
        swapon -p 5 /dev/zram0