X-Git-Url: http://git.scottworley.com/tattlekey/blobdiff_plain/17461dece177a2ca6e34a0cc7412b2352a1e8053..00ca9fa67636580409193bf7a9baf394113b4af8:/client/press.h diff --git a/client/press.h b/client/press.h new file mode 100644 index 0000000..b13f9a8 --- /dev/null +++ b/client/press.h @@ -0,0 +1,22 @@ +#ifndef SENDS_H +#define SENDS_H + +#include "pico/cyw43_arch.h" +#include "pico/util/pheap.h" + +typedef struct { + uint32_t timestamp; + u16_t seq; + u8_t send_count; +} press_t; + +bool next_send_less_than(void *user_data, pheap_node_id_t a, pheap_node_id_t b); + +void create_press(press_t *presses, pheap_t *sleeps_heap, uint32_t timestamp, + u16_t seq); + +/* When do we next need to send something (in seconds since boot)? + * Returns -1 if there's nothing pending. */ +int32_t next_scheduled_send(press_t *presses, pheap_t *sleeps_heap); + +#endif