From be98d13782b05e7659f601980ef695a493d6bee1 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Wed, 21 Aug 2024 17:29:28 +0800 Subject: [PATCH] Add infrared source code --- booster/ringbuf.h | 49 +++++++++++++++++++++++-------------------------- 1 files changed, 23 insertions(+), 26 deletions(-) diff --git a/booster/ringbuf.h b/booster/ringbuf.h index 23553cc..e33ba6d 100644 --- a/booster/ringbuf.h +++ b/booster/ringbuf.h @@ -1,13 +1,13 @@ -/******************************************************************************** - * Copyright: (C) 2021 LingYun IoT System Studio +/********************************************************************************* + * Copyright: (C) 2023 LingYun IoT System Studio. * All rights reserved. * * Filename: ringbuf.h - * Description: This head file + * Description: This file is common ring buffer API functions * - * Version: 1.0.0(2021年04月29日) + * Version: 1.0.0(11/08/23) * Author: Guo Wenxue <guowenxue@gmail.com> - * ChangeLog: 1, Release initial version on "2021年04月29日 12时18分32秒" + * ChangeLog: 1, Release initial version on "11/08/23 16:18:43" * ********************************************************************************/ @@ -16,7 +16,7 @@ struct ring_buffer { - unsigned char *buffer; + unsigned char *buffer; int wr_pointer; int rd_pointer; int size; @@ -24,34 +24,31 @@ /* Initial the ring buffer */ -void rb_init (struct ring_buffer *ring, unsigned char *buff, int size) ; +void rb_init(struct ring_buffer *rb, unsigned char *buf, int size); +/* Clear the ring buffer data */ +void rb_clear(struct ring_buffer *rb); + +/* Get data size in the ring buffer */ +int rb_data_size(struct ring_buffer *rb); + +/* Get ring buffer left free size */ +int rb_free_size(struct ring_buffer *rb); + +/* Read a specify $index byte data in ring buffer $rb */ +unsigned char rb_peek(struct ring_buffer *rb, int index); /* Description: Write $len bytes data in $buf into ring buffer $rb * Return Value: The actual written into ring buffer data size, if ring buffer * left space size small than $len, then only part of the data be written into. */ -int rb_write (struct ring_buffer *rb, unsigned char *buf, int len) ; +int rb_write(struct ring_buffer *rb, unsigned char *buf, int len); +/* Read $bytes data from ring buffer $rb to $buf */ +int rb_read(struct ring_buffer *rb, unsigned char *buf, int bytes); -/* Get ring buffer left free size */ -int rb_free_size (struct ring_buffer *rb); - - -/* Read $max bytes data from ring buffer $rb to $buf */ -int rb_read (struct ring_buffer *rb, unsigned char *buf, int max); - - -/* Read a specify $index byte data in ring buffer $rb */ -unsigned char rb_peek(struct ring_buffer *rb, int index); - - -/* Get data size in the ring buffer */ -int rb_data_size (struct ring_buffer *rb); - - -/* Clear the ring buffer data */ -void rb_clear (struct ring_buffer *rb) ; +/* Read $bytes data from ring buffer $rb to $buf, but not drain */ +int rb_copy(struct ring_buffer *rb, unsigned char *buf, int bytes); #endif /* ----- #ifndef _RINGBUF_H_ ----- */ -- Gitblit v1.9.1