#!/bin/sh . $HOME/.sysfsrc mode="$1" if [ "$mode" = "" ]; then mode="list" fi case "$mode" in stop) dev="$2" case "$dev" in bt) sudo sh -c "echo 1 > $sys_pm_bt/reset" sudo sh -c "echo 0 > $sys_pm_bt_power" ;; gsm) sudo sh -c "echo 0 > $sys_pm_gsm_power" ;; gps) sudo sh -c "echo 0 > $sys_pm_gps_power" if [ `cat $sys_pm_gps_power` = 1 ]; then echo "error, retrying" sudo sh -c "echo 1 > $sys_pm_gps_power" sudo sh -c "echo 0 > $sys_pm_gps_power" fi ;; wifi) sudo sh -c "echo s3c2440-sdi > $sys_wlan_driver/unbind" ;; *) echo "unknown device $dev" exit 1 ;; esac ;; start) dev="$2" case "$dev" in bt) sudo sh -c "echo 1 > $sys_pm_bt_power" sudo sh -c "echo 0 > $sys_pm_bt/reset" ;; gsm) sudo sh -c "echo 0 > $sys_pm_gsm/power_on" sudo sh -c "echo 1 > $sys_pm_gsm/power_on" sudo sh -c "echo 1 > $sys_pm_gsm/reset" ;; gps) sudo sh -c "echo 1 > $sys_pm_gps_power" ;; wifi) sudo sh -c "echo s3c2440-sdi > $sys_wlan_driver/unbind" 2> /dev/null sudo sh -c "echo s3c2440-sdi > $sys_wlan_driver/bind" ;; *) echo "unknown device $dev" exit 1 ;; esac ;; list) echo "bt `cat $sys_pm_bt_power`" echo "gsm `cat $sys_pm_gsm_power`" echo "gps `cat $sys_pm_gps_power`" #echo "wifi ?" wifi 2> /dev/null ;; measure-consumption) echo turning $2 on $0 start $2 for i in `seq 1 30`; do echo $i `cat $sys_battery/current_now` sleep 1 done start=`cat $sys_battery/current_now` echo turning $2 off $0 stop $2 for i in `seq 1 40`; do echo $i `cat $sys_battery/current_now` sleep 1 done end=`cat $sys_battery/current_now` diff=`expr $start - $end` echo difference $diff ;; *) echo "unknown operation $mode" exit 1 ;; esac