Loading...
Searching...
No Matches
timeout_helper.h
1/*
2 * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef _PICO_TIMEOUT_HELPER_H
8#define _PICO_TIMEOUT_HELPER_H
9
10#include "pico/time.h"
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
26
27typedef bool (*check_timeout_fn)(timeout_state_t *ts, bool reset);
28
29check_timeout_fn init_single_timeout_until(timeout_state_t *ts, absolute_time_t target);
30check_timeout_fn init_per_iteration_timeout_us(timeout_state_t *ts, uint64_t per_iteration_timeout_us);
31
32#ifdef __cplusplus
33}
34#endif
35
36#endif
struct timeout_state timeout_state_t
State used to track a timeout condition.
uint64_t absolute_time_t
An opaque 64 bit timestamp in microseconds.
Definition types.h:43
State used to track a timeout condition.
Definition timeout_helper.h:22
uint64_t param
Optional parameter (e.g. per-iteration duration in microseconds).
Definition timeout_helper.h:24
absolute_time_t next_timeout
Absolute time at which the timeout expires.
Definition timeout_helper.h:23