Menu Toggle
v2.3.1 (RP2350)
Toggle main menu visibility
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
13
extern
"C"
{
14
#endif
15
22
typedef
struct
timeout_state
{
23
absolute_time_t
next_timeout
;
24
uint64_t
param
;
25
}
timeout_state_t
;
26
27
typedef
bool (*check_timeout_fn)(
timeout_state_t
*ts,
bool
reset);
28
29
check_timeout_fn init_single_timeout_until(
timeout_state_t
*ts,
absolute_time_t
target);
30
check_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
time.h
timeout_state_t
struct timeout_state timeout_state_t
State used to track a timeout condition.
absolute_time_t
uint64_t absolute_time_t
An opaque 64 bit timestamp in microseconds.
Definition
types.h:43
timeout_state
State used to track a timeout condition.
Definition
timeout_helper.h:22
timeout_state::param
uint64_t param
Optional parameter (e.g. per-iteration duration in microseconds).
Definition
timeout_helper.h:24
timeout_state::next_timeout
absolute_time_t next_timeout
Absolute time at which the timeout expires.
Definition
timeout_helper.h:23