zephyr/samples/power/power_mgr
Ramesh Thomas c759ed1f94 samples: power: Time is passed as milliseconds in tickless kernel
In tickless kernel mode, time parameter of _sys_soc_suspend is in
milliseconds. Based on the kernel mode use the correct
mulitplier to convert to seconds.

Jira:1821
Change-Id: Idf156f56ece79a82729ebb124d1552a5eeb69e25
Signed-off-by: Ramesh Thomas <ramesh.thomas@intel.com>
2017-04-27 13:46:35 +00:00
..
src samples: power: Time is passed as milliseconds in tickless kernel 2017-04-27 13:46:35 +00:00
Makefile samples: tests: remove obsolete KERNEL_TYPE and kernel variables 2016-11-04 15:47:25 -04:00
README.rst doc: add labels to sample docs 2017-04-04 20:48:08 +00:00
prj.conf samples: power_mgmt: Make samples unified kernel based 2016-11-03 14:43:50 -07:00
prj_tickless.conf samples: power: Time is passed as milliseconds in tickless kernel 2017-04-27 13:46:35 +00:00
testcase.ini samples: power_mgmt: Remove platform filtering of testcases 2016-11-16 02:18:27 +00:00

README.rst

.. _power-mgr-sample:

Power management demo
#####################

Overview
********

A sample implementation of a power manager app that uses the Zephyr
power management infrastructure.

This app will cycle through the various power schemes at every call
to _sys_soc_suspend() hook function.
It will cycle through the following states:

1. CPU Low Power State

2. Deep Sleep - demonstrates invoking suspend/resume handlers of
   devices to save device states and switching to deep sleep state.

3. No-op - no operation and letting kernel do its idle

Requirements
************

This application uses Intel Quark SE Microcontroller C1000 board for
the demo. It demonstrates power operations on the x86 and ARC cores in
the board.

.. note::

  PM support on Intel Quark SE Microcontroller C1000 board requires
  the latest version of the `boot loader
  <https://github.com/quark-mcu/qm-bootloader/releases>`_.


Building and Running
********************

.. code-block:: console

    make BOARD=<board>

Sample Output
=============

x86 core output
---------------

.. code-block:: console

  Power Management Demo on x86

  Application main thread

  Low power state entry!

  Low power state exit!
  Total Elapsed From Suspend To Resume = 131073 RTC Cycles
  Wake up event handler

  Application main thread

  Deep sleep entry!
  Wake from Deep Sleep!

  Deep sleep exit!
  Total Elapsed From Suspend To Resume = 291542 RTC Cycles
  Wake up event handler

  Application main thread

  No PM operations done

  Application main thread

  Low power state entry!

  Low power state exit!

  ...

ARC core output
---------------

.. code-block:: console

  Power Management Demo on arc

  Application main thread

  Low power state entry!

  Low power state exit!
  Total Elapsed From Suspend To Resume = 131073 RTC Cycles
  Wake up event handler

  Application main thread

  No PM operations done

  Application main thread

  Low power state entry!

  Low power state exit!

  ...