Ring Buffer
Dependents: pseudo_comet GSwifi_sample MelInverter_sample SerialPassthrough_withRB
Revision 1:ea0c0a46dbdd, committed 2011-05-18
- 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 ();