| #!/bin/bash |
| |
| # defines |
| DIR="/sys/devices/virtual/thermal" |
| |
| # helper function |
| direxists() { |
| [ `adb shell "[ -d $1 ] && echo found"` ] |
| } |
| fileexists() { |
| [ `adb shell "[ -f $1 ] && echo found"` ] |
| } |
| getprop() { |
| if fileexists $1; then |
| echo "`adb shell cat $1 | tr -d '\r'`" |
| else |
| echo "FILE $1 NOT FOUND" |
| fi |
| } |
| print_if_exists() { |
| if fileexists $1; then |
| local ERROR=`getprop $1 | grep "Invalid"` |
| if [ ${#ERROR} -eq 0 ]; then |
| eval "$2=`getprop $1`" |
| else |
| eval "$2=ERROR" |
| fi |
| else |
| eval "$2=DNE" |
| fi |
| } |
| |
| # setup |
| if [[ "`adb shell id | tr -d '\r' | awk -F'[()]' '{print $2}'`" != "root" ]]; then |
| adb root |
| adb wait-for-device |
| fi |
| |
| # device name |
| echo Device: `adb shell getprop ro.product.model` |
| |
| # get zones |
| ZONES=`adb shell ls $DIR | tr -d '\r' | grep thermal_zone | tr -d thermal_zone | sort -n` |
| |
| # print temperature of each zone |
| for ZONE in $ZONES; do |
| print_if_exists $DIR"/thermal_zone"$ZONE"/mode" MODE |
| print_if_exists $DIR"/thermal_zone"$ZONE"/temp" TEMP |
| print_if_exists $DIR"/thermal_zone"$ZONE"/type" TYPE |
| printf "Zone %02d: MODE=%-8s TEMP=%-5s TYPE=%s\n" $ZONE $MODE $TEMP $TYPE |
| done |
| |
| # error |
| if ! direxists $DIR; then |
| echo "Thermal directory not found" |
| fi |
| |