The latest development version of this page may be more current than this released 2.3-beta.1 version.

TIMER API Reference

TIMER

struct wm_drv_timer_cfg_t

TIMER configuration.

typedef wm_hal_timer_unit_t wm_drv_timer_unit

TIMER unit type.

typedef void (*wm_drv_timer_callback_t)(void *arg)

TIMER callback type.

wm_device_t *wm_drv_timer_init(char *dev_name)

Init timer.

Parameters:

dev_name[in] device name, like “timer0”,”timer1”…

Returns:

  • device handle, use

    • wm_device_t

  • NULL: failed

int wm_drv_timer_deinit(wm_device_t *dev)

Deinit timer.

Parameters:

dev[in] device handle, use

  • wm_device_t

Returns:

  • WM_ERR_SUCCESS: succeed

  • others: failed

int wm_drv_timer_start(wm_device_t *dev, wm_drv_timer_cfg_t timer_cfg)

Start timer.

Parameters:
  • dev[in] device handle, use

    • wm_device_t

  • timer_cfg[in] timer cfg, use

Returns:

  • WM_ERR_SUCCESS: succeed

  • others: failed

int wm_drv_timer_stop(wm_device_t *dev)

Stop timer.

Parameters:

dev[in] device handle, use

  • wm_device_t

Returns:

  • WM_ERR_SUCCESS: succeed

  • others: failed

int wm_drv_timer_set_period(wm_device_t *dev, uint32_t period)

Set timer period. Timer will restart for this.

Parameters:
  • dev[in] device handle, use

    • wm_device_t

  • period[in] timer period, unit decided by

Returns:

  • WM_ERR_SUCCESS: succeed

  • others: failed

int wm_drv_timer_set_auto_reload(wm_device_t *dev, bool auto_reload)

Set timer autoreload. Timer will restart for this.

Parameters:
  • dev[in] device handle, use

    • wm_device_t

  • auto_reload[in] timer autoreload

Returns:

  • WM_ERR_SUCCESS: succeed

  • others: failed

int wm_drv_timer_get_counter(wm_device_t *dev, uint32_t *counter)

Get timer counter.

Parameters:
  • dev[in] device handle, use

    • wm_device_t

  • counter[out] timer counter, unit decided by

Returns:

  • WM_ERR_SUCCESS: succeed

  • others: failed

int wm_drv_timer_register_callback(wm_device_t *dev, wm_drv_timer_callback_t timer_callback, void *arg)

Register timer isr.

Parameters:
  • dev[in] device handle, use

    • wm_device_t

  • timer_callback[in] timer isr handle, use

    • wm_drv_timer_callback_t

  • arg[in] private data

Returns:

  • WM_ERR_SUCCESS: succeed

  • others: failed

int wm_drv_timer_unregister_callback(wm_device_t *dev)

Unregister timer isr.

Parameters:

dev[in] device handle, use

  • wm_device_t

Returns:

  • WM_ERR_SUCCESS: succeed

  • others: failed