User:Kerio/calibratebq27200

(Created page with "<nowiki>#!/bin/sh CHARGER_MODE="/sys/class/power_supply/bq24150a-0/mode" if ! test -w ${CHARGER_MODE} || ! cd /sys/class/power_supply/bq27200-0 ; then echo "NOPE.jpg" >&2 …")
Line 1: Line 1:
-
<nowiki>#!/bin/sh
+
<pre>#!/bin/sh
CHARGER_MODE="/sys/class/power_supply/bq24150a-0/mode"
CHARGER_MODE="/sys/class/power_supply/bq24150a-0/mode"
Line 50: Line 50:
echo auto > ${CHARGER_MODE}
echo auto > ${CHARGER_MODE}
-
lock_screen</nowiki>
+
lock_screen</pre>

Revision as of 19:14, 22 April 2013

#!/bin/sh

CHARGER_MODE="/sys/class/power_supply/bq24150a-0/mode"

if ! test -w ${CHARGER_MODE} || ! cd /sys/class/power_supply/bq27200-0 ; then
    echo "NOPE.jpg" >&2
    exit 1
fi

# returns success if VDQ is set, otherwise returns fail
vdq () {
    return $(( 1 - ( ( $( grep 0x0a= registers | cut -d= -f2 ) & 4 ) / 4 ) ))
}

# returns success if EDV1 is set, otherwise returns fail
edv1 () {
    return $(( 1 - ( ( $( grep 0x0a= registers | cut -d= -f2 ) & 2 ) / 2 ) ))
}

# lock the screen, as if the user pushed the lock slider
# taken from Phone_control
lock_screen () {
    /usr/bin/dbus-send --system --type=method_call --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_tklock_mode_change string:"locked"
}

print_info () {
    echo -n "$(( $( cat capacity ) ))%   "
    echo -n "VOLT: $(( $( cat voltage_now ) / 1000 )) mV   "
    echo "CUR: $(( $( cat current_now ) / 1000 )) mA"
}

if ! vdq ; then
    echo "Waiting for VDQ, connect the charger."

    while ! vdq ; do
        print_info
        sleep 10
    done
fi

echo "VDQ set, stopping charging and waiting for EDV1."
echo off > ${CHARGER_MODE}

while ! edv1 ; do
    print_info
    sleep 10
done

echo "EDV1 set, restarting charging."
echo auto > ${CHARGER_MODE}

lock_screen