NNN50 WIFI_API library
Dependents: NNN50_CE_Test_UDP NNN50_linux_firmware NNN50_SoftAP_HelloWorld NNN50_BLEWIFISensor ... more
This is mbed compatible EthernetInterface lib exclude for Delta DFCM-NNN50 platform.
Additional information and examples can be found in mbed Handbook
Revision 9:32d6cd2f8456, committed 2017-01-03
- Comitter:
- tsungta
- Date:
- Tue Jan 03 09:35:21 2017 +0000
- Parent:
- 8:752e003bb0bc
- Child:
- 10:7fc160bd0246
- Commit message:
- 31:c38cd9c; Add TCP buffering mechanism (to support HTTPServer and HTTPClient Lib); Add WPS support; Add Socket.close() a delay of 15ms; Fix M2M_WIFI_SEC_WEP connect bug
Changed in this revision
--- a/EthernetInterface/EthernetInterface.h Mon Dec 19 03:03:28 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/* EthernetInterface.h */
-/* Copyright (C) 2012 mbed.org, MIT License
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- * and associated documentation files (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge, publish, distribute,
- * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all copies or
- * substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef ETHERNETINTERFACE_H_
-#define ETHERNETINTERFACE_H_
-
-/*Tsungta
-#if !defined(TARGET_LPC1768) && !defined(TARGET_LPC4088) && !defined(TARGET_LPC4088_DM) && !defined(TARGET_K64F) && !defined(TARGET_RZ_A1H) && !defined(TARGET_VK_RZ_A1H) && !defined(TARGET_STM32F4)
-#error The Ethernet Interface library is not supported on this target
-#endif
-
-#include "rtos.h"
-#include "lwip/netif.h"
-*/
-
- /** Interface using Ethernet to connect to an IP-based network
- *
- */
-class EthernetInterface {
-public:
- /** Initialize the interface with DHCP.
- * Initialize the interface and configure it to use DHCP (no connection at this point).
- * \return 0 on success, a negative number on failure
- */
- static int init(); //With DHCP
-
- /** Initialize the interface with a static IP address.
- * Initialize the interface and configure it with the following static configuration (no connection at this point).
- * \param ip the IP address to use
- * \param mask the IP address mask
- * \param gateway the gateway to use
- * \return 0 on success, a negative number on failure
- */
- static int init(const char* ip, const char* mask, const char* gateway);
-
- /** Connect
- * Bring the interface up, start DHCP if needed.
- * \param timeout_ms timeout in ms (default: (15)s).
- * \return 0 on success, a negative number on failure
- */
- static int connect(unsigned int timeout_ms=15000);
-
- /** Disconnect
- * Bring the interface down
- * \return 0 on success, a negative number on failure
- */
- static int disconnect();
-
- /** Get the MAC address of your Ethernet interface
- * \return a pointer to a string containing the MAC address
- */
- static char* getMACAddress();
-
- /** Get the IP address of your Ethernet interface
- * \return a pointer to a string containing the IP address
- */
- static char* getIPAddress();
-
- /** Get the Gateway address of your Ethernet interface
- * \return a pointer to a string containing the Gateway address
- */
- static char* getGateway();
-
- /** Get the Network mask of your Ethernet interface
- * \return a pointer to a string containing the Network mask
- */
- static char* getNetworkMask();
-};
-
-#include "TCPSocketConnection.h"
-#include "TCPSocketServer.h"
-
-#include "Endpoint.h"
-#include "UDPSocket.h"
-
-// following are added by Tsungta
-typedef struct ip_addr ip_addr_t;
-struct ip_addr {
- uint32_t addr;
-};
-//Tsungta
-
-#endif /* ETHERNETINTERFACE_H_ */
--- a/EthernetInterface/Socket/TCPSocketConnection.h Mon Dec 19 03:03:28 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/* Copyright (C) 2012 mbed.org, MIT License
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- * and associated documentation files (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge, publish, distribute,
- * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all copies or
- * substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef TCPSOCKET_H
-#define TCPSOCKET_H
-
-#include "Socket/Socket.h"
-#include "Socket/Endpoint.h"
-
-/**
-TCP socket connection
-*/
-class TCPSocketConnection : public Socket, public Endpoint {
- friend class TCPSocketServer;
-
-public:
- /** TCP socket connection
- */
- TCPSocketConnection();
-
- /** Connects this TCP socket to the server
- \param host The host to connect to. It can either be an IP Address or a hostname that will be resolved with DNS.
- \param port The host's port to connect to.
- \return 0 on success, -1 on failure.
- */
- int connect(const char* host, const int port);
-
- /** Check if the socket is connected
- \return true if connected, false otherwise.
- */
- bool is_connected(void);
-
- /** Send data to the remote host.
- \param data The buffer to send to the host.
- \param length The length of the buffer to send.
- \return the number of written bytes on success (>=0) or -1 on failure
- */
- int send(char* data, int length);
-
- /** Send all the data to the remote host.
- \param data The buffer to send to the host.
- \param length The length of the buffer to send.
- \return the number of written bytes on success (>=0) or -1 on failure
- */
- int send_all(char* data, int length);
-
- /** Receive data from the remote host.
- \param data The buffer in which to store the data received from the host.
- \param length The maximum length of the buffer.
- \return the number of received bytes on success (>=0) or -1 on failure
- */
- int receive(char* data, int length);
-
- /** Receive all the data from the remote host.
- \param data The buffer in which to store the data received from the host.
- \param length The maximum length of the buffer.
- \return the number of received bytes on success (>=0) or -1 on failure
- */
- int receive_all(char* data, int length);
-
-private:
- bool _is_connected;
-
-};
-
-#endif
Binary file EthernetInterface/Socket/socket.o has changed
Binary file EthernetInterface/Socket/tcpsocketconnection.o has changed
Binary file EthernetInterface/ethernetinterface.o has changed
--- a/WIFIDevice.h Mon Dec 19 03:03:28 2016 +0000
+++ b/WIFIDevice.h Tue Jan 03 09:35:21 2017 +0000
@@ -36,10 +36,23 @@
M2M_WIFI_SEC_WEP < Security type WEP (40 or 104) OPEN OR SHARED >
M2M_WIFI_SEC_802_1X < Wi-Fi network is secured with WPA/WPA2 Enterprise.IEEE802.1x user-name/password authentication >
* \param SSID name of access point to connect
- * \param PW password of the given SSID
+ * \param PW password of the given SSID
+ * \param wepIndex WEP Index of PW when using M2M_WIFI_SEC_WEP (set between 1 to 4)
*/
- void setNetwork(uint8_t secType, char* SSID, char* PW);
+ void setNetwork(uint8_t secType, char* SSID, char* PW, uint8_t wepIndex = 1);
+ /** Set WPA/WPA2 Enterprise.IEEE802.1x user-name/password authentication.
+ * \param USER user-name of IEEE802.1x authentication
+ * \param PW password of IEEE802.1x authentication
+ */
+ void setLogin(char* USER, char* PW);
+
+ /** Trigger Wi-Fi Protected Setup (WPS).
+ * WPS activation and scan for fixed 120 seconds (support WPA/WPA2 key only).
+ * \return 0 on success (AP connected), a negative number on failure (timeout)
+ */
+ int triggerWPS();
+
/** Enable Access Point in given configuration.
* Set SSID, password, security type and channel in AP mode.
* \param SSID name of access point in AP mode
Binary file wifidevice.o has changed