I discover how to get brightness value so I implement new automatic exposure algorithm based on predefined curves.
It's like a real 'P' where you actually program what you want the camera to do depending on the light.

InstructionsAutoexpo is based on
APEX systemTv minimumsets the minimum shutter value
Av rangesets aperture range, if it not match with current lens, it doesn't matter, it will be compensated with shutter
Av curveby main dial you set point where will start aperture decreasing (in BV value)
speed dial sets how much will be aperture decreased, it sets the slope (minus EV per one BV)
ISO range100 - 25600 make sure that you set correct ISO range (you can set this values via Canon ISO menu), otherwise you can get incorrect exposure. It also solves the 5D2 auto ISO bug, where is ISO hardcored to 400.
ISO curveby main dial you set point where will start ISO increasing (in BV value)
speed dial sets how much will be ISO increased, it sets the slope (plus EV per one BV)
Graphon the X axis is light (Brightness Value)
on Y is
shutter (Time Value),
aperture (Aperture Value),
ISO (Speed Value) and
EC (Exposure Compensation)on the left you have bright scenes on the right dark
here is a few BV values you can get:
16 light sand or snow
16 - 13 daylight
13 - 8 cloudy, shade
8 - 1 Indoor
> 1 low light
-12 complete darkness
full listgraph shows what combinations will be used depending on light conditions (on BV)
last BV value of current scene is marked with the
cyan line
shutter value is computed dynamically as BV - AV + SV - EC
Download Source Buy me a beer
Porting to other camerashttp://www.magiclantern.fm/forum/index.php?topic=7208.msg62915#msg62915http://www.magiclantern.fm/forum/index.php?topic=7208.msg66952#msg66952