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 */
Yoji KURODA
