OLD
OLD
Diff: RingBuffer.h
- Revision:
- 0:2f6062c6d018
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RingBuffer.h Mon Jul 09 14:36:06 2012 +0000 @@ -0,0 +1,60 @@ +/* + * mbed library for RingBuffer + * Copyright (c) 2010 Hiroshi Suga + * Released under the MIT License: http://mbed.org/license/mit + */ + +/* @file + * @brief Ring Buffer + */ + +#ifndef RingBuffer_H +#define RingBuffer_H + +#include "mbed.h" + +class RingBuffer { +public: + /** init Stack class + * @param p_size size of ring buffer + */ + RingBuffer (int p_size); + ~RingBuffer (); + + /** 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 (); + +private: + char *buf; + int size; + int addr_w, addr_r; +}; + +#endif