Ring Buffer
Dependents: pseudo_comet GSwifi_sample MelInverter_sample SerialPassthrough_withRB
RingBuffer.h@0:d0e076916a0a, 2010-11-11 (annotated)
- Committer:
- okini3939
- Date:
- Thu Nov 11 16:04:19 2010 +0000
- Revision:
- 0:d0e076916a0a
- Child:
- 1:ea0c0a46dbdd
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:d0e076916a0a | 1 | /* |
okini3939 | 0:d0e076916a0a | 2 | * mbed library for RingBuffer |
okini3939 | 0:d0e076916a0a | 3 | * Copyright (c) 2010 Hiroshi Suga |
okini3939 | 0:d0e076916a0a | 4 | * Released under the MIT License: http://mbed.org/license/mit |
okini3939 | 0:d0e076916a0a | 5 | */ |
okini3939 | 0:d0e076916a0a | 6 | |
okini3939 | 0:d0e076916a0a | 7 | #ifndef RingBuffer_H |
okini3939 | 0:d0e076916a0a | 8 | #define RingBuffer_H |
okini3939 | 0:d0e076916a0a | 9 | |
okini3939 | 0:d0e076916a0a | 10 | #include "mbed.h" |
okini3939 | 0:d0e076916a0a | 11 | |
okini3939 | 0:d0e076916a0a | 12 | class RingBuffer { |
okini3939 | 0:d0e076916a0a | 13 | public: |
okini3939 | 0:d0e076916a0a | 14 | RingBuffer (int p_size); |
okini3939 | 0:d0e076916a0a | 15 | ~RingBuffer (); |
okini3939 | 0:d0e076916a0a | 16 | |
okini3939 | 0:d0e076916a0a | 17 | int put (char); |
okini3939 | 0:d0e076916a0a | 18 | int put (char *, int); |
okini3939 | 0:d0e076916a0a | 19 | int get (char &); |
okini3939 | 0:d0e076916a0a | 20 | int get (char *, int); |
okini3939 | 0:d0e076916a0a | 21 | void clear (); |
okini3939 | 0:d0e076916a0a | 22 | int available (); |
okini3939 | 0:d0e076916a0a | 23 | int use (); |
okini3939 | 0:d0e076916a0a | 24 | |
okini3939 | 0:d0e076916a0a | 25 | private: |
okini3939 | 0:d0e076916a0a | 26 | char *buf; |
okini3939 | 0:d0e076916a0a | 27 | int size; |
okini3939 | 0:d0e076916a0a | 28 | int addr_w, addr_r; |
okini3939 | 0:d0e076916a0a | 29 | }; |
okini3939 | 0:d0e076916a0a | 30 | |
okini3939 | 0:d0e076916a0a | 31 | #endif |