LCD brightness adjustment in A720IS - Feature Requests - CHDK Forum

LCD brightness adjustment in A720IS

  • 11 Replies
  • 5632 Views
*

Offline wap4

  • **
  • 95
  • A720IS
LCD brightness adjustment in A720IS
« on: 07 / March / 2008, 00:41:03 »
Advertisements
 
 Sorry for posting,this has been already requested,may be deleted!
« Last Edit: 14 / March / 2008, 13:21:20 by wap4 »

Re: LCD brightness adjustment in A720IS
« Reply #1 on: 16 / May / 2008, 07:56:00 »
I'd also be a big fan of a way to adjust LCD brightness, in may case for the A700, though! I had this feature on a 5 year old HP Photosmart camera, it's kind of a shame that it's not available on this (what I consider to be) much better camera. With such a huge display, lowering the brightness would (it seems to me) do a lot to increase battery life.

*

Offline wap4

  • **
  • 95
  • A720IS
Re: LCD brightness adjustment in A720IS
« Reply #2 on: 17 / May / 2008, 11:43:28 »
This feature is theoretically possible to implement i.e. not any hardware limitation.

In my A720, the LCD shows overexposure when a picture is properly exposed,and show proper exposure when the actual picture is underexposed. I go home after shooting and discover those sad truths on the screen of my PC. :D

Actually,there are functions named like 'SetlcdBrightnessParameter'/''SetlcdBacklightParameter' in the firmware disassemblies but we need to 'explore' how they work. (And the LCD may get damaged due to improper exploring,I've heard this in some threads here!!!)

I'm comparing the disassembly of G9 and A720 to implement some other missing features in the cheap A720,since these two cams have a lot of similarity. But with my limited knowledge, I can't go very far :(  e.g. there are many library functions which have no xrefs to. So I can't even access them via task_startup_my to modify them and call.
« Last Edit: 18 / May / 2008, 13:41:44 by wap4 »

*

Offline DataGhost

  • ****
  • 314
  • EOS 40D, S5IS
    • DataGhost.com
Re: LCD brightness adjustment in A720IS
« Reply #3 on: 17 / May / 2008, 12:00:10 »
I have partially implemented this in my branch, though without using the actual firmware functions. On my S5IS they're called LcdCon_SetLcdBackLightBrightness and LcdCon_SetLcdBackLightParameter. The first one accepts a struct { short brightness; long debug }, brightness is the new display bightness value and debug controls printing to the terminal if it's 1 (probably useless). You'll probably not need the LSBs, they barely influence anything.
As for the LcdCon_SetLcdBackLightParameter, I wouldn't touch that one yet. I've only found two values which mean something (might also be one, either two shorts or one long) and they control the LCD brightness values you set through the official Canon menu. I have no idea what the other values do (yet) and I haven't investigated the function yet.
« Last Edit: 17 / May / 2008, 12:02:03 by DataGhost »


*

Offline jeff666

  • ****
  • 181
  • A720IS
Re: LCD brightness adjustment in A720IS
« Reply #4 on: 18 / May / 2008, 07:12:41 »
they control the LCD brightness values you set through the official Canon menu.

Which the A720 does not have.

I remember the manual said that the display brightness is controlled by the brightness measured with the CCD but a quick test (darkened room + small flashlight) didn't show any difference.

I'll fire up IDA and see if the functions in the firmware do anything useful (and hope I won't fry my A720 :D)


edit: I just got DG's branch, pointed all the new stubs to a nullsub, ran the binary on my cam and LED disco blinks and flashes the AF-Led (PostLEDMessage already existed) as well as the Display. So display brightness control is possible!

I'd include backlight-control into the set_led basic-command. Any comments?

Cheers.
« Last Edit: 18 / May / 2008, 08:21:57 by jeff666 »

*

Offline wap4

  • **
  • 95
  • A720IS
Re: LCD brightness adjustment in A720IS
« Reply #5 on: 18 / May / 2008, 13:47:07 »
I'd include backlight-control into the set_led basic-command. Any comments?
Thanks a lot for your experimenting with DG's codes,even taking risk of 'frying' your cam!
This will be a vast improvement.

*

Offline DataGhost

  • ****
  • 314
  • EOS 40D, S5IS
    • DataGhost.com
Re: LCD brightness adjustment in A720IS
« Reply #6 on: 18 / May / 2008, 16:11:34 »
edit: I just got DG's branch, pointed all the new stubs to a nullsub, ran the binary on my cam and LED disco blinks and flashes the AF-Led (PostLEDMessage already existed) as well as the Display. So display brightness control is possible!
I guess that's partially luck, I took the display brightness control addresses from the function in the S5IS, it could have been something completely different indeed :p I think I should have added another preprocessor conditional for that. Anyway, nice to know that it works, I think I'll start looking into (basic) support for other cameras in the next couple of days.

Quote
I'd include backlight-control into the set_led basic-command. Any comments?
If they work.. I'll have a closer look at the A720 LCD brightness handling code to make sure the addresses actually are the same and I'll add a ubasic command in my branch then. When it's sufficiently tested and supported, it can be merged into trunk.

Quote
I remember the manual said that the display brightness is controlled by the brightness measured with the CCD but a quick test (darkened room + small flashlight) didn't show any difference.
Not? I'd say the display is dark in the dark room and bright with the flashlight.. so it does as the manual says, right? :P
« Last Edit: 18 / May / 2008, 16:15:10 by DataGhost »

*

Offline jeff666

  • ****
  • 181
  • A720IS
Re: LCD brightness adjustment in A720IS
« Reply #7 on: 18 / May / 2008, 19:25:55 »
If they work.. I'll have a closer look at the A720 LCD brightness handling code to make sure the addresses actually are the same and I'll add a ubasic command in my branch then. When it's sufficiently tested and supported, it can be merged into trunk.

My LcdCon_SetLcdBackLightBrightness is 100% identical to the S5 code. A quick check showed that this function exists in (probably) all firmware versions (tested several a-series, s3 and a few sd-series). So calling this function should work everywhere.

Quote
I'd say the display is dark in the dark room and bright with the flashlight.. so it does as the manual says, right? :P

You got a point there.  :D

Cheers.


*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: LCD brightness adjustment in A720IS
« Reply #8 on: 19 / May / 2008, 17:49:48 »
Canon firmware also have LcdCon_SetLcdAdjParameter function. Argument is pointer to two member struct: first is parameter number (probably 0..15), second is parameter value. Can be changed LCD brightness, contrast, hue. Most interesting for me is parameter #0 (something like brightness) - if its value is too high (260-320), I can see normal image (without color inversion) if I hold camera over head (of course, A710 do not have rotating screen).

*

Offline wap4

  • **
  • 95
  • A720IS
Re: LCD brightness adjustment in A720IS
« Reply #9 on: 21 / May / 2008, 03:19:05 »
@Dataghost

Thanks for the works regarding LCD brightness adjustment, the nice 'LED disco' demo works in A720 as the lcd fades in and gains again, showing the control over lcd brightness!

(Also recording the camera log to a file is a substantial improvement which will help to reverse engineer further)
« Last Edit: 21 / May / 2008, 03:21:32 by wap4 »

 

Related Topics