Handling Power Manager state change RRS feed

  • Question

  • Hi there,

    WEC700, iMX51.

    I set the registry items to have 1 minute for UserIdle timeout and 2 minutes for SystemIdle timeout.

    I added the bkl1: in the Power\State\SystemIdle driver list to enter in the D4 state, to turn off the backlight.

    It works and If i touch the touchpanel the system returns to 'on' state.

    How can i avoid that the first event (the one that rises the system) is not handled by the system? I don't know if under my finger there is a button, link or whatever!

    I'd like to filter the first touch, the mouse click or the keyboard key that can change the state.



    Thursday, November 15, 2012 4:07 PM

All replies

  • If i have understood everything correctly, here is my reply.

    1. If you dont want your touch interrupt to wake the device, remove it from the wakeup source interrupt list.

    2. If you need to avoid the first touch event from waking the source you can skip this in your touch driver. Have a if condition to check if the system state is system ideal then dont send the event to GWES (that dont handle this interrupt). Have a global variable to track that this happens only for the first touch and reset the variable when the system goes to "on" state.

    Hope this will help.

    --- Misbah

    Senior Design Engineer T.E.S Electroni Solutions (Bangalore-India)

    Friday, November 16, 2012 7:56 AM
  • Good the second reply.

    I'm wondering if there is a common point to skip the wake events instead of modify each driver.

    The dangerous events are (my guess):

    - touch on the touchscreen

    - press the mouse button

    - press the key on keypad

    Where i can locate the global variable?

    Please correct me if i'm wrong: with my registry setting for SystemIdle,

    	"bkl1:"=dword:4 ; backlight off

    only the backlight driver turns to D4, is it?


    Friday, November 16, 2012 9:05 AM
  • Reg settings are OK.

    I dont think there is a common point to skip for wake event.

    There are only two possible ways which i have explained earlier.

    The global variable has to be in the individual drivers.

    I hope i was clear with the second method i explained in the last reply.

    --- Misbah

    Senior Design Engineer T.E.S Electroni Solutions (Bangalore-India)

    Saturday, November 17, 2012 6:31 PM