Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: NVIC_set_all_priorities
Dependents: CC3000_Simple_Socket Wi-Go_IOT_Demo
wlan.h@5:854f9b13a0f9, 2013-07-15 (annotated)
- Committer:
- frankvnk
- Date:
- Mon Jul 15 19:54:53 2013 +0000
- Revision:
- 5:854f9b13a0f9
- Parent:
- 4:d8255a5aad46
- Child:
- 6:d733efcc2c56
Doxygen fixed
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| frankvnk | 0:c44f0314d6ec | 1 | /***************************************************************************** | 
| frankvnk | 0:c44f0314d6ec | 2 | * | 
| frankvnk | 0:c44f0314d6ec | 3 | * wlan.h - CC3000 Host Driver Implementation. | 
| frankvnk | 0:c44f0314d6ec | 4 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | 
| frankvnk | 0:c44f0314d6ec | 5 | * | 
| frankvnk | 0:c44f0314d6ec | 6 | * Redistribution and use in source and binary forms, with or without | 
| frankvnk | 0:c44f0314d6ec | 7 | * modification, are permitted provided that the following conditions | 
| frankvnk | 0:c44f0314d6ec | 8 | * are met: | 
| frankvnk | 0:c44f0314d6ec | 9 | * | 
| frankvnk | 0:c44f0314d6ec | 10 | * Redistributions of source code must retain the above copyright | 
| frankvnk | 0:c44f0314d6ec | 11 | * notice, this list of conditions and the following disclaimer. | 
| frankvnk | 0:c44f0314d6ec | 12 | * | 
| frankvnk | 0:c44f0314d6ec | 13 | * Redistributions in binary form must reproduce the above copyright | 
| frankvnk | 0:c44f0314d6ec | 14 | * notice, this list of conditions and the following disclaimer in the | 
| frankvnk | 0:c44f0314d6ec | 15 | * documentation and/or other materials provided with the | 
| frankvnk | 0:c44f0314d6ec | 16 | * distribution. | 
| frankvnk | 0:c44f0314d6ec | 17 | * | 
| frankvnk | 0:c44f0314d6ec | 18 | * Neither the name of Texas Instruments Incorporated nor the names of | 
| frankvnk | 0:c44f0314d6ec | 19 | * its contributors may be used to endorse or promote products derived | 
| frankvnk | 0:c44f0314d6ec | 20 | * from this software without specific prior written permission. | 
| frankvnk | 0:c44f0314d6ec | 21 | * | 
| frankvnk | 0:c44f0314d6ec | 22 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 
| frankvnk | 0:c44f0314d6ec | 23 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 
| frankvnk | 0:c44f0314d6ec | 24 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | 
| frankvnk | 0:c44f0314d6ec | 25 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 
| frankvnk | 0:c44f0314d6ec | 26 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 
| frankvnk | 0:c44f0314d6ec | 27 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 
| frankvnk | 0:c44f0314d6ec | 28 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 
| frankvnk | 0:c44f0314d6ec | 29 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 
| frankvnk | 0:c44f0314d6ec | 30 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| frankvnk | 0:c44f0314d6ec | 31 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
| frankvnk | 0:c44f0314d6ec | 32 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| frankvnk | 0:c44f0314d6ec | 33 | * | 
| frankvnk | 0:c44f0314d6ec | 34 | *****************************************************************************/ | 
| frankvnk | 0:c44f0314d6ec | 35 | #ifndef __WLAN_H__ | 
| frankvnk | 0:c44f0314d6ec | 36 | #define __WLAN_H__ | 
| frankvnk | 0:c44f0314d6ec | 37 | |
| frankvnk | 0:c44f0314d6ec | 38 | #include "GlobalAssigns.h" | 
| frankvnk | 0:c44f0314d6ec | 39 | #include "cc3000_common.h" | 
| frankvnk | 0:c44f0314d6ec | 40 | #include "hci.h" | 
| frankvnk | 0:c44f0314d6ec | 41 | #include "CC3000_spi.h" | 
| frankvnk | 0:c44f0314d6ec | 42 | #include "socket.h" | 
| frankvnk | 0:c44f0314d6ec | 43 | #include "nvmem.h" | 
| frankvnk | 0:c44f0314d6ec | 44 | #include "security.h" | 
| frankvnk | 0:c44f0314d6ec | 45 | #include "evnt_handler.h" | 
| frankvnk | 0:c44f0314d6ec | 46 | |
| frankvnk | 5:854f9b13a0f9 | 47 | //***************************************************************************** | 
| frankvnk | 5:854f9b13a0f9 | 48 | // | 
| frankvnk | 5:854f9b13a0f9 | 49 | //! \addtogroup wlan | 
| frankvnk | 5:854f9b13a0f9 | 50 | //! @{ | 
| frankvnk | 5:854f9b13a0f9 | 51 | // | 
| frankvnk | 5:854f9b13a0f9 | 52 | //***************************************************************************** | 
| frankvnk | 5:854f9b13a0f9 | 53 | |
| frankvnk | 0:c44f0314d6ec | 54 | /** CC3000 Host driver - WLAN | 
| frankvnk | 0:c44f0314d6ec | 55 | * | 
| frankvnk | 0:c44f0314d6ec | 56 | */ | 
| frankvnk | 4:d8255a5aad46 | 57 | |
| frankvnk | 0:c44f0314d6ec | 58 | #ifdef __cplusplus | 
| frankvnk | 0:c44f0314d6ec | 59 | extern "C" { | 
| frankvnk | 0:c44f0314d6ec | 60 | #endif | 
| frankvnk | 0:c44f0314d6ec | 61 | |
| frankvnk | 4:d8255a5aad46 | 62 | #define SMART_CONFIG_PROFILE_SIZE 67 // 67 = 32 (max ssid) + 32 (max key) + 1 (SSID length) + 1 (security type) + 1 (key length) | 
| frankvnk | 4:d8255a5aad46 | 63 | |
| frankvnk | 4:d8255a5aad46 | 64 | /* patches type */ | 
| frankvnk | 4:d8255a5aad46 | 65 | #define PATCHES_HOST_TYPE_WLAN_DRIVER 0x01 | 
| frankvnk | 4:d8255a5aad46 | 66 | #define PATCHES_HOST_TYPE_WLAN_FW 0x02 | 
| frankvnk | 4:d8255a5aad46 | 67 | #define PATCHES_HOST_TYPE_BOOTLOADER 0x03 | 
| frankvnk | 4:d8255a5aad46 | 68 | |
| frankvnk | 4:d8255a5aad46 | 69 | #define SL_SET_SCAN_PARAMS_INTERVAL_LIST_SIZE (16) | 
| frankvnk | 4:d8255a5aad46 | 70 | #define SL_SIMPLE_CONFIG_PREFIX_LENGTH (3) | 
| frankvnk | 4:d8255a5aad46 | 71 | #define ETH_ALEN (6) | 
| frankvnk | 4:d8255a5aad46 | 72 | #define MAXIMAL_SSID_LENGTH (32) | 
| frankvnk | 4:d8255a5aad46 | 73 | |
| frankvnk | 4:d8255a5aad46 | 74 | #define SL_PATCHES_REQUEST_DEFAULT (0) | 
| frankvnk | 4:d8255a5aad46 | 75 | #define SL_PATCHES_REQUEST_FORCE_HOST (1) | 
| frankvnk | 4:d8255a5aad46 | 76 | #define SL_PATCHES_REQUEST_FORCE_NONE (2) | 
| frankvnk | 4:d8255a5aad46 | 77 | |
| frankvnk | 4:d8255a5aad46 | 78 | |
| frankvnk | 4:d8255a5aad46 | 79 | #define WLAN_SEC_UNSEC (0) | 
| frankvnk | 4:d8255a5aad46 | 80 | #define WLAN_SEC_WEP (1) | 
| frankvnk | 4:d8255a5aad46 | 81 | #define WLAN_SEC_WPA (2) | 
| frankvnk | 4:d8255a5aad46 | 82 | #define WLAN_SEC_WPA2 (3) | 
| frankvnk | 4:d8255a5aad46 | 83 | |
| frankvnk | 4:d8255a5aad46 | 84 | |
| frankvnk | 4:d8255a5aad46 | 85 | #define WLAN_SL_INIT_START_PARAMS_LEN (1) | 
| frankvnk | 4:d8255a5aad46 | 86 | #define WLAN_PATCH_PARAMS_LENGTH (8) | 
| frankvnk | 4:d8255a5aad46 | 87 | #define WLAN_SET_CONNECTION_POLICY_PARAMS_LEN (12) | 
| frankvnk | 4:d8255a5aad46 | 88 | #define WLAN_DEL_PROFILE_PARAMS_LEN (4) | 
| frankvnk | 4:d8255a5aad46 | 89 | #define WLAN_SET_MASK_PARAMS_LEN (4) | 
| frankvnk | 4:d8255a5aad46 | 90 | #define WLAN_SET_SCAN_PARAMS_LEN (100) | 
| frankvnk | 4:d8255a5aad46 | 91 | #define WLAN_GET_SCAN_RESULTS_PARAMS_LEN (4) | 
| frankvnk | 4:d8255a5aad46 | 92 | #define WLAN_ADD_PROFILE_NOSEC_PARAM_LEN (24) | 
| frankvnk | 4:d8255a5aad46 | 93 | #define WLAN_ADD_PROFILE_WEP_PARAM_LEN (36) | 
| frankvnk | 4:d8255a5aad46 | 94 | #define WLAN_ADD_PROFILE_WPA_PARAM_LEN (44) | 
| frankvnk | 4:d8255a5aad46 | 95 | #define WLAN_CONNECT_PARAM_LEN (29) | 
| frankvnk | 4:d8255a5aad46 | 96 | #define WLAN_SMART_CONFIG_START_PARAMS_LEN (4) | 
| frankvnk | 4:d8255a5aad46 | 97 | |
| frankvnk | 4:d8255a5aad46 | 98 | |
| frankvnk | 0:c44f0314d6ec | 99 | #define WLAN_SEC_UNSEC (0) | 
| frankvnk | 0:c44f0314d6ec | 100 | #define WLAN_SEC_WEP (1) | 
| frankvnk | 0:c44f0314d6ec | 101 | #define WLAN_SEC_WPA (2) | 
| frankvnk | 0:c44f0314d6ec | 102 | #define WLAN_SEC_WPA2 (3) | 
| frankvnk | 0:c44f0314d6ec | 103 | |
| frankvnk | 4:d8255a5aad46 | 104 | /** | 
| frankvnk | 4:d8255a5aad46 | 105 | * Send HCI_CMND_SIMPLE_LINK_START to CC3000 | 
| frankvnk | 5:854f9b13a0f9 | 106 | * @param usPatchesAvailableAtHost flag to indicate if patches available\n | 
| frankvnk | 5:854f9b13a0f9 | 107 | * from host or from EEPROM. Due to the \n | 
| frankvnk | 5:854f9b13a0f9 | 108 | * fact the patches are burn to the EEPROM\n | 
| frankvnk | 5:854f9b13a0f9 | 109 | * using the patch programmer utility, the \n | 
| frankvnk | 5:854f9b13a0f9 | 110 | * patches will be available from the EEPROM\n | 
| frankvnk | 5:854f9b13a0f9 | 111 | * and not from the host.\n | 
| frankvnk | 4:d8255a5aad46 | 112 | * @return none | 
| frankvnk | 4:d8255a5aad46 | 113 | */ | 
| frankvnk | 4:d8255a5aad46 | 114 | static void SimpleLink_Init_Start(unsigned short usPatchesAvailableAtHost); | 
| frankvnk | 0:c44f0314d6ec | 115 | |
| frankvnk | 4:d8255a5aad46 | 116 | /** | 
| frankvnk | 4:d8255a5aad46 | 117 | * Initialize wlan driver | 
| frankvnk | 5:854f9b13a0f9 | 118 | * @param sWlanCB Asynchronous events callback. \n | 
| frankvnk | 5:854f9b13a0f9 | 119 | * 0 no event call back.\n | 
| frankvnk | 5:854f9b13a0f9 | 120 | * -call back parameters:\n | 
| frankvnk | 5:854f9b13a0f9 | 121 | * 1) event_type: HCI_EVNT_WLAN_UNSOL_CONNECT connect event,\n | 
| frankvnk | 5:854f9b13a0f9 | 122 | * HCI_EVNT_WLAN_UNSOL_DISCONNECT disconnect event,\n | 
| frankvnk | 5:854f9b13a0f9 | 123 | * HCI_EVNT_WLAN_ASYNC_SIMPLE_CONFIG_DONE config done,\n | 
| frankvnk | 5:854f9b13a0f9 | 124 | * HCI_EVNT_WLAN_UNSOL_DHCP dhcp report, \n | 
| frankvnk | 5:854f9b13a0f9 | 125 | * HCI_EVNT_WLAN_ASYNC_PING_REPORT ping report OR \n | 
| frankvnk | 5:854f9b13a0f9 | 126 | * HCI_EVNT_WLAN_KEEPALIVE keepalive.\n | 
| frankvnk | 5:854f9b13a0f9 | 127 | * 2) data: pointer to extra data that received by the event\n | 
| frankvnk | 5:854f9b13a0f9 | 128 | * (NULL no data).\n | 
| frankvnk | 5:854f9b13a0f9 | 129 | * 3) length: data length.\n | 
| frankvnk | 5:854f9b13a0f9 | 130 | * -Events with extra data:\n | 
| frankvnk | 5:854f9b13a0f9 | 131 | * HCI_EVNT_WLAN_UNSOL_DHCP: 4 bytes IP, 4 bytes Mask,\n | 
| frankvnk | 5:854f9b13a0f9 | 132 | * 4 bytes default gateway, 4 bytes DHCP server and 4 bytes\n | 
| frankvnk | 5:854f9b13a0f9 | 133 | * for DNS server.\n | 
| frankvnk | 5:854f9b13a0f9 | 134 | * HCI_EVNT_WLAN_ASYNC_PING_REPORT: 4 bytes Packets sent,\n | 
| frankvnk | 5:854f9b13a0f9 | 135 | * 4 bytes Packets received, 4 bytes Min round time, \n | 
| frankvnk | 5:854f9b13a0f9 | 136 | * 4 bytes Max round time and 4 bytes for Avg round time.\n | 
| frankvnk | 4:d8255a5aad46 | 137 | * @param sFWPatches 0 no patch or pointer to FW patches | 
| frankvnk | 4:d8255a5aad46 | 138 | * @param sDriverPatches 0 no patch or pointer to driver patches | 
| frankvnk | 4:d8255a5aad46 | 139 | * @param sBootLoaderPatches 0 no patch or pointer to bootloader patches | 
| frankvnk | 4:d8255a5aad46 | 140 | * @param sReadWlanInterruptPin init callback. the callback read wlan interrupt status. | 
| frankvnk | 4:d8255a5aad46 | 141 | * @param sWlanInterruptEnable init callback. the callback enable wlan interrupt. | 
| frankvnk | 4:d8255a5aad46 | 142 | * @param sWlanInterruptDisable init callback. the callback disable wlan interrupt. | 
| frankvnk | 4:d8255a5aad46 | 143 | * @param sWriteWlanPin init callback. the callback write value to device pin. | 
| frankvnk | 4:d8255a5aad46 | 144 | * @return none | 
| frankvnk | 4:d8255a5aad46 | 145 | * @sa wlan_set_event_mask , wlan_start , wlan_stop | 
| frankvnk | 4:d8255a5aad46 | 146 | * @warning This function must be called before ANY other wlan driver function | 
| frankvnk | 4:d8255a5aad46 | 147 | */ | 
| frankvnk | 0:c44f0314d6ec | 148 | extern void wlan_init(tWlanCB sWlanCB, | 
| frankvnk | 0:c44f0314d6ec | 149 | tFWPatches sFWPatches, | 
| frankvnk | 0:c44f0314d6ec | 150 | tDriverPatches sDriverPatches, | 
| frankvnk | 0:c44f0314d6ec | 151 | tBootLoaderPatches sBootLoaderPatches, | 
| frankvnk | 0:c44f0314d6ec | 152 | tWlanReadInteruptPin sReadWlanInterruptPin, | 
| frankvnk | 0:c44f0314d6ec | 153 | tWlanInterruptEnable sWlanInterruptEnable, | 
| frankvnk | 0:c44f0314d6ec | 154 | tWlanInterruptDisable sWlanInterruptDisable, | 
| frankvnk | 0:c44f0314d6ec | 155 | tWriteWlanPin sWriteWlanPin); | 
| frankvnk | 0:c44f0314d6ec | 156 | |
| frankvnk | 4:d8255a5aad46 | 157 | /** | 
| frankvnk | 4:d8255a5aad46 | 158 | * Trigger Received event/data processing - called from the SPI library to receive the data | 
| frankvnk | 5:854f9b13a0f9 | 159 | * @param pvBuffer - pointer to the received data buffer\n | 
| frankvnk | 5:854f9b13a0f9 | 160 | * The function triggers Received event/data processing\n | 
| frankvnk | 4:d8255a5aad46 | 161 | * @param Pointer to the received data | 
| frankvnk | 4:d8255a5aad46 | 162 | * @return none | 
| frankvnk | 4:d8255a5aad46 | 163 | */ | 
| frankvnk | 4:d8255a5aad46 | 164 | void SpiReceiveHandler(void *pvBuffer); | 
| frankvnk | 0:c44f0314d6ec | 165 | |
| frankvnk | 0:c44f0314d6ec | 166 | |
| frankvnk | 4:d8255a5aad46 | 167 | /** | 
| frankvnk | 5:854f9b13a0f9 | 168 | * Start WLAN device. | 
| frankvnk | 5:854f9b13a0f9 | 169 | * This function asserts the enable pin of \n | 
| frankvnk | 5:854f9b13a0f9 | 170 | * the device (WLAN_EN), starting the HW initialization process.\n | 
| frankvnk | 5:854f9b13a0f9 | 171 | * The function blocked until device Initialization is completed.\n | 
| frankvnk | 5:854f9b13a0f9 | 172 | * Function also configure patches (FW, driver or bootloader) \n | 
| frankvnk | 5:854f9b13a0f9 | 173 | * and calls appropriate device callbacks.\n | 
| frankvnk | 5:854f9b13a0f9 | 174 | * @param usPatchesAvailableAtHost - flag to indicate if patches available\n | 
| frankvnk | 5:854f9b13a0f9 | 175 | * from host or from EEPROM. Due to the\n | 
| frankvnk | 5:854f9b13a0f9 | 176 | * fact the patches are burn to the EEPROM\n | 
| frankvnk | 5:854f9b13a0f9 | 177 | * using the patch programmer utility, the \n | 
| frankvnk | 5:854f9b13a0f9 | 178 | * patches will be available from the EEPROM\n | 
| frankvnk | 5:854f9b13a0f9 | 179 | * and not from the host.\n | 
| frankvnk | 4:d8255a5aad46 | 180 | * @return none | 
| frankvnk | 4:d8255a5aad46 | 181 | * @Note Prior calling the function wlan_init shall be called. | 
| frankvnk | 5:854f9b13a0f9 | 182 | * @Warning This function must be called after wlan_init and before any other wlan API | 
| frankvnk | 4:d8255a5aad46 | 183 | * @sa wlan_init , wlan_stop | 
| frankvnk | 4:d8255a5aad46 | 184 | */ | 
| frankvnk | 0:c44f0314d6ec | 185 | extern void wlan_start(unsigned short usPatchesAvailableAtHost); | 
| frankvnk | 0:c44f0314d6ec | 186 | |
| frankvnk | 4:d8255a5aad46 | 187 | /** | 
| frankvnk | 4:d8255a5aad46 | 188 | * Stop WLAN device by putting it into reset state. | 
| frankvnk | 4:d8255a5aad46 | 189 | * @param none | 
| frankvnk | 4:d8255a5aad46 | 190 | * @return none | 
| frankvnk | 4:d8255a5aad46 | 191 | * @sa wlan_start | 
| frankvnk | 4:d8255a5aad46 | 192 | */ | 
| frankvnk | 0:c44f0314d6ec | 193 | extern void wlan_stop(void); | 
| frankvnk | 0:c44f0314d6ec | 194 | |
| frankvnk | 4:d8255a5aad46 | 195 | /** | 
| frankvnk | 4:d8255a5aad46 | 196 | * Connect to AP | 
| frankvnk | 5:854f9b13a0f9 | 197 | * @param sec_type security options:\n | 
| frankvnk | 5:854f9b13a0f9 | 198 | * WLAN_SEC_UNSEC, \n | 
| frankvnk | 5:854f9b13a0f9 | 199 | * WLAN_SEC_WEP (ASCII support only),\n | 
| frankvnk | 5:854f9b13a0f9 | 200 | * WLAN_SEC_WPA or WLAN_SEC_WPA2\n | 
| frankvnk | 4:d8255a5aad46 | 201 | * @param ssid up to 32 bytes and is ASCII SSID of the AP | 
| frankvnk | 4:d8255a5aad46 | 202 | * @param ssid_len length of the SSID | 
| frankvnk | 4:d8255a5aad46 | 203 | * @param bssid 6 bytes specified the AP bssid | 
| frankvnk | 4:d8255a5aad46 | 204 | * @param key up to 16 bytes specified the AP security key | 
| frankvnk | 4:d8255a5aad46 | 205 | * @param key_len key length | 
| frankvnk | 5:854f9b13a0f9 | 206 | * @return On success, zero is returned. On error, negative is returned.\n | 
| frankvnk | 5:854f9b13a0f9 | 207 | * Note that even though a zero is returned on success to trigger\n | 
| frankvnk | 5:854f9b13a0f9 | 208 | * connection operation, it does not mean that CCC3000 is already\n | 
| frankvnk | 5:854f9b13a0f9 | 209 | * connected. An asynchronous "Connected" event is generated when \n | 
| frankvnk | 5:854f9b13a0f9 | 210 | * actual association process finishes and CC3000 is connected to\n | 
| frankvnk | 5:854f9b13a0f9 | 211 | * the AP. If DHCP is set, An asynchronous "DHCP" event is \n | 
| frankvnk | 5:854f9b13a0f9 | 212 | * generated when DHCP process is finish.\n | 
| frankvnk | 5:854f9b13a0f9 | 213 | * @warning Please Note that when connection to AP configured with security\n | 
| frankvnk | 5:854f9b13a0f9 | 214 | * type WEP, please confirm that the key is set as ASCII and not as HEX.\n | 
| frankvnk | 4:d8255a5aad46 | 215 | * @sa wlan_disconnect | 
| frankvnk | 4:d8255a5aad46 | 216 | */ | 
| frankvnk | 0:c44f0314d6ec | 217 | #ifndef CC3000_TINY_DRIVER | 
| frankvnk | 0:c44f0314d6ec | 218 | extern long wlan_connect(unsigned long ulSecType, | 
| frankvnk | 0:c44f0314d6ec | 219 | char *ssid, | 
| frankvnk | 0:c44f0314d6ec | 220 | long ssid_len, | 
| frankvnk | 0:c44f0314d6ec | 221 | unsigned char *bssid, | 
| frankvnk | 0:c44f0314d6ec | 222 | unsigned char *key, | 
| frankvnk | 0:c44f0314d6ec | 223 | long key_len); | 
| frankvnk | 0:c44f0314d6ec | 224 | #else | 
| frankvnk | 0:c44f0314d6ec | 225 | extern long wlan_connect(char *ssid, long ssid_len); | 
| frankvnk | 0:c44f0314d6ec | 226 | |
| frankvnk | 0:c44f0314d6ec | 227 | #endif | 
| frankvnk | 0:c44f0314d6ec | 228 | |
| frankvnk | 4:d8255a5aad46 | 229 | /** | 
| frankvnk | 4:d8255a5aad46 | 230 | * Disconnect connection from AP. | 
| frankvnk | 4:d8255a5aad46 | 231 | * @return 0 disconnected done, other CC3000 already disconnected | 
| frankvnk | 4:d8255a5aad46 | 232 | * @sa wlan_connect | 
| frankvnk | 4:d8255a5aad46 | 233 | */ | 
| frankvnk | 0:c44f0314d6ec | 234 | extern long wlan_disconnect(void); | 
| frankvnk | 0:c44f0314d6ec | 235 | |
| frankvnk | 4:d8255a5aad46 | 236 | /** | 
| frankvnk | 5:854f9b13a0f9 | 237 | * Add profile. | 
| frankvnk | 5:854f9b13a0f9 | 238 | * When auto start is enabled, the device connects to\n | 
| frankvnk | 5:854f9b13a0f9 | 239 | * station from the profiles table. Up to 7 profiles are supported. \n | 
| frankvnk | 5:854f9b13a0f9 | 240 | * If several profiles configured the device choose the highest \n | 
| frankvnk | 5:854f9b13a0f9 | 241 | * priority profile, within each priority group, device will choose \n | 
| frankvnk | 5:854f9b13a0f9 | 242 | * profile based on security policy, signal strength, etc \n | 
| frankvnk | 5:854f9b13a0f9 | 243 | * parameters. All the profiles are stored in CC3000 NVMEM.\n | 
| frankvnk | 4:d8255a5aad46 | 244 | * | 
| frankvnk | 4:d8255a5aad46 | 245 | * @param ulSecType WLAN_SEC_UNSEC,WLAN_SEC_WEP,WLAN_SEC_WPA,WLAN_SEC_WPA2 | 
| frankvnk | 4:d8255a5aad46 | 246 | * @param ucSsid ssid SSID up to 32 bytes | 
| frankvnk | 4:d8255a5aad46 | 247 | * @param ulSsidLen ssid length | 
| frankvnk | 4:d8255a5aad46 | 248 | * @param ucBssid bssid 6 bytes | 
| frankvnk | 4:d8255a5aad46 | 249 | * @param ulPriority ulPriority profile priority. Lowest priority:0. | 
| frankvnk | 4:d8255a5aad46 | 250 | * @param ulPairwiseCipher_Or_TxKeyLen key length for WEP security | 
| frankvnk | 4:d8255a5aad46 | 251 | * @param ulGroupCipher_TxKeyIndex key index | 
| frankvnk | 4:d8255a5aad46 | 252 | * @param ulKeyMgmt KEY management | 
| frankvnk | 4:d8255a5aad46 | 253 | * @param ucPf_OrKey security key | 
| frankvnk | 4:d8255a5aad46 | 254 | * @param ulPassPhraseLen security key length for WPA\WPA2 | 
| frankvnk | 4:d8255a5aad46 | 255 | * @return On success, zero is returned. On error, -1 is returned | 
| frankvnk | 4:d8255a5aad46 | 256 | * @sa wlan_ioctl_del_profile | 
| frankvnk | 4:d8255a5aad46 | 257 | */ | 
| frankvnk | 0:c44f0314d6ec | 258 | extern long wlan_add_profile(unsigned long ulSecType, | 
| frankvnk | 0:c44f0314d6ec | 259 | unsigned char* ucSsid, | 
| frankvnk | 0:c44f0314d6ec | 260 | unsigned long ulSsidLen, | 
| frankvnk | 0:c44f0314d6ec | 261 | unsigned char *ucBssid, | 
| frankvnk | 0:c44f0314d6ec | 262 | unsigned long ulPriority, | 
| frankvnk | 0:c44f0314d6ec | 263 | unsigned long ulPairwiseCipher_Or_Key, | 
| frankvnk | 0:c44f0314d6ec | 264 | unsigned long ulGroupCipher_TxKeyLen, | 
| frankvnk | 0:c44f0314d6ec | 265 | unsigned long ulKeyMgmt, | 
| frankvnk | 0:c44f0314d6ec | 266 | unsigned char* ucPf_OrKey, | 
| frankvnk | 0:c44f0314d6ec | 267 | unsigned long ulPassPhraseLen); | 
| frankvnk | 0:c44f0314d6ec | 268 | |
| frankvnk | 4:d8255a5aad46 | 269 | /** | 
| frankvnk | 5:854f9b13a0f9 | 270 | * Delete WLAN profile. | 
| frankvnk | 4:d8255a5aad46 | 271 | * @param index number of profile to delete | 
| frankvnk | 4:d8255a5aad46 | 272 | * @return On success, zero is returned. On error, -1 is returned | 
| frankvnk | 4:d8255a5aad46 | 273 | * @Note In order to delete all stored profile, set index to 255. | 
| frankvnk | 4:d8255a5aad46 | 274 | * @sa wlan_add_profile | 
| frankvnk | 4:d8255a5aad46 | 275 | */ | 
| frankvnk | 0:c44f0314d6ec | 276 | extern long wlan_ioctl_del_profile(unsigned long ulIndex); | 
| frankvnk | 0:c44f0314d6ec | 277 | |
| frankvnk | 4:d8255a5aad46 | 278 | /** | 
| frankvnk | 5:854f9b13a0f9 | 279 | * Mask event according to bit mask. | 
| frankvnk | 5:854f9b13a0f9 | 280 | * In case that event is masked (1), the device will not send the masked event to host. | 
| frankvnk | 5:854f9b13a0f9 | 281 | * @param mask mask option:\n | 
| frankvnk | 5:854f9b13a0f9 | 282 | * HCI_EVNT_WLAN_UNSOL_CONNECT connect event\n | 
| frankvnk | 5:854f9b13a0f9 | 283 | * HCI_EVNT_WLAN_UNSOL_DISCONNECT disconnect event\n | 
| frankvnk | 5:854f9b13a0f9 | 284 | * HCI_EVNT_WLAN_ASYNC_SIMPLE_CONFIG_DONE smart config done\n | 
| frankvnk | 5:854f9b13a0f9 | 285 | * HCI_EVNT_WLAN_UNSOL_INIT init done\n | 
| frankvnk | 5:854f9b13a0f9 | 286 | * HCI_EVNT_WLAN_UNSOL_DHCP dhcp event report\n | 
| frankvnk | 5:854f9b13a0f9 | 287 | * HCI_EVNT_WLAN_ASYNC_PING_REPORT ping report\n | 
| frankvnk | 5:854f9b13a0f9 | 288 | * HCI_EVNT_WLAN_KEEPALIVE keepalive\n | 
| frankvnk | 5:854f9b13a0f9 | 289 | * HCI_EVNT_WLAN_TX_COMPLETE - disable information on end of transmission\n | 
| frankvnk | 4:d8255a5aad46 | 290 | * Saved: no. | 
| frankvnk | 4:d8255a5aad46 | 291 | * @return On success, zero is returned. On error, -1 is returned | 
| frankvnk | 4:d8255a5aad46 | 292 | */ | 
| frankvnk | 0:c44f0314d6ec | 293 | extern long wlan_set_event_mask(unsigned long ulMask); | 
| frankvnk | 0:c44f0314d6ec | 294 | |
| frankvnk | 4:d8255a5aad46 | 295 | /** | 
| frankvnk | 4:d8255a5aad46 | 296 | * Get wlan status: disconnected, scanning, connecting or connected | 
| frankvnk | 4:d8255a5aad46 | 297 | * @param none | 
| frankvnk | 5:854f9b13a0f9 | 298 | * @return WLAN_STATUS_DISCONNECTED, WLAN_STATUS_SCANING,\n | 
| frankvnk | 5:854f9b13a0f9 | 299 | * STATUS_CONNECTING or WLAN_STATUS_CONNECTED \n | 
| frankvnk | 4:d8255a5aad46 | 300 | */ | 
| frankvnk | 0:c44f0314d6ec | 301 | extern long wlan_ioctl_statusget(void); | 
| frankvnk | 0:c44f0314d6ec | 302 | |
| frankvnk | 0:c44f0314d6ec | 303 | |
| frankvnk | 4:d8255a5aad46 | 304 | /** | 
| frankvnk | 5:854f9b13a0f9 | 305 | * Set connection policy. | 
| frankvnk | 5:854f9b13a0f9 | 306 | * When auto is enabled, the device tries to connect according the following policy:\n | 
| frankvnk | 5:854f9b13a0f9 | 307 | * 1) If fast connect is enabled and last connection is valid, \n | 
| frankvnk | 5:854f9b13a0f9 | 308 | * the device will try to connect to it without the scanning \n | 
| frankvnk | 5:854f9b13a0f9 | 309 | * procedure (fast). The last connection will be marked as\n | 
| frankvnk | 5:854f9b13a0f9 | 310 | * invalid, due to adding/removing profile. \n | 
| frankvnk | 5:854f9b13a0f9 | 311 | * 2) If profile exists, the device will try to connect it \n | 
| frankvnk | 5:854f9b13a0f9 | 312 | * (Up to seven profiles).\n | 
| frankvnk | 5:854f9b13a0f9 | 313 | * 3) If fast and profiles are not found, and open mode is\n | 
| frankvnk | 5:854f9b13a0f9 | 314 | * enabled, the device will try to connect to any AP.\n | 
| frankvnk | 5:854f9b13a0f9 | 315 | * Note that the policy settings are stored in the CC3000 NVMEM.\n | 
| frankvnk | 5:854f9b13a0f9 | 316 | * @param should_connect_to_open_ap enable(1), disable(0) connect to any \n | 
| frankvnk | 5:854f9b13a0f9 | 317 | * available AP. This parameter corresponds to the configuration of \n | 
| frankvnk | 5:854f9b13a0f9 | 318 | * item # 3 in the brief description.\n | 
| frankvnk | 5:854f9b13a0f9 | 319 | * @param should_use_fast_connect enable(1), disable(0). if enabled, tries \n | 
| frankvnk | 5:854f9b13a0f9 | 320 | * to connect to the last connected AP. This parameter corresponds \n | 
| frankvnk | 5:854f9b13a0f9 | 321 | * to the configuration of item # 1 in the brief description.\n | 
| frankvnk | 5:854f9b13a0f9 | 322 | * @param auto_start enable(1), disable(0) auto connect \n | 
| frankvnk | 5:854f9b13a0f9 | 323 | * after reset and periodically reconnect if needed. This \n | 
| frankvnk | 5:854f9b13a0f9 | 324 | * configuration configures option 2 in the above description.\n | 
| frankvnk | 5:854f9b13a0f9 | 325 | * @return On success, zero is returned.\n | 
| frankvnk | 5:854f9b13a0f9 | 326 | * On error, -1 is returned \n | 
| frankvnk | 4:d8255a5aad46 | 327 | * @sa wlan_add_profile , wlan_ioctl_del_profile | 
| frankvnk | 4:d8255a5aad46 | 328 | */ | 
| frankvnk | 0:c44f0314d6ec | 329 | extern long wlan_ioctl_set_connection_policy(unsigned long should_connect_to_open_ap, | 
| frankvnk | 0:c44f0314d6ec | 330 | unsigned long should_use_fast_connect, | 
| frankvnk | 0:c44f0314d6ec | 331 | unsigned long ulUseProfiles); | 
| frankvnk | 0:c44f0314d6ec | 332 | |
| frankvnk | 4:d8255a5aad46 | 333 | /** | 
| frankvnk | 5:854f9b13a0f9 | 334 | * Get entry from scan result table. | 
| frankvnk | 5:854f9b13a0f9 | 335 | * The scan results are returned one by one, and each entry represents a single AP found in the area.\n | 
| frankvnk | 5:854f9b13a0f9 | 336 | * The following is a format of the scan result: \n | 
| frankvnk | 5:854f9b13a0f9 | 337 | * - 4 Bytes: number of networks found\n | 
| frankvnk | 5:854f9b13a0f9 | 338 | * - 4 Bytes: The status of the scan: 0 - aged results, 1 - results valid, 2 - no results\n | 
| frankvnk | 5:854f9b13a0f9 | 339 | * - 42 bytes: Result entry, where the bytes are arranged as follows:\n | 
| frankvnk | 5:854f9b13a0f9 | 340 | * - 1 bit isValid - is result valid or not\n | 
| frankvnk | 5:854f9b13a0f9 | 341 | * - 7 bits rssi - RSSI value \n | 
| frankvnk | 5:854f9b13a0f9 | 342 | * - 2 bits securityMode - security mode of the AP: 0 - Open, 1 - WEP, 2 WPA, 3 WPA2\n | 
| frankvnk | 5:854f9b13a0f9 | 343 | * - 6 bits SSID name length\n | 
| frankvnk | 5:854f9b13a0f9 | 344 | * - 2 bytes the time at which the entry has entered into scans result table\n | 
| frankvnk | 5:854f9b13a0f9 | 345 | * - 32 bytes SSID name\n | 
| frankvnk | 5:854f9b13a0f9 | 346 | * - 6 bytes BSSID \n | 
| frankvnk | 4:d8255a5aad46 | 347 | * @param[in] scan_timeout parameter not supported | 
| frankvnk | 4:d8255a5aad46 | 348 | * @param[out] ucResults scan result (_wlan_full_scan_results_args_t) | 
| frankvnk | 4:d8255a5aad46 | 349 | * @return On success, zero is returned. On error, -1 is returned | 
| frankvnk | 4:d8255a5aad46 | 350 | * @Note scan_timeout, is not supported on this version. | 
| frankvnk | 4:d8255a5aad46 | 351 | * @sa wlan_ioctl_set_scan_params | 
| frankvnk | 4:d8255a5aad46 | 352 | */ | 
| frankvnk | 0:c44f0314d6ec | 353 | extern long wlan_ioctl_get_scan_results(unsigned long ulScanTimeout, | 
| frankvnk | 0:c44f0314d6ec | 354 | unsigned char *ucResults); | 
| frankvnk | 0:c44f0314d6ec | 355 | |
| frankvnk | 4:d8255a5aad46 | 356 | /** | 
| frankvnk | 4:d8255a5aad46 | 357 | * start and stop scan procedure. Set scan parameters. | 
| frankvnk | 5:854f9b13a0f9 | 358 | * @param uiEnable start/stop application scan: \n | 
| frankvnk | 5:854f9b13a0f9 | 359 | * 1 = start scan with default interval value of 10 min. \n | 
| frankvnk | 5:854f9b13a0f9 | 360 | * To set a different scan interval value, apply the value in milliseconds.\n | 
| frankvnk | 5:854f9b13a0f9 | 361 | * minimum = 1 second. 0=stop.\n | 
| frankvnk | 5:854f9b13a0f9 | 362 | * Wlan reset (wlan_stop() wlan_start()) is needed when changing scan interval value.\n | 
| frankvnk | 5:854f9b13a0f9 | 363 | * Saved: No\n | 
| frankvnk | 5:854f9b13a0f9 | 364 | * @param uiMinDwellTime minimum dwell time value to be used for each channel, in milliseconds.\n | 
| frankvnk | 5:854f9b13a0f9 | 365 | * Saved: yes\n | 
| frankvnk | 5:854f9b13a0f9 | 366 | * Recommended Value: 100\n | 
| frankvnk | 5:854f9b13a0f9 | 367 | * Default: 20\n | 
| frankvnk | 5:854f9b13a0f9 | 368 | * @param uiMaxDwellTime maximum dwell time value to be used for each channel, in milliseconds.\n | 
| frankvnk | 5:854f9b13a0f9 | 369 | * Saved: yes\n | 
| frankvnk | 5:854f9b13a0f9 | 370 | * Recommended Value: 100\n | 
| frankvnk | 5:854f9b13a0f9 | 371 | * Default: 30\n | 
| frankvnk | 5:854f9b13a0f9 | 372 | * @param uiNumOfProbeRequests max probe request between dwell time. \n | 
| frankvnk | 5:854f9b13a0f9 | 373 | * Saved: yes.\n | 
| frankvnk | 5:854f9b13a0f9 | 374 | * Recommended Value: 5\n | 
| frankvnk | 5:854f9b13a0f9 | 375 | * Default:2\n | 
| frankvnk | 5:854f9b13a0f9 | 376 | * @param uiChannelMask bitwise, up to 13 channels (0x1fff). \n | 
| frankvnk | 5:854f9b13a0f9 | 377 | * Saved: yes.\n | 
| frankvnk | 5:854f9b13a0f9 | 378 | * Default: 0x7ff\n | 
| frankvnk | 5:854f9b13a0f9 | 379 | * @param uiRSSIThreshold RSSI threshold.\n | 
| frankvnk | 5:854f9b13a0f9 | 380 | * Saved: yes\n | 
| frankvnk | 5:854f9b13a0f9 | 381 | * Default: -80\n | 
| frankvnk | 5:854f9b13a0f9 | 382 | * @param uiSNRThreshold NSR threshold.\n | 
| frankvnk | 5:854f9b13a0f9 | 383 | * Saved: yes\n | 
| frankvnk | 5:854f9b13a0f9 | 384 | * Default: 0\n | 
| frankvnk | 5:854f9b13a0f9 | 385 | * @param uiDefaultTxPower probe Tx power.\n | 
| frankvnk | 5:854f9b13a0f9 | 386 | * Saved: yes\n | 
| frankvnk | 5:854f9b13a0f9 | 387 | * Default: 205\n | 
| frankvnk | 5:854f9b13a0f9 | 388 | * @param aiIntervalList pointer to array with 16 entries (16 channels) \n | 
| frankvnk | 5:854f9b13a0f9 | 389 | * Each entry (unsigned long) holds timeout between periodic scan \n | 
| frankvnk | 5:854f9b13a0f9 | 390 | * and connection scan - in milliseconds.\n | 
| frankvnk | 5:854f9b13a0f9 | 391 | * Saved: yes.\n | 
| frankvnk | 5:854f9b13a0f9 | 392 | * Default 2000ms.\n | 
| frankvnk | 4:d8255a5aad46 | 393 | * @return On success, zero is returned. On error, -1 is returned | 
| frankvnk | 4:d8255a5aad46 | 394 | * @Note uiDefaultTxPower, is not supported on this version. | 
| frankvnk | 4:d8255a5aad46 | 395 | * @sa wlan_ioctl_get_scan_results | 
| frankvnk | 4:d8255a5aad46 | 396 | */ | 
| frankvnk | 0:c44f0314d6ec | 397 | extern long wlan_ioctl_set_scan_params(unsigned long uiEnable, | 
| frankvnk | 0:c44f0314d6ec | 398 | unsigned long uiMinDwellTime, | 
| frankvnk | 0:c44f0314d6ec | 399 | unsigned long uiMaxDwellTime, | 
| frankvnk | 0:c44f0314d6ec | 400 | unsigned long uiNumOfProbeRequests, | 
| frankvnk | 0:c44f0314d6ec | 401 | unsigned long uiChannelMask, | 
| frankvnk | 0:c44f0314d6ec | 402 | long iRSSIThreshold, | 
| frankvnk | 0:c44f0314d6ec | 403 | unsigned long uiSNRThreshold, | 
| frankvnk | 0:c44f0314d6ec | 404 | unsigned long uiDefaultTxPower, | 
| frankvnk | 0:c44f0314d6ec | 405 | unsigned long *aiIntervalList); | 
| frankvnk | 0:c44f0314d6ec | 406 | |
| frankvnk | 0:c44f0314d6ec | 407 | |
| frankvnk | 4:d8255a5aad46 | 408 | /** | 
| frankvnk | 5:854f9b13a0f9 | 409 | * Start to acquire device profile. | 
| frankvnk | 5:854f9b13a0f9 | 410 | * The device will acquires its own profile if a profile message is found.\n | 
| frankvnk | 5:854f9b13a0f9 | 411 | * The acquired AP information is stored in CC3000 EEPROM only when AES128 encryption is used.\n | 
| frankvnk | 5:854f9b13a0f9 | 412 | * When AES128 encryption is not used, a profile is internally created by the device.\n | 
| frankvnk | 4:d8255a5aad46 | 413 | * @param algoEncryptedFlag indicates whether the information is encrypted | 
| frankvnk | 4:d8255a5aad46 | 414 | * @return On success, zero is returned. On error, -1 is returned | 
| frankvnk | 5:854f9b13a0f9 | 415 | * @Note An asynchronous event - Smart Config Done will be generated as soon\n | 
| frankvnk | 5:854f9b13a0f9 | 416 | * as the process finishes successfully.\n | 
| frankvnk | 4:d8255a5aad46 | 417 | * @sa wlan_smart_config_set_prefix , wlan_smart_config_stop | 
| frankvnk | 4:d8255a5aad46 | 418 | */ | 
| frankvnk | 0:c44f0314d6ec | 419 | extern long wlan_smart_config_start(unsigned long algoEncryptedFlag); | 
| frankvnk | 0:c44f0314d6ec | 420 | |
| frankvnk | 4:d8255a5aad46 | 421 | /** | 
| frankvnk | 4:d8255a5aad46 | 422 | * Stop the acquire profile procedure | 
| frankvnk | 4:d8255a5aad46 | 423 | * @param algoEncryptedFlag indicates whether the information is encrypted | 
| frankvnk | 4:d8255a5aad46 | 424 | * @return On success, zero is returned. On error, -1 is returned | 
| frankvnk | 4:d8255a5aad46 | 425 | * @sa wlan_smart_config_start , wlan_smart_config_set_prefix | 
| frankvnk | 4:d8255a5aad46 | 426 | */ | 
| frankvnk | 0:c44f0314d6ec | 427 | extern long wlan_smart_config_stop(void); | 
| frankvnk | 0:c44f0314d6ec | 428 | |
| frankvnk | 4:d8255a5aad46 | 429 | /** | 
| frankvnk | 5:854f9b13a0f9 | 430 | * Configure station ssid prefix. | 
| frankvnk | 5:854f9b13a0f9 | 431 | * The prefix is used internally in CC3000. It should always be TTT.\n | 
| frankvnk | 4:d8255a5aad46 | 432 | * @param newPrefix 3 bytes identify the SSID prefix for the Smart Config. | 
| frankvnk | 4:d8255a5aad46 | 433 | * @return On success, zero is returned. On error, -1 is returned | 
| frankvnk | 4:d8255a5aad46 | 434 | * @Note The prefix is stored in CC3000 NVMEM | 
| frankvnk | 4:d8255a5aad46 | 435 | * @sa wlan_smart_config_start , wlan_smart_config_stop | 
| frankvnk | 4:d8255a5aad46 | 436 | */ | 
| frankvnk | 0:c44f0314d6ec | 437 | extern long wlan_smart_config_set_prefix(char* cNewPrefix); | 
| frankvnk | 0:c44f0314d6ec | 438 | |
| frankvnk | 4:d8255a5aad46 | 439 | /** | 
| frankvnk | 4:d8255a5aad46 | 440 | * Process the acquired data and store it as a profile. | 
| frankvnk | 4:d8255a5aad46 | 441 | * The acquired AP information is stored in CC3000 EEPROM encrypted. | 
| frankvnk | 5:854f9b13a0f9 | 442 | * The encrypted data is decrypted and stored as a profile.\n | 
| frankvnk | 5:854f9b13a0f9 | 443 | * behavior is as defined by connection policy.\n | 
| frankvnk | 4:d8255a5aad46 | 444 | * @param none | 
| frankvnk | 4:d8255a5aad46 | 445 | * @return On success, zero is returned. On error, -1 is returned | 
| frankvnk | 4:d8255a5aad46 | 446 | */ | 
| frankvnk | 0:c44f0314d6ec | 447 | extern long wlan_smart_config_process(void); | 
| frankvnk | 0:c44f0314d6ec | 448 | |
| frankvnk | 0:c44f0314d6ec | 449 | |
| frankvnk | 0:c44f0314d6ec | 450 | #ifdef __cplusplus | 
| frankvnk | 0:c44f0314d6ec | 451 | } | 
| frankvnk | 0:c44f0314d6ec | 452 | #endif // __cplusplus | 
| frankvnk | 0:c44f0314d6ec | 453 | |
| frankvnk | 5:854f9b13a0f9 | 454 | //***************************************************************************** | 
| frankvnk | 5:854f9b13a0f9 | 455 | // | 
| frankvnk | 5:854f9b13a0f9 | 456 | // Close the Doxygen group. | 
| frankvnk | 5:854f9b13a0f9 | 457 | //! @} | 
| frankvnk | 5:854f9b13a0f9 | 458 | // | 
| frankvnk | 5:854f9b13a0f9 | 459 | //***************************************************************************** | 
| frankvnk | 5:854f9b13a0f9 | 460 | |
| frankvnk | 0:c44f0314d6ec | 461 | #endif // __WLAN_H__ | 
 SimpleLink Wi-Fi CC3000
            SimpleLink Wi-Fi CC3000