|
static absolute_time_t | get_absolute_time (void) |
| Return a representation of the current time.Returns an opaque high fidelity representation of the current time sampled during the call. More...
|
|
static uint32_t | us_to_ms (uint64_t us) |
|
static uint32_t | to_ms_since_boot (absolute_time_t t) |
| Convert a timestamp into a number of milliseconds since boot. More...
|
|
static absolute_time_t | delayed_by_us (const absolute_time_t t, uint64_t us) |
| Return a timestamp value obtained by adding a number of microseconds to another timestamp. More...
|
|
static absolute_time_t | delayed_by_ms (const absolute_time_t t, uint32_t ms) |
| Return a timestamp value obtained by adding a number of milliseconds to another timestamp. More...
|
|
static absolute_time_t | make_timeout_time_us (uint64_t us) |
| Convenience method to get the timestamp a number of microseconds from the current time. More...
|
|
static absolute_time_t | make_timeout_time_ms (uint32_t ms) |
| Convenience method to get the timestamp a number of milliseconds from the current time. More...
|
|
static int64_t | absolute_time_diff_us (absolute_time_t from, absolute_time_t to) |
| Return the difference in microseconds between two timestamps. More...
|
|
static absolute_time_t | absolute_time_min (absolute_time_t a, absolute_time_t b) |
| Return the earlier of two timestamps. More...
|
|
static bool | is_at_the_end_of_time (absolute_time_t t) |
| Determine if the given timestamp is "at_the_end_of_time". More...
|
|
static bool | is_nil_time (absolute_time_t t) |
| Determine if the given timestamp is nil. More...
|
|
void | sleep_until (absolute_time_t target) |
| Wait until after the given timestamp to return. More...
|
|
void | sleep_us (uint64_t us) |
| Wait for the given number of microseconds before returning. More...
|
|
void | sleep_ms (uint32_t ms) |
| Wait for the given number of milliseconds before returning. More...
|
|
bool | best_effort_wfe_or_timeout (absolute_time_t timeout_timestamp) |
| Helper method for blocking on a timeoutThis method will return in response to an event (as per __wfe) or when the target time is reached, or at any point before. More...
|
|
void | alarm_pool_init_default (void) |
| Create the default alarm pool (if not already created or disabled)
|
|
alarm_pool_t * | alarm_pool_get_default (void) |
| The default alarm pool used when alarms are added without specifying an alarm pool, and also used by the SDK to support lower power sleeps and timeouts. More...
|
|
alarm_pool_t * | alarm_pool_create (uint hardware_alarm_num, uint max_timers) |
| Create an alarm pool. More...
|
|
alarm_pool_t * | alarm_pool_create_with_unused_hardware_alarm (uint max_timers) |
| Create an alarm pool, claiming an used hardware alarm to back it. More...
|
|
uint | alarm_pool_hardware_alarm_num (alarm_pool_t *pool) |
| Return the hardware alarm used by an alarm pool. More...
|
|
uint | alarm_pool_core_num (alarm_pool_t *pool) |
| Return the core number the alarm pool was initialized on (and hence callbacks are called on) More...
|
|
void | alarm_pool_destroy (alarm_pool_t *pool) |
| Destroy the alarm pool, cancelling all alarms and freeing up the underlying hardware alarm. More...
|
|
alarm_id_t | alarm_pool_add_alarm_at (alarm_pool_t *pool, absolute_time_t time, alarm_callback_t callback, void *user_data, bool fire_if_past) |
| Add an alarm callback to be called at a specific timeGenerally the callback is called as soon as possible after the time specified from an IRQ handler on the core the alarm pool was created on. If the callback is in the past or happens before the alarm setup could be completed, then this method will optionally call the callback itself and then return a return code to indicate that the target time has passed. More...
|
|
alarm_id_t | alarm_pool_add_alarm_at_force_in_context (alarm_pool_t *pool, absolute_time_t time, alarm_callback_t callback, void *user_data) |
| Add an alarm callback to be called at or after a specific timeThe callback is called as soon as possible after the time specified from an IRQ handler on the core the alarm pool was created on. Unlike alarm_pool_add_alarm_at, this method guarantees to call the callback from that core even if the time is during this method call or in the past. More...
|
|
static alarm_id_t | alarm_pool_add_alarm_in_us (alarm_pool_t *pool, uint64_t us, alarm_callback_t callback, void *user_data, bool fire_if_past) |
| Add an alarm callback to be called after a delay specified in microsecondsGenerally the callback is called as soon as possible after the time specified from an IRQ handler on the core the alarm pool was created on. If the callback is in the past or happens before the alarm setup could be completed, then this method will optionally call the callback itself and then return a return code to indicate that the target time has passed. More...
|
|
static alarm_id_t | alarm_pool_add_alarm_in_ms (alarm_pool_t *pool, uint32_t ms, alarm_callback_t callback, void *user_data, bool fire_if_past) |
| Add an alarm callback to be called after a delay specified in millisecondsGenerally the callback is called as soon as possible after the time specified from an IRQ handler on the core the alarm pool was created on. If the callback is in the past or happens before the alarm setup could be completed, then this method will optionally call the callback itself and then return a return code to indicate that the target time has passed. More...
|
|
bool | alarm_pool_cancel_alarm (alarm_pool_t *pool, alarm_id_t alarm_id) |
| Cancel an alarm. More...
|
|
static alarm_id_t | add_alarm_at (absolute_time_t time, alarm_callback_t callback, void *user_data, bool fire_if_past) |
| Add an alarm callback to be called at a specific timeGenerally the callback is called as soon as possible after the time specified from an IRQ handler on the core of the default alarm pool (generally core 0). If the callback is in the past or happens before the alarm setup could be completed, then this method will optionally call the callback itself and then return a return code to indicate that the target time has passed. More...
|
|
static alarm_id_t | add_alarm_in_us (uint64_t us, alarm_callback_t callback, void *user_data, bool fire_if_past) |
| Add an alarm callback to be called after a delay specified in microsecondsGenerally the callback is called as soon as possible after the time specified from an IRQ handler on the core of the default alarm pool (generally core 0). If the callback is in the past or happens before the alarm setup could be completed, then this method will optionally call the callback itself and then return a return code to indicate that the target time has passed. More...
|
|
static alarm_id_t | add_alarm_in_ms (uint32_t ms, alarm_callback_t callback, void *user_data, bool fire_if_past) |
| Add an alarm callback to be called after a delay specified in millisecondsGenerally the callback is called as soon as possible after the time specified from an IRQ handler on the core of the default alarm pool (generally core 0). If the callback is in the past or happens before the alarm setup could be completed, then this method will optionally call the callback itself and then return a return code to indicate that the target time has passed. More...
|
|
static bool | cancel_alarm (alarm_id_t alarm_id) |
| Cancel an alarm from the default alarm pool. More...
|
|
bool | alarm_pool_add_repeating_timer_us (alarm_pool_t *pool, int64_t delay_us, repeating_timer_callback_t callback, void *user_data, repeating_timer_t *out) |
| Add a repeating timer that is called repeatedly at the specified interval in microsecondsGenerally the callback is called as soon as possible after the time specified from an IRQ handler on the core the alarm pool was created on. If the callback is in the past or happens before the alarm setup could be completed, then this method will optionally call the callback itself and then return a return code to indicate that the target time has passed. More...
|
|
static bool | alarm_pool_add_repeating_timer_ms (alarm_pool_t *pool, int32_t delay_ms, repeating_timer_callback_t callback, void *user_data, repeating_timer_t *out) |
| Add a repeating timer that is called repeatedly at the specified interval in millisecondsGenerally the callback is called as soon as possible after the time specified from an IRQ handler on the core the alarm pool was created on. If the callback is in the past or happens before the alarm setup could be completed, then this method will optionally call the callback itself and then return a return code to indicate that the target time has passed. More...
|
|
static bool | add_repeating_timer_us (int64_t delay_us, repeating_timer_callback_t callback, void *user_data, repeating_timer_t *out) |
| Add a repeating timer that is called repeatedly at the specified interval in microsecondsGenerally the callback is called as soon as possible after the time specified from an IRQ handler on the core of the default alarm pool (generally core 0). If the callback is in the past or happens before the alarm setup could be completed, then this method will optionally call the callback itself and then return a return code to indicate that the target time has passed. More...
|
|
static bool | add_repeating_timer_ms (int32_t delay_ms, repeating_timer_callback_t callback, void *user_data, repeating_timer_t *out) |
| Add a repeating timer that is called repeatedly at the specified interval in millisecondsGenerally the callback is called as soon as possible after the time specified from an IRQ handler on the core of the default alarm pool (generally core 0). If the callback is in the past or happens before the alarm setup could be completed, then this method will optionally call the callback itself and then return a return code to indicate that the target time has passed. More...
|
|
bool | cancel_repeating_timer (repeating_timer_t *timer) |
| Cancel a repeating timer. More...
|
|