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 gs fan

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/

/media/uploads/gsfan/gs_im_002.jpg /media/uploads/gsfan/gs1011m_2.jpg

ゲインスパン Wi-Fi モジュール ライブラリ

ゲインスパン社の低電力 Wi-Fiモジュール(無線LAN) GS1011 シリーズ用のライブラリです。

解説: http://mbed.org/users/gsfan/notebook/gainspan_wifi/

RingBuffer.h

Committer:
gsfan
Date:
2012-08-21
Revision:
7:b75b7fc144ff
Parent:
0:2f6062c6d018

File content as of revision 7:b75b7fc144ff:

/*
 * mbed library for RingBuffer
 * Copyright (c) 2010 Hiroshi Suga
 * Released under the MIT License: http://mbed.org/license/mit
 */

/* @file
 * @brief Ring Buffer
 */

#ifndef RingBuffer_H
#define RingBuffer_H

#include "mbed.h"

class RingBuffer {
public:
    /** init Stack class
     * @param p_size size of ring buffer
     */
    RingBuffer (int p_size);
    ~RingBuffer ();

    /** put to ring buffer
     * @param dat data
     * @return data / -1:error
     */
    int put (char dat);

    /** put to ring buffer
     * @param dat data
     * @param len length
     * @return put length
     */
    int put (char *dat, int len);

    /** get from ring buffer
     * @param dat data
     * @retval 0:ok / -1:error
     */
    int get (char *dat);

    /** get from ring buffer
     * @param dat data
     * @param len length
     * @return get length
     */
    int get (char *dat, int len);

    void clear ();
    int available ();
    int use ();

private:
    char *buf;
    int size;
    int addr_w, addr_r;
};

#endif