blob: c3489f7e892c34e8429efe8314a3ee9329ea5f64 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
#!/bin/sh
#
# See http://www.thinkwiki.org/wiki/Battery
# http://www.thinkwiki.org/wiki/Tp_smapi
#
function usage() {
echo "Usage: ${0} [--help | option]"
echo "Options are:"
echo " show show current charge thresholds."
echo " limit start charging at 30% and stop at 85%."
echo " normal start charging at 96% and stop at 100%."
exit ${1}
}
# validate command line options
if [[ (${#} -eq 1 \
&& "${1}" != "--help" \
&& "${1}" != "normal" \
&& "${1}" != "limit" \
&& ${1} != "show") ]]; then
usage 1
fi
# show help
if [ "${1}" == "--help" ]; then
usage 0
fi
# get action
action="show"
if [ "${1}" != "" ]; then
action=${1}
fi
# battery interface location
BAT="/sys/devices/platform/smapi/BAT0"
function show_thresholds() {
echo -n "Low threshold: "
cat $BAT/start_charge_thresh
echo -n "High threshold: "
cat $BAT/stop_charge_thresh
}
function set_thresholds() {
START_THRESH=${1}
STOP_THRESH=${2}
sudo sh -c "echo ${START_THRESH} > $BAT/start_charge_thresh"
sudo sh -c "echo ${STOP_THRESH} > $BAT/stop_charge_thresh"
}
# do your thang
sudo modprobe tp_smapi
THRESHOLDS=""
if [ "${action}" == "normal" ]; then
THRESHOLDS="96 100"
elif [ "${action}" == "limit" ]; then
THRESHOLDS="30 85"
fi
if [ ! -z "${THRESHOLDS}" ]; then
set_thresholds ${THRESHOLDS}
fi
show_thresholds
|