From 2dcbb2a0df003ac8a644c9111c3b7b7f2db42aaa Mon Sep 17 00:00:00 2001 From: Scott Worley Date: Mon, 9 Oct 2023 16:51:08 -0700 Subject: [PATCH 1/1] client: Start moving pending-sends logic out to sends.c --- client/CMakeLists.txt | 1 + client/sends.c | 11 +++++++++++ client/sends.h | 17 +++++++++++++++++ client/tattlekey.c | 17 +---------------- 4 files changed, 30 insertions(+), 16 deletions(-) create mode 100644 client/sends.c create mode 100644 client/sends.h diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 7714c1e..74a4189 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -12,6 +12,7 @@ add_executable(tattlekey button.c config.c net.c + sends.c tattlekey.c ) diff --git a/client/sends.c b/client/sends.c new file mode 100644 index 0000000..c060792 --- /dev/null +++ b/client/sends.c @@ -0,0 +1,11 @@ +#include "sends.h" + +uint32_t next_send(send_t *s) { + return s->timestamp + (1 << s->send_count) - 1; +} + +bool next_send_less_than(void *user_data, pheap_node_id_t a, + pheap_node_id_t b) { + send_t *sends = (send_t *)user_data; + return next_send(&sends[a]) < next_send(&sends[b]); +} diff --git a/client/sends.h b/client/sends.h new file mode 100644 index 0000000..02d49db --- /dev/null +++ b/client/sends.h @@ -0,0 +1,17 @@ +#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; +} send_t; + +uint32_t next_send(send_t *s); + +bool next_send_less_than(void *user_data, pheap_node_id_t a, pheap_node_id_t b); + +#endif diff --git a/client/tattlekey.c b/client/tattlekey.c index c38de12..48db1b7 100644 --- a/client/tattlekey.c +++ b/client/tattlekey.c @@ -7,22 +7,7 @@ #include "button.h" #include "config.h" #include "net.h" - -typedef struct { - uint32_t timestamp; - u16_t seq; - u8_t send_count; -} send_t; - -uint32_t next_send(send_t *s) { - return s->timestamp + (1 << s->send_count) - 1; -} - -bool next_send_less_than(void *user_data, pheap_node_id_t a, - pheap_node_id_t b) { - send_t *sends = (send_t *)user_data; - return next_send(&sends[a]) < next_send(&sends[b]); -} +#include "sends.h" enum event_type { BUTTONPRESS, SEND }; typedef struct { -- 2.44.1