Initial commit

This commit is contained in:
Joppe Blondel
2026-09-28 13:17:35 +02:00
commit 67ec3c9a65
7 changed files with 403 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
#include "circ_buf.h"
void buffer_init(volatile circular_buffer_t* b){
b->count = 0;
b->head = 0;
b->tail = 0;
}
uint8_t buffer_is_full(volatile circular_buffer_t* b){
return b->count == BUFFER_SIZE;
}
uint8_t buffer_is_empty(volatile circular_buffer_t* b){
return b->count == 0;
}
uint8_t buffer_enqueue(volatile circular_buffer_t* b, char c){
if(buffer_is_full(b))
return 0;
b->data[b->head] = c;
b->head = (b->head+1)%BUFFER_SIZE;
b->count++;
return 1;
}
uint8_t buffer_dequeue(volatile circular_buffer_t* b, char* c){
if(buffer_is_empty(b))
return 0;
*c = b->data[b->tail];
b->tail = (b->tail+1)%BUFFER_SIZE;
b->count--;
return 1;
}