23 lines
419 B
C
23 lines
419 B
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
#define RINGBUF_SIZE 10
|
|
|
|
typedef struct {
|
|
uint32_t ts_ms;
|
|
int value;
|
|
} sample_t;
|
|
|
|
typedef struct {
|
|
sample_t values[RINGBUF_SIZE];
|
|
int head;
|
|
} ringbuf_t;
|
|
|
|
// Инициализация
|
|
void ringbuf_init(ringbuf_t *rb);
|
|
|
|
// Добавить значение
|
|
void ringbuf_push(ringbuf_t *rb, uint32_t ts_ms, int v);
|
|
|
|
void ringbuf_copy(const ringbuf_t *rb, sample_t *out); |