OLD

OLD

Committer:
gsfan
Date:
Thu Nov 08 01:35:37 2012 +0000
Revision:
21:1270827d431a
Parent:
0:2f6062c6d018
fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gsfan 0:2f6062c6d018 1 /*
gsfan 0:2f6062c6d018 2 * mbed library for RingBuffer
gsfan 0:2f6062c6d018 3 * Copyright (c) 2010 Hiroshi Suga
gsfan 0:2f6062c6d018 4 * Released under the MIT License: http://mbed.org/license/mit
gsfan 0:2f6062c6d018 5 */
gsfan 0:2f6062c6d018 6
gsfan 0:2f6062c6d018 7 /* @file
gsfan 0:2f6062c6d018 8 * @brief Ring Buffer
gsfan 0:2f6062c6d018 9 */
gsfan 0:2f6062c6d018 10
gsfan 0:2f6062c6d018 11 #ifndef RingBuffer_H
gsfan 0:2f6062c6d018 12 #define RingBuffer_H
gsfan 0:2f6062c6d018 13
gsfan 0:2f6062c6d018 14 #include "mbed.h"
gsfan 0:2f6062c6d018 15
gsfan 0:2f6062c6d018 16 class RingBuffer {
gsfan 0:2f6062c6d018 17 public:
gsfan 0:2f6062c6d018 18 /** init Stack class
gsfan 0:2f6062c6d018 19 * @param p_size size of ring buffer
gsfan 0:2f6062c6d018 20 */
gsfan 0:2f6062c6d018 21 RingBuffer (int p_size);
gsfan 0:2f6062c6d018 22 ~RingBuffer ();
gsfan 0:2f6062c6d018 23
gsfan 0:2f6062c6d018 24 /** put to ring buffer
gsfan 0:2f6062c6d018 25 * @param dat data
gsfan 0:2f6062c6d018 26 * @return data / -1:error
gsfan 0:2f6062c6d018 27 */
gsfan 0:2f6062c6d018 28 int put (char dat);
gsfan 0:2f6062c6d018 29
gsfan 0:2f6062c6d018 30 /** put to ring buffer
gsfan 0:2f6062c6d018 31 * @param dat data
gsfan 0:2f6062c6d018 32 * @param len length
gsfan 0:2f6062c6d018 33 * @return put length
gsfan 0:2f6062c6d018 34 */
gsfan 0:2f6062c6d018 35 int put (char *dat, int len);
gsfan 0:2f6062c6d018 36
gsfan 0:2f6062c6d018 37 /** get from ring buffer
gsfan 0:2f6062c6d018 38 * @param dat data
gsfan 0:2f6062c6d018 39 * @retval 0:ok / -1:error
gsfan 0:2f6062c6d018 40 */
gsfan 0:2f6062c6d018 41 int get (char *dat);
gsfan 0:2f6062c6d018 42
gsfan 0:2f6062c6d018 43 /** get from ring buffer
gsfan 0:2f6062c6d018 44 * @param dat data
gsfan 0:2f6062c6d018 45 * @param len length
gsfan 0:2f6062c6d018 46 * @return get length
gsfan 0:2f6062c6d018 47 */
gsfan 0:2f6062c6d018 48 int get (char *dat, int len);
gsfan 0:2f6062c6d018 49
gsfan 0:2f6062c6d018 50 void clear ();
gsfan 0:2f6062c6d018 51 int available ();
gsfan 0:2f6062c6d018 52 int use ();
gsfan 0:2f6062c6d018 53
gsfan 0:2f6062c6d018 54 private:
gsfan 0:2f6062c6d018 55 char *buf;
gsfan 0:2f6062c6d018 56 int size;
gsfan 0:2f6062c6d018 57 int addr_w, addr_r;
gsfan 0:2f6062c6d018 58 };
gsfan 0:2f6062c6d018 59
gsfan 0:2f6062c6d018 60 #endif