General purpose ring buffer library

Dependents:   iSerial DGWWebServer iSerial Dumb_box_rev2 ... more

Files at this revision

API Documentation at this revision

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); };
 };