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