Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
nrf_rtc_timer.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016-2020 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DRIVERS_TIMER_NRF_RTC_TIMER_H
8#define ZEPHYR_INCLUDE_DRIVERS_TIMER_NRF_RTC_TIMER_H
9
10#include <sys_clock.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
18#define NRF_RTC_TIMER_MAX_SCHEDULE_SPAN BIT(23)
19
33typedef void (*z_nrf_rtc_timer_compare_handler_t)(int32_t id,
34 uint64_t expire_time,
35 void *user_data);
36
44int32_t z_nrf_rtc_timer_chan_alloc(void);
45
50void z_nrf_rtc_timer_chan_free(int32_t chan);
51
56uint64_t z_nrf_rtc_timer_read(void);
57
66uint32_t z_nrf_rtc_timer_compare_evt_address_get(int32_t chan);
67
78uint32_t z_nrf_rtc_timer_capture_task_address_get(int32_t chan);
79
88bool z_nrf_rtc_timer_compare_int_lock(int32_t chan);
89
98void z_nrf_rtc_timer_compare_int_unlock(int32_t chan, bool key);
99
106uint32_t z_nrf_rtc_timer_compare_read(int32_t chan);
107
131int z_nrf_rtc_timer_set(int32_t chan, uint64_t target_time,
132 z_nrf_rtc_timer_compare_handler_t handler,
133 void *user_data);
134
145void z_nrf_rtc_timer_abort(int32_t chan);
146
155uint64_t z_nrf_rtc_timer_get_ticks(k_timeout_t t);
156
168int z_nrf_rtc_timer_nrf53net_offset_get(void);
169#ifdef __cplusplus
170}
171#endif
172
173#endif /* ZEPHYR_INCLUDE_DRIVERS_TIMER_NRF_RTC_TIMER_H */
struct k_thread t
Definition: kobject.c:1321
static k_spinlock_key_t key
Definition: spinlock_error_case.c:14
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
__INT32_TYPE__ int32_t
Definition: stdint.h:44
__UINT64_TYPE__ uint64_t
Definition: stdint.h:61
Kernel timeout type.
Definition: sys_clock.h:65
static void handler(struct k_timer *timer)
Definition: main.c:19
static const intptr_t user_data[5]
Definition: main.c:590