diff options
author | QMK Bot <hello@qmk.fm> | 2021-02-07 23:16:47 +0000 |
---|---|---|
committer | QMK Bot <hello@qmk.fm> | 2021-02-07 23:16:47 +0000 |
commit | 3a98bd75c88c5cc64aed72b9d2e3a8857d949fed (patch) | |
tree | 7edcbbfa0c0efd16e456d6012f90833922d3bb3c /tmk_core/ring_buffer.h | |
parent | b8031a1613290ada50f4cb746216fcae90d8935d (diff) | |
parent | 99bffc2a21ebed07fd767ad2a9a7e1aadd491ef3 (diff) |
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'tmk_core/ring_buffer.h')
-rw-r--r-- | tmk_core/ring_buffer.h | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/tmk_core/ring_buffer.h b/tmk_core/ring_buffer.h deleted file mode 100644 index 8f887c8f74..0000000000 --- a/tmk_core/ring_buffer.h +++ /dev/null @@ -1,45 +0,0 @@ -#pragma once - -/*-------------------------------------------------------------------- - * Ring buffer to store scan codes from keyboard - *------------------------------------------------------------------*/ -#ifndef RBUF_SIZE -# define RBUF_SIZE 32 -#endif -#include <util/atomic.h> -#include <stdint.h> -#include <stdbool.h> -static uint8_t rbuf[RBUF_SIZE]; -static uint8_t rbuf_head = 0; -static uint8_t rbuf_tail = 0; -static inline bool rbuf_enqueue(uint8_t data) { - bool ret = false; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { - uint8_t next = (rbuf_head + 1) % RBUF_SIZE; - if (next != rbuf_tail) { - rbuf[rbuf_head] = data; - rbuf_head = next; - ret = true; - } - } - return ret; -} -static inline uint8_t rbuf_dequeue(void) { - uint8_t val = 0; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { - if (rbuf_head != rbuf_tail) { - val = rbuf[rbuf_tail]; - rbuf_tail = (rbuf_tail + 1) % RBUF_SIZE; - } - } - - return val; -} -static inline bool rbuf_has_data(void) { - bool has_data; - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { has_data = (rbuf_head != rbuf_tail); } - return has_data; -} -static inline void rbuf_clear(void) { - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { rbuf_head = rbuf_tail = 0; } -} |