General purpose ring buffer library. RTOS proof, mutex protected.
Dependents: RingBuffer_RTOS_test
Fork of RingBuffer by
RingBuffer.h
- Committer:
- ykuroda
- Date:
- 2012-09-27
- Revision:
- 3:9adf0d5e0522
- Parent:
- 2:ea6d02ba96ae
File content as of revision 3:9adf0d5e0522:
// // 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++ // 2012.09.26 ... Pointer use // 2012.09.27 ... RTOS proof #ifndef _RINGBUFFER_H #define _RINGBUFFER_H #include "rtos.h" class RingBuffer { protected: unsigned char* buf; unsigned char* sp; unsigned char* ep; Mutex mutex; int bufsize; public: RingBuffer(int _bufsize=100); ~RingBuffer(); 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); }; }; #endif /* _RINGBUFFER_H */