GainSpan Wi-Fi library see: http://mbed.org/users/gsfan/notebook/gainspan_wifi/
Dependents: GSwifi_httpd GSwifi_websocket GSwifi_tcpclient GSwifi_tcpserver ... more
Fork of GSwifi by
GainSpan Wi-Fi library
The GS1011 is an ultra low power 802.11b wireless module from GainSpan.
see: http://mbed.org/users/gsfan/notebook/gainspan_wifi/
ゲインスパン Wi-Fi モジュール ライブラリ
ゲインスパン社の低電力 Wi-Fiモジュール(無線LAN) GS1011 シリーズ用のライブラリです。
解説: http://mbed.org/users/gsfan/notebook/gainspan_wifi/
RingBuffer.h@0:2f6062c6d018, 2012-07-09 (annotated)
- Committer:
- gsfan
- Date:
- Mon Jul 09 14:36:06 2012 +0000
- Revision:
- 0:2f6062c6d018
Who changed what in which revision?
User | Revision | Line number | New 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 |