[Atrix 4G Android Development] Zeljko1234:
IMHO, I'm completely happy with current (to be honest I use even older version) MROM. I'm more interested in your ICS/JB. Are you working on it already? :)

I fly a lot and every time when I missed connection flight it wasn't my fault, so they just re-booked me to next flight. Actually I flashed my first custom rom at airport waiting 5 hours for another flight :)

About battery

- percentage steps could be easily changed in build.prop. Framework must be tweaked to show number instead of batter icon. I had it with almost stock rom. Otherwise percentage and voltage could be seen with well known *#*#4636#*#*

- I had "my phone won't charge to 100%" with original battery and firmware.

- according my experience in electronics, I'm quite sure that battery doesn't have controller with firmware, just (maybe) short circuit protection and temperature measurement (or just sensor)

- Li-Po battery operates from 3200 - 4200 mV. Overcharging could damage same as discharging lover than 3200 mV

- every power source, including battery has internal impedance

- basically, output voltage depends of chemistry (accumulated energy), current, and voltage drop on internal impedance. Stronger current, bigger voltage drop on internal impedance, lower output voltage.

- over time, buttery increase internal impedance

- in idle (because voltmeter has huge impedance) voltage could be fine, let say about 3400 mV but with some external load, current increases, voltage drop increases on internal impedance, and of course output voltage also drops. This behavior could be seen when phone shows 10 or more percentage and with just making phone call, turn itself off. Same phone could easily spend hours in idle, till 1%

- phone measure remain capacity according voltage and turn itself off if voltage drop to 3200 mV (for Li-Po, Li-Ion)

- some phones use history data and algorithm to try to learn real capacity. On which voltage and current, output voltage drop to 3200 mV or lower. Calibration, anyone? ;) In our phones, obviously battd process and related data are used for this.

- I did some research with real instrument and external impedance. With stock battery my phone turned itself off with 1% but I couldn't charge it to 100%. I removed battery and measured voltage. If I remember right, it was about 3400 mV or even more. Then I used few different external impedance calculated to have about the same current as phone in idle, display on, mobile data on, phone call... After all theory, do I need to explain what happened with lower impedance and bigger current? Output voltage dropped below 3200 mV.

At the end, what happens with "my phone won't charge to 100%" and deleting battd data? You’re forcing phone to believe that you have brand new battery which could operate from 3200 - 4200 mV. Phone will show 100% at 4200 mV (if you delete data at 4200 mV), maybe 50% at 3700 mV but then, at some point and load, phone will detect much less voltage and just drop percentage to the more real one. If you leave your phone in idle, could be that phone will discharge to 1% or if you try to make a call it’s going to turn itself off earlier. If you try to charge your phone after voltage drop, described above, battd process will just calculate and show much accurate percentage. About the same less what you lost with drop.

Uhhh, who's going to read all of this? :D

I hope that I explained right and understandable without any equation, even for someone who is not electrical engineer :)

p.s.

Sorry for huge off topic. Maybe I should open new thread or post it in more appropriated.