yashsingh1/xdaforums huggingface dataset:
[Nexus One Android Development] mtw4991:
I just noticed something that may be limiting my new 1600mAh battery...

when I had the stock battery in, Aged Capacity(mAh) was 1393.

with new 1600mAh battery the Aged Capacity is STILL 1393 with age set at 96%which is 96% x 1452mAh, not 96% x 1600mAh = Aged Capacity of 1536mAh.

What gives with this and what is the consequence of this unchangeable setting?

How do I go about changing the Aged Capacity?...would it make a difference?
[Nexus One Android Development] temasek:
I dunno how it really affect but I did changed the Aged Capacity = full40 ...LOL :D

0x62 xx

0x63 yy

xx & yy being your value in mAh (similiar to how its inputed as full40)

EDIT: Since I bought this till now, age still 100%, full40 still 2500mAh and I still can drain till 0%. WTF !!!! Becuz of Age Capacity? idk
[Nexus One Android Development] mtw4991:
Ok, gonna try that now....hopefully crossing fingers!:)

EDIT: Ok setreg to 0x62 0f & 0x63 00 for 1607mAh Aged Capacity. Will drain and redo learn with these settings and see if it makes a difference. Wonder if I need to bump full40 to 1607 also? thx for the tip Temasek!
[Nexus One Android Development] dvgrhl:
So actually, I've been playing around with this and I can't get any sort of high usage situation. I haven't seen the app get above 7mb of memory usage, and it tends to hover around 5.5mb for me. It also doesn't cause noticeable battery drain. So, I am inclined to leave it as is. It's really going to be a pain to make it something that you can turn on and off, and I'd rather spend that time adding in other features. Unless anyone can show me that it is detrimental to their usage, I'm going to leave it for now.
[Nexus One Android Development] temasek:
I have tested and you are right, no biggy deal on battery and its no HOG DOG either. Can't wait for your new release :D
[Nexus One Android Development] ExtraDas:
Leave it as is. If I hit menu and exit, it closes just fine and doesn't cause an issue.

For me, memory never got out of hand, only CPU usage (so no memory leak..I was wrong there).

As this seems like an isolated case, don't worry about it.

Thanks for looking into it

P.S. if you ever need CPU tracking, Watchdog works really well. It alerts you when an app goes over a user set CPU usage and it has saved my battery life on more then one occasion when an app goes rouge (CPU is what eats the most battery, rather than memory...common misconception)
[Nexus One Android Development] RogerPodacter:
This is a very timely post to mine from earlier today about my age counting down properly. The aged capacity register dictates how slow or fast your age value will decrease over time. For example my age just went from 100% to 99% today after about a month of usage.

The data sheet says that a higher aged capacity will retard aging, and lower value will speed it up. So that's pretty much all its used for.

Seems these after market 1600 chips are functioning properly unlike the stock chip where age does not reduce itself over time. Data sheet says something like 3% drop in age for every 300 full discharges. Don't quote me on that exact number;-).
[Nexus One Android Development] k3vink3vin:
When wake lock is enabled, would it be better to have the screen brightness fixed, as now the screen would still dim? Or at least have a setting to prevent the screen from dimming.

IMO it is easier to maintain the >200mA current with that "feature", because now I have to tap on the screen every minute to have >200mA current, with just WiFi connected and max brightness.
[Nexus One Android Development] mtw4991:
Roger, so if I do a learn cycle and age is set at, say 96%, then set aged capacity to 96%x1600, age should be aligned with everything else, correct?
[Nexus One Android Development] RogerPodacter:
I think it works like this. Your full40 and age values are set to whatever you need them to be. and the aged capacity then get's set to exactly what your full40 value is to have a "normal" age count down. lower than your full40 speeds it up, higher than your full40 slows it down.

so i would set aged capacity to match full40 ideally.
[Nexus One Android Development] mtw4991:
Ok, next learn cycle I'll set it to full40 values.
[Nexus One Android Development] ellesshoo:
How do I set aged capacity to 1628? For that matter, is there a simple converter / calculator to convert these numbers to their respective 2 digit "codes" so I don't have to keep bothering the geniuses in this thread?
[Nexus One Android Development] RogerPodacter:
each register is different with a different equation, so its difficult to give a one fits all solution. someone will pop in with the correct conversion for you, i'm away and not able to at the moment. i do believe its the same equation as the full40 one though, but that wont help you unless you dig thru the old posts and find it from way back.
[Nexus One Android Development] temasek:
Tip.

1. Use Battery Calibrator set full40 to your desired value.

2. Open app like os monitor log and it will show full40 just changed value in hex as eg xx and yy. Copy down for your use as Age Capacity

3. Back to Battery Capacity and revert full40 to previous value if necessary.

There u go. Hex value for Age Capacity. :D

Then set Age Capacity from setreg

0x62 xx

0x63 yy

Both xx and yy being hex values.

CHEERS :)
[Nexus One Android Development] thrik:
I have a Seidio Innocell 3200mAh battery that doesn't let me fully charge while my phone is on.

I was going to use this app, but when I got to the How To in the third post in this thread, I noticed the directions were for the stock battery.

I've tried searching throughout the thread, but I'm still a tad confused...

Can someone help me get this app working? :)
[Nexus One Android Development] mtw4991:
Use the app and set your full40 to 3200mAh, age to 100% then follow the rest of the instructions. Didn't matter which battery u have full40 will set the capacity for you.
[Nexus One Android Development] thrik:
Thanks! Maybe someone could edit the first few posts, so other noobs wouldn't get lost as well?
[Nexus One Android Development] mtw4991:
That someone would be me lol, I wrote the instructions lol.;) I'll try to get to it tomorrow...
[Nexus One Android Development] martinl1030:
Do you need to recalibrate the battery again everytime you want a full charge? For some reason after I calibrated the battery overcharged to >1500mAh but when I went to recharge it at the end of the day I woke up and it was only at >1300 at 100%. My battery age shows up at 94%
[Nexus One Android Development] temasek:
Did u performed a power-off charge? Power off charging will result in resetting of battery to 94%, stock or non-stock batteries.
[Nexus One Android Development] martinl1030:
nope i never charge my phone powered off because I rely on my phone as an alarm clock. I did use a different charger though would that make a difference?
[Nexus One Android Development] temasek:
Possibly this

1. You nvr had a successful learn cycle at all.

2. Your potential highest capacity is higher than your full40

I am not on my pc right now so try trace back a few pages on my recommendation of performing a learn cycle follow by a capacity test and a final learn cycle with a new full40.
[Nexus One Android Development] martinl1030:
oh ic. Is it possible my battery has a capacity over 1452mAh even though its oem?
[Nexus One Android Development] temasek:
If its stock, possibly no.

U nid to perform a learn cycle to find out.
[Nexus One Android Development] dvgrhl:
I've updated the market with a new version. The new feature this time is an advanced option that can be enabled in the settings. Right now, all this enables is the ability to send setreg commands from within the app. No more echoing commands through a terminal app. Just tell it the register to write to, and the value to write, and it does it for you. There might be more advanced options later on, but I know this is one that will help make things easier for some people.

I've had a legitimate report about the logging causing an out of memory exception, so I am going to be focusing on that bug fix for the near future. It hasn't seemed to have happened to a lot of people, but the log I was provided with shows it did happen and possibly could happen to anyone else. So I am going to try to sort that out before I add anything new.

Edit: If anyone saw an update in the market and updated, only to see another update it was because I noticed a minor cosmetic issue and wanted to correct it.
[Nexus One Android Development] temasek:
Win win win ...........
[Nexus One Android Development] thrik:
This is also something that needs to be changed in the guide. I was wondering how anyone managed to get it positive in the first place, not to mention above 200mA...
[Nexus One Android Development] temasek:
Draw current is actually negative, ie -200mA

Charge current is positive.
[Nexus One Android Development] thrik:
Hmm... that's kinda interesting. When I tried plugging in my phone yesterday, it would never go positive. The highest I saw it go was like <-1mA, but I guess that makes sense because my battery is so confused.

Also, are there any current kernels this works with? I mistakenly assumed that the Gingerbread Kernel was 2.6.35, which it most definitely isn't... probably why I can't achieve LearnMode.
[Nexus One Android Development] temasek:
Technically when we say draw current must maintain higher than 200mA, it meant greater than 200mA in negative. Eg -200mA, -250mA, -300mA. All that are greater draw currents. My bad in lousy explaination of this.

As for kernels, pershoot / intersectraven / wildmonks / CM kernels, all have the battery drivers created by Roger and loginwithnoname.
[Nexus One Android Development] temasek:
Oh that includes CM7 stock kernels.
[Nexus One Android Development] thrik:
Maybe you could help me out then? I've been trying to follow that guide, and got to the third part where I'm supposed to keep >-200mA, and to drain my battery to 3201mV.

My mA is currently ~-270, so I think I'm good there... but my mV seems to be the problem. Yesterday it was just above 4000mV, and right now it's at 3918mV. I am now at 54% battery charge with my 3200 mAh battery. Am I to just keep the battery draining?

edit: Clarity
[Nexus One Android Development] temasek:
Objective of learn cycle

1. To calibrate your battery so u can use from 100% to 0%.

2. To maximise your battery potential capacity by lowering the Empty Voltage value (AEv) from stock 3416mV to recommended value of 3201mV

3. To find out your real full40 value by performing a capacity test.

(Pls refer yo my post a few pages back on capacity test). This capacity test is what I named it myself cuz nobody did.

Rules for preparing learn cycle.

1. Maintain draw current above 200mA (negative)

2. Your mAh must not die before your AEv value.

3. Set Age to 100

The rest of info pls follow the OP. As there is already a detailed instruction in OP I don't really want to override that.

Any doubts pls revert.
[Nexus One Android Development] thrik:
I'm assuming this is what you're referring to?

But yeah, I'm just having issues entering learn mode in the first place. But maybe I'm not draining my battery enough...
[Nexus One Android Development] temasek:
To start learn cycle, obey the 3 rules and your target actually is to hit your AEv value of eg 3201mV while you still have some mAh left.

In the Battery Calibrator under settings, turn on ACR adjustments. It will auto pump more mAh juice to u in case u need it before u hit 3201mV (AEv). Once u hit AEv, the app will prompt u to plug in.
[Nexus One Android Development] thrik:
Alrighty then... I'll just wait it out.

I'll report back here. Thanks for your help
[Nexus One Android Development] temasek:
Np. I am merely a user of this app. But with Roger's kind assistance, I actually understand quite a fair bit and I did one too many successful learn cycles using several batteries. :D
[Nexus One Android Development] RogerPodacter:
yes you need to keep draining. just to clarify, you guys need to keep the current draw -200mA or higher only at the moment when empty volt is reached, or near that point. you dont need to keep it up the hours before when you're not even close to empty. the point is that if you cross empty volt and are not maintaining -200mA, the learn flag will not trip, but if you are maintaining -200mA, it WILL trip.

so just pay attention when its near time to empty.
[Nexus One Android Development] thrik:
Thanks for the response. I was just confused because it didn't make sense to me how mV would only drop by ~100 if my battery had went from 100% to 55%.

But I'm gonna wait this sucka out :)
[Nexus One Android Development] temasek:
See?

Roger's explaination is best!
[Nexus One Android Development] RogerPodacter:
i see what you're saying. yes that is a little odd that your battery went from 4.0 volts to 3.9 volts and dropped from 100% to 54%. the voltage typically would have dropped much more than that. either way, just pay attention to all the numbers, take logs when necessary and/or with the app too, and watch when you get close to empty for the learn cycle.
[Nexus One Android Development] temasek:
Roger,

How is your graph plotting getting along?
[Nexus One Android Development] RogerPodacter:
well i synced with dvgrhl's latest code repository, so that's all up to date. but still hit the same damn error when i merged in the graph code. but i just found a few things to try today from some advice, so gonna try that tonight. its just something silly missing i'm sure.

here is the graphs in action. sorry if they are not as fancy as needed or whatever. they work just fine now, but if you send the app to the background the graphs will pause, which is kinda useless IMO. i want to set it up so that the service populates the data, and the user can leave it run, or hit the exit button to stop the service, so there's a choice. it will be soon i think i promise!

i even made a temporary "sample poll" field so you guys could chose how fast you want the graph to populate, i.e. 2 sec, 5 sec, etc.
[Nexus One Android Development] temasek:
Is that in seconds or minutes?

........ eager to try .........lol nice job!
[Nexus One Android Development] RogerPodacter:
Those are seconds. I have the graph default to take readings every 2 seconds, then in the one screen shot you see its every 5 seconds with a field to set it to whatever you want.

Ideally my idea was to have 2 different options, either graph the data from dvgrhl's log as like a long term graph. And a more real time graph every few seconds in case you wanted to see power draw doing certain tasks etc, to see more closely what's hitting the battery.

I don't know how if its really needed or not, but it doesn't seem to effect CPU barely at all from initial tests I've done.

I got a few tips to try tonight when I get home, plus dvgrhl gave me some thing to try too. So hopefully tonight will have some success:-).
[Nexus One Android Development] temasek:
Great job Roger. .... again.
[Nexus One Android Development] ellesshoo:
Roger, not sure if its a bug in your app or something on my end but I started getting fc's less than a minute after launching the app everytime. I was going to try uninstall it then reinstall but decided to clear the app's data first (data was >3mb) and after that its been working without a hitch. Just thought id mention this fyi.
[Nexus One Android Development] dvgrhl:
Someone else reported this to me by email, and I am looking into it. Hopefully I will have a fix soon. Glad you got around it (for now).
[Nexus One Android Development] waylo:
Yes, I too was getting some very strange FCs. Definitely with the short-lived 1.1.0. The splash screen would come on, and the I'd be stuck looking at a blank dark screen.

Not happening now, not sure if it's still happening on 1.1.1.

Edit: or maybe it was related to my kernel misbehaving. I'll keep playing with it.
[Nexus One Android Development] thrik:
Alright, posting back with an update.

Still can't get into learn mode.

Here's a screen at my closest attempt into it:

After I get so far, my phone just shuts off, and I never receive the Learn Mode pop-up.

Here's a screen of my battery life, in case that helps:

It bounced back up from 1% a bunch of times...

Hopefully someone here has some ideas :)
[Nexus One Android Development] temasek:
Your issue here is short of mAh. Did u enable ACR adjustments? Its suppose to pump some mAh juice for u in case u falls short before u reach AEv point.

There is another way. Since the app has the ability to input values into Setreg. Simply do manual pumping of more mAh by inputing register and value into 2nd tab (LearnPrep) under Register 0x

Eg

Register 0x10

Value 03

That will give u about extra 300mAh of juice.

Any doubts pls revert.
[Nexus One Android Development] mtw4991:
Do you have acr adjustment ticked off in settings and learn mode turned on in the learn mode tab? Looks like you may be running out of mAh prior to running out of mV.
[Nexus One Android Development] mtw4991:
Do you have acr adjustment ticked off in settings and learn mode turned on in the learn mode tab? Looks like you may be running out of mAh prior to running out of mV.

Edit: temasek beat me to it lol
[Nexus One Android Development] thrik:
Yes to both of those.

I'm trying this now, I will report back.
[Nexus One Android Development] RogerPodacter:
Ok well I can see why you're not hitting learn, you are running out of mAh and at the same time not tripping the acr adjustment condition. So we may have to re think and adjust that part of The app. You would want to manually bump up your mAh in that situation, or just charge for a few min, re try to hit learn with acr on and see if it kicks in for you.

Edit: ha well I should have read the next page. The experts of The thread got it right:-). Perhaps the app equation needs to be adjusted. Any suggestions?
[Nexus One Android Development] mtw4991:
it seems like maybe that his current draw might be dropping too low right before he hits learn?
[Nexus One Android Development] thrik:
It's not that, unless the app/battery is lying.

I've been monitoring it like a hawk. :)
[Nexus One Android Development] temasek:
Yup I do think its not that also. Still best bet is u fall short of mAh.

Anyway for your info, your phone will auto shut down when your mAh is very low, not exactly at 0 mAh. Your phone shut down before u hit AEv lvl so u did not manage to trip the learn mode.
[Nexus One Android Development] thrik:
I hope it's this.

If not, my next step will probably be to change kernels. Unless you guys have any other suggestions?
[Nexus One Android Development] temasek:
Nothing to do with different kernels so long as that kernel has the battery drivers.

Anyway, in my opinion it is 99.9999999% sure its the shortfall of your mAh. As I said b4, you auto power off before u hit AEv level. That was due to your mAh drained triggering auto power shutdown.
[Nexus One Android Development] waylo:
Same thing happened to me after a lot of very successful learn modes. Had no idea what was different, except the mAh was a bit lower while the voltage was still much higher than 3.201. Yes, ACR and all other suggested settings were selected.
[Nexus One Android Development] waylo:
Shouldn't this be corrected by the ACR option? At least I thought that was the purpose of it.
[Nexus One Android Development] temasek:
It should be auto bump of mAh by ACR Adjustments BUT..............it seems that there is a lapse or some situations where the auto bump failed to trigger.

When tested it myself, ACR did not auto bump up mAh either. That is why I suggest manual bump of mAh when necessary since the option to input that is available within the app.
[Nexus One Android Development] RogerPodacter:
i think our conditional check equation just needs to be tweaked a tad in the app code. currently it checks:

if (currentVoltage - emptyVoltage > 0.3) && (mAh < 70mAh)

then it bumps up. maybe that 0.3 is too wide.

topic switch, i've had success!! i got the graphing working with the service FINALLY. so this thing is now running in the background. damn it finally happened, and it was of course a silly minor problem too. the other thing i wanted to add was tracking how fast the mAh depletes, as a statistic or on a graph. would that be useful, to see how fast or slow mAh drops?
[Nexus One Android Development] temasek:
Woot!

So users like us can use it very soon I guess?
[Nexus One Android Development] RogerPodacter:
Yeah well its just a matter of syncing the repo. But I'd like to clean it up a tad and also talk with dvgrhl for his thoughts. But really what do you guys want this to do? Is it just for the sake of having it? Or troubleshooting usage? Currently it only collects a few minutes worth of data then the old data moves off the screen. So should it be turned into something more long term, or stay as it is etc...
[Nexus One Android Development] temasek:
Oic, noted

I am interested to see how my phone sleep, peacefully or in a dream. Any spikes on usage, etc.

Thanks for the info.
[Nexus One Android Development] landwomble:
apologies if this is a dumb question but I'm using AuraxTSense 8.2 on my HTC Desire with it's own kernel. This tool doesn't detect any battery values, and I don't have the setreg entry in sys>devices>platform>ds2784-battery>setreg.

Can I use this in some way? Help!
[Nexus One Android Development] temasek:
This is currently for nexus one with supported kernels only.
[Nexus One Android Development] k3vink3vin:
It seems that enabling ACR adjustments and Wake Lock don't take effect immediately if "Detect Learn Mode" is on.
[Nexus One Android Development] temasek:
Roger is looking into tweaking ACR.
[Nexus One Android Development] thrik:
Okay... reporting back.

I was finally able to enter Learn Mode! So yes, you were right, temasek.

Unforunately... it failed -_- I tried turning off as many programs as I could too. When I woke up in the morning, my phone had 400 extra mAh o_o it was just above 3600.

I'm gonna try again, I just gotta wait another day for this battery to drain, the one downside to having an extended battery :) Any other tips you got for me?

Also, part of the reason I was wanting to switch kernels is because my phone kept on rebooting itself while I was draining yesterday. I thought the kernel might have something to do with it... but then again I am running CM7 nightlies.
[Nexus One Android Development] temasek:
I would say u just possibly performed what I regard as a Capacity Test.

Suggestion.

1. Change full40 to your highest mAh u saw +50 mAh and round up to nearest 50.

2. Perform another learn cycle with this new full40.

I am thinking that u had just tested your potential of your battery. That may be a very good sign.

Good Luck. :)
[Nexus One Android Development] thrik:
Is it really possibly my battery's capacity is that much? I thought it definitely an error...

But I'll give it a go :)
[Nexus One Android Development] temasek:
U hit learn mode and capacity climbed beyond your full40 and once fully charged with the charge flag turned on, your capacity dropped below your full40.

Is that your case? If yes...win win win. :D

For the record, your capacity is limited by your full40 when fully charged. Full40 can also be regarded as your battery top limit in capacity. If u set your full40 as say 1600mAh , u just turn your extended battery to that! Lol ;)
[Nexus One Android Development] thrik:
I guess so. It just doesn't make sense to me how Seidio would sell a battery and say it has 3200mAh instead of 3600... but hey if it's real then I'm not complaining :)
[Nexus One Android Development] temasek:
Its highly possible that the highest potential is 3600mAh in your case but the manufacturer might wanna play safe to fix full40 lower.
[Nexus One Android Development] RogerPodacter:
we've seen all kinds of wrongly programmed batteries and discrepencies from seido in particular. half of the palm pre owners who bought the 1350 battery learned that is was really only 1150, seido was "lying". and other times its just wrong number altogether. so its very possible.