op_cpusettings.sh: Added Profile selections.
[openpandora.oe.git] / recipes / pandora-system / pandora-scripts / op_cpusettings.sh
index 6c12cd2..3ef5973 100755 (executable)
@@ -3,9 +3,56 @@
 # CPU-Settings, v1.1, written by Michael Mrozek aka EvilDragon 2011.
 # This scripts allows you to change Pandora CPU-Settings.
 
-while mainsel=$(zenity --title="CPU-Settings" --width="400" --height="250" --list --column "id" --column "Please select" --hide-column=1 --text="What do you want to do?" "opp" "Set the max allowed OPP level" "mhz" "Set the minimum / maximum allowed MHz" "warning" "Change warning settings" "defaultmhz" "Set the default MHz"); do
+while mainsel=$(zenity --title="CPU-Settings" --width="400" --height="350" --list --column "id" --column "Please select" --hide-column=1 --text="Welcome to the CPU-Settings.\nHere, you can configure the behaviour of your CPU \nThis can make your Pandora run faster but also more unstable.\n\nDon't worry though, you cannot permanently damage your unit.\n\nWhat do you want to do?\n" "profile" "Quick-Setup: Select from different profiles" "opp" "Set the max allowed OPP level" "mhz" "Set the minimum / maximum allowed MHz" "warning" "Change warning settings" "defaultmhz" "Set the default MHz" --ok-label="Change Setting" --cancel-label="Exit"); do
 
 case $mainsel in
+  "profile")
+    cpusel=$(zenity --title="Optional settings" --width="400" --height="300" --list --column "id" --column "Please select" --hide-column=1 --text="The CPU of the Pandora supports different speed settings.\nHigher speeds might make some units unstable and decrease the lifetime of your CPU.\n\nBelow are some quick profiles which will help you to configure your system the way you like it.\n" "1100" "Clockspeed: 1,1Ghz, OPP5 (should be stable on 1GHz units)" "1000" "Clockspeed: 1GHz, OPP5 (most probably unstable on 600Mhz units)" "800" "Clockspeed: 800MHz, OPP5 (should be stable on all units)" "600" "Clockspeed: 600MHz, OPP3 (stable on all units, longest battery time)" --ok-label="Select CPU Profile" )
+
+    case $cpusel in
+        "1100")
+       echo 5 > /proc/pandora/cpu_opp_max
+       sed -i "s/.*maxopp.*/maxopp:5/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*max:.*/max:1200/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*default.*/default:1100/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*safe.*/safe:1100/g" /etc/pandora/conf/cpu.conf
+       echo 1100 > /proc/pandora/cpu_mhz_max
+       zenity --info --title="CPU Speed set" --text "The CPU Speed has been set to 1,1GHz." --timeout 6
+       ;;
+
+       "1000")
+       echo 5 > /proc/pandora/cpu_opp_max
+       sed -i "s/.*maxopp.*/maxopp:5/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*max:.*/max:1100/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*default.*/default:1000/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*safe.*/safe:1100/g" /etc/pandora/conf/cpu.conf
+       echo 1000 > /proc/pandora/cpu_mhz_max
+       zenity --info --title="CPU Speed set" --text "The CPU Speed has been set to 1GHz." --timeout 6
+       ;;      
+
+       "800")
+       echo 5 > /proc/pandora/cpu_opp_max
+       sed -i "s/.*maxopp.*/maxopp:5/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*max:.*/max:900/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*default.*/default:800/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*safe.*/safe:800/g" /etc/pandora/conf/cpu.conf
+       echo 800 > /proc/pandora/cpu_mhz_max
+       zenity --info --title="CPU Speed set" --text "The CPU Speed has been set to 800MHz." --timeout 6
+       ;;
+
+       "600")
+       echo 3 > /proc/pandora/cpu_opp_max
+       sed -i "s/.*maxopp.*/maxopp:3/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*max:.*/max:700/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*default.*/default:600/g" /etc/pandora/conf/cpu.conf
+       sed -i "s/.*safe.*/safe:600/g" /etc/pandora/conf/cpu.conf
+       echo 600 > /proc/pandora/cpu_mhz_max
+       zenity --info --title="CPU Speed set" --text "The CPU Speed has been set to 600Mhz." --timeout 6
+       ;;
+
+    esac
+    ;;
 
   "opp")
     opp="$(cat /etc/pandora/conf/cpu.conf | grep opp | awk -F\: '{print $2}')"
@@ -21,7 +68,7 @@ case $mainsel in
 
 "mhz")
     min="$(cat /etc/pandora/conf/cpu.conf | grep min | awk -F\: '{print $2}')"
-    max="$(cat /etc/pandora/conf/cpu.conf | grep max | awk -F\: '{print $2}')"
+    max="$(cat /etc/pandora/conf/cpu.conf | grep max: | awk -F\: '{print $2}')"
     if zenity --question --title="MHz Setting Info" --text="This setting can set the allowed range apps can use on your Pandora.\n\nToo high CPU settings can render your Pandora unstable and crash it. This can lead to data loss!\n\nBe absolutely sure you know what you are doing here.\n\nThe standard maximum setting is 800MHz, the standard minimum setting 125MHz." --ok-label="Yes, I know what I'm doing!" --cancel-label="I'm scared!"; then
       if newmax=$(zenity --scale --text "Set the maximum allowed MHz" --min-value=500 --max-value=1300 --value=$max --step 1); then
        if newmin=$(zenity --scale --text "Set the minimum allowed MHz" --min-value=20 --max-value=500 --value=$min --step 1); then
@@ -40,7 +87,7 @@ case $mainsel in
     warn="$(cat /etc/pandora/conf/cpu.conf | grep warn | awk -F\: '{print $2}')"
     safe="$(cat /etc/pandora/conf/cpu.conf | grep safe | awk -F\: '{print $2}')"
     min="$(cat /etc/pandora/conf/cpu.conf | grep min | awk -F\: '{print $2}')"
-    max="$(cat /etc/pandora/conf/cpu.conf | grep max | awk -F\: '{print $2}')"
+    max="$(cat /etc/pandora/conf/cpu.conf | grep max: | awk -F\: '{print $2}')"
     if zenity --question --title="Warning Setting Info" --text="The Pandora usually displays a warning if you try to overclock.\n\nYou can either select at what speed the warning should appear or disable it completely.\n\nBe absolutely sure you know what you are doing here.\n\nThe standard setting is 600MHz." --ok-label="Yes, I know what I'm doing!" --cancel-label="I'm scared!"; then
       if zenity --question --title="Disable Warning?" --text="Do you want to enable or disable the warning?" --ok-label="Enable it" --cancel-label="Disable it"; then
        if newsafe=$(zenity --scale --text "At what speed should the warning appear?" --min-value=$min --max-value=$max --value=$safe --step 1); then
@@ -60,7 +107,7 @@ case $mainsel in
  "defaultmhz")
     defspeed="$(cat /etc/pandora/conf/cpu.conf | grep default | awk -F\: '{print $2}')"
     min="$(cat /etc/pandora/conf/cpu.conf | grep min | awk -F\: '{print $2}')"
-    max="$(cat /etc/pandora/conf/cpu.conf | grep max | awk -F\: '{print $2}')"
+    max="$(cat /etc/pandora/conf/cpu.conf | grep max: | awk -F\: '{print $2}')"
     if zenity --question --title="Default CPU Speed" --text="WARNING!\n\nYou are about to change the default clockspeed your Pandora will be running when you start it.\nIf it is set too high, the Pandora will crash.\n\nIf that happens, the Pandora will NOT change the clockspeed on the next boot, so you can access the OS and fix the default clock speed.\n\nHowever, each crash can lead to data loss - so please be sure to absolutely know what you're doing!" --ok-label="Yes, I know what I'm doing!" --cancel-label="I'm scared!"; then
       if newdefault=$(zenity --scale --text "Set the default CPU speed" --min-value=$min --max-value=$max --value=$defspeed --step 1); then
        echo $newdefault > /proc/pandora/cpu_mhz_max
@@ -73,4 +120,4 @@ case $mainsel in
 
 
 esac
-done
\ No newline at end of file
+done