diff --git a/skeleton/.system/rg35xx/paks/MinUI.pak/batmon.sh b/skeleton/.system/rg35xx/paks/MinUI.pak/batmon.sh index 4d3c9ef..5b161dc 100755 --- a/skeleton/.system/rg35xx/paks/MinUI.pak/batmon.sh +++ b/skeleton/.system/rg35xx/paks/MinUI.pak/batmon.sh @@ -2,7 +2,21 @@ touch /mnt/sdcard/batmon.txt while :; do - echo `cat /sys/class/power_supply/battery/capacity` `cat /sys/class/power_supply/battery/voltage_now` `date` >> /mnt/sdcard/batmon.txt + C=`cat /sys/class/power_supply/battery/capacity` + V=`cat /sys/class/power_supply/battery/voltage_now` + M=$(($V/1000)) + M=$(($M-3300)) + M=$(($M/8)) + + if [ $M -gt 80 ]; then M=100; + if [ $M -gt 60 ]; then M=80; + elif [ $M -gt 40 ]; then M=60; + elif [ $M -gt 20 ]; then M=40; + elif [ $M -gt 10 ]; then M=20; + else M=10; fi + + N=`date` + echo "$C ($M) $V $N" >> /mnt/sdcard/batmon.txt sync sleep 5 done \ No newline at end of file diff --git a/skeleton/.system/rg35xx/paks/MinUI.pak/launch.sh b/skeleton/.system/rg35xx/paks/MinUI.pak/launch.sh index 2a4c3bf..f2734f3 100755 --- a/skeleton/.system/rg35xx/paks/MinUI.pak/launch.sh +++ b/skeleton/.system/rg35xx/paks/MinUI.pak/launch.sh @@ -20,7 +20,7 @@ cd $(dirname "$0") keymon.elf & # &> /mnt/sdcard/keymon.txt & -# ./batmon.sh &> +# ./batmon.sh &> /mnt/sdcard/batmon.txt & export EXEC_PATH=/tmp/minui_exec touch "$EXEC_PATH" && sync diff --git a/src/common/api.c b/src/common/api.c index abaad0d..0be95f5 100644 --- a/src/common/api.c +++ b/src/common/api.c @@ -1026,16 +1026,16 @@ int POW_isCharging(void) { return getInt("/sys/class/power_supply/battery/charger_online"); } int POW_getBattery(void) { // 5-100 in 25% fragments - int i = getInt("/sys/class/power_supply/battery/voltage_now") / 1000; // 3300-4100 - i -= 3300; // ~0-800 - i /= 8; // ~0-100 + int i = getInt("/sys/class/power_supply/battery/voltage_now") / 10000; // 310-410 + i -= 310; // ~0-100 // worry less about battery and more about the game you're playing - if (i>75) return 100; - if (i>50) return 75; - if (i>25) return 50; - if (i>5) return 25; - else return 5; + if (i>80) return 100; + if (i>60) return 80; + if (i>40) return 60; + if (i>20) return 40; + if (i>10) return 20; + else return 10; } void POW_setRumble(int strength) { putInt("/sys/class/power_supply/battery/moto", strength);