WEC7 LCD backlight

Module: Colibri iMX6DL running WEC7 V1.8.
Using Sharp 4.3" LCD panel with resistive touch and parallel interface.
Setting up the backlight control using “Control Panel”, “Display Properties”, “Backlight” tab. Specifically the “Automatically turn off backlight while on battery power” and setting the time works great!
To wake the display up, I simply touch the display and it’s almost instantly on.

I need 3 additional features:

  1. Ability to programmatically turn off the display and still be able to wake it up without changing the time to start sleeping.
  2. Ability to wake the display by pulsing SoDIMM pin 45.
  3. Be able to receive the events that tell my application that the display turned off and then another event when it turns back on.

See this page: Backlight | Toradex Developer Center

Thank you in advance!

Unfortunately, the displayOnEvent and displayOffEvent are not set or pulsed in the Display driver for iMX6. These events are only supported in the Tegra modules BSP. However, you can still programmatically turn the display on and off using the IOCT of the backlight driver (IOCTL_POWER_SET). Please refer to the attached MDD driver for more information.

To retrieve the current backlight status, you can use an IOCTL_POWER_GET. Additionally, you can use Activity Timer Events in conjunction with IOCTL_POWER_GET.

Another option is to remove “BL_GPIO”=dword:00000049 and manipulate it as a regular GPIO to switch it on and off solely through your application.

To be able to wake the display by pulsing SoDIMM pin 45, you will need to create an interrupt thread to monitor the related GPIO interrupt (please see the Int_Demo.c from Toradex WiNCE library) and set the L"PowerManager/ActivityTimer/UserActivity" event upon receiving the GPIO interrupt.

backlight_mdd.cpp (39.3 KB)