General purpose ring buffer library
Dependents: iSerial DGWWebServer iSerial Dumb_box_rev2 ... more
Revision 1:1c3a10f2eb04, committed 2012-08-31
- Comitter:
- ykuroda
- Date:
- Fri Aug 31 17:13:40 2012 +0000
- Parent:
- 0:db7fa84ff50e
- Child:
- 2:ea6d02ba96ae
- Commit message:
- bug fix
Changed in this revision
RingBuffer.cpp | Show annotated file Show diff for this revision Revisions of this file |
RingBuffer.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/RingBuffer.cpp Fri Aug 31 10:13:15 2012 +0000 +++ b/RingBuffer.cpp Fri Aug 31 17:13:40 2012 +0000 @@ -1,8 +1,12 @@ -/* - * ringbuffer.c - * - * 2009.11.12 ... Y.Kuroda - */ +// +// RingBuffer.cpp ... General purpose ring buffer library +// +// Copyright 2012 Yoji KURODA +// +// 2009.11.13 ... Originally written in C by Y.Kuroda for Renesas H83664 +// 2012.08.31 ... Code convert for mbed in C++ +// + #include "string.h" #include "RingBuffer.h"
--- a/RingBuffer.h Fri Aug 31 10:13:15 2012 +0000 +++ b/RingBuffer.h Fri Aug 31 17:13:40 2012 +0000 @@ -1,8 +1,12 @@ -/* - * RingBuffer.h - * - * 2012.08.31 ... Y.Kuroda - */ +// +// RingBuffer.h ... General purpose ring buffer library +// +// Copyright 2012 Yoji KURODA +// +// 2009.11.13 ... Originally written in C by Y.Kuroda for Renesas H83664 +// 2012.08.31 ... Code convert for mbed in C++ +// + #ifndef _RINGBUFFER_H #define _RINGBUFFER_H @@ -12,16 +16,17 @@ unsigned char* buf; unsigned int sp; unsigned int ep; - unsigned int bufsize; + int bufsize; public: RingBuffer(int _bufsize=100); ~RingBuffer(); - int save(unsigned char c); + int save(unsigned char c); unsigned char read(void); int check(void); - + int buffersize(void){return bufsize;}; + int full(void){ return (check()>=bufsize-1 ? 1 : 0); }; };