yashsingh1/xdaforums huggingface dataset:
[Verizon Droid Charge] syaoran12:
Ok seriously this is getting incredibly stupid.

Who cares right now since nothing is released?

If someone wanted to build it from the source and fork this from kejar it clearly states "forked from SuperTeam/android_packages_apps_Launcher2" within his own repo.

So if they wanted to build it there you go, pure credit. Since there is nothing posted or released here if you wanted it you see the credit on the repo.

Second point "If a dispute occurs about who developed / created a piece of work, first try to settle the matter by private message and NOT in open forum. If this fails then you may contact a moderator with clear evidence that the work was created by you."

So this pretty much states if this is YOUR work to try to settle this in a PRIVATE matter first. Neither of which has been followed in this matter.

Yes everyone deserves credit for anything they have done with android. But this is getting excessive.

Well known Dev's arguing is getting no where. We need to get a long as a community.

Edit: ya you can say i am backing up kejar if you want, i dont care. I respect kejar, OMJ, and adrynalyn all. This is just a pointless argument.
[Verizon Droid Charge] kejar31:
Funny how SuperTeam just pulled changes into their project right from my Fork!

and of course I am totally fine with this.... Its what open source is about
[Atrix 4G Android Development] Magnetox:
Curious about the difference between software modification (screen brightness apps) and kernel modification (for brightness)
[Atrix 4G Android Development] faux123:
Excellent :D I like tinkerers and thanks for info so far :)
[Atrix 4G Android Development] RogerPodacter:
Well this project is both kernel and could use an app to control the registers. But primarily this is to make kernel changes for now.
[Atrix 4G Android Development] dLo GSR:
is this able to lower the brightness to BELOW the '2' setting? that's as low as AdjBrightness app lets me go, and also doesn't allow me to dim the home buttons. it would be nice to be able to dim the buttons at least, especially if watching a movie or something in the dark.
[Atrix 4G Android Development] RogerPodacter:
Yes this can absolutely dim the buttons, anywhere from off to full brightness. Just echo to ctrl B register.

I'm not aware of the display app you mentioned. Does it do all the things I already listed in this thread? If so I feel dumb, I've not heard of the app you said.

Edit: I see that app in the market. This thread is specific to the atrix kernel, so it offers much more control. Activate exponential mapping mode and the display brightness goes down so low you wont even believe it. We'd then maybe make an app to automate it.
[Atrix 4G Android Development] bongd:
Forgive my ignorance, but the app SuperDim changes the brightness on my Atrix. Perhaps you guys are talking about something else though?

The lowest brightness setting is still much too bright to enjoy my Atrix in the dark (lol). The wife gets pissed... but this app definitely works.
[Atrix 4G Android Development] NFHimself:
Very cool!

'cat registers' only works when display is on. I'll have to see if an app can be done that doesn't have to fight the system.

Cheers!
[Atrix 4G Android Development] xepter:
or you could get an app called screen filter which does all this o.o
[Atrix 4G Android Development] AnalogXDA:
Well, no, actually.
[Atrix 4G Android Development] JaronBang:
Hopefully something similiar to this, kernel maybe, all contains settings for the touch screen(digitizer)and we can alleviate the pesky rain drop detection issue.

A little late for me to start playing with this, maybe tomorrow!

Thanks
[Atrix 4G Android Development] m0biusace:
what this is doing is reducing the current sent to the backlight to dim it.

Screen filter doesnt reduce current to the backlight past the stock minimum limit. It just puts a transparent "mask" over the display with the opacity depending on your setting, done entirely in software.
[Atrix 4G Android Development] RogerPodacter:
Yes you bring up my next point, this isn't just brightness. This let's us reduce the current draw pulled by the display, and a good amount at that if you read the data sheet and look at the registers.

Additionally this let's us set and change the zone boundaries of the light sensor. It let's us change mapping mode between linear and exponential.

It also let's us control PWM, though that should just stay on all the time. Also there is ramp time register, which is set to zero by Motorola, so that might be useful.

Also there is the brightness config reg, full scale current reg, and general output config reg. All these look to have purpose needed to be tested.

There are many registers to tweak which gives us control, and that's the goal of this thread I think. Once we crack it all open then we can make permanent kernel changes if we want. Or an app would work. I think we could do something crazy like double screen time by finding optimal combo of reg settings, e.g. set min brightness mode with exponential mapping mode, then adjust the zone boundaries slightly,and it literally could give huge display savings for power. At least worth testing to see.
[Atrix 4G Android Development] RogerPodacter:
Dude thank you for letting me compile your kernel:). Much appreciated! And tinkering is what's fun about android!
[Atrix 4G Android Development] kenyloveg:
some interesting behavior here:

lowest brightness in Stock 2.3.4 is "20", you can adjust to "2" by using app "adjbrightness", while you can set brightness lower to "1" in "moboplayer".

Even though, the "1" brightness is not good enough.

I'm wondering if this MOD can make brightness lower than "1"?
[Atrix 4G Android Development] RogerPodacter:
Yeah the driver is overriding some things, we could easily fix the code though. For example if you change the gen config reg to activate a different mode, soon as screen goes off locked the register is set back to previous value cause its hard coded. We just change that. So during testing I just keep the screen on.

I do have a battery app which does the echo and cat commands already written. Could just change the path and use it for this project...
[Atrix 4G Android Development] RogerPodacter:
Yes. Just enable exponential mapping mode, then use the slider in main display setting to see the full range.

echo 16 01 > registers

Be ready, super dim with that setting. Note still even with that being much lower brightness, the actual brightness value still wont go lower than 30. I can't figure out why.
[Atrix 4G Android Development] maajstor:
SuperDim

As member bongd mentions already, SuperDim does the thing, free on the Market. I've pressed thanks button to show appreciation to the OP's efforts.
[Atrix 4G Android Development] RogerPodacter:
Superdim does not allow the brightness to even get close to the minimum level that the screen does by setting the registers. Testing is needed and that's kinda the point here.

So the lm3532 chip has brightness capabilities from 5mA up to 29the mA. Stock value in the kernel is set to very high at 26 mA. So just setting the lowest brings the current draw to 5 mA. The data sheet then shows the equation gives final result of close to 0.78 mA with all set properly. So there's savings to be had which is what needs to be tested here.

As an example, last night I changed to the lowest register setting, and after an hour of web screen-on time I was still at 86%the battery still.
[Atrix 4G Android Development] davvid420:
Wow! You guys just aren't getting it. The apps you find in the market do not do the same thing. "Yes in the aspect they dim the screen" but they do it in to completely different ways. The way the op is talking about could add hours of battery life to are phones if done right. Because it changes how much power the display uses. There is not an app in the market or out that does that.
[Atrix 4G Android Development] Vangelis13:
As an example, last night I changed to the lowest register setting, and after an hour of web screen-on time I was still at 86%the battery still.[/QUOTE]

I don't understand; I get more or less the same overclocked to 1,3..
[Atrix 4G Android Development] MaluNoPeleke:
Is it possible to also change the colors of the display?

It seems to be a little bit too yellow. There is an application for CM 7 but not for the stock ROM :(
[Atrix 4G Android Development] RogerPodacter:
I don't understand; I get more or less the same overclocked to 1,3..

Maybe it was a bad example perhaps:). I think what's being missed here is that this thread is very specific only to the atrix or any phone with the lm3532 chip. This thread is about activating unused features of the lm3532 backlight chip, something no current app does. This will only work on an atrix. Motorola gave us the lm3532 backlight chip but they did not use its full potential. At least that's the point. By changing these register values there is controlling the atrix hardware on a very low level.

Has anyone actually looked at the code I posted and the data sheet? A wealth of info is in there.

It may be possible but not with the code in this thread that I'm aware
[Atrix 4G Android Development] RogerPodacter:
Thanks man, I was starting to feel crazy like maybe I'm missing something here. This gives us direct access to the lm3532 chip. No app can do that as of now. Maybe I should take this offline till it can be further cracked open. My hope was to get a few if the guys to find stuff I'm still not seeing.
[Atrix 4G Android Development] primeboss:
I love this. I want to get the brightness to a min. But i am a noob and do not understand your instuctions. You mind posting a noob friendly tutorial, on stock kernel, to get full range in brightness.
[Atrix 4G Android Development] RogerPodacter:
Sure, for now we have to set manually. If you want the minimum brightness mode, use terminal app and type:

su

cd sys/bus/i2c/drivers/lm3532/0-0038/leds/lcd-backlight

echo 17 00 > registers

That just takes it down to the lowest current. If you want it back to stock, just use:

echo 17 1b > registers

And max is:

echo 17 1f > registers

There's more that can get it lower, but just stick with that for now.

Side note, apps like adjbrightness are over coming the 30 limit, which is the same as echoing to the brightness file. That's one of the things needed to be solved as to why that hard limit of 30 is happening.
[Atrix 4G Android Development] RogerPodacter:
Another piece to the puzzle, I think I might have a way to fix the min 30 brightness issue. it may be possible it's in the frameworks, according to this similar thread from the Galaxy SII:

http://xdaforums.com/showthread.php?t=1235212

<integer-array name="config_autoBrightnessLcdBacklightValues">
<item>32</item>
<item>69</item>
<item>118</item>
<item>177</item>
<item>255</item>
</integer-array>

I'd bet money that our atrix also has similar, and they changed to:

<integer-array name="config_autoBrightnessLcdBacklightValues">
<item>5</item>
<item>30</item>
<item>70</item>
<item>130</item>
<item>255</item>
</integer-array>

anyone looked thru the frameworks? this would be a worthwhile change.
[Atrix 4G Android Development] pukemon:
Are the boundaries on the chip or on motorolas side of the software?

I voided my warranty and your mum.
[Atrix 4G Android Development] madquack:
Everything works fine in terminal however when you restart the phone the values seem to reset and goes back to whatever value it was originally. :-/
[Atrix 4G Android Development] pukemon:
That's the point of this thread. To get things rolling on a more permanent solution or app.

I voided my warranty and your mum.
[Atrix 4G Android Development] KAwAtA:
Not to be rude.. but since you noticed his post, you should've also noticed Rogers post about how this is different from those Apps. Should've read like the post after bongd's... At first, I also thought those apps would be good enough and then realized what Roger is saying and it DOES make sense. As of right now, I use screenfilter. Hopefully what your doing works out Roger, I'm pretty excited for this!
[Atrix 4G Android Development] pukemon:
.ctrl_a_mapping_mode = LM3532_LINEAR_MAPPING,

editing that make any difference? and rog, what commands for that cap buttons light? i'm not technical with this stuff but i'm sure these can be edited manually where ever they need to be edited for now, for a semi permanent solution.

in pm i thought setting that register was temporary until screen lock. it's good until you manually reset it or reboot. what sucks now are my cap buttons seem ridiculously bright now and it's driving me up the wall. thanks a lot. no, seriously. haha.
[Atrix 4G Android Development] rusreid:
I think people are not understanding that what you're doing actually lowers the brightness of the LEDs that provide the backlight for the display. ScreenFilter, which I'm using now, only provides a "mask" over the screen to make the screen dimmer, but the white backlight is still blinding in a dark room. I use mine in the dock for an alarm clock, and it annoys me to no end, that I can't make the actual backlight more dim. This sounds promising, and hopefully soon, you'll have a gui to control it via an app. It would be nice to be able to have a toggle to be able to turn it on and off at the touch of an icon. Thanks for the work.
[Atrix 4G Android Development] pukemon:
Or better yet, tinker with the auto settings and sensor and get rid of that full on brightness bug.

I voided my warranty and your mum.
[Atrix 4G Android Development] pukemon:
I think battery life on lowest setting has increased usage at least 10-15%. Im comparing to a battery drain early on when I got the phone, but I've been draining this sucker with more than display/wifi. Been playing snes emulator and its looking like ill almost match a 6.5h display/8h complete discharge. Im at 50% now with 4h/3h display. Double my usage time, with decent undervolt, 5ma display and cpu probably pegged and all I can say is wow.

I voided my warranty and your mum.
[Atrix 4G Android Development] dLo GSR:
you should try AdjBrightness, it allows you to set the backlight brightness to level 2 (Atrix defaults lowest to 30, range is from 2-255), which is the dimmest we can get for now. it's not like that BS screenfilter app. if roger can get it dimmer, I will be very happy!
[Atrix 4G Android Development] RogerPodacter:
This already goes much dimmer than adjbrightness is able to give at the lowest setting of 2. Just echo register 70 to desired level in combination of setting the 5mA config value. I'm not sure everyone is getting what's happening here yet, which is fine, this thread was for help from others, not providing a final app yet to the masses.

I installedjust Adjbrightness, it simply is echoing the brightness file with any value from 2-255. We can already do that without that app. Just do:

echo 2 > brightness

And you have passed the artificial limit of 30. Removing this 30 cap is one of the goals, sure, but this goes beyond what adjbrightness can do. Changing the full scale current mode is changing the entire display mode, not just the brightness level that adjbrightness tweaks.

Pukemon, for the bottom buttons just echo register 75 with your desired level using hex numbers from 0-255 or 00-ff. But that will get reset when the screen goes off until we manually change the code in leds-lm3532.c. and yes we definitely will edit the "ctrl a mapping mode" line in the end.
[Atrix 4G Android Development] Treello:
Im not sure why people don't get it... maybe rename thread to

"Reduce LCD power consumption"

The whole point of this is to reduce power draw thus reducing brightness.

By performing the methods he described you can very easily increase battery life by 10% to 20%. There is not an app that does this.
[Atrix 4G Android Development] pukemon:
It can go both ways. I think a lot of people don't understand that reducing brightness reduces current also. Some people.just want a dimmer display for at night because the default is too bright, and bright enough to bother others. The confusion is really thinking been there done that already but this is getting to the source of the problem and not doing it with a paint job.

I voided my warranty and your mum.
[Atrix 4G Android Development] dLo GSR:
I understand everything else (ee is my career) just the fact that we are actually able to go below the 2 setting is what I was interested in.
[Atrix 4G Android Development] RogerPodacter:
Yes we can, just do:

echo 70 01 > registers - sets lower than 02, at 01. And just echo 00 for lowest.

The limit 02 is only a limit of that app adjbrightnesd, not a limit of the display.

And of course setting the limit of 02 with stock brightness mode is not as low as setting the 5mA mode and going to 02. Setting the 5mA value compounds the brightness reduction even lower.

And finally, switching mapping mode to exponential goes lower still by a huge margin. Echo 16 01.
[Atrix 4G Android Development] pukemon:
Geez. Exponential is too low. Is linear more efficient than expo? Who goes to lowest current and who uses less current ramping up brightness? And the manual echo 17 00 register is the one to use for now guys. If you scroll to the top and type the su command and what follows and then echo 17 00 > registers, it is semi permanent. You'll still have it after screen lock and wont lose it until a reboot, but its easy to get back.

I voided my warranty and your mum.
[Atrix 4G Android Development] gendo974:
I think expo is good for people (like me) who want the lowest dim at night.

I confirm that this 17 register is semi permanent. However the 16 is not, so setting the expo mod is reset :(.

What's the goal of the register 70? When I set 17 00 and 70 01 or 02, I felt that my screen was blinking...
[Atrix 4G Android Development] saltinbas:
Hi,

Can we decrease battery usade by setting to one low and one high value in an interval so that your eyes do not feel the blinking. Here is my code, needs to be adjusted for blinking;

export PATH=/data/local/bin:$PATH

su

cd sys/bus/i2c/drivers/lm3532/0-0038/leds/lcd-backlight

date

COUNT=1000

while [ $COUNT -gt 0 ]

do

COUNT=$((COUNT-1))

echo 70 01 > registers

sleep 0,04

echo 70 20 > registers

sleep 0,04

done

date

I used 24 fps for sleep function but it does not help.
[Atrix 4G Android Development] pukemon:
Use the echo 17, no need for 70 on a mobile.

I voided my warranty and your mum.
[Atrix 4G Android Development] RogerPodacter:
Yes reg 17 sticks and does not reset till a reboot. Reg 70 is the actual brightness of the display from 00 to 255, or 00 to ff. But I don't see any blinking...

I'm still not sure what the goal of reg 70 is, it seems to get set a brightness value based on the light sensor.
[Atrix 4G Android Development] RogerPodacter:
Did you try your bash script here? Its interesting that you suggest alternating between low and high because there is already a reg for PWM. So it looks like this is built in and can be turned on or off by

Echo 0 or 1 > pwm

However I don't see any blinking that you guys are seeing.
[Atrix 4G Android Development] saltinbas:
Will this reg for PWM help to reduce battery usage. How can we use it?

There is one more problem. Ee need to find a way not to increase cpu udage since bash script will utilize cpu when it is running. Maybe we can use nice command to reduce it priority.

If you want to see blinking, reduce cpu frequency to 216 Mhz and run the script.
[Atrix 4G Android Development] RogerPodacter:
It reduces power consumption but it seems its already enabled by default so I don't know if there's anything extra possible. In the data sheet it says that PWM already alternates power on and off at a very high frequency of like 400 kHz. This is all new to me so I really don't know much.
[Atrix 4G Android Development] saltinbas:
I see. I will read the data sheet.
[Atrix 4G Android Development] pukemon:
well guys, i've been using the dimmest setting for the main display and i got 7h display time today. i ran battery down in 8h 45m with 3% left. m-f i usually get about 5h display time and usually have around 30% left when i goto sleep. i definitely see some potential if we can get devs/cyan team to optimize our standby/idle time, get a permanent solution for this display chip, some decent UV's and if ICS brings hardware acceleration this phone could possibly get two days off the charger with moderate use. there's no way i could get two days during a work week, but maybe on the weekend. anywas, my usage today was about 1.5 hours super nintendo, some texting, and one bar wifi internet browsing, about 30 minutes of spades and a smidge of cell data. anybody else getting better than usual results with this mod? better yet, any devs want to help us out with this?
[Atrix 4G Android Development] saltinbas:
Registers 13, 14 and 15 are related eith pwm.

echo 13 86 > registers is similer with echo 1 > pwm
[Atrix 4G Android Development] RogerPodacter:
OK fellas i found the limit 30 brightness value, and it was indeed in the frameworks. i'm going to try to re-compile it and see. there is additional LCD info in it as well, not just brightness values, but also button brightness values, and even what looks like screen nit values of some kind. need to analyze more. but i definitely think this solves it, just gotta try it out real quick.
[Atrix 4G Android Development] RogerPodacter:
very good info you're right. it seems like echoing PWM A with 0x86 or 0x82 turns PWM on or off, just like echoing 0 or 1 to PWM file. and i can even see that in the code leds-lm3532.c in the PWM_store function...
[Atrix 4G Android Development] saltinbas:
I need to change PWM input duty cycle. It will effect the battery usage. Any idea?

http://www.waitingforfriday.com/index.php/Controlling_LED_brightness_using_PWM

"When using PWM it’s important to consider how slowly we can ‘flash’ the LED so that the viewer does not perceive the oscillation. The eye’s inability to see rapid oscillations of light is caused by our ‘persistence of vision’ which means, in very simple terms, we see the light as on even after it has turned off. This technique is how televisions display a seemingly moving picture which is actually made up of a number of different still frames displayed one after the other very rapidly. The minimum speed of an LED oscillating which can be seen by the human eye varies from person to person. However, for the purposes of this article, we will use a minimum speed of 50Hz, or 50 times per second (the same speed as used by European televisions)."
[Atrix 4G Android Development] pukemon:
won't just 60hz work? is it at 400 in the code?
[Atrix 4G Android Development] RogerPodacter:
guys i have removed the limit of 30 brightness!!!! it certainly was in the frameworks. we no longer need adjbrightness. right now on auto brightness my display is down at 1 in a dark room. thank goodness cause that was driving me nuts!!

i will post directions tomorrow, but its basically editing the frameworks res/values/xml file.
[Atrix 4G Android Development] RogerPodacter:
this is where i got stuck. i can turn it on or off. but in the data sheet it seems to suggest that we can control the duty cycle, or PWM, by setting the actual rate. problem is i couldnt get past this, but i cant recall where i got to. i will have to re-read the data sheet at that part. let me check tomorrow.
[Atrix 4G Android Development] RogerPodacter:
i dont think it's actally 400 kHz, i just pulled that from the data sheet cause it gave a range of like 5-400 or similar. but it suggests that it's not even in the code, but its set by changing one of the PWM registers to either on or off, 1 or 0, or some 8 bit hex value which would give a PWM setting. but i cant rememebr at the moment so i gotta re-read that part again tomorrow. right now i'm too excited that the 30 limit is gone!! teeheee..
[Atrix 4G Android Development] saltinbas:
I think we should use this data sheet since atrix use this.

http://www.national.com/ds/LM/LM3532.pdf