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/
Diff: RingBuffer.cpp
- Revision:
- 25:f6e5622d2930
- Parent:
- 24:5c350ae2e703
- Child:
- 26:b347ee3a1087
--- a/RingBuffer.cpp Wed Jan 23 07:41:23 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -/* - * mbed library for RingBuffer - * Copyright (c) 2010 Hiroshi Suga - * Released under the MIT License: http://mbed.org/license/mit - */ - -/* @file - * @brief Ring Buffer - */ - -#include "RingBuffer.h" - -RingBuffer::RingBuffer (int p_size) { - size = p_size + 1; - buf = new char[size]; - addr_w = 0; - addr_r = 0; -} - -RingBuffer::~RingBuffer () { - delete [] buf; -} - -int RingBuffer::put (char dat) { - int next; - - next = (addr_w + 1) % size; - if (next == addr_r) { - return -1; - } - buf[addr_w] = dat; - addr_w = next; - return -1; -} - -int RingBuffer::put (char *dat, int len) { - int next, i; - - - for (i = 0; i < len; i ++) { - next = (addr_w + 1) % size; - if (next == addr_r) { - break; - } - buf[addr_w] = dat[i]; - addr_w = next; - } - return i; -} - -int RingBuffer::get (char *dat) { - if (addr_r == addr_w) { - return -1; - } - *dat = buf[addr_r]; - addr_r = (addr_r + 1) % size; - return 0; -} - -int RingBuffer::get (char *dat, int len) { - int i; - - for (i = 0; i < len; i ++) { - if (addr_r == addr_w) { - break; - } - dat[i] = buf[addr_r]; - addr_r = (addr_r + 1) % size; - } - return i; -} - -int RingBuffer::available () { - if (addr_w < addr_r) { - return addr_r - addr_w - 1; - } else { - return (size - addr_w) + addr_r - 1; - } -} - -int RingBuffer::use () { - return size - available() - 1; -} - -void RingBuffer::clear () { - addr_w = 0; - addr_r = 0; -}