1 #!/bin/bash 2 3 # defines 4 DIR="/sys/devices/virtual/thermal" 5 6 # helper function 7 direxists() { 8 [ `adb shell "[ -d $1 ] && echo found"` ] 9 } 10 fileexists() { 11 [ `adb shell "[ -f $1 ] && echo found"` ] 12 } 13 getprop() { 14 if fileexists $1; then 15 echo "`adb shell cat $1 | tr -d '\r'`" 16 else 17 echo "FILE $1 NOT FOUND" 18 fi 19 } 20 print_if_exists() { 21 if fileexists $1; then 22 local ERROR=`getprop $1 | grep "Invalid"` 23 if [ ${#ERROR} -eq 0 ]; then 24 eval "$2=`getprop $1`" 25 else 26 eval "$2=ERROR" 27 fi 28 else 29 eval "$2=DNE" 30 fi 31 } 32 33 # setup 34 if [[ "`adb shell id | tr -d '\r' | awk -F'[()]' '{print $2}'`" != "root" ]]; then 35 adb root 36 adb wait-for-device 37 fi 38 39 # device name 40 echo Device: `adb shell getprop ro.product.model` 41 42 # get zones 43 ZONES=`adb shell ls $DIR | tr -d '\r' | grep thermal_zone | tr -d thermal_zone | sort -n` 44 45 # print temperature of each zone 46 for ZONE in $ZONES; do 47 print_if_exists $DIR"/thermal_zone"$ZONE"/mode" MODE 48 print_if_exists $DIR"/thermal_zone"$ZONE"/temp" TEMP 49 print_if_exists $DIR"/thermal_zone"$ZONE"/type" TYPE 50 printf "Zone %02d: MODE=%-8s TEMP=%-5s TYPE=%s\n" $ZONE $MODE $TEMP $TYPE 51 done 52 53 # error 54 if ! direxists $DIR; then 55 echo "Thermal directory not found" 56 fi 57 58