diff options
| author | Jun Wako <wakojun@gmail.com> | 2015-04-22 14:35:20 +0900 |
|---|---|---|
| committer | Jun Wako <wakojun@gmail.com> | 2015-04-22 14:35:20 +0900 |
| commit | e98b80072371ab0b4a2ffe573ddeec4b9c72aa8d (patch) | |
| tree | e260a7413756cc2aebd9630a216093411ba829a3 /common/ring_buffer.h | |
| parent | d5482f29f46174bfa8854653f8a6cab5af97085e (diff) | |
Move ring_buffer.h file
Diffstat (limited to 'common/ring_buffer.h')
| -rw-r--r-- | common/ring_buffer.h | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/common/ring_buffer.h b/common/ring_buffer.h deleted file mode 100644 index 7bdebbcf34..0000000000 --- a/common/ring_buffer.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef RING_BUFFER_H -#define RING_BUFFER_H -/*-------------------------------------------------------------------- - * Ring buffer to store scan codes from keyboard - *------------------------------------------------------------------*/ -#define RBUF_SIZE 32 -static uint8_t rbuf[RBUF_SIZE]; -static uint8_t rbuf_head = 0; -static uint8_t rbuf_tail = 0; -static inline void rbuf_enqueue(uint8_t data) -{ - uint8_t sreg = SREG; - cli(); - uint8_t next = (rbuf_head + 1) % RBUF_SIZE; - if (next != rbuf_tail) { - rbuf[rbuf_head] = data; - rbuf_head = next; - } else { - print("rbuf: full\n"); - } - SREG = sreg; -} -static inline uint8_t rbuf_dequeue(void) -{ - uint8_t val = 0; - - uint8_t sreg = SREG; - cli(); - if (rbuf_head != rbuf_tail) { - val = rbuf[rbuf_tail]; - rbuf_tail = (rbuf_tail + 1) % RBUF_SIZE; - } - SREG = sreg; - - return val; -} -static inline bool rbuf_has_data(void) -{ - uint8_t sreg = SREG; - cli(); - bool has_data = (rbuf_head != rbuf_tail); - SREG = sreg; - return has_data; -} -static inline void rbuf_clear(void) -{ - uint8_t sreg = SREG; - cli(); - rbuf_head = rbuf_tail = 0; - SREG = sreg; -} - -#endif /* RING_BUFFER_H */ |
