| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #include <stdio.h>
- #include <string.h>
- #include "ringbuffer.h"
- int main(int argc, char *argv[])
- {
- ringbuffer_st ringbuffer;
- ringbuffer_init(&ringbuffer, 1024);
- memset(ringbuffer.data, 0 ,1024);
- ringbuffer.head = 128;
- ringbuffer.tail = 128;
- ringbuffer.buffer_size = 0;
- char buffer[128];
- for(int i=0;i<128;i++)
- {
- buffer[i] = i;
- }
- ringbuffer_append(&ringbuffer, buffer, 128);
- data_t data;
- int ret = ringbuffer_data(ringbuffer, &data, 127);
- if(ret == 0)
- printf("read data: 0x%02x\n", data);
- else
- printf("out of range\n");
- ret = ringbuffer_data(ringbuffer, &data, 128);
- if(ret == 0)
- printf("read data: 0x%02x\n", data);
- else
- printf("out of range\n");
- ringbuffer_print(ringbuffer, true);
- char temp[512];
- int read_size = ringbuffer_read(ringbuffer, temp, 18);
- printf("read size: %d\n", read_size);
- for(int i=0;i<read_size;i++)
- {
- printf("0x%02x %d\n", temp[i], temp[i]);
- }
- ringbuffer_popup(&ringbuffer, read_size);
- ringbuffer_print(ringbuffer, false);
- ringbuffer_popup(&ringbuffer, 128);
- ringbuffer_print(ringbuffer, false);
- printf("ringbuffer empty: %s\n", ringbuffer_empty(ringbuffer) ? "true" : "false");
- ringbuffer_release(&ringbuffer);
- return 0;
- }
|