Re: LCD_Backlight
- From: "voidcoder" <voidcoder@xxxxxxxxx>
- Date: Mon, 24 Apr 2006 08:44:45 +0200
Ops, typo in my prev post:
DWORD dwBacklightTimeout = ReadTimeoutFromRegistry(...);
while (TRUE)
{
WaitForSingleObject(hInactivityTimer, INFINITE);
if (WaitForSingleObject(hActivityTimer, dwBacklightTimeout) ==
WAIT_TIMEOUT)
{
TurnBacklightOff();
WaitForSingleObject(hActivityTimer, INFINITE);
TurnBacklightOn();
}
}
"voidcoder" <voidcoder@xxxxxxxxx> wrote in message news:ewg0qm2ZGHA.1560@xxxxxxxxxxxxxxxxxxxxxxx
I'm not sure what are you doing there. Post you code.
Have not used activity timers this way, but it should
be possible to use something like this:
DWORD dwBacklightTimeout = ReadTimeoutFromRegistry(...);
while (TRUE)
{
WaitForSingleObject(hInactivityTimer, INFINITE);
if (WaitForSingleObject(hActivityTimer, dwBacklightTimeout) ==
WAIT_OBJECT_0)
{
TurnBacklightOff();
WaitForSingleObject(hActivityTimer, INFINITE);
TurnBacklightOn();
}
}
"Anurag" <Anurag@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:4810CF02-46E0-435B-9E63-BC98D849FEF9@xxxxxxxxxxxxxxxx
Hello Voidcoder,
Thankyou for reply !!!!
Actually I am able to acess the events in my backlight driver ie it does set
the activity event("PowerManager/SystemActivity_Active") during boot then
after 10 sec(set in registry) it sets the inactivity event
("PowerManager/SystemActivity_Inactive") and I am able to acknowledge it in
my backlight driver. I am trying to set the activity event in my touch driver
so that every time i touch the screen the activity event is set and the the
activity timer count initializes. Now this does not happen!! I am setting the
event as follows:
if(SetEvent(SysAct_Reset))
NKDbgPrintfW(TEXT("ASA:Reset event set\r\n"));
Note: SysAct_Reset is the handle to
"PowerManager/ActivityTimer/SystemActivity" event
what happens is that once the inactivity event is set the light goes off and
does not resume back. I am resetting the manual reset inactivity event
("PowerManager/SystemActivity_Inactive") by reset event.
What could be the issue ??? In anticipation of your reply ASAP.
"voidcoder" wrote:
Actually activity timers are named as follow:
PowerManager/ActivityTimer/$Activity$
PowerManager/$Activity$_Active
PowerManager/$Activity$_Inactive
Eg.
"PowerManager/ActivityTimer/SystemActivity"
"PowerManager/SystemActivity_Active"
"PowerManager/SystemActivity_Inactive"
Use OpenEvent() to access events.
"Anurag" <Anurag@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:A2F1D358-DE0B-4FC6-B084-D283DAADF6F2@xxxxxxxxxxxxxxxx
Hello Voidcoder,
Thankyou for your reply .
certainly setting the power states would be much better however for the
purpose of curiosity I tried adding that registry entry
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\ActivityTimers\SystemActivity]
"Timeout"=dword:A
and then created the events with the same names i.e, SystemActivity_Active
&
SystemActivity_Inactive in my driver however these events get created. Now
according to WinCE documentation (wince help topic Activitytimers) Upon
initialization, the Power Manager reads the registry to acquire a list of
activity timer names and creates the following events:
A timer reset event.
An active status manual-reset event.
A manual-reset event.
hence when i create the events with thier names Createevent() should
return
ERROR_ALREADY_EXISTS however this doesn't happen the events get created.
why is it so????
What needs to be done in this case??
"Voidcoder" wrote:
I would advice to not touch the system activity
timer directly. Better build a simple driver and
handle the power IOCTLs. You will need to
handle IOCTL_POWER_SET ioctl this way:
IOCTL_POWER_SET - D0 -> turn backlight on
IOCTL_POWER_SET - D1 -> turn backlight off
"Anurag" <Anurag@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:ADEEAC32-2DCE-4ABF-B45C-E83EC1BE1D1F@xxxxxxxxxxxxxxxx
Hello everybody,
I am trying to develop a screen saver like facility for my WINCE Image
i.e,
after a predifined time of inactivity the LCD backlight should be OFF
and
on some activity like a touch on the touchscren the backlight should
get ON
I reffered the wince documentation "activity timer "and find that
activity
timers can be used i.e, set an activity timer
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\ActivityTimers\SystemActivity]
"Timeout"=dword:A
"WakeSources"=multi_sz:"0x20"
and the power manager handles the events.. Also the event can be
handled via
driver. In my case I am using the wince full power management as it is.
I am
a bit confused on the overall working as to how do i open a handle to
the
reset event in a driver? once the timeout is done how do i turn off my
backlight?
In my target the backlight is located on a gpio and can be controlled
via it
. Should i create a bcklight driver? if yes how to call the driver
once the
timeout is done.
I would be highly obliged to recieve your guidance
regarding
the same
Thankyou.
Ansh
.
- Follow-Ups:
- Re: LCD_Backlight
- From: Anurag
- Re: LCD_Backlight
- References:
- Re: LCD_Backlight
- From: Voidcoder
- Re: LCD_Backlight
- From: voidcoder
- Re: LCD_Backlight
- From: Anurag
- Re: LCD_Backlight
- From: voidcoder
- Re: LCD_Backlight
- Prev by Date: Re: LCD_Backlight
- Next by Date: Re: Help about USB function driver in WinCE 5.0
- Previous by thread: Re: LCD_Backlight
- Next by thread: Re: LCD_Backlight
- Index(es):
Relevant Pages
|