Ring Buffer

Dependents:   pseudo_comet GSwifi_sample MelInverter_sample SerialPassthrough_withRB

Files at this revision

API Documentation at this revision

Comitter:
okini3939
Date:
Wed May 18 14:57:36 2011 +0000
Parent:
0:d0e076916a0a
Commit message:

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	Thu Nov 11 16:04:19 2010 +0000
+++ b/RingBuffer.cpp	Wed May 18 14:57:36 2011 +0000
@@ -4,6 +4,10 @@
  * Released under the MIT License: http://mbed.org/license/mit
  */
 
+/** @file RingBuffer.cpp
+ * @brief Ring Buffer
+ */
+ 
 #include "RingBuffer.h"
 
 RingBuffer::RingBuffer (int p_size) {
@@ -26,7 +30,7 @@
     }
     buf[addr_w] = dat;
     addr_w = next;
-    return dat;
+    return -1;
 }
 
 int RingBuffer::put (char *dat, int len) {
@@ -44,11 +48,11 @@
     return i;
 }
 
-int RingBuffer::get (char &dat) {
+int RingBuffer::get (char *dat) {
     if (addr_r == addr_w) {
         return -1;
     }
-    dat = buf[addr_r];
+    *dat = buf[addr_r];
     addr_r = (addr_r + 1) % size;
     return 0;
 }
--- a/RingBuffer.h	Thu Nov 11 16:04:19 2010 +0000
+++ b/RingBuffer.h	Wed May 18 14:57:36 2011 +0000
@@ -4,6 +4,10 @@
  * Released under the MIT License: http://mbed.org/license/mit
  */
 
+/** @file RingBuffer.h
+ * @brief Ring Buffer
+ */
+
 #ifndef RingBuffer_H
 #define RingBuffer_H
 
@@ -11,13 +15,38 @@
 
 class RingBuffer {
 public:
+    /** init Stack class
+     * @param p_size size of ring buffer
+     */
     RingBuffer (int p_size);
     ~RingBuffer ();
 
-    int put (char);
-    int put (char *, int);
-    int get (char &);
-    int get (char *, int);
+    /** put to ring buffer
+     * @param dat data
+     * @return data / -1:error
+     */
+    int put (char dat);
+
+    /** put to ring buffer
+     * @param dat data
+     * @param len length
+     * @return put length
+     */
+    int put (char *dat, int len);
+
+    /** get from ring buffer
+     * @param dat data
+     * @retval 0:ok / -1:error
+     */
+    int get (char *dat);
+
+    /** get from ring buffer
+     * @param dat data
+     * @param len length
+     * @return get length
+     */
+    int get (char *dat, int len);
+
     void clear ();
     int available ();
     int use ();