This library can be used in mbed driver or mbed OS2. So If you want to use WizFi310 on mbed OS5, You have to use another WizFi310 library(wizfi310-driver). That is git repository for wizfi310-driver. - https://github.com/ARMmbed/wizfi310-driver

Dependents:   KT_IoTMakers_WizFi310_Example WizFi310_STATION_HelloWorld WizFi310_DNS_TCP_HelloWorld WizFi310_Ubidots ... more

This library can be used in mbed driver or mbed OS2. So If you want to use WizFi310 on mbed OS5, You have to use another WizFi310 library(wizfi310-driver).

That is git repository for wizfi310-driver. - https://github.com/ARMmbed/wizfi310-driver

Committer:
jehoon
Date:
Wed Oct 05 09:40:30 2016 +0000
Revision:
0:df571f8f8c03
This is a WizFi310 Library. It supports new mbed5 features including NetworkInterfaceAPI.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jehoon 0:df571f8f8c03 1 /* Copyright (C) 2012 mbed.org, MIT License
jehoon 0:df571f8f8c03 2 *
jehoon 0:df571f8f8c03 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
jehoon 0:df571f8f8c03 4 * and associated documentation files (the "Software"), to deal in the Software without restriction,
jehoon 0:df571f8f8c03 5 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
jehoon 0:df571f8f8c03 6 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
jehoon 0:df571f8f8c03 7 * furnished to do so, subject to the following conditions:
jehoon 0:df571f8f8c03 8 *
jehoon 0:df571f8f8c03 9 * The above copyright notice and this permission notice shall be included in all copies or
jehoon 0:df571f8f8c03 10 * substantial portions of the Software.
jehoon 0:df571f8f8c03 11 *
jehoon 0:df571f8f8c03 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
jehoon 0:df571f8f8c03 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
jehoon 0:df571f8f8c03 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
jehoon 0:df571f8f8c03 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
jehoon 0:df571f8f8c03 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
jehoon 0:df571f8f8c03 17 */
jehoon 0:df571f8f8c03 18
jehoon 0:df571f8f8c03 19 #ifndef CIRCBUFFER_H_
jehoon 0:df571f8f8c03 20 #define CIRCBUFFER_H_
jehoon 0:df571f8f8c03 21
jehoon 0:df571f8f8c03 22 template <class T>
jehoon 0:df571f8f8c03 23 class CircBuffer {
jehoon 0:df571f8f8c03 24 public:
jehoon 0:df571f8f8c03 25 CircBuffer(int length) {
jehoon 0:df571f8f8c03 26 write = 0;
jehoon 0:df571f8f8c03 27 read = 0;
jehoon 0:df571f8f8c03 28 size = length + 1;
jehoon 0:df571f8f8c03 29 buf = (T *)malloc(size * sizeof(T));
jehoon 0:df571f8f8c03 30 if (buf == NULL)
jehoon 0:df571f8f8c03 31 error("Can't allocate memory");
jehoon 0:df571f8f8c03 32 };
jehoon 0:df571f8f8c03 33
jehoon 0:df571f8f8c03 34 bool isFull() {
jehoon 0:df571f8f8c03 35 return (((write + 1) % size) == read);
jehoon 0:df571f8f8c03 36 };
jehoon 0:df571f8f8c03 37
jehoon 0:df571f8f8c03 38 bool isEmpty() {
jehoon 0:df571f8f8c03 39 return (read == write);
jehoon 0:df571f8f8c03 40 };
jehoon 0:df571f8f8c03 41
jehoon 0:df571f8f8c03 42 void queue(T k) {
jehoon 0:df571f8f8c03 43 if (isFull()) {
jehoon 0:df571f8f8c03 44 // read++;
jehoon 0:df571f8f8c03 45 // read %= size;
jehoon 0:df571f8f8c03 46 return;
jehoon 0:df571f8f8c03 47 }
jehoon 0:df571f8f8c03 48 buf[write++] = k;
jehoon 0:df571f8f8c03 49 write %= size;
jehoon 0:df571f8f8c03 50 }
jehoon 0:df571f8f8c03 51
jehoon 0:df571f8f8c03 52 void flush() {
jehoon 0:df571f8f8c03 53 read = 0;
jehoon 0:df571f8f8c03 54 write = 0;
jehoon 0:df571f8f8c03 55 }
jehoon 0:df571f8f8c03 56
jehoon 0:df571f8f8c03 57
jehoon 0:df571f8f8c03 58 uint32_t available() {
jehoon 0:df571f8f8c03 59 return (write >= read) ? write - read : size - read + write;
jehoon 0:df571f8f8c03 60 };
jehoon 0:df571f8f8c03 61
jehoon 0:df571f8f8c03 62 bool dequeue(T * c) {
jehoon 0:df571f8f8c03 63 bool empty = isEmpty();
jehoon 0:df571f8f8c03 64 if (!empty) {
jehoon 0:df571f8f8c03 65 *c = buf[read++];
jehoon 0:df571f8f8c03 66 read %= size;
jehoon 0:df571f8f8c03 67 }
jehoon 0:df571f8f8c03 68 return(!empty);
jehoon 0:df571f8f8c03 69 };
jehoon 0:df571f8f8c03 70
jehoon 0:df571f8f8c03 71 private:
jehoon 0:df571f8f8c03 72 volatile uint32_t write;
jehoon 0:df571f8f8c03 73 volatile uint32_t read;
jehoon 0:df571f8f8c03 74 uint32_t size;
jehoon 0:df571f8f8c03 75 T * buf;
jehoon 0:df571f8f8c03 76 };
jehoon 0:df571f8f8c03 77
jehoon 0:df571f8f8c03 78 #endif