Because display and GPS chip may be powered on for a long while, I choose to test them here.
Phone is GTA02v5. Distribution is latest SHR unstable, with almost 0% CPU load. No devices(WIFI, GSM, etc) opened before this test. Battery capacity is about 88%. My test method is, for example: set display background light to 100%, then get battery current every 5 seconds for a while... To power on GPS chip: write 1 to file "/sys/bus/platform/devices/neo1973-pm-gps.0/pwron". To set brightness: write (brightness_percent / 100 * 255) to file "/sys/class/backlight/gta02-bl/brightness" To get "current" battery power: read file "/sys/class/power_supply/battery/current_now". - It seems kernel update this file every 30 seconds - the output unit is uA. To enable/activate FixNow sleep mode: write UBX binary messages CFG-FXN and CFG-RXM to /dev/ttySAC1. - when activate, write dummy packet and RXM-POSREQ message: { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0x62, 0x02, 0x40, 0x00, 0x00, 0x42, 0xC8 } Here is the results: 1. when GPS chip is powered off, test brightness vs. battery current: * brightness = 100%: battery current ~= 203 mA * brightness = 75%: battery current ~= 153 mA * brightness = 50%: battery current ~= 116 mA * brightness = 25%: battery current ~= 101 mA * brightness = 0%: battery current ~= 95 mA 2. when brightness is 0%, test GPS power state vs. battery current: * GPS normal power mode: battery current ~= about 144 mA * GPS FixNow sleep mode: battery current ~= about 97 mA when it goes to sleep * GPS FixNow sleep mode: battery current ~= about 146 mA when it is waken up >From test #1, (assume battery voltage is constant) we can see: 1) the naked OS with almost zero CPU load and 0% brightness consumes ~95 mA. 2) brightness greatly affect battery life, 100% brightness consumes ~108 mA 3) comparing to 100% brightness, 25% brightness saves 95% power, 50% brightness saves 80% power, 75% brightness saves 55% power >From test #2, we can see: 1) GPS chip consumes about 50 mA when run in normal mode 2) GPS chip consumes near 2 mA when it goes to FixNow sleep I've been testing FixNow for a while. Now I doubt whether it is useful for phone users, because: 1) to save power, we can't frequently wake up FixNow from sleep, because on each wakeup it tries getting fixes for a while then goes to sleep (off). 2) the position data is not accurate just after wakeup, so we have to poll for a while, if we're lucky enough we get good fix. I think, FixNow can only be possibly used in this kind of scenario on Freerunner: -- For a long trip, we need log position data (say every 3~5 minutes, I think it's bad to set the frequency less than 1 minute). A logger sets GPS chip to FixNow mode, frequently wakeup it to get fix. To save power, we set display brightness to 0% by locking screen, but OS still consumes 95 mA, leaving at most ~10 hours battery life! How to utilize FixNow feature? Can we make the power consumption of "naked" OS down to tens of mA? _______________________________________________ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community