FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [March 2006 Threads] How to enter power save?Posted by Nobody/Anonymous on March 8, 2006 Hi,
I would like to enter power save mode after e.g 5 second, when nothing has happend.
How to implement this in smart way?
Nothing has happend does not mean that the system has been in the idle task all the time, only that no key has been pressed, no data arived thru USB and serial port.
regards, Frank
RE: How to enter power save?Posted by Nobody/Anonymous on March 8, 2006 You can place the system into sleep mode whenever the idle task runs. This way you do not have to keep a timer to say when the last event occurs. You just have to ensure that the sleep mode used will wake the task when an interrupt occurs (USB, Keyboard, timer interrupt, etc).
Set configUSE_IDLE_HOOK to 1 in FreeRTOSConfig.h, then write the idle hook as:
void vApplicationIdleHook( void ) { // Set sleep mode here. }
RE: How to enter power save?Posted by Nobody/Anonymous on March 9, 2006 Well, I want to be able to control the time elapsed before entering sleep mode.
So how do I ensure that the idle_hook is not running?
regards, Frank
RE: How to enter power save?Posted by Nobody/Anonymous on March 9, 2006 Could you use a tick hook? A function that runs each time the context switch occurs. From there you could reset a counter each time a function that is not the idle task runs. Then in the idle task you could check this counter and when it reaches your timeout, it can call sleep function.
RE: How to enter power save?Posted by Nobody/Anonymous on March 10, 2006 Yes, but not all task that are made runing by a context switch, means that anything has happend.
If I could somehow reset the counter only when a context switch to a task of certain priority is made, I think it could work.
But is that possible?
regards, Frank.
RE: How to enter power save?Posted by Nobody/Anonymous on March 10, 2006 You can do this from a tick hook. The priority of the task that will run at the end of the tick is given by pxCurrentTCB->uxPriority. You can use this to do what you want (I think?).
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|