For amateur astronomy use, I needed to be able to bring down my A43's LCD brightness to a very low level. After a bit of experimenting, here is a very simple app that lets you have a darker screen than the OS normally allows:
http://code.google.com/p/superdim
It requires root.
This is my first independent Android app, so no doubt I screwed up in some way.
arpruss said:
For amateur astronomy use, I needed to be able to bring down my A43's LCD brightness to a very low level. After a bit of experimenting, here is a very simple app that lets you have a darker screen than the OS normally allows:
http://www.mediafire.com/?zwsg7aeqtcqogpm
It requires root.
This is my first independent Android app, so no doubt I screwed up in some way.
Click to expand...
Click to collapse
Nice, if you need it, make it. Personally, I find using Night Mode in Chainfire better than simply turning down brightness. It turns the brightness down, and renders everything in red, or whatever color you choose, but red is the correct choice to retain night sensitivity.
Obviously, I probably wouldn't watch a movie like that, but it's great for when I'm bow-fishing by full moon and want to change songs or something without wrecking my night vision.
For astronomy purposes, ChainFire3D's night mode won't be enough. At the lowest normal system backlight setting, if one is fully dark adapted under a dark sky, the amount of light leaking through the black pixels will be enormous--the screen will look grey rather than black (well, I haven't tried it, but I have experience with other devices). What one needs to do for serious night vision protection is to BOTH turn the view to red with ChainFire3D AND dim the backlight to a very low level with this app. And I am not even sure this will be fully satisfactory, because on my A43 the amount of light leakage is really big.
By the way, I posted a new version and source, and renamed the project to SuperDim. I also added a toggle for the power LED, since they made it green rather than red.
arpruss said:
For astronomy purposes, ChainFire3D's night mode won't be enough. At the lowest normal system backlight setting, if one is fully dark adapted under a dark sky, the amount of light leaking through the black pixels will be enormous--the screen will look grey rather than black (well, I haven't tried it, but I have experience with other devices). What one needs to do for serious night vision protection is to BOTH turn the view to red with ChainFire3D AND dim the backlight to a very low level with this app. And I am not even sure this will be fully satisfactory, because on my A43 the amount of light leakage is really big.
By the way, I posted a new version and source, and renamed the project to SuperDim. I also added a toggle for the power LED, since they made it green rather than red.
Click to expand...
Click to collapse
Hmm. That's good to know for the A43. I'd like to know what you think of the night mode in chainfire, just because there aren't many other people who worry about this topic. I live in St. Louis, a big city, so you probably have less ambient light, but I also wonder if my A101 gets darker than the A43. Even at night, I can turn it down to the point that I really can't read a damn thing.
Great idea with the Power LED. Once again, I don't think light levels drop low enough in St. Louis for it to bother me, but I hadn't even thought of disabling it.
To really be dark adapted, you need to be away from white light for about 45 minutes. (Though I find that after 15 minutes the payoff diminishes.) It's not going to happen outdoors in a big city.
I added profiles (three night, two day), and integrated SuperDim with ChainFire3D, so if you have ChainFire3D installed, you can control its night mode directly from SuperDim, and even include its night mode setting in a profile.
For my own use, I wanted a red screen dim profile for astronomy, a green screen dim profile for reading books in the dark, a dim full color profile for other night use, a bright green profile sometimes for reading books in the day, and a full color bright profile. But you can save whatever you want in the five profile slots.
I've been using figuring out the light control stuff for SuperDim as an opportunity for learning how to program for Android in preparation for writing (not from scratch--I got a donation of the AstroTools source code under the GPL to start with, and I may port some code from open2sky and AstroInfo for PalmOS) a high-end astronomy app. (I'm an experienced PalmOS developer, but quite new to Android.) I'm actually quite pleased. I was dreading java (I've usually developed in C), but I am finding Android development, especially with Eclipse, surprisingly pleasant.
arpruss said:
To really be dark adapted, you need to be away from white light for about 45 minutes. (Though I find that after 15 minutes the payoff diminishes.) It's not going to happen outdoors in a big city.
I added profiles (three night, two day), and integrated SuperDim with ChainFire3D, so if you have ChainFire3D installed, you can control its night mode directly from SuperDim, and even include its night mode setting in a profile.
For my own use, I wanted a red screen dim profile for astronomy, a green screen dim profile for reading books in the dark, a dim full color profile for other night use, a bright green profile sometimes for reading books in the day, and a full color bright profile. But you can save whatever you want in the five profile slots.
I've been using figuring out the light control stuff for SuperDim as an opportunity for learning how to program for Android in preparation for writing (not from scratch--I got a donation of the AstroTools source code under the GPL to start with, and I may port some code from open2sky and AstroInfo for PalmOS) a high-end astronomy app. (I'm an experienced PalmOS developer, but quite new to Android.) I'm actually quite pleased. I was dreading java (I've usually developed in C), but I am finding Android development, especially with Eclipse, surprisingly pleasant.
Click to expand...
Click to collapse
Yeah, my point exactly. I'm about 15 miles away from the city when out on the river, but that's not really far enough to get out of the city's light pollution.
Great work integrating with Chainfire. I'll give it a try next time I'm out. It should be nice having everything in one place.
I'll be looking forward to the astronomy app. It's been a looong time since I've worked on one, but I still have the DOS version of CyberSky I helped develop, so I guess I still have a fondness for them.
I posted 0.23, fixing a bug that made day2 = day1.
And I posted 0.30, adding support for toggling keyboard and button backlight on devices that have them.
I use screen filter to make my screen dimmer..
its in the market..
1. As far as I can tell, Screen Filter doesn't adjust the backlight--it only lowers the LCD pixel intensity. As a result, even if you turn Screen Filter to something really low like 2%, if you take your device to a dark area, you'll see a grey glow coming from the screen, because the backlight leaks through the black pixels.
To remedy the grey glow issue, you need to turn the backlight down, but the OS only lets you turn it so far down (10/255 on my A43; some phones only allow 20/255) without directly writing to /sys/class/leds/lcd-backlight/brightness (which needs root, and is what SuperDim does).
I also suspect that in a dark area, with brightness set to a low value, lowering backlight will produce a more visually attractive image than Screen Filter, because lowering the backlight will make a black background be fairly black.
That's all for backlit LCD screens. OLED screens are a completely different kettle of fish, and SuperDim won't help you much there (though it'll still let you set themes controlling LEDs and ChainFire3D nightmode).
2. I generalized the code a little so it should let you control whatever LEDs your device has, as long as they have a /sys/class/leds/*/brightness interface.
3. By the way, ChainFire3D's nightmode is a touch imperfect: if you set it to red, I think it just turns off the green and blue channels. That means that green and blue visual elements cease to be visible. A somewhat better nightmode would convert the image from RGB to grayscale, and then turn off the green and blue channels. I don't know how easy to implement that would be--I don't know enough about GL blending (I tried to google but couldn't find an answer simple enough for me to understand).
arpruss said:
1. As far as I can tell, Screen Filter doesn't adjust the backlight--it only lowers the LCD pixel intensity. As a result, even if you turn Screen Filter to something really low like 2%, if you take your device to a dark area, you'll see a grey glow coming from the screen, because the backlight leaks through the black pixels.
To remedy the grey glow issue, you need to turn the backlight down, but the OS only lets you turn it so far down (10/255 on my A43; some phones only allow 20/255) without directly writing to /sys/class/leds/lcd-backlight/brightness (which needs root, and is what SuperDim does).
I also suspect that in a dark area, with brightness set to a low value, lowering backlight will produce a more visually attractive image than Screen Filter, because lowering the backlight will make a black background be fairly black.
That's all for backlit LCD screens. OLED screens are a completely different kettle of fish, and SuperDim won't help you much there (though it'll still let you set themes controlling LEDs and ChainFire3D nightmode).
2. I generalized the code a little so it should let you control whatever LEDs your device has, as long as they have a /sys/class/leds/*/brightness interface.
3. By the way, ChainFire3D's nightmode is a touch imperfect: if you set it to red, I think it just turns off the green and blue channels. That means that green and blue visual elements cease to be visible. A somewhat better nightmode would convert the image from RGB to grayscale, and then turn off the green and blue channels. I don't know how easy to implement that would be--I don't know enough about GL blending (I tried to google but couldn't find an answer simple enough for me to understand).
Click to expand...
Click to collapse
I assumed it did convert to greyscale first before tinting, but you may be right. I'll have to think how to test that.
msticninja said:
I assumed it did convert to greyscale first before tinting, but you may be right. I'll have to think how to test that.
Click to expand...
Click to collapse
Quick test: If you set CF3D to blue, anything that's pure yellow goes black. For example, if you go to SuperDim, the left half of the brightness adjustment bar is yellow and disappears completely.
Another test: go with the browser to http://www.w3schools.com/html/html_colors.asp in red mode. Notice that the blue 0000FF and green 00FF00 samples can't be distinguished from 000000 black, while the red FF0000 can't be distinguished from white FFFFFF.
arpruss said:
Quick test: If you set CF3D to blue, anything that's pure yellow goes black. For example, if you go to SuperDim, the left half of the brightness adjustment bar is yellow and disappears completely.
Another test: go with the browser to http://www.w3schools.com/html/html_colors.asp in red mode. Notice that the blue 0000FF and green 00FF00 samples can't be distinguished from 000000 black, while the red FF0000 can't be distinguished from white FFFFFF.
Click to expand...
Click to collapse
Seems like pretty clear results to me. I wonder if converting to greyscale first would even be feasible, from a coding, and from a processor cycle standpoint. It would have to use extra power, but I wonder how much. It doesn't really matter for me, everything I need to do is doable, but interesting nonetheless.
msticninja said:
Seems like pretty clear results to me. I wonder if converting to greyscale first would even be feasible, from a coding, and from a processor cycle standpoint. It would have to use extra power, but I wonder how much. It doesn't really matter for me, everything I need to do is doable, but interesting nonetheless.
Click to expand...
Click to collapse
There may be a way of hardware accelerating this.
Looks like an interesting App for controlling your LED notifications. Try it out and report your findings!
Light Flow - LED Control
Will do dude thanks
Sent from my SPH-D700
This didn't work on the Epic 4G, would be nice if it worked on this device? Is it only red and blue or is it multicolor?
Seems to work fine...
sent from my damn EPIC TOUCH 4G!!!!
If anybody uses go SMS you can change the led to a couple different colors and even change it for individual contacts
Epic 4G touch only has 2 colors for notification LED - Red and Blue
cary328is said:
Epic 4G touch only has 2 colors for notification LED - Red and Blue
Click to expand...
Click to collapse
just found that out
Its better than not having one or even waiting another month for it
Sent from my SPH-D700 using xda premium
cary328is said:
Epic 4G touch only has 2 colors for notification LED - Red and Blue
Click to expand...
Click to collapse
I'm using Handcent & I got a magenta light for when my girl texts me. I did choose the color "green" tho.
I am getting three color choices with Light Flow paid version. Blue, red and purple.
Sent from my SPH-D710 using XDA App
what are you talking about, Purple does not work with paid version, it's red and blue!!!
Purple is a choice in the paid version for me. Of course, the actual color is more like magenta but it does work. I have Direct Mode checked in the General Settings menu.
Good to hear some feedback on this...similar results here. Wishin we had more color options!
I've only found three that work:
setting > looks like
Blue > Blue
Green > Purple
Red > Red
Purple is of course just red+blue lit simultaneously.
This is in Pro version, NOT Direct Mode.
White = fast blinking red color.
Also I noticed that the led stays lit for a long duration of time when you choose red or blue. Then it blinks off really quickly and back to on...kind of like the reverse of how it is normally. Any way to fix that?
Thanks for pointing out that white will rapid flash. That is just what I needed!
this did not work for me at all? does it only work on rooted phones?
Dont know if anyone uses kicker but my led stays magenta when I get a message
Brooose said:
Purple is a choice in the paid version for me. Of course, the actual color is more like magenta but it does work. I have Direct Mode checked in the General Settings menu.
Click to expand...
Click to collapse
Hi
Just for info. There shouldn't be any difference between the free version and the paid version of LightFlow for color controls as they both use the same code. The only differences are the length of time it takes to cycle around the notifications and the number of apps supported.
As for the colors, the app just sends an ARGB value to the phone (when running in standard mode) and then it's up to the phone to work out how to interpret it. It's good to know white allows for rapid flashing (odd interpretation there samsung, but at least it's more choice). This is the quote from the android development documentation regarding color representation "Not every color in the spectrum is supported by the device LEDs, and not every device supports the same colors, so the hardware estimates to the best of its ability."
If anyone wants to have a play with the app "LED color tester" by coolbeans in the market to see if they can get any more colors (e.g. rapid blue flashing etc) then let me know and I'll try get the extra option put into lightflow. Note, to test using LED color tester, you'll need to uninstall lightflow first as lightflow will take over the notifications, preventing control by the tester app.
Direct mode writes to the files directly in unix that control the leds. At the moment it'll write out a 0 or a 1 to the brightness file for either the red or blue led. My guess is that some other values allow for the flashing. If only there was some consistency between phones, things would be so much easier! I'm also planning to add the option to allow custom brightness values to be sent for the leds which may help control things a little more.
mrbelvedere said:
I'm using Handcent & I got a magenta light for when my girl texts me. I did choose the color "green" tho.
Click to expand...
Click to collapse
WHere do you set that for a single contact?
I am On paranoid 2.99 and i didnt like the way that the led would blink in Deep orange for low battery and Notification so i was trying a few LED control apps .. and Found:
Light Flow Lite - LED Control : https://play.google.com/store/apps/details?id=com.rageconsulting.android.lightflowlite&hl=en
this works Partially . i could set my SMS notifications to Green .. and this supports 3 Colors only on our device .. Dark Orange , orange (kinda yellow) and Green
just thought it will be useful for people to know ..
be careful when using such apps. it MIGHT screw your phone.
Yup ! .. just Make a NAND backup just to be safe ! I made a backup ! .... the app is working fine for me ! .
1ceb0x said:
be careful when using such apps. it MIGHT screw your phone.
Click to expand...
Click to collapse
Yeah I had actually used this app in the past and the led goes out of control, especially if you set it to green/ and /or other colors..
Sent from my One V using xda app-developers app
i'm running aokp but i installed the app yesterday and found that this doesn't work at all. It can only change the color of the first flicker and still shows the led light even if you turn it off. useless.
I can change the colors of the LED from the source files - there is actually a Java file that controls the LED and it is commented -
This device has only 3 LED colors. Do not try to parse any other colors.
Click to expand...
Click to collapse
So basically we can't play with them even if we want to .
I know there are some programs that can alter display color temperature depending on time of day and global user position on Earth.
What I'm looking for is a program that can do the same based on light sensor data, I mean that outside in the sun, display have a high color temp, let's say 6500-7200 C and when I get into a dark room the display will not only decrease brightness like it always does but also change color temp to for example 3400 C. Blue light filtering like that is nice not only late at night before sleep but also while spending a lot of time indoors even during day.
So my question is - did anyone ever seen an app that can do that?
Interesting idea. I haven't heard of an app that can do this, but I'm sure with some Googling you'd be able to find out for sure.
I had a quick Google myself and it turns out that some high-end Samsung phones do this by default. Their light sensors detect Red, Blue and Green and change the screens colour to reflect your surroundings. Its called Adapt Display.
I'm not sure the light sensor on all smartphones can detect colour range tho, I think most are only capable of detecting luminance. If that's the case I'm sure someone could create an app that reads colour data from the camera when the light changes and could apply that to the screen hue to more accurately reflect the colour temperature of your environment, but I doubt it would be that accurate...
Yes, they can adapt but you can't make them change color with light intensity. This is actually what inspired me to look for better functionality