Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@yashi
Last active November 4, 2021 18:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yashi/3d0ed53ff488ef26f33ff54972d5d342 to your computer and use it in GitHub Desktop.
Save yashi/3d0ed53ff488ef26f33ff54972d5d342 to your computer and use it in GitHub Desktop.
#include <zephyr.h>
#include <sys/printk.h>
#include <sys/ring_buffer.h>
#define RING_BUF_SIZE 10
RING_BUF_ITEM_DECLARE_SIZE(ringbuf, RING_BUF_SIZE);
void dump(struct ring_buf *r, uint32_t ret)
{
printk("ret %3u, size %3u space %3u head %3u tail %3u\n",
ret,
ringbuf.size, ring_buf_space_get(r),
r->head, r->tail);
}
void main(void)
{
uint32_t ret = 0;
char buf;
dump(&ringbuf, ret);
ret = ring_buf_put(&ringbuf, "0", 1);
dump(&ringbuf, ret);
ret = ring_buf_put(&ringbuf, "12345678", 8);
dump(&ringbuf, ret);
ret = ring_buf_put(&ringbuf, "a", 1);
dump(&ringbuf, ret);
ret = ring_buf_put(&ringbuf, "b", 1);
dump(&ringbuf, ret);
ret = ring_buf_put(&ringbuf, "c", 1);
dump(&ringbuf, ret);
ret = ring_buf_get(&ringbuf, &buf, 1);
dump(&ringbuf, ret);
ret = ring_buf_put(&ringbuf, "d", 1);
dump(&ringbuf, ret);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment