| nRF5 SDK v12.0.0 |

Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Modules | Typedefs | Enumerations | Functions
Simple Timer
SDK common libraries

Simple timer module. More...

## Modules
| Simple application timer functionality configuration

## Typedefs
typedef void(* | app_simple_timer_timeout_handler_t )(void *p_context)
| Timer time-out handler type.

## Enumerations
enum | app_simple_timer_mode_t { APP_SIMPLE_TIMER_MODE_SINGLE_SHOT, APP_SIMPLE_TIMER_MODE_REPEATED }
| Timer modes. More...

## Functions
uint32_t | app_simple_timer_init (void)
| Function for configuring and setting up the timer hardware. More...
uint32_t | app_simple_timer_start (app_simple_timer_mode_t mode, app_simple_timer_timeout_handler_t timeout_handler, uint16_t timeout_ticks, void *p_context)
| Function for starting a timer. More...
uint32_t | app_simple_timer_stop (void)
| Function for stopping the timer. More...
uint32_t | app_simple_timer_uninit (void)
| Function for uninitializing the timer. Should be called also when the timer is not used anymore to reach lowest power consumption in system. More...

## Detailed Description

Simple timer module.

Supported features and limitations:

- Two modes: single shot mode and repeated mode.
- No more than one timer can run simultaneously.
- The timer is hard-coded to use the TIMER1 peripheral and compare channel 0.

## Enumeration Type Documentation

enum app_simple_timer_mode_t

Timer modes.

Enumerator
APP_SIMPLE_TIMER_MODE_SINGLE_SHOT | The timer will expire only once.
APP_SIMPLE_TIMER_MODE_REPEATED | The timer will restart each time it expires.

## Function Documentation

uint32_t app_simple_timer_init | ( | void |  | ) |

Function for configuring and setting up the timer hardware.

Note
  Timer frequency is configured statically.

Return values

  NRF_SUCCESS | If the operation is successful.
  NRF_ERROR_INVALID_STATE | If the operation fails because the timer is already initialized.
  NRF_ERROR_INVALID_PARAM | If the operation fails because some configuration parameter is not valid.

uint32_t app_simple_timer_start | ( | app_simple_timer_mode_t | mode,
|  | app_simple_timer_timeout_handler_t | timeout_handler,
|  | uint16_t | timeout_ticks,
|  | void * | p_context
| ) |  |

Function for starting a timer.

Note
  If this function is called for a timer that is already running, the currently running timer is stopped before starting the new one.

Parameters

  [in] | mode | Timer mode (see app_simple_timer_mode_t).
  [in] | timeout_handler | Function to be executed when the timer expires (see app_simple_timer_timeout_handler_t).
  [in] | timeout_ticks | Number of timer ticks to time-out event.
  [in] | p_context | General purpose pointer. Will be passed to the time-out handler when the timer expires.

Return values

  NRF_SUCCESS | If the operation is successful.
  NRF_ERROR_INVALID_STATE | If the operation fails because app_simple_timer_init has not been called and the operation is not allowed in this state.
  NRF_ERROR_NULL | If the operation fails because timeout_handler is NULL.
  NRF_ERROR_INVALID_PARAM | If the operation fails because "mode" parameter is not valid.

uint32_t app_simple_timer_stop | ( | void |  | ) |

Function for stopping the timer.

Return values

  NRF_SUCCESS | If the operation is successful.

uint32_t app_simple_timer_uninit | ( | void |  | ) |

Function for uninitializing the timer. Should be called also when the timer is not used anymore to reach lowest power consumption in system.

Note
  The function switches off the internal core of the timer to reach lowest power consumption in system. The startup time from this state may be longer compared to starting the timer from the stopped state.

Return values

  NRF_SUCCESS | If the operation is successful.