General purpose ring buffer library. RTOS proof, mutex protected.

Dependents:   RingBuffer_RTOS_test

Fork of RingBuffer by Yoji KURODA

Revision:
1:1c3a10f2eb04
Parent:
0:db7fa84ff50e
Child:
2:ea6d02ba96ae
--- 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); };
 };