Skip to content

Instantly share code, notes, and snippets.

@mouuff
Last active November 2, 2016 12:57
Show Gist options
  • Save mouuff/76c1eaa83bb58d60533895b017e42439 to your computer and use it in GitHub Desktop.
Save mouuff/76c1eaa83bb58d60533895b017e42439 to your computer and use it in GitHub Desktop.
simple script to save battery log with kernel debug and export to datasheet
#!/bin/bash
sdlog="/sdcard/logbat.txt"
log="logbat.txt"
result="battery.csv"
function print_usage {
echo "Usage:"
echo "$0 [start | stop | pull]"
echo "start:
Start a background process to save /proc/kmsg to /sdcard/logcat.txt
"
echo "stop:
Kill the background process which logs /proc/kmsg
"
echo "pull:
Pull logbat.txt and generate exel file"
}
function backup {
# create backup file
if [ -f "$1" ]
then
back=$(date +".$1_%m_%d_%Hh%Mm%S.back")
mv "$1" "$back"
echo "Created backup $back"
fi
}
function start {
echo "Launching"
back=$(date +".sdlogbat_%m_%d_%Hh%Mm%S.back")
adb pull "$sdlog" "$back"
echo "Created backup $back"
adb shell "busybox nohup cat /proc/kmsg > $sdlog" &
sleep 1
echo "Done, pid:"
adb shell "ps | grep \" cat$\""
}
function stop {
# getting pid
adb shell "ps | grep \" cat$\"" > tmp
pid=`cat tmp | tr -s " " | cut -d" " -f2`
rm tmp
echo "Stopping $pid"
adb shell "kill \"$pid\""
echo "Done."
}
function pull {
backup $log
backup $result
adb pull "$sdlog" "$log"
# excel first part
echo "TIME STATUS IBAT VSYS VBAT DSOC RSOC" > "$result"
cat "$log" |
grep "IBAT" |
tr "[A-Z][a-z]_:\t%=" " " |
tr -s " " |
cut -d" " -f2,4-9 >> "$result"
# excel second part
echo >> "$result"
echo "TIME PERCENT" >> "$result"
cat logbat.txt |
grep "battery capacity is" |
tr "[A-Z][a-z]:_%\t" " " |
tr -s " " |
cut -d" " -f2,3 >> "$result"
echo "Created $result"
}
case "$1" in
start)
stop
start
;;
stop)
stop
;;
pull)
pull
;;
usage)
print_usage
;;
*)
print_usage
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment