fixed cb_double

master
adragott 5 years ago
parent cb8ce33584
commit 3b75d1609b

Binary file not shown.

Binary file not shown.

@ -354,7 +354,10 @@ PB_CB_STATUS p_cb_double_init(p_cb_double* circ_buffer, double* buff, uint32_t m
ret = PB_CB_BAD_BUFFER_SIZE;
break;
}
circ_buffer->max_len = max_length;
printf("init\r\n");
circ_buffer->buffer = buff;
circ_buffer->max_len = (uint16_t)max_length;
circ_buffer->head = 0;
circ_buffer->push = p_cb_double_push;
circ_buffer->empty = p_cb_double_empty;
circ_buffer->empty(circ_buffer);
@ -381,7 +384,6 @@ PB_CB_STATUS p_cb_double_push(p_cb_double* cbuffer, double value)
{
cbuffer->buffer[cbuffer->head] = value;
cbuffer->head = (cbuffer->head + 1) % cbuffer->max_len;
printf("head: %d\r\n", cbuffer->max_len);
}
// Debugging

@ -1,21 +1,27 @@
#include <stdio.h>
#include <inttypes.h>
#include <PCircularBuffer.h>
int main()
{
const uint16_t maxlength = 16;
double my_buffer[maxlength];
p_cb_double data;
for(int ind = 0; ind < 2; ind++)
p_cb_double_init(&data, my_buffer, 16);
for(int x = 0; x < 32; x++)
{
for(int x = 0; x < 16; x++)
if( x < 16)
{
printf("[%02d] Before: %02lf\t", x, data.buffer[x]);
data.push(&data, (double)x);
printf("[%02d] After: %02lf\r\n", x, data.buffer[x]);
}
else
{
printf("[%02d] Before: %02lf\t", x - 16, data.buffer[x - 16]);
data.push(&data, (double)x);
printf("[%02d] After: %02lf\r\n", x - 16, data.buffer[x - 16]);
}
}
int x = 5;
printf("%d\r\n", x);
return 0;
}
Loading…
Cancel
Save