![]() |
EVE 1.0
|
Header file for the EVE millisecond-scale work scheduling. More...
#include <stdbool.h>
#include <stdint.h>
#include <lib/dlist.h>
#include <core/work.h>
#include <nrf52.h>
#include <hal/nrf_rtc.h>
Go to the source code of this file.
Data Structures | |
struct | mwork_t |
Macros | |
#define | MWORK_COUNTER_WIDTH (24) |
#define | MWORK_GUARD_WIDTH (2) |
#define | MWORK_EFFECTIVE_WIDTH (MWORK_COUNTER_WIDTH - MWORK_GUARD_WIDTH) |
#define | MWORK_TIME_MASK ((1 << MWORK_EFFECTIVE_WIDTH) - 1) |
#define | MWORK_ROUND_TIME(tick) ((tick) & MWORK_TIME_MASK) |
#define | MWORK_TIME_SPAN_IS_NEGATIVE(span) (((span) & (1 << (MWORK_EFFECTIVE_WIDTH - 1))) != 0) |
#define | MWORK_MSEC(ms) MS_TO_TICKS(ms) |
#define | MWORK_INIT(x, callback) |
#define | MWORK_INIT_TYPED(x, callback) (struct mwork_t) MWORK_INIT(x, callback) |
#define | DECLARE_MWORK(x, callback) struct mwork_t x = MWORK_INIT(x, callback) |
Typedefs | |
typedef uint32_t | mwork_time_t |
typedef void(* | mwork_cb_t) (struct mwork_t *work) |
Functions | |
static mwork_time_t | mwork_now () |
void | mwork_schedule (struct mwork_t *work) |
void | mwork_cancel (struct mwork_t *work) |
static bool | mwork_pending (struct mwork_t *work) |
void | mwork_timer (void) |
Header file for the EVE millisecond-scale work scheduling.
Definition in file mwork.h.