| ISF 2.1 Intelligent Sensing Framework for Kinetis with Processor Expert

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Functions | Variables
pm.c File Reference

Implements the ISF power management. More...

`#include "isf_target.h"`
`#include "isf.h"`
`#include "lwevent.h"`
`#include "lwsem.h"`
`#include "mutex.h"`
`#include "lwmem.h"`
`#include "isf_bm.h"`
`#include "isf_pm.h"`
`#include "pm_internal.h"`
`#include "cortex.h"`
`#include "Cpu.h"`
Include dependency graph for pm.c:

Go to the source code of this file.

## Functions
void | isr_pm_callback_sof (pointer dummy)
void | task_idle (uint32 initial_data)
isf_status_t | pm_init (void)
| This API initializes the Power Manager. More...
power_level_t | isf_power_set (power_level_t aLevel)
| This API sets the requested power level for power management. More...
power_level_t | isf_power_get (void)
| This API returns the current power level for power management. More...

## Variables
volatile uint_32 | bsptimer_counter32

## Detailed Description

Implements the ISF power management.

Definition in file pm.c.

## Function Documentation

power_level_t isf_power_get | ( | void |  | ) |

This API returns the current power level for power management.

The current power level setting of the Power Manager is returned.

Returns
  isf_power_get() returns a value of type power_level_t indicating the current power setting.

Constraints:
  The following constraints must be observed when using this function. If these constraints are not met, this API returns an error.
  - pm_init() must be invoked prior to using this function.

Reentrant: Yes

Link Libraries:
  isf_core.lib

See also
  isf_power_set(), power_level_t

Definition at line 149 of file pm.c.

power_level_t isf_power_set | ( | power_level_t | aLevel | ) |

This API sets the requested power level for power management.

The Power Manager provides the capability to automatically control the power mode when the system is idle. Part of the power management is an idle task running at the lowest system priority. When all higher-priority tasks are blocked waiting for events, the idle task is executed. In the idle task, the system power state is set to one of the states described by the pm_power_level_enum values as specified as the argument to this API call.

The user may retrieves the current power level setting by invoking isf_power_get().

Parameters

  [in] | aLevel | Power level of type power_level_t to set in the Power Manager.

Returns
  isf_power_set() returns a value of type power_level_t indicating the aLevel power setting. If aLevel is invalid, then the current power setting is returned.

Constraints:
  The following constraints must be observed when using this function. If these constraints are not met, this API returns an error.
  - pm_init() must be invoked prior to using this function.

Reentrant: Yes

Link Libraries:
  isf_core.lib

See also
  isf_power_get(), power_level_t

Definition at line 57 of file pm.c.

References ISF_POWER_LOW, ISF_POWER_NORMAL, and ISF_POWER_SLEEP.

Referenced by App1_ci_app_callback().

Here is the caller graph for this function:

void isr_pm_callback_sof | ( | pointer | dummy | ) |

isf_status_t pm_init | ( | void |  | ) |

This API initializes the Power Manager.

The Power Manager requires a one-time initialization at system startup performed by this API call. It creates and initializes internal variables, and installs an interrupt service routine for the digital frame interrupt.

Returns
  isf_status_t pm_init() returns a value of type isf_status_t indicating the status of the initialization operation.

Return values

  ISF_SUCCESS | The initialization completes successfully.
  ISF_ERR_LIB_INIT | Internal synchronization objects could not be created.

Constraints:
  None

Reentrant: No

Link Libraries:
  isf_core.lib

Definition at line 44 of file pm.c.

References ISF_ERR_LIB_INIT, and ISF_SUCCESS.

Referenced by isf_lib_init().

Here is the caller graph for this function:

void task_idle | ( | uint32 | initial_data | ) |

Definition at line 156 of file pm.c.

References ISF_POWER_LOW, ISF_POWER_NORMAL, and ISF_POWER_SLEEP.

Referenced by PM_task().

Here is the caller graph for this function:

## Variable Documentation

volatile uint_32 bsptimer_counter32

- © Freescale Semiconductor, Inc. 2015. All Rights Reserved.