how to get auto backlight brightness on imx6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

how to get auto backlight brightness on imx6

1,019 Views
joshjordan
Contributor I

I see this section in config.xml about auto backlight brightness.  However, I am not able to cause ambient light to affect the backlight brightness.  I have lux values reporting to event2 and can see this using getevent.  How do I make these lux values go into the backlight driver and change the backlight brightness?  Nothing is able to change the brightness whether I cover up the sensor or shine a flashlight into it.

    <!-- Flag indicating whether the we should enable the automatic brightness in Settings.

         Software implementation will be used if config_hardware_auto_brightness_available is not set -->

    <bool name="config_automatic_brightness_available">true</bool>

    <!-- Stability requirements in milliseconds for accepting a new brightness level.  This is used

         for debouncing the light sensor.  Different constants are used to debounce the light sensor

         when adapting to brighter or darker environments.  This parameter controls how quickly

         brightness changes occur in response to an observed change in light level that exceeds the

         hysteresis threshold. -->

    <integer name="config_autoBrightnessBrighteningLightDebounce">2000</integer>

    <integer name="config_autoBrightnessDarkeningLightDebounce">4000</integer>

    <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.

         The N entries of this array define N + 1 zones as follows:

         Zone 0:        0 <= LUX < array[0]

         Zone 1:        array[0] <= LUX < array[1]

         ...

         Zone N:        array[N - 1] <= LUX < array[N]

         Zone N + 1:    array[N] <= LUX < infinity

         Must be overridden in platform specific overlays -->

   <integer-array name="config_autoBrightnessLevels">

        <item>20</item>

        <item>40</item>

        <item>100</item>

        <item>325</item>

        <item>600</item>

        <item>1250</item>

        <item>2200</item>

        <item>4000</item>

        <item>10000</item>

    </integer-array>

    <!-- Array of output values for LCD backlight corresponding to the LUX values

         in the config_autoBrightnessLevels array.  This array should have size one greater

         than the size of the config_autoBrightnessLevels array.

         This must be overridden in platform specific overlays -->

    <integer-array name="config_autoBrightnessLcdBacklightValues">

        <item>20</item>   <!-- 0-20 -->

        <item>45</item>   <!-- 20-40 -->

        <item>65</item>   <!-- 40-100 -->

        <item>90</item>   <!-- 100-325 -->

        <item>120</item>  <!-- 325-600 -->

        <item>150</item>  <!-- 600-1250 -->

        <item>180</item>  <!-- 1250-2200 -->

        <item>210</item>  <!-- 2200-4000 -->

        <item>230</item>  <!-- 4000-10000 -->

        <item>255</item>  <!-- 10000+ -->

    </integer-array>

Labels (3)
0 Kudos
2 Replies

792 Views
art
NXP Employee
NXP Employee

To make me able to accurately answer your question, please specify what i.MX6-based hardware and what software/OS/BSP do you use.


Have a great day,
Artur

0 Kudos

792 Views
joshjordan
Contributor I

This was because my lux sensor was reporting in millilux and even covering the sensor it reported higher than 10,000 so I could not observe it working until multiplying the brightness levels by 1000.

0 Kudos