op_cpusettings.sh: Shows warning message if user tries to change OPP with experimenta...
[openpandora.oe.git] / recipes / pandora-system / pandora-scripts / op_cpusettings.sh
index 4faf6a2..3d2a0ec 100755 (executable)
@@ -3,19 +3,29 @@
 # 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
+if [ ! -e /proc/pandora/cpu_mhz_max ]; then
+    zenity --info --title="CPU-Settings not supported" --text "Sorry, the experimental kernel does not support overclocking (yet).\n\nTherefore, you cannot configure the CPU-Settings."
+    exit 1
+fi
+
+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" "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
 
   "opp")
-    opp="$(cat /etc/pandora/conf/cpu.conf | grep opp | awk -F\: '{print $2}')"
-    if zenity --question --title="OPP Setting Info" --text="WARNING!\n\nIncreasing the maximum allowed OPP will allow you to overclock to higher values.\n\nHowever, besides using more power, it ALSO DECREASES THE LIFETIME OF YOUR CPU!\n\nBe absolutely sure you know what you are doing here. \n\nThe standard OPP setting is 3, everything above is out of the specification!" --ok-label="Yes, I know what I'm doing!" --cancel-label="I'm scared!"; then
-      if newopp=$(zenity --scale --text "Set the maximum allowed OPP" --min-value=3 --max-value=5 --value=$opp --step 1); then
-       echo $newopp > /proc/pandora/cpu_opp_max
-       sed -i "s/.*maxopp.*/maxopp:$newopp/g" /etc/pandora/conf/cpu.conf
-       zenity --info --title="OPP Set" --text "The maximum allowed OPP value has been set to $newopp." --timeout 6
-      else
-       zenity --info --title="No change" --text "The maximum OPP value has not been changed." --timeout 6
+    kernel_major=`uname -r | cut -c 1`
+    if [ "$kernel_major" = "3" ]; then 
+      zenity --info --title="OPP not supported" --text "Sorry, the experimental kernel does not support overvolting.\n\nTherefore, you cannot configure these CPU-Settings."
+    else
+      opp="$(cat /etc/pandora/conf/cpu.conf | grep opp | awk -F\: '{print $2}')"
+      if zenity --question --title="OPP Setting Info" --text="WARNING!\n\nIncreasing the maximum allowed OPP will allow you to overclock to higher values.\n\nHowever, besides using more power, it ALSO DECREASES THE LIFETIME OF YOUR CPU!\n\nBe absolutely sure you know what you are doing here. \n\nThe standard OPP setting is 3, everything above is out of the specification!" --ok-label="Yes, I know what I'm doing!" --cancel-label="I'm scared!"; then
+       if newopp=$(zenity --scale --text "Set the maximum allowed OPP" --min-value=3 --max-value=5 --value=$opp --step 1); then
+         echo $newopp > /proc/pandora/cpu_opp_max
+         sed -i "s/.*maxopp.*/maxopp:$newopp/g" /etc/pandora/conf/cpu.conf
+         zenity --info --title="OPP Set" --text "The maximum allowed OPP value has been set to $newopp." --timeout 6
+       else
+         zenity --info --title="No change" --text "The maximum OPP value has not been changed." --timeout 6
+       fi
       fi
     fi;;
 
@@ -73,4 +83,4 @@ case $mainsel in
 
 
 esac
-done
\ No newline at end of file
+done