aboutsummaryrefslogtreecommitdiff
path: root/limbat
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2014-09-18 16:37:09 -0300
committerSilvio Rhatto <user@example.org>2014-09-18 16:37:09 -0300
commitc26e70add1f8663153fa3095205abe0e8ab2e900 (patch)
tree9e175950ee24d9c58224595be46e1b1a089c3c09 /limbat
downloadutils-battery-c26e70add1f8663153fa3095205abe0e8ab2e900.tar.gz
utils-battery-c26e70add1f8663153fa3095205abe0e8ab2e900.tar.bz2
Initial import
Diffstat (limited to 'limbat')
-rwxr-xr-xlimbat67
1 files changed, 67 insertions, 0 deletions
diff --git a/limbat b/limbat
new file mode 100755
index 0000000..c3489f7
--- /dev/null
+++ b/limbat
@@ -0,0 +1,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