Ring Buffer
Dependents: pseudo_comet GSwifi_sample MelInverter_sample SerialPassthrough_withRB
RingBuffer.h
00001 /* 00002 * mbed library for RingBuffer 00003 * Copyright (c) 2010 Hiroshi Suga 00004 * Released under the MIT License: http://mbed.org/license/mit 00005 */ 00006 00007 /** @file RingBuffer.h 00008 * @brief Ring Buffer 00009 */ 00010 00011 #ifndef RingBuffer_H 00012 #define RingBuffer_H 00013 00014 #include "mbed.h" 00015 00016 class RingBuffer { 00017 public: 00018 /** init Stack class 00019 * @param p_size size of ring buffer 00020 */ 00021 RingBuffer (int p_size); 00022 ~RingBuffer (); 00023 00024 /** put to ring buffer 00025 * @param dat data 00026 * @return data / -1:error 00027 */ 00028 int put (char dat); 00029 00030 /** put to ring buffer 00031 * @param dat data 00032 * @param len length 00033 * @return put length 00034 */ 00035 int put (char *dat, int len); 00036 00037 /** get from ring buffer 00038 * @param dat data 00039 * @retval 0:ok / -1:error 00040 */ 00041 int get (char *dat); 00042 00043 /** get from ring buffer 00044 * @param dat data 00045 * @param len length 00046 * @return get length 00047 */ 00048 int get (char *dat, int len); 00049 00050 void clear (); 00051 int available (); 00052 int use (); 00053 00054 private: 00055 char *buf; 00056 int size; 00057 int addr_w, addr_r; 00058 }; 00059 00060 #endif
Generated on Fri Jul 15 2022 22:25:04 by 1.7.2