]>
Commit | Line | Data |
---|---|---|
2dcbb2a0 SW |
1 | #ifndef SENDS_H |
2 | #define SENDS_H | |
3 | ||
4 | #include "pico/cyw43_arch.h" | |
5 | #include "pico/util/pheap.h" | |
6 | ||
7 | typedef struct { | |
8 | uint32_t timestamp; | |
9 | u16_t seq; | |
10 | u8_t send_count; | |
17461dec | 11 | } press_t; |
2dcbb2a0 | 12 | |
e3ff9e0d SW |
13 | typedef struct { |
14 | press_t *presses; | |
15 | pheap_t *sleeps_heap; | |
16 | } press_pile_t; | |
17 | ||
18 | press_pile_t *create_press_pile(); | |
2dcbb2a0 | 19 | |
f68e05b2 SW |
20 | /* Adds this press to the pile. |
21 | * Copies the contents of `press`. */ | |
22 | void add_press(press_pile_t *pp, press_t *press); | |
67001c93 | 23 | |
b512ec26 SW |
24 | /* When do we next need to send something (in seconds since boot)? |
25 | * Returns -1 if there's nothing pending. */ | |
e3ff9e0d | 26 | int32_t next_scheduled_send(press_pile_t *pp); |
b512ec26 | 27 | |
2dcbb2a0 | 28 | #endif |