Power Management in CE

Power Management in CE

Post by Pedro R » Sat, 31 Jul 1999 04:00:00



     Apparenlty, CE will go into idle mode after no threads are ready to run
after a specified time. What controls this time? Is there an OAL-based timer
that I need to implement? If so, how do I communicate to the kernel that
it's time to go into idle state? The other question is, how do I get out of
idle state, i.e. how is CE notified that it should leave the idle state?
     CE also supports suspend mode. In the help, they talk about an
inactivity timer and a PowerOffSystem function. Is this timer an OAL-based
timer that I need to implement? If so, how do I communitate it to the
kernel? What about PowerOffSystem, where can I get more info on it? How do I
get out of suspend mode?
 I would really appreciate any help. Thanks,

Pedro.

 
 
 

Power Management in CE

Post by Steve Maille » Sat, 31 Jul 1999 04:00:00



>     Apparenlty, CE will go into idle mode after no threads are ready to run
>after a specified time.

Mostly correct. When the scheduler determines no threads are schedulable it immediately (no time delay) goes in to OEMIdle. Which
tranpareently suspends the Processor only.

Quote:>[...] how do I communicate to the kernel that

it's time to go into idle state?
THe kernel scheduler will call OEMIdle on it's own.

Quote:>The other question is, how do I get out of
>idle state, i.e. how is CE notified that it should leave the idle state?

Depends on the hardware. THe idle state is normally exited by an interrupt. Often the reschedule timer. The idea is that only the
processor is suspened in a low power state. This should be done in such a way as to get it back to full power quickly.
The OEMIdle implements the suspend and at resume continues where the suspend occured (or an interrupt handler first) then simply
returns.

Quote:>     CE also supports suspend mode. In the help, they talk about an
>inactivity timer and a PowerOffSystem function. Is this timer an OAL-based
>timer that I need to implement?

No It's managed by the GWES module.

Quote:> What about PowerOffSystem, where can I get more info on it?

I'ts undocumented at this time.

Quote:> How do I get out of suspend mode?

Hardware dependent. (Normally a processor reset of some form)

--
Steve Maillet
Entelechy Software Consulting
"Where hardware meets software"
www.EntelechyConsulting.com
Home of the Embedding Windows CE FAQ
smaillet at EntelechyConsulting dot com

 
 
 

Power Management in CE

Post by Pedro R » Sat, 31 Jul 1999 04:00:00


    You say there is no time delay for going into idle but, the
documentation talks about the "systemparametersinfo" function. One of the
parameters for this funcion is "SPI_SETWAKEUPIDLETIMEOUT". Although the name
refers to idle timeout, the description refers to suspend timeout.
    Also, how can I program the timer in GWES to go into suspend only when I
want. Where can I get more info about implementing the suspend mechanism
through GWES?

Pedro.

One of the parameters for this function is the


Quote:> >     Apparenlty, CE will go into idle mode after no threads are ready to
run
> >after a specified time.
> Mostly correct. When the scheduler determines no threads are schedulable

it immediately (no time delay) goes in to OEMIdle. Which
Quote:> tranpareently suspends the Processor only.

> >[...] how do I communicate to the kernel that
> it's time to go into idle state?
> THe kernel scheduler will call OEMIdle on it's own.

> >The other question is, how do I get out of
> >idle state, i.e. how is CE notified that it should leave the idle state?
> Depends on the hardware. THe idle state is normally exited by an

interrupt. Often the reschedule timer. The idea is that only the
Quote:> processor is suspened in a low power state. This should be done in such a

way as to get it back to full power quickly.
Quote:> The OEMIdle implements the suspend and at resume continues where the

suspend occured (or an interrupt handler first) then simply
Quote:> returns.

> >     CE also supports suspend mode. In the help, they talk about an
> >inactivity timer and a PowerOffSystem function. Is this timer an
OAL-based
> >timer that I need to implement?
> No It's managed by the GWES module.

> > What about PowerOffSystem, where can I get more info on it?
> I'ts undocumented at this time.

> > How do I get out of suspend mode?
> Hardware dependent. (Normally a processor reset of some form)

> --
> Steve Maillet
> Entelechy Software Consulting
> "Where hardware meets software"
> www.EntelechyConsulting.com
> Home of the Embedding Windows CE FAQ
> smaillet at EntelechyConsulting dot com

 
 
 

Power Management in CE

Post by Steve Maille » Sat, 31 Jul 1999 04:00:00


SPI_SETWAKEUPIDLETIMEOUT is for the Auto shut off (ultimately calls OEMPowerOff)

You can change that paramater to 0 to turn off the automatic suspend.
Youcan use the (undocumented) PewrOffSystem function to cause a power down.

The IDLE is totally within the kernel and is transparent to apps and OAL except for OEMIdle. IDLE cannot be turned off.
--
Steve Maillet
Entelechy Software Consulting
"Where hardware meets software"
www.EntelechyConsulting.com
Home of the Embedding Windows CE FAQ
smaillet at EntelechyConsulting dot com

    You say there is no time delay for going into idle but, the
documentation talks about the "systemparametersinfo" function. One of the
parameters for this funcion is "SPI_SETWAKEUPIDLETIMEOUT". Although the name
refers to idle timeout, the description refers to suspend timeout.
    Also, how can I program the timer in GWES to go into suspend only when I
want. Where can I get more info about implementing the suspend mechanism
through GWES?

Pedro.

One of the parameters for this function is the


Quote:> >     Apparenlty, CE will go into idle mode after no threads are ready to
run
> >after a specified time.
> Mostly correct. When the scheduler determines no threads are schedulable

it immediately (no time delay) goes in to OEMIdle. Which
Quote:> tranpareently suspends the Processor only.

> >[...] how do I communicate to the kernel that
> it's time to go into idle state?
> THe kernel scheduler will call OEMIdle on it's own.

> >The other question is, how do I get out of
> >idle state, i.e. how is CE notified that it should leave the idle state?
> Depends on the hardware. THe idle state is normally exited by an

interrupt. Often the reschedule timer. The idea is that only the
Quote:> processor is suspened in a low power state. This should be done in such a

way as to get it back to full power quickly.
Quote:> The OEMIdle implements the suspend and at resume continues where the

suspend occured (or an interrupt handler first) then simply
Quote:> returns.

> >     CE also supports suspend mode. In the help, they talk about an
> >inactivity timer and a PowerOffSystem function. Is this timer an
OAL-based
> >timer that I need to implement?
> No It's managed by the GWES module.

> > What about PowerOffSystem, where can I get more info on it?
> I'ts undocumented at this time.

> > How do I get out of suspend mode?
> Hardware dependent. (Normally a processor reset of some form)

> --
> Steve Maillet
> Entelechy Software Consulting
> "Where hardware meets software"
> www.EntelechyConsulting.com
> Home of the Embedding Windows CE FAQ
> smaillet at EntelechyConsulting dot com

 
 
 

Power Management in CE

Post by Larry » Fri, 20 Aug 1999 04:00:00


How do I call PewrOffSystem, are there any header or other files I need?


Quote:> SPI_SETWAKEUPIDLETIMEOUT is for the Auto shut off (ultimately calls
OEMPowerOff)

> You can change that paramater to 0 to turn off the automatic suspend.
> Youcan use the (undocumented) PewrOffSystem function to cause a power
down.

> The IDLE is totally within the kernel and is transparent to apps and OAL

except for OEMIdle. IDLE cannot be turned off.
Quote:> --
> Steve Maillet
> Entelechy Software Consulting
> "Where hardware meets software"
> www.EntelechyConsulting.com
> Home of the Embedding Windows CE FAQ
> smaillet at EntelechyConsulting dot com

 
 
 

1. Power management for apps under CE.NET

I am looking for a way for an application to receive notifications of
imminent power state changes under CE.NET (e.g. suspend, resume, resume from
"critical" shut down etc.)

As far as I can see, the WM_POWERBROADCAST message, which provides this
info. on other Win32 environments, does not exist here.

Any ideas?

TIA
Daniel Pfeffer

2. Windows Update Fix

3. Question about Win CE Power Management

4. Carmen Sandiego Math Detective

5. Online Chat - Stellcom, Power Management for Windows CE .NET - March 6th 2002 12:00 PST (20:00 GMT)

6. IE6 error must shut down

7. Power Management Issue on CE.NET

8. Help! Can't view AVI's

9. Power management problem on CE .NET

10. Windows CE 3.0 PC Card power management

11. CE POWER MANAGEMENT How do I?

12. Power Management Standbye -Remote Management Wakeup

13. Power Management (power save) in NT.