Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
Loading...
Searching...
No Matches
ring_buffer.h
Go to the documentation of this file.
1/*
2 * General purpose circular buffer
3 *
4 * Copyright (C) 2021 Fabien-B <fabien-b@github.com>
5 *
6 * This file is part of paparazzi. See LICENCE file.
7 */
8
9#pragma once
10#include <inttypes.h>
11#include <stddef.h>
12
13
14typedef struct {
17 size_t size;
20
21
25void ring_buffer_init (ring_buffer_t *ring_buffer, uint8_t *buf, size_t size);
26
31size_t ring_buffer_write(ring_buffer_t *ring_buffer, uint8_t* data, size_t len);
32
38
43
48
uint16_t foo
Definition main_demo5.c:58
size_t ring_buffer_write(ring_buffer_t *ring_buffer, uint8_t *data, size_t len)
Write.
Definition ring_buffer.c:33
size_t ring_buffer_free_space(ring_buffer_t *ring_buffer)
Definition ring_buffer.c:29
size_t write_offset
Definition ring_buffer.h:16
uint8_t * buf
Definition ring_buffer.h:18
size_t read_offset
Definition ring_buffer.h:15
size_t ring_buffer_read(ring_buffer_t *ring_buffer, uint8_t *read_buffer, size_t len)
Read.
Definition ring_buffer.c:58
void ring_buffer_init(ring_buffer_t *ring_buffer, uint8_t *buf, size_t size)
Init.
Definition ring_buffer.c:13
size_t ring_buffer_available(ring_buffer_t *ring_buffer)
Definition ring_buffer.c:20
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.