iowfehu;gdbjwHJAOPIHO?L

Fork of X_NUCLEO_IDW01M1 by ST

Committer:
mridup
Date:
Wed May 11 06:12:16 2016 +0000
Revision:
7:0fdd186a7d90
Parent:
6:e7a3fca2df10
Child:
11:67a8c3499caf
fix recv, server sock, \r\n..\r\n issue in FW.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mridup 0:dc55f40eb04f 1 /* SpwfSAInterface implementation of NetworkInterfaceAPI
mridup 0:dc55f40eb04f 2 * Copyright (c) 2015 ARM Limited
mridup 0:dc55f40eb04f 3 *
mridup 0:dc55f40eb04f 4 * Licensed under the Apache License, Version 2.0 (the "License");
mridup 0:dc55f40eb04f 5 * you may not use this file except in compliance with the License.
mridup 0:dc55f40eb04f 6 * You may obtain a copy of the License at
mridup 0:dc55f40eb04f 7 *
mridup 0:dc55f40eb04f 8 * http://www.apache.org/licenses/LICENSE-2.0
mridup 0:dc55f40eb04f 9 *
mridup 0:dc55f40eb04f 10 * Unless required by applicable law or agreed to in writing, software
mridup 0:dc55f40eb04f 11 * distributed under the License is distributed on an "AS IS" BASIS,
mridup 0:dc55f40eb04f 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mridup 0:dc55f40eb04f 13 * See the License for the specific language governing permissions and
mridup 0:dc55f40eb04f 14 * limitations under the License.
mridup 0:dc55f40eb04f 15 */
mridup 0:dc55f40eb04f 16
mridup 0:dc55f40eb04f 17 #ifndef SPWFSA_INTERFACE_H
mridup 0:dc55f40eb04f 18 #define SPWFSA_INTERFACE_H
mridup 0:dc55f40eb04f 19
mridup 0:dc55f40eb04f 20 #include <vector>
mridup 0:dc55f40eb04f 21 #include <map>
mridup 0:dc55f40eb04f 22 #include "WiFiInterface.h"
mridup 0:dc55f40eb04f 23 #include "SpwfSADevice.h"
mridup 0:dc55f40eb04f 24
mridup 0:dc55f40eb04f 25 #define SPWFSA_SOCKET_COUNT 8
mridup 6:e7a3fca2df10 26 #define SERVER_SOCKET_NO 9
mridup 0:dc55f40eb04f 27
mridup 0:dc55f40eb04f 28 /** SpwfSAInterface class
mridup 5:c83ffd44f40a 29 * Implementation of the NetworkStack for the SPWF Device
mridup 0:dc55f40eb04f 30 */
mridup 5:c83ffd44f40a 31 class SpwfSAInterface : public NetworkStack, public WiFiInterface
mridup 0:dc55f40eb04f 32 {
mridup 0:dc55f40eb04f 33 public:
mridup 0:dc55f40eb04f 34
mridup 0:dc55f40eb04f 35 SpwfSAInterface(PinName tx, PinName rx, PinName rst, PinName wkup, PinName rts, bool debug = false);
mridup 0:dc55f40eb04f 36 virtual ~SpwfSAInterface();
mridup 0:dc55f40eb04f 37
mridup 0:dc55f40eb04f 38 // Implementation of WiFiInterface
mridup 5:c83ffd44f40a 39 virtual int connect(
mridup 0:dc55f40eb04f 40 const char *ssid,
mridup 0:dc55f40eb04f 41 const char *pass,
mridup 5:c83ffd44f40a 42 nsapi_security_t security = NSAPI_SECURITY_NONE);
mridup 0:dc55f40eb04f 43
mridup 5:c83ffd44f40a 44 virtual int disconnect();
mridup 5:c83ffd44f40a 45 virtual const char *get_mac_address();
mridup 0:dc55f40eb04f 46 void debug(const char * string);
mridup 5:c83ffd44f40a 47
mridup 5:c83ffd44f40a 48 //Implementation of NetworkStack
mridup 5:c83ffd44f40a 49 virtual const char *get_ip_address();
mridup 5:c83ffd44f40a 50
mridup 5:c83ffd44f40a 51 protected:
mridup 5:c83ffd44f40a 52 //Implementation of NetworkStack
mridup 5:c83ffd44f40a 53 virtual int socket_open(void **handle, nsapi_protocol_t proto);
mridup 5:c83ffd44f40a 54 virtual int socket_close(void *handle);
mridup 5:c83ffd44f40a 55 virtual int socket_bind(void *handle, const SocketAddress &address); //not supported
mridup 6:e7a3fca2df10 56 virtual int socket_listen(void *handle, int backlog);
mridup 6:e7a3fca2df10 57 virtual int socket_connect(void *handle, const SocketAddress &address);
mridup 6:e7a3fca2df10 58 virtual int socket_accept(void **handle, void *server);
mridup 5:c83ffd44f40a 59 virtual int socket_send(void *handle, const void *data, unsigned size);
mridup 5:c83ffd44f40a 60 virtual int socket_recv(void *handle, void *data, unsigned size);
mridup 5:c83ffd44f40a 61 virtual int socket_sendto(void *handle, const SocketAddress &address, const void *data, unsigned size);
mridup 5:c83ffd44f40a 62 virtual int socket_recvfrom(void *handle, SocketAddress *address, void *buffer, unsigned size);
mridup 5:c83ffd44f40a 63 virtual void socket_attach(void *handle, void (*callback)(void *), void *data);
mridup 5:c83ffd44f40a 64
mridup 5:c83ffd44f40a 65 private:
mridup 7:0fdd186a7d90 66 int init(void);
mridup 7:0fdd186a7d90 67 //int get_network_socket(struct spwf_socket **handle);
mridup 0:dc55f40eb04f 68
mridup 0:dc55f40eb04f 69 SpwfSADevice _spwf;
mridup 0:dc55f40eb04f 70 bool _ids[SPWFSA_SOCKET_COUNT];
mridup 6:e7a3fca2df10 71 bool isListening;
mridup 3:fd9d20c4d3f0 72 bool isInitialized;
mridup 5:c83ffd44f40a 73 multimap <char *, vector <uint16_t> > c_table;
mridup 0:dc55f40eb04f 74
mridup 0:dc55f40eb04f 75 };
mridup 0:dc55f40eb04f 76
mridup 0:dc55f40eb04f 77
mridup 0:dc55f40eb04f 78 #endif