aboutsummaryrefslogtreecommitdiff
path: root/limbat
blob: 5541d055a9fff5ad555f8f43ba072b3af1ae2989 (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
#!/bin/sh

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

function show_thresholds() {
  echo -n "Low threshold: "
  cat /sys/devices/platform/smapi/BAT0/start_charge_thresh
  echo -n "High threshold: "
  cat /sys/devices/platform/smapi/BAT0/stop_charge_thresh
}

function set_thresholds() {
  START_THRESH=${1}
  STOP_THRESH=${2}
  sudo sh -c "echo ${START_THRESH} > /sys/devices/platform/smapi/BAT0/start_charge_thresh"
  sudo sh -c "echo ${STOP_THRESH} > /sys/devices/platform/smapi/BAT0/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