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.
simplelink/cc3100.h@15:5433f9d94cd7, 2015-08-28 (annotated)
- Committer:
- dflet
- Date:
- Fri Aug 28 21:04:44 2015 +0000
- Revision:
- 15:5433f9d94cd7
- Parent:
- 0:50cedd586816
- Child:
- 19:3dd3e7f30f8b
Cam ov2640 working correctly, didnt know it also gave a jpeg header. App still not stable. Still a lot of work needed.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| dflet | 0:50cedd586816 | 1 | /* |
| dflet | 0:50cedd586816 | 2 | * device.h - CC31xx/CC32xx Host Driver Implementation |
| dflet | 0:50cedd586816 | 3 | * |
| dflet | 0:50cedd586816 | 4 | * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ |
| dflet | 0:50cedd586816 | 5 | * |
| dflet | 0:50cedd586816 | 6 | * |
| dflet | 0:50cedd586816 | 7 | * Redistribution and use in source and binary forms, with or without |
| dflet | 0:50cedd586816 | 8 | * modification, are permitted provided that the following conditions |
| dflet | 0:50cedd586816 | 9 | * are met: |
| dflet | 0:50cedd586816 | 10 | * |
| dflet | 0:50cedd586816 | 11 | * Redistributions of source code must retain the above copyright |
| dflet | 0:50cedd586816 | 12 | * notice, this list of conditions and the following disclaimer. |
| dflet | 0:50cedd586816 | 13 | * |
| dflet | 0:50cedd586816 | 14 | * Redistributions in binary form must reproduce the above copyright |
| dflet | 0:50cedd586816 | 15 | * notice, this list of conditions and the following disclaimer in the |
| dflet | 0:50cedd586816 | 16 | * documentation and/or other materials provided with the |
| dflet | 0:50cedd586816 | 17 | * distribution. |
| dflet | 0:50cedd586816 | 18 | * |
| dflet | 0:50cedd586816 | 19 | * Neither the name of Texas Instruments Incorporated nor the names of |
| dflet | 0:50cedd586816 | 20 | * its contributors may be used to endorse or promote products derived |
| dflet | 0:50cedd586816 | 21 | * from this software without specific prior written permission. |
| dflet | 0:50cedd586816 | 22 | * |
| dflet | 0:50cedd586816 | 23 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| dflet | 0:50cedd586816 | 24 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| dflet | 0:50cedd586816 | 25 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| dflet | 0:50cedd586816 | 26 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| dflet | 0:50cedd586816 | 27 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| dflet | 0:50cedd586816 | 28 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| dflet | 0:50cedd586816 | 29 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| dflet | 0:50cedd586816 | 30 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| dflet | 0:50cedd586816 | 31 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| dflet | 0:50cedd586816 | 32 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| dflet | 0:50cedd586816 | 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| dflet | 0:50cedd586816 | 34 | * |
| dflet | 0:50cedd586816 | 35 | */ |
| dflet | 0:50cedd586816 | 36 | |
| dflet | 0:50cedd586816 | 37 | #ifndef DEVICE_H_ |
| dflet | 0:50cedd586816 | 38 | #define DEVICE_H_ |
| dflet | 0:50cedd586816 | 39 | |
| dflet | 0:50cedd586816 | 40 | /*****************************************************************************/ |
| dflet | 0:50cedd586816 | 41 | /* Include files */ |
| dflet | 0:50cedd586816 | 42 | /*****************************************************************************/ |
| dflet | 0:50cedd586816 | 43 | #include "mbed.h" |
| dflet | 0:50cedd586816 | 44 | #include "cc3100_simplelink.h" |
| dflet | 0:50cedd586816 | 45 | #include "cc3100_driver.h" |
| dflet | 0:50cedd586816 | 46 | #include "cc3100_wlan_rx_filters.h" |
| dflet | 0:50cedd586816 | 47 | |
| dflet | 0:50cedd586816 | 48 | #include "cc3100_spi.h" |
| dflet | 0:50cedd586816 | 49 | #include "cc3100_netcfg.h" |
| dflet | 0:50cedd586816 | 50 | |
| dflet | 0:50cedd586816 | 51 | namespace mbed_cc3100 { |
| dflet | 0:50cedd586816 | 52 | |
| dflet | 0:50cedd586816 | 53 | /*! |
| dflet | 0:50cedd586816 | 54 | |
| dflet | 0:50cedd586816 | 55 | \addtogroup device |
| dflet | 0:50cedd586816 | 56 | @{ |
| dflet | 0:50cedd586816 | 57 | |
| dflet | 0:50cedd586816 | 58 | */ |
| dflet | 0:50cedd586816 | 59 | const int16_t ROLE_UNKNOWN_ERR = -1; |
| dflet | 0:50cedd586816 | 60 | |
| dflet | 0:50cedd586816 | 61 | const uint16_t MAX_BUFF_SIZE = 1460; |
| dflet | 0:50cedd586816 | 62 | extern uint32_t g_PingPacketsRecv; |
| dflet | 0:50cedd586816 | 63 | extern uint32_t g_GatewayIP; |
| dflet | 0:50cedd586816 | 64 | extern uint32_t g_StationIP; |
| dflet | 0:50cedd586816 | 65 | extern uint32_t g_DestinationIP; |
| dflet | 0:50cedd586816 | 66 | extern uint32_t g_BytesReceived; // variable to store the file size |
| dflet | 0:50cedd586816 | 67 | extern uint32_t g_Status; |
| dflet | 0:50cedd586816 | 68 | extern uint8_t g_buff[MAX_BUFF_SIZE+1]; |
| dflet | 0:50cedd586816 | 69 | extern int32_t g_SockID; |
| dflet | 0:50cedd586816 | 70 | |
| dflet | 0:50cedd586816 | 71 | |
| dflet | 0:50cedd586816 | 72 | /* File on the serial flash */ |
| dflet | 0:50cedd586816 | 73 | #define FILE_NAME "cc3000_module.pdf" |
| dflet | 0:50cedd586816 | 74 | #define HOST_NAME "www.ti.com" |
| dflet | 0:50cedd586816 | 75 | |
| dflet | 0:50cedd586816 | 76 | #define HTTP_FILE_NOT_FOUND "404 Not Found" /* HTTP file not found response */ |
| dflet | 0:50cedd586816 | 77 | //#define HTTP_STATUS_OK "200 OK" /* HTTP status ok response */ |
| dflet | 0:50cedd586816 | 78 | #define HTTP_CONTENT_LENGTH "Content-Length:" /* HTTP content length header */ |
| dflet | 0:50cedd586816 | 79 | #define HTTP_TRANSFER_ENCODING "Transfer-Encoding:" /* HTTP transfer encoding header */ |
| dflet | 0:50cedd586816 | 80 | #define HTTP_ENCODING_CHUNKED "chunked" /* HTTP transfer encoding header value */ |
| dflet | 0:50cedd586816 | 81 | #define HTTP_CONNECTION "Connection:" /* HTTP Connection header */ |
| dflet | 0:50cedd586816 | 82 | #define HTTP_CONNECTION_CLOSE "close" /* HTTP Connection header value */ |
| dflet | 0:50cedd586816 | 83 | #define HTTP_END_OF_HEADER "\r\n\r\n" /* string marking the end of headers in response */ |
| dflet | 0:50cedd586816 | 84 | |
| dflet | 0:50cedd586816 | 85 | /*****************************************************************************/ |
| dflet | 0:50cedd586816 | 86 | /* Macro declarations */ |
| dflet | 0:50cedd586816 | 87 | /*****************************************************************************/ |
| dflet | 0:50cedd586816 | 88 | |
| dflet | 0:50cedd586816 | 89 | const uint16_t IP_LEASE_TIME = 3600; |
| dflet | 0:50cedd586816 | 90 | |
| dflet | 0:50cedd586816 | 91 | const uint16_t SIZE_45K = 46080; /* Serial flash file size 45 KB */ |
| dflet | 0:50cedd586816 | 92 | const uint16_t READ_SIZE = 1450; |
| dflet | 0:50cedd586816 | 93 | const uint8_t SPACE = 32; |
| dflet | 0:50cedd586816 | 94 | |
| dflet | 0:50cedd586816 | 95 | const uint16_t PING_INTERVAL = 1000; |
| dflet | 0:50cedd586816 | 96 | const uint8_t PING_SIZE = 20; |
| dflet | 0:50cedd586816 | 97 | const uint16_t PING_TIMEOUT = 3000; |
| dflet | 0:50cedd586816 | 98 | const uint8_t PING_ATTEMPTS = 3; |
| dflet | 0:50cedd586816 | 99 | const uint8_t PING_PKT_SIZE = 20; |
| dflet | 0:50cedd586816 | 100 | |
| dflet | 0:50cedd586816 | 101 | const uint8_t SL_STOP_TIMEOUT = 0xFF; |
| dflet | 0:50cedd586816 | 102 | |
| dflet | 0:50cedd586816 | 103 | /* SL internal Error codes */ |
| dflet | 0:50cedd586816 | 104 | |
| dflet | 0:50cedd586816 | 105 | /* Receive this error in case there are no resources to issue the command |
| dflet | 0:50cedd586816 | 106 | If possible, increase the number of MAX_CUNCURENT_ACTIONS (result in memory increase) |
| dflet | 0:50cedd586816 | 107 | If not, try again later */ |
| dflet | 0:50cedd586816 | 108 | const int16_t SL_POOL_IS_EMPTY = (-2000); |
| dflet | 0:50cedd586816 | 109 | |
| dflet | 0:50cedd586816 | 110 | /* Receive this error in case a given length for RX buffer was too small. |
| dflet | 0:50cedd586816 | 111 | Receive payload was bigger than the given buffer size. Therefore, payload is cut according to receive size |
| dflet | 0:50cedd586816 | 112 | Recommend to increase buffer size */ |
| dflet | 0:50cedd586816 | 113 | const int16_t SL_ESMALLBUF = (-2001); |
| dflet | 0:50cedd586816 | 114 | |
| dflet | 0:50cedd586816 | 115 | /* Receive this error in case zero length is supplied to a "get" API |
| dflet | 0:50cedd586816 | 116 | Recommend to supply length according to requested information (view options defines for help) */ |
| dflet | 0:50cedd586816 | 117 | const int16_t SL_EZEROLEN = (-2002); |
| dflet | 0:50cedd586816 | 118 | |
| dflet | 0:50cedd586816 | 119 | /* User supplied invalid parameter */ |
| dflet | 0:50cedd586816 | 120 | const int16_t SL_INVALPARAM = (-2003); |
| dflet | 0:50cedd586816 | 121 | |
| dflet | 0:50cedd586816 | 122 | /* Failed to open interface */ |
| dflet | 0:50cedd586816 | 123 | const int16_t SL_BAD_INTERFACE = (-2004); |
| dflet | 0:50cedd586816 | 124 | |
| dflet | 0:50cedd586816 | 125 | /* End of SL internal Error codes */ |
| dflet | 0:50cedd586816 | 126 | |
| dflet | 0:50cedd586816 | 127 | /*****************************************************************************/ |
| dflet | 0:50cedd586816 | 128 | /* Errors returned from the general error async event */ |
| dflet | 0:50cedd586816 | 129 | /*****************************************************************************/ |
| dflet | 0:50cedd586816 | 130 | |
| dflet | 0:50cedd586816 | 131 | /* Use bit 32: Lower bits of status variable are used for NWP events |
| dflet | 0:50cedd586816 | 132 | * 1 in a 'status_variable', the device has completed the ping operation |
| dflet | 0:50cedd586816 | 133 | * 0 in a 'status_variable', the device has not completed the ping operation |
| dflet | 0:50cedd586816 | 134 | */ |
| dflet | 0:50cedd586816 | 135 | //const uint32_t STATUS_BIT_PING_DONE = 31; |
| dflet | 0:50cedd586816 | 136 | |
| dflet | 0:50cedd586816 | 137 | /* Status bits - These are used to set/reset the corresponding bits in a 'status_variable' */ |
| dflet | 0:50cedd586816 | 138 | typedef enum { |
| dflet | 0:50cedd586816 | 139 | STATUS_BIT_CONNECTION = 0, /* If this bit is: |
| dflet | 0:50cedd586816 | 140 | * 1 in a 'status_variable', the device is connected to the AP |
| dflet | 0:50cedd586816 | 141 | * 0 in a 'status_variable', the device is not connected to the AP |
| dflet | 0:50cedd586816 | 142 | */ |
| dflet | 0:50cedd586816 | 143 | |
| dflet | 0:50cedd586816 | 144 | STATUS_BIT_STA_CONNECTED, /* If this bit is: |
| dflet | 0:50cedd586816 | 145 | * 1 in a 'status_variable', client is connected to device |
| dflet | 0:50cedd586816 | 146 | * 0 in a 'status_variable', client is not connected to device |
| dflet | 0:50cedd586816 | 147 | */ |
| dflet | 0:50cedd586816 | 148 | |
| dflet | 0:50cedd586816 | 149 | STATUS_BIT_IP_ACQUIRED, /* If this bit is: |
| dflet | 0:50cedd586816 | 150 | * 1 in a 'status_variable', the device has acquired an IP |
| dflet | 0:50cedd586816 | 151 | * 0 in a 'status_variable', the device has not acquired an IP |
| dflet | 0:50cedd586816 | 152 | */ |
| dflet | 0:50cedd586816 | 153 | |
| dflet | 0:50cedd586816 | 154 | STATUS_BIT_IP_LEASED, /* If this bit is: |
| dflet | 0:50cedd586816 | 155 | * 1 in a 'status_variable', the device has leased an IP |
| dflet | 0:50cedd586816 | 156 | * 0 in a 'status_variable', the device has not leased an IP |
| dflet | 0:50cedd586816 | 157 | */ |
| dflet | 0:50cedd586816 | 158 | |
| dflet | 0:50cedd586816 | 159 | STATUS_BIT_CONNECTION_FAILED, /* If this bit is: |
| dflet | 0:50cedd586816 | 160 | * 1 in a 'status_variable', failed to connect to device |
| dflet | 0:50cedd586816 | 161 | * 0 in a 'status_variable' |
| dflet | 0:50cedd586816 | 162 | */ |
| dflet | 0:50cedd586816 | 163 | |
| dflet | 0:50cedd586816 | 164 | STATUS_BIT_P2P_NEG_REQ_RECEIVED,/* If this bit is: |
| dflet | 0:50cedd586816 | 165 | * 1 in a 'status_variable', connection requested by remote wifi-direct device |
| dflet | 0:50cedd586816 | 166 | * 0 in a 'status_variable', |
| dflet | 0:50cedd586816 | 167 | */ |
| dflet | 0:50cedd586816 | 168 | STATUS_BIT_SMARTCONFIG_DONE, /* If this bit is: |
| dflet | 0:50cedd586816 | 169 | * 1 in a 'status_variable', smartconfig completed |
| dflet | 0:50cedd586816 | 170 | * 0 in a 'status_variable', smartconfig event couldn't complete |
| dflet | 0:50cedd586816 | 171 | */ |
| dflet | 0:50cedd586816 | 172 | |
| dflet | 0:50cedd586816 | 173 | STATUS_BIT_SMARTCONFIG_STOPPED, /* If this bit is: |
| dflet | 0:50cedd586816 | 174 | * 1 in a 'status_variable', smartconfig process stopped |
| dflet | 0:50cedd586816 | 175 | * 0 in a 'status_variable', smartconfig process running |
| dflet | 0:50cedd586816 | 176 | */ |
| dflet | 0:50cedd586816 | 177 | |
| dflet | 0:50cedd586816 | 178 | STATUS_BIT_PING_DONE = 31 |
| dflet | 0:50cedd586816 | 179 | /* Use bit 32: Lower bits of status variable are used for NWP events |
| dflet | 0:50cedd586816 | 180 | * 1 in a 'status_variable', the device has completed the ping operation |
| dflet | 0:50cedd586816 | 181 | * 0 in a 'status_variable', the device has not completed the ping operation |
| dflet | 0:50cedd586816 | 182 | */ |
| dflet | 0:50cedd586816 | 183 | |
| dflet | 0:50cedd586816 | 184 | } e_StatusBits; |
| dflet | 0:50cedd586816 | 185 | |
| dflet | 0:50cedd586816 | 186 | /* Application specific status/error codes */ |
| dflet | 0:50cedd586816 | 187 | typedef enum { |
| dflet | 0:50cedd586816 | 188 | LAN_CONNECTION_FAILED = -0x7D0, /* Choosing this number to avoid overlap with host-driver's error codes */ |
| dflet | 0:50cedd586816 | 189 | CAMERA_CAPTURE_FAILED = -0x7D0, |
| dflet | 0:50cedd586816 | 190 | INTERNET_CONNECTION_FAILED = LAN_CONNECTION_FAILED - 1, |
| dflet | 0:50cedd586816 | 191 | DEVICE_NOT_IN_STATION_MODE = INTERNET_CONNECTION_FAILED - 1, |
| dflet | 0:50cedd586816 | 192 | DEVICE_NOT_IN_AP_MODE = DEVICE_NOT_IN_STATION_MODE - 1, |
| dflet | 0:50cedd586816 | 193 | DEVICE_NOT_IN_P2P_MODE = DEVICE_NOT_IN_STATION_MODE - 1, |
| dflet | 0:50cedd586816 | 194 | HTTP_SEND_ERROR = DEVICE_NOT_IN_STATION_MODE - 1, |
| dflet | 0:50cedd586816 | 195 | HTTP_RECV_ERROR = HTTP_SEND_ERROR - 1, |
| dflet | 0:50cedd586816 | 196 | HTTP_INVALID_RESPONSE = HTTP_RECV_ERROR -1, |
| dflet | 0:50cedd586816 | 197 | SNTP_SEND_ERROR = DEVICE_NOT_IN_STATION_MODE - 1, |
| dflet | 0:50cedd586816 | 198 | SNTP_RECV_ERROR = SNTP_SEND_ERROR - 1, |
| dflet | 0:50cedd586816 | 199 | SNTP_SERVER_RESPONSE_ERROR = SNTP_RECV_ERROR - 1, |
| dflet | 0:50cedd586816 | 200 | INVALID_HEX_STRING = DEVICE_NOT_IN_STATION_MODE - 1, |
| dflet | 0:50cedd586816 | 201 | TCP_RECV_ERROR = INVALID_HEX_STRING - 1, |
| dflet | 0:50cedd586816 | 202 | TCP_SEND_ERROR = TCP_RECV_ERROR - 1, |
| dflet | 0:50cedd586816 | 203 | FILE_NOT_FOUND_ERROR = TCP_SEND_ERROR - 1, |
| dflet | 0:50cedd586816 | 204 | INVALID_SERVER_RESPONSE = FILE_NOT_FOUND_ERROR - 1, |
| dflet | 0:50cedd586816 | 205 | FORMAT_NOT_SUPPORTED = INVALID_SERVER_RESPONSE - 1, |
| dflet | 0:50cedd586816 | 206 | FILE_WRITE_ERROR = FORMAT_NOT_SUPPORTED - 1, |
| dflet | 0:50cedd586816 | 207 | INVALID_FILE = FILE_WRITE_ERROR - 1, |
| dflet | 0:50cedd586816 | 208 | |
| dflet | 0:50cedd586816 | 209 | STATUS_CODE_MAX = -0xBB8 |
| dflet | 0:50cedd586816 | 210 | } e_AppStatusCodes; |
| dflet | 0:50cedd586816 | 211 | |
| dflet | 0:50cedd586816 | 212 | /* Send types */ |
| dflet | 0:50cedd586816 | 213 | typedef enum { |
| dflet | 0:50cedd586816 | 214 | SL_ERR_SENDER_HEALTH_MON, |
| dflet | 0:50cedd586816 | 215 | SL_ERR_SENDER_CLI_UART, |
| dflet | 0:50cedd586816 | 216 | SL_ERR_SENDER_SUPPLICANT, |
| dflet | 0:50cedd586816 | 217 | SL_ERR_SENDER_NETWORK_STACK, |
| dflet | 0:50cedd586816 | 218 | SL_ERR_SENDER_WLAN_DRV_IF, |
| dflet | 0:50cedd586816 | 219 | SL_ERR_SENDER_WILINK, |
| dflet | 0:50cedd586816 | 220 | SL_ERR_SENDER_INIT_APP, |
| dflet | 0:50cedd586816 | 221 | SL_ERR_SENDER_NETX, |
| dflet | 0:50cedd586816 | 222 | SL_ERR_SENDER_HOST_APD, |
| dflet | 0:50cedd586816 | 223 | SL_ERR_SENDER_MDNS, |
| dflet | 0:50cedd586816 | 224 | SL_ERR_SENDER_HTTP_SERVER, |
| dflet | 0:50cedd586816 | 225 | SL_ERR_SENDER_DHCP_SERVER, |
| dflet | 0:50cedd586816 | 226 | SL_ERR_SENDER_DHCP_CLIENT, |
| dflet | 0:50cedd586816 | 227 | SL_ERR_DISPATCHER, |
| dflet | 0:50cedd586816 | 228 | SL_ERR_NUM_SENDER_LAST=0xFF |
| dflet | 0:50cedd586816 | 229 | } SlErrorSender_e; |
| dflet | 0:50cedd586816 | 230 | |
| dflet | 0:50cedd586816 | 231 | /* Error codes */ |
| dflet | 0:50cedd586816 | 232 | const int8_t SL_ERROR_STATIC_ADDR_SUBNET_ERROR = (-60); /* network stack error*/ |
| dflet | 0:50cedd586816 | 233 | const int8_t SL_ERROR_ILLEGAL_CHANNEL = (-61); /* supplicant error */ |
| dflet | 0:50cedd586816 | 234 | const int8_t SL_ERROR_SUPPLICANT_ERROR = (-72); /* init error code */ |
| dflet | 0:50cedd586816 | 235 | const int8_t SL_ERROR_HOSTAPD_INIT_FAIL = (-73); /* init error code */ |
| dflet | 0:50cedd586816 | 236 | const int8_t SL_ERROR_HOSTAPD_INIT_IF_FAIL = (-74); /* init error code */ |
| dflet | 0:50cedd586816 | 237 | const int8_t SL_ERROR_WLAN_DRV_INIT_FAIL = (-75); /* init error code */ |
| dflet | 0:50cedd586816 | 238 | const int8_t SL_ERROR_WLAN_DRV_START_FAIL = (-76); /* wlan start error */ |
| dflet | 0:50cedd586816 | 239 | const int8_t SL_ERROR_FS_FILE_TABLE_LOAD_FAILED = (-77); /* init file system failed */ |
| dflet | 0:50cedd586816 | 240 | const int8_t SL_ERROR_PREFERRED_NETWORKS_FILE_LOAD_FAILED = (-78); /* init file system failed */ |
| dflet | 0:50cedd586816 | 241 | const int8_t SL_ERROR_HOSTAPD_BSSID_VALIDATION_ERROR = (-79); /* Ap configurations BSSID error */ |
| dflet | 0:50cedd586816 | 242 | const int8_t SL_ERROR_HOSTAPD_FAILED_TO_SETUP_INTERFACE = (-80); /* Ap configurations interface error */ |
| dflet | 0:50cedd586816 | 243 | const int8_t SL_ERROR_MDNS_ENABLE_FAIL = (-81); /* mDNS enable failed */ |
| dflet | 0:50cedd586816 | 244 | const int8_t SL_ERROR_HTTP_SERVER_ENABLE_FAILED = (-82); /* HTTP server enable failed */ |
| dflet | 0:50cedd586816 | 245 | const int8_t SL_ERROR_DHCP_SERVER_ENABLE_FAILED = (-83); /* DHCP server enable failed */ |
| dflet | 0:50cedd586816 | 246 | const int8_t SL_ERROR_PREFERRED_NETWORK_LIST_FULL = (-93); /* supplicant error */ |
| dflet | 0:50cedd586816 | 247 | const int8_t SL_ERROR_PREFERRED_NETWORKS_FILE_WRITE_FAILED = (-94); /* supplicant error */ |
| dflet | 0:50cedd586816 | 248 | const int8_t SL_ERROR_DHCP_CLIENT_RENEW_FAILED = (-100); /* DHCP client error */ |
| dflet | 0:50cedd586816 | 249 | /* WLAN Connection management status */ |
| dflet | 0:50cedd586816 | 250 | const int8_t SL_ERROR_CON_MGMT_STATUS_UNSPECIFIED = (-102); |
| dflet | 0:50cedd586816 | 251 | const int8_t SL_ERROR_CON_MGMT_STATUS_AUTH_REJECT = (-103); |
| dflet | 0:50cedd586816 | 252 | const int8_t SL_ERROR_CON_MGMT_STATUS_ASSOC_REJECT = (-104); |
| dflet | 0:50cedd586816 | 253 | const int8_t SL_ERROR_CON_MGMT_STATUS_SECURITY_FAILURE = (-105); |
| dflet | 0:50cedd586816 | 254 | const int8_t SL_ERROR_CON_MGMT_STATUS_AP_DEAUTHENTICATE = (-106); |
| dflet | 0:50cedd586816 | 255 | const int8_t SL_ERROR_CON_MGMT_STATUS_AP_DISASSOCIATE = (-107); |
| dflet | 0:50cedd586816 | 256 | const int8_t SL_ERROR_CON_MGMT_STATUS_ROAMING_TRIGGER = (-108); |
| dflet | 0:50cedd586816 | 257 | const int8_t SL_ERROR_CON_MGMT_STATUS_DISCONNECT_DURING_CONNECT = (-109); |
| dflet | 0:50cedd586816 | 258 | const int8_t SL_ERROR_CON_MGMT_STATUS_SG_RESELECT = (-110); |
| dflet | 0:50cedd586816 | 259 | const int8_t SL_ERROR_CON_MGMT_STATUS_ROC_FAILURE = (-111); |
| dflet | 0:50cedd586816 | 260 | const int8_t SL_ERROR_CON_MGMT_STATUS_MIC_FAILURE = (-112); |
| dflet | 0:50cedd586816 | 261 | /* end of WLAN connection management error statuses */ |
| dflet | 0:50cedd586816 | 262 | const int8_t SL_ERROR_WAKELOCK_ERROR_PREFIX = (-115); /* Wake lock expired */ |
| dflet | 0:50cedd586816 | 263 | const int8_t SL_ERROR_LENGTH_ERROR_PREFIX = (-116); /* Uart header length error */ |
| dflet | 0:50cedd586816 | 264 | const int8_t SL_ERROR_MDNS_CREATE_FAIL = (-121); /* mDNS create failed */ |
| dflet | 0:50cedd586816 | 265 | const int8_t SL_ERROR_GENERAL_ERROR = (-127); |
| dflet | 0:50cedd586816 | 266 | |
| dflet | 0:50cedd586816 | 267 | |
| dflet | 0:50cedd586816 | 268 | |
| dflet | 0:50cedd586816 | 269 | const int8_t SL_DEVICE_GENERAL_CONFIGURATION = (1); |
| dflet | 0:50cedd586816 | 270 | const int8_t SL_DEVICE_GENERAL_CONFIGURATION_DATE_TIME = (11); |
| dflet | 0:50cedd586816 | 271 | const int8_t SL_DEVICE_GENERAL_VERSION = (12); |
| dflet | 0:50cedd586816 | 272 | const int8_t SL_DEVICE_STATUS = (2); |
| dflet | 0:50cedd586816 | 273 | |
| dflet | 0:50cedd586816 | 274 | /* |
| dflet | 0:50cedd586816 | 275 | Declare the different event group classifications |
| dflet | 0:50cedd586816 | 276 | The SimpleLink device send asynchronous events. Each event has a group |
| dflet | 0:50cedd586816 | 277 | classification according to its nature. |
| dflet | 0:50cedd586816 | 278 | */ |
| dflet | 0:50cedd586816 | 279 | #if 1 |
| dflet | 0:50cedd586816 | 280 | /* SL_EVENT_CLASS_WLAN connection user events */ |
| dflet | 0:50cedd586816 | 281 | const int8_t SL_WLAN_CONNECT_EVENT = (1); |
| dflet | 0:50cedd586816 | 282 | const int8_t SL_WLAN_DISCONNECT_EVENT = (2); |
| dflet | 0:50cedd586816 | 283 | /* WLAN Smart Config user events */ |
| dflet | 0:50cedd586816 | 284 | const int8_t SL_WLAN_SMART_CONFIG_COMPLETE_EVENT = (3); |
| dflet | 0:50cedd586816 | 285 | const int8_t SL_WLAN_SMART_CONFIG_STOP_EVENT = (4); |
| dflet | 0:50cedd586816 | 286 | /* WLAN AP user events */ |
| dflet | 0:50cedd586816 | 287 | const int8_t SL_WLAN_STA_CONNECTED_EVENT = (5); |
| dflet | 0:50cedd586816 | 288 | const int8_t SL_WLAN_STA_DISCONNECTED_EVENT = (6); |
| dflet | 0:50cedd586816 | 289 | /* WLAN P2P user events */ |
| dflet | 0:50cedd586816 | 290 | const int8_t SL_WLAN_P2P_DEV_FOUND_EVENT = (7); |
| dflet | 0:50cedd586816 | 291 | const int8_t SL_WLAN_P2P_NEG_REQ_RECEIVED_EVENT = (8); |
| dflet | 0:50cedd586816 | 292 | const int8_t SL_WLAN_CONNECTION_FAILED_EVENT = (9); |
| dflet | 0:50cedd586816 | 293 | /* SL_EVENT_CLASS_DEVICE user events */ |
| dflet | 0:50cedd586816 | 294 | const int8_t SL_DEVICE_FATAL_ERROR_EVENT = (1); |
| dflet | 0:50cedd586816 | 295 | const int8_t SL_DEVICE_ABORT_ERROR_EVENT = (2); |
| dflet | 0:50cedd586816 | 296 | /* SL_EVENT_CLASS_BSD user events */ |
| dflet | 0:50cedd586816 | 297 | const int8_t SL_SOCKET_TX_FAILED_EVENT = (1); |
| dflet | 0:50cedd586816 | 298 | const int8_t SL_SOCKET_ASYNC_EVENT = (2); |
| dflet | 0:50cedd586816 | 299 | /* SL_EVENT_CLASS_NETAPP user events */ |
| dflet | 0:50cedd586816 | 300 | const int8_t SL_NETAPP_IPV4_IPACQUIRED_EVENT = (1); |
| dflet | 0:50cedd586816 | 301 | const int8_t SL_NETAPP_IPV6_IPACQUIRED_EVENT = (2); |
| dflet | 0:50cedd586816 | 302 | const int8_t SL_NETAPP_IP_LEASED_EVENT = (3); |
| dflet | 0:50cedd586816 | 303 | const int8_t SL_NETAPP_IP_RELEASED_EVENT = (4); |
| dflet | 0:50cedd586816 | 304 | |
| dflet | 0:50cedd586816 | 305 | /* Server Events */ |
| dflet | 0:50cedd586816 | 306 | const int8_t SL_NETAPP_HTTPGETTOKENVALUE_EVENT = (1); |
| dflet | 0:50cedd586816 | 307 | const int8_t SL_NETAPP_HTTPPOSTTOKENVALUE_EVENT = (2); |
| dflet | 0:50cedd586816 | 308 | #endif |
| dflet | 0:50cedd586816 | 309 | |
| dflet | 0:50cedd586816 | 310 | /* |
| dflet | 0:50cedd586816 | 311 | Declare the different event group classifications for sl_DevGet |
| dflet | 0:50cedd586816 | 312 | for getting status indications |
| dflet | 0:50cedd586816 | 313 | */ |
| dflet | 0:50cedd586816 | 314 | |
| dflet | 0:50cedd586816 | 315 | /* Events list to mask/unmask*/ |
| dflet | 0:50cedd586816 | 316 | const int8_t SL_EVENT_CLASS_GLOBAL = (0); |
| dflet | 0:50cedd586816 | 317 | const int8_t SL_EVENT_CLASS_DEVICE = (1); |
| dflet | 0:50cedd586816 | 318 | const int8_t SL_EVENT_CLASS_WLAN = (2); |
| dflet | 0:50cedd586816 | 319 | const int8_t SL_EVENT_CLASS_BSD = (3); |
| dflet | 0:50cedd586816 | 320 | const int8_t SL_EVENT_CLASS_NETAPP = (4); |
| dflet | 0:50cedd586816 | 321 | const int8_t SL_EVENT_CLASS_NETCFG = (5); |
| dflet | 0:50cedd586816 | 322 | const int8_t SL_EVENT_CLASS_FS = (6); |
| dflet | 0:50cedd586816 | 323 | |
| dflet | 0:50cedd586816 | 324 | |
| dflet | 0:50cedd586816 | 325 | /****************** DEVICE CLASS status ****************/ |
| dflet | 0:50cedd586816 | 326 | const uint32_t EVENT_DROPPED_DEVICE_ASYNC_GENERAL_ERROR = (0x00000001L); |
| dflet | 0:50cedd586816 | 327 | const uint32_t STATUS_DEVICE_SMART_CONFIG_ACTIVE = (0x80000000L); |
| dflet | 0:50cedd586816 | 328 | |
| dflet | 0:50cedd586816 | 329 | /****************** WLAN CLASS status ****************/ |
| dflet | 0:50cedd586816 | 330 | const uint32_t EVENT_DROPPED_WLAN_WLANASYNCONNECTEDRESPONSE = (0x00000001L); |
| dflet | 0:50cedd586816 | 331 | const uint32_t EVENT_DROPPED_WLAN_WLANASYNCDISCONNECTEDRESPONSE = (0x00000002L); |
| dflet | 0:50cedd586816 | 332 | const uint32_t EVENT_DROPPED_WLAN_STA_CONNECTED = (0x00000004L); |
| dflet | 0:50cedd586816 | 333 | const uint32_t EVENT_DROPPED_WLAN_STA_DISCONNECTED = (0x00000008L); |
| dflet | 0:50cedd586816 | 334 | const uint32_t STATUS_WLAN_STA_CONNECTED = (0x80000000L); |
| dflet | 0:50cedd586816 | 335 | |
| dflet | 0:50cedd586816 | 336 | /****************** NETAPP CLASS status ****************/ |
| dflet | 0:50cedd586816 | 337 | const uint32_t EVENT_DROPPED_NETAPP_IPACQUIRED = (0x00000001L); |
| dflet | 0:50cedd586816 | 338 | const uint32_t EVENT_DROPPED_NETAPP_IPACQUIRED_V6 = (0x00000002L); |
| dflet | 0:50cedd586816 | 339 | const uint32_t EVENT_DROPPED_NETAPP_IP_LEASED = (0x00000004L); |
| dflet | 0:50cedd586816 | 340 | const uint32_t EVENT_DROPPED_NETAPP_IP_RELEASED = (0x00000008L); |
| dflet | 0:50cedd586816 | 341 | |
| dflet | 0:50cedd586816 | 342 | /****************** BSD CLASS status ****************/ |
| dflet | 0:50cedd586816 | 343 | const uint32_t EVENT_DROPPED_SOCKET_TXFAILEDASYNCRESPONSE = (0x00000001L); |
| dflet | 0:50cedd586816 | 344 | |
| dflet | 0:50cedd586816 | 345 | /****************** FS CLASS ****************/ |
| dflet | 0:50cedd586816 | 346 | |
| dflet | 0:50cedd586816 | 347 | /*****************************************************************************/ |
| dflet | 0:50cedd586816 | 348 | /* Structure/Enum declarations */ |
| dflet | 0:50cedd586816 | 349 | /*****************************************************************************/ |
| dflet | 0:50cedd586816 | 350 | |
| dflet | 0:50cedd586816 | 351 | #ifdef SL_IF_TYPE_UART |
| dflet | 0:50cedd586816 | 352 | typedef struct { |
| dflet | 0:50cedd586816 | 353 | uint32_t BaudRate; |
| dflet | 0:50cedd586816 | 354 | uint8_t FlowControlEnable; |
| dflet | 0:50cedd586816 | 355 | uint8_t CommPort; |
| dflet | 0:50cedd586816 | 356 | } SlUartIfParams_t; |
| dflet | 0:50cedd586816 | 357 | #endif |
| dflet | 0:50cedd586816 | 358 | |
| dflet | 0:50cedd586816 | 359 | typedef struct { |
| dflet | 0:50cedd586816 | 360 | uint32_t ChipId; |
| dflet | 0:50cedd586816 | 361 | uint32_t FwVersion[4]; |
| dflet | 0:50cedd586816 | 362 | uint8_t PhyVersion[4]; |
| dflet | 0:50cedd586816 | 363 | } _SlPartialVersion; |
| dflet | 0:50cedd586816 | 364 | |
| dflet | 0:50cedd586816 | 365 | typedef struct { |
| dflet | 0:50cedd586816 | 366 | _SlPartialVersion ChipFwAndPhyVersion; |
| dflet | 0:50cedd586816 | 367 | uint32_t NwpVersion[4]; |
| dflet | 0:50cedd586816 | 368 | uint16_t RomVersion; |
| dflet | 0:50cedd586816 | 369 | uint16_t Padding; |
| dflet | 0:50cedd586816 | 370 | } SlVersionFull; |
| dflet | 0:50cedd586816 | 371 | |
| dflet | 0:50cedd586816 | 372 | typedef struct |
| dflet | 0:50cedd586816 | 373 | { |
| dflet | 0:50cedd586816 | 374 | uint32_t AbortType; |
| dflet | 0:50cedd586816 | 375 | uint32_t AbortData; |
| dflet | 0:50cedd586816 | 376 | }sl_DeviceReportAbort; |
| dflet | 0:50cedd586816 | 377 | |
| dflet | 0:50cedd586816 | 378 | typedef struct { |
| dflet | 0:50cedd586816 | 379 | int8_t status; |
| dflet | 0:50cedd586816 | 380 | SlErrorSender_e sender; |
| dflet | 0:50cedd586816 | 381 | } sl_DeviceReport; |
| dflet | 0:50cedd586816 | 382 | |
| dflet | 0:50cedd586816 | 383 | typedef union { |
| dflet | 0:50cedd586816 | 384 | sl_DeviceReport deviceEvent; |
| dflet | 0:50cedd586816 | 385 | sl_DeviceReportAbort deviceReport; |
| dflet | 0:50cedd586816 | 386 | } _SlDeviceEventData_u; |
| dflet | 0:50cedd586816 | 387 | |
| dflet | 0:50cedd586816 | 388 | typedef struct { |
| dflet | 0:50cedd586816 | 389 | uint32_t Event; |
| dflet | 0:50cedd586816 | 390 | _SlDeviceEventData_u EventData; |
| dflet | 0:50cedd586816 | 391 | } SlDeviceEvent_t; |
| dflet | 0:50cedd586816 | 392 | |
| dflet | 0:50cedd586816 | 393 | typedef struct { |
| dflet | 0:50cedd586816 | 394 | /* time */ |
| dflet | 0:50cedd586816 | 395 | uint32_t sl_tm_sec; |
| dflet | 0:50cedd586816 | 396 | uint32_t sl_tm_min; |
| dflet | 0:50cedd586816 | 397 | uint32_t sl_tm_hour; |
| dflet | 0:50cedd586816 | 398 | /* date */ |
| dflet | 0:50cedd586816 | 399 | uint32_t sl_tm_day; /* 1-31 */ |
| dflet | 0:50cedd586816 | 400 | uint32_t sl_tm_mon; /* 1-12 */ |
| dflet | 0:50cedd586816 | 401 | uint32_t sl_tm_year; /* YYYY 4 digits */ |
| dflet | 0:50cedd586816 | 402 | uint32_t sl_tm_week_day; /* not required */ |
| dflet | 0:50cedd586816 | 403 | uint32_t sl_tm_year_day; /* not required */ |
| dflet | 0:50cedd586816 | 404 | uint32_t reserved[3]; |
| dflet | 0:50cedd586816 | 405 | } SlDateTime_t; |
| dflet | 0:50cedd586816 | 406 | |
| dflet | 0:50cedd586816 | 407 | /******************************************************************************/ |
| dflet | 0:50cedd586816 | 408 | /* Type declarations */ |
| dflet | 0:50cedd586816 | 409 | /******************************************************************************/ |
| dflet | 0:50cedd586816 | 410 | typedef void (*P_INIT_CALLBACK)(uint32_t Status); |
| dflet | 0:50cedd586816 | 411 | |
| dflet | 0:50cedd586816 | 412 | class cc3100_netcfg; |
| dflet | 0:50cedd586816 | 413 | |
| dflet | 0:50cedd586816 | 414 | class cc3100 |
| dflet | 0:50cedd586816 | 415 | { |
| dflet | 0:50cedd586816 | 416 | |
| dflet | 0:50cedd586816 | 417 | public: |
| dflet | 0:50cedd586816 | 418 | |
| dflet | 0:50cedd586816 | 419 | cc3100(PinName button1_irq, PinName button2_irq, PinName cc3100_irq, PinName cc3100_nHIB, PinName cc3100_cs, SPI cc3100_spi); |
| dflet | 0:50cedd586816 | 420 | |
| dflet | 0:50cedd586816 | 421 | ~cc3100(); |
| dflet | 0:50cedd586816 | 422 | |
| dflet | 0:50cedd586816 | 423 | /*****************************************************************************/ |
| dflet | 0:50cedd586816 | 424 | /* Function prototypes */ |
| dflet | 0:50cedd586816 | 425 | /*****************************************************************************/ |
| dflet | 15:5433f9d94cd7 | 426 | int32_t initializeAppVariables(void); |
| dflet | 15:5433f9d94cd7 | 427 | |
| dflet | 15:5433f9d94cd7 | 428 | int32_t Network_AP_InitDriver(void); |
| dflet | 0:50cedd586816 | 429 | |
| dflet | 0:50cedd586816 | 430 | int32_t establishConnectionWithAP(void); |
| dflet | 0:50cedd586816 | 431 | |
| dflet | 0:50cedd586816 | 432 | int32_t checkLanConnection(void); |
| dflet | 0:50cedd586816 | 433 | |
| dflet | 0:50cedd586816 | 434 | int32_t checkInternetConnection(void); |
| dflet | 0:50cedd586816 | 435 | |
| dflet | 0:50cedd586816 | 436 | int32_t createUDPConnection(void); |
| dflet | 0:50cedd586816 | 437 | |
| dflet | 0:50cedd586816 | 438 | int32_t createConnection(uint32_t DestinationIP); |
| dflet | 0:50cedd586816 | 439 | |
| dflet | 0:50cedd586816 | 440 | int32_t getChunkSize(int32_t *len, uint8_t **p_Buff, uint32_t *chunk_size); |
| dflet | 0:50cedd586816 | 441 | |
| dflet | 0:50cedd586816 | 442 | int32_t hexToi(unsigned char *ptr); |
| dflet | 0:50cedd586816 | 443 | |
| dflet | 0:50cedd586816 | 444 | // int32_t getFile(void); |
| dflet | 0:50cedd586816 | 445 | |
| dflet | 0:50cedd586816 | 446 | int32_t disconnectFromAP(void); |
| dflet | 0:50cedd586816 | 447 | |
| dflet | 0:50cedd586816 | 448 | uint16_t itoa(int16_t cNum, uint8_t *cString); |
| dflet | 0:50cedd586816 | 449 | |
| dflet | 0:50cedd586816 | 450 | int32_t Network_IF_InitDriver(uint32_t uiMode); |
| dflet | 0:50cedd586816 | 451 | |
| dflet | 0:50cedd586816 | 452 | int32_t configureSimpleLinkToDefaultState(void); |
| dflet | 0:50cedd586816 | 453 | |
| dflet | 0:50cedd586816 | 454 | int16_t _sl_GetStartResponseConvert(uint32_t Status); |
| dflet | 0:50cedd586816 | 455 | |
| dflet | 0:50cedd586816 | 456 | void _sl_HandleAsync_InitComplete(void *pVoidBuf); |
| dflet | 0:50cedd586816 | 457 | |
| dflet | 0:50cedd586816 | 458 | bool IS_PING_DONE(uint32_t status_variable,const uint32_t bit); |
| dflet | 0:50cedd586816 | 459 | bool IS_CONNECTED(uint32_t status_variable,const uint32_t bit); |
| dflet | 0:50cedd586816 | 460 | bool IS_STA_CONNECTED(uint32_t status_variable,const uint32_t bit); |
| dflet | 0:50cedd586816 | 461 | bool IS_IP_ACQUIRED(uint32_t status_variable,const uint32_t bit); |
| dflet | 0:50cedd586816 | 462 | bool IS_IP_LEASED(uint32_t status_variable,const uint32_t bit); |
| dflet | 0:50cedd586816 | 463 | bool IS_CONNECTION_FAILED(uint32_t status_variable,const uint32_t bit); |
| dflet | 0:50cedd586816 | 464 | bool IS_P2P_NEG_REQ_RECEIVED(uint32_t status_variable,const uint32_t bit); |
| dflet | 0:50cedd586816 | 465 | bool IS_SMARTCONFIG_DONE(uint32_t status_variable,const uint32_t bit); |
| dflet | 0:50cedd586816 | 466 | bool IS_SMARTCONFIG_STOPPED(uint32_t status_variable,const uint32_t bit); |
| dflet | 0:50cedd586816 | 467 | |
| dflet | 0:50cedd586816 | 468 | |
| dflet | 0:50cedd586816 | 469 | |
| dflet | 0:50cedd586816 | 470 | void CLR_STATUS_BIT(uint32_t status_variable, const uint32_t bit); |
| dflet | 0:50cedd586816 | 471 | void SET_STATUS_BIT(uint32_t status_variable, const uint32_t bit); |
| dflet | 0:50cedd586816 | 472 | void CLR_STATUS_BIT_ALL(uint32_t status_variable); |
| dflet | 0:50cedd586816 | 473 | |
| dflet | 0:50cedd586816 | 474 | /*! |
| dflet | 0:50cedd586816 | 475 | \brief Start the SimpleLink device |
| dflet | 0:50cedd586816 | 476 | |
| dflet | 0:50cedd586816 | 477 | This function initialize the communication interface, set the enable pin |
| dflet | 0:50cedd586816 | 478 | of the device, and call to the init complete callback. |
| dflet | 0:50cedd586816 | 479 | |
| dflet | 0:50cedd586816 | 480 | \param[in] pIfHdl Opened Interface Object. In case the interface |
| dflet | 0:50cedd586816 | 481 | must be opened outside the SimpleLink Driver, the |
| dflet | 0:50cedd586816 | 482 | user might give the handler to be used in \n |
| dflet | 0:50cedd586816 | 483 | any access of the communication interface with the |
| dflet | 0:50cedd586816 | 484 | device (UART/SPI). \n |
| dflet | 0:50cedd586816 | 485 | The SimpleLink driver will open an interface port |
| dflet | 0:50cedd586816 | 486 | only if this parameter is null! \n |
| dflet | 0:50cedd586816 | 487 | \param[in] pDevName The name of the device to open. Could be used when |
| dflet | 0:50cedd586816 | 488 | the pIfHdl is null, to transfer information to the |
| dflet | 0:50cedd586816 | 489 | open interface function \n |
| dflet | 0:50cedd586816 | 490 | This pointer could be used to pass additional information to |
| dflet | 0:50cedd586816 | 491 | sl_IfOpen in case it is required (e.g. UART com port name) |
| dflet | 0:50cedd586816 | 492 | \param[in] pInitCallBack Pointer to function that would be called |
| dflet | 0:50cedd586816 | 493 | on completion of the initialization process.\n |
| dflet | 0:50cedd586816 | 494 | If this parameter is NULL the function is |
| dflet | 0:50cedd586816 | 495 | blocked until the device initialization |
| dflet | 0:50cedd586816 | 496 | is completed, otherwise the function returns |
| dflet | 0:50cedd586816 | 497 | immediately. |
| dflet | 0:50cedd586816 | 498 | |
| dflet | 0:50cedd586816 | 499 | \return Returns the current active role (STA/AP/P2P) or an error code: |
| dflet | 0:50cedd586816 | 500 | - ROLE_STA, ROLE_AP, ROLE_P2P in case of success, |
| dflet | 0:50cedd586816 | 501 | otherwise in failure one of the following is return: |
| dflet | 0:50cedd586816 | 502 | - ROLE_STA_ERR (Failure to load MAC/PHY in STA role) |
| dflet | 0:50cedd586816 | 503 | - ROLE_AP_ERR (Failure to load MAC/PHY in AP role) |
| dflet | 0:50cedd586816 | 504 | - ROLE_P2P_ERR (Failure to load MAC/PHY in P2P role) |
| dflet | 0:50cedd586816 | 505 | |
| dflet | 0:50cedd586816 | 506 | |
| dflet | 0:50cedd586816 | 507 | \sa sl_Stop |
| dflet | 0:50cedd586816 | 508 | |
| dflet | 0:50cedd586816 | 509 | \note belongs to \ref basic_api |
| dflet | 0:50cedd586816 | 510 | |
| dflet | 0:50cedd586816 | 511 | \warning This function must be called before any other SimpleLink API is used, or after sl_Stop is called for reinit the device |
| dflet | 0:50cedd586816 | 512 | \par Example: |
| dflet | 0:50cedd586816 | 513 | \code |
| dflet | 0:50cedd586816 | 514 | An example for open interface without callback routine. The interface name and handler are |
| dflet | 0:50cedd586816 | 515 | handled by the sl_IfOpen routine: |
| dflet | 0:50cedd586816 | 516 | |
| dflet | 0:50cedd586816 | 517 | if( sl_Start(NULL, NULL, NULL) < 0 ) |
| dflet | 0:50cedd586816 | 518 | { |
| dflet | 0:50cedd586816 | 519 | LOG("Error opening interface to device\n"); |
| dflet | 0:50cedd586816 | 520 | } |
| dflet | 0:50cedd586816 | 521 | \endcode |
| dflet | 0:50cedd586816 | 522 | */ |
| dflet | 0:50cedd586816 | 523 | #if _SL_INCLUDE_FUNC(sl_Start) |
| dflet | 0:50cedd586816 | 524 | int16_t sl_Start(const void* pIfHdl, int8_t* pDevName, const P_INIT_CALLBACK pInitCallBack); |
| dflet | 0:50cedd586816 | 525 | #endif |
| dflet | 0:50cedd586816 | 526 | |
| dflet | 0:50cedd586816 | 527 | /*! |
| dflet | 0:50cedd586816 | 528 | \brief Stop the SimpleLink device |
| dflet | 0:50cedd586816 | 529 | |
| dflet | 0:50cedd586816 | 530 | This function clears the enable pin of the device, closes the communication \n |
| dflet | 0:50cedd586816 | 531 | interface and invokes the stop complete callback |
| dflet | 0:50cedd586816 | 532 | |
| dflet | 0:50cedd586816 | 533 | \param[in] timeout Stop timeout in msec. Should be used to give the device time to finish \n |
| dflet | 0:50cedd586816 | 534 | any transmission/reception that is not completed when the function was called. \n |
| dflet | 0:50cedd586816 | 535 | Additional options: |
| dflet | 0:50cedd586816 | 536 | - 0 Enter to hibernate immediately \n |
| dflet | 0:50cedd586816 | 537 | - 0xFFFF Host waits for device's response before \n |
| dflet | 0:50cedd586816 | 538 | hibernating, without timeout protection \n |
| dflet | 0:50cedd586816 | 539 | - 0 < Timeout[msec] < 0xFFFF Host waits for device's response before \n |
| dflet | 0:50cedd586816 | 540 | hibernating, with a defined timeout protection \n |
| dflet | 0:50cedd586816 | 541 | This timeout defines the max time to wait. The NWP \n |
| dflet | 0:50cedd586816 | 542 | response can be sent earlier than this timeout. |
| dflet | 0:50cedd586816 | 543 | |
| dflet | 0:50cedd586816 | 544 | \return On success, zero is returned. On error, -1 is returned |
| dflet | 0:50cedd586816 | 545 | |
| dflet | 0:50cedd586816 | 546 | \sa sl_Start |
| dflet | 0:50cedd586816 | 547 | |
| dflet | 0:50cedd586816 | 548 | \note This API will shutdown the device and invoke the "i/f close" function regardless \n |
| dflet | 0:50cedd586816 | 549 | if it was opened implicitly or explicitly. \n |
| dflet | 0:50cedd586816 | 550 | It is up to the platform interface library to properly handle interface close \n |
| dflet | 0:50cedd586816 | 551 | routine \n |
| dflet | 0:50cedd586816 | 552 | belongs to \ref basic_api \n |
| dflet | 0:50cedd586816 | 553 | \warning |
| dflet | 0:50cedd586816 | 554 | */ |
| dflet | 0:50cedd586816 | 555 | #if _SL_INCLUDE_FUNC(sl_Stop) |
| dflet | 0:50cedd586816 | 556 | int16_t sl_Stop(const uint16_t timeout); |
| dflet | 0:50cedd586816 | 557 | #endif |
| dflet | 0:50cedd586816 | 558 | |
| dflet | 0:50cedd586816 | 559 | |
| dflet | 0:50cedd586816 | 560 | /*! |
| dflet | 0:50cedd586816 | 561 | \brief Internal function for setting device configurations |
| dflet | 0:50cedd586816 | 562 | |
| dflet | 0:50cedd586816 | 563 | \return On success, zero is returned. On error, -1 is |
| dflet | 0:50cedd586816 | 564 | returned |
| dflet | 0:50cedd586816 | 565 | |
| dflet | 0:50cedd586816 | 566 | \param[in] DeviceSetId configuration id |
| dflet | 0:50cedd586816 | 567 | \param[in] Option configurations option |
| dflet | 0:50cedd586816 | 568 | \param[in] ConfigLen configurations len |
| dflet | 0:50cedd586816 | 569 | \param[in] pValues configurations values |
| dflet | 0:50cedd586816 | 570 | |
| dflet | 0:50cedd586816 | 571 | \sa |
| dflet | 0:50cedd586816 | 572 | \note |
| dflet | 0:50cedd586816 | 573 | \warning |
| dflet | 0:50cedd586816 | 574 | \par Examples: |
| dflet | 0:50cedd586816 | 575 | \code |
| dflet | 0:50cedd586816 | 576 | Setting device time and date example: |
| dflet | 0:50cedd586816 | 577 | |
| dflet | 0:50cedd586816 | 578 | SlDateTime_t dateTime= {0}; |
| dflet | 0:50cedd586816 | 579 | dateTime.sl_tm_day = (uint32_t)23; // Day of month (DD format) range 1-13 |
| dflet | 0:50cedd586816 | 580 | dateTime.sl_tm_mon = (uint32_t)6; // Month (MM format) in the range of 1-12 |
| dflet | 0:50cedd586816 | 581 | dateTime.sl_tm_year = (uint32_t)2014; // Year (YYYY format) |
| dflet | 0:50cedd586816 | 582 | dateTime.sl_tm_hour = (uint32_t)17; // Hours in the range of 0-23 |
| dflet | 0:50cedd586816 | 583 | dateTime.sl_tm_min = (uint32_t)55; // Minutes in the range of 0-59 |
| dflet | 0:50cedd586816 | 584 | dateTime.sl_tm_sec = (uint32_t)22; // Seconds in the range of 0-59 |
| dflet | 0:50cedd586816 | 585 | sl_DevSet(SL_DEVICE_GENERAL_CONFIGURATION, |
| dflet | 0:50cedd586816 | 586 | SL_DEVICE_GENERAL_CONFIGURATION_DATE_TIME, |
| dflet | 0:50cedd586816 | 587 | sizeof(SlDateTime_t), |
| dflet | 0:50cedd586816 | 588 | (uint8_t *)(&dateTime)); |
| dflet | 0:50cedd586816 | 589 | |
| dflet | 0:50cedd586816 | 590 | \endcode |
| dflet | 0:50cedd586816 | 591 | */ |
| dflet | 0:50cedd586816 | 592 | #if _SL_INCLUDE_FUNC(sl_DevSet) |
| dflet | 0:50cedd586816 | 593 | int32_t sl_DevSet(const uint8_t DeviceSetId , const uint8_t Option, const uint8_t ConfigLen, const uint8_t *pValues); |
| dflet | 0:50cedd586816 | 594 | #endif |
| dflet | 0:50cedd586816 | 595 | |
| dflet | 0:50cedd586816 | 596 | /*! |
| dflet | 0:50cedd586816 | 597 | \brief Internal function for getting device configurations |
| dflet | 0:50cedd586816 | 598 | \return On success, zero is returned. On error, -1 is |
| dflet | 0:50cedd586816 | 599 | returned |
| dflet | 0:50cedd586816 | 600 | \param[in] DeviceGetId configuration id - example SL_DEVICE_STATUS |
| dflet | 0:50cedd586816 | 601 | \param[out] pOption Get configurations option, example for get status options |
| dflet | 0:50cedd586816 | 602 | - SL_EVENT_CLASS_GLOBAL |
| dflet | 0:50cedd586816 | 603 | - SL_EVENT_CLASS_DEVICE |
| dflet | 0:50cedd586816 | 604 | - SL_EVENT_CLASS_WLAN |
| dflet | 0:50cedd586816 | 605 | - SL_EVENT_CLASS_BSD |
| dflet | 0:50cedd586816 | 606 | - SL_EVENT_CLASS_NETAPP |
| dflet | 0:50cedd586816 | 607 | - SL_EVENT_CLASS_NETCFG |
| dflet | 0:50cedd586816 | 608 | - SL_EVENT_CLASS_FS |
| dflet | 0:50cedd586816 | 609 | \param[out] pConfigLen The length of the allocated memory as input, when the |
| dflet | 0:50cedd586816 | 610 | function complete, the value of this parameter would be |
| dflet | 0:50cedd586816 | 611 | the len that actually read from the device.\n |
| dflet | 0:50cedd586816 | 612 | If the device return length that is longer from the input |
| dflet | 0:50cedd586816 | 613 | value, the function will cut the end of the returned structure |
| dflet | 0:50cedd586816 | 614 | and will return SL_ESMALLBUF |
| dflet | 0:50cedd586816 | 615 | \param[out] pValues Get configurations values |
| dflet | 0:50cedd586816 | 616 | \sa |
| dflet | 0:50cedd586816 | 617 | \note |
| dflet | 0:50cedd586816 | 618 | \warning |
| dflet | 0:50cedd586816 | 619 | \par Examples: |
| dflet | 0:50cedd586816 | 620 | \code |
| dflet | 0:50cedd586816 | 621 | Example for getting WLAN class status: |
| dflet | 0:50cedd586816 | 622 | uint32_t statusWlan; |
| dflet | 0:50cedd586816 | 623 | uint8_t pConfigOpt; |
| dflet | 0:50cedd586816 | 624 | uint8_t pConfigLen; |
| dflet | 0:50cedd586816 | 625 | pConfigLen = sizeof(_u32); |
| dflet | 0:50cedd586816 | 626 | pConfigOpt = SL_EVENT_CLASS_WLAN; |
| dflet | 0:50cedd586816 | 627 | sl_DevGet(SL_DEVICE_STATUS,&pConfigOpt,&pConfigLen,(uint8_t *)(&statusWlan)); |
| dflet | 0:50cedd586816 | 628 | Example for getting version: |
| dflet | 0:50cedd586816 | 629 | SlVersionFull ver; |
| dflet | 0:50cedd586816 | 630 | pConfigLen = sizeof(ver); |
| dflet | 0:50cedd586816 | 631 | pConfigOpt = SL_DEVICE_GENERAL_VERSION; |
| dflet | 0:50cedd586816 | 632 | sl_DevGet(SL_DEVICE_GENERAL_CONFIGURATION,&pConfigOpt,&pConfigLen,(uint8_t *)(&ver)); |
| dflet | 0:50cedd586816 | 633 | printf("CHIP %d\nMAC 31.%d.%d.%d.%d\nPHY %d.%d.%d.%d\nNWP %d.%d.%d.%d\nROM %d\nHOST %d.%d.%d.%d\n", |
| dflet | 0:50cedd586816 | 634 | ver.ChipFwAndPhyVersion.ChipId, |
| dflet | 0:50cedd586816 | 635 | ver.ChipFwAndPhyVersion.FwVersion[0],ver.ChipFwAndPhyVersion.FwVersion[1], |
| dflet | 0:50cedd586816 | 636 | ver.ChipFwAndPhyVersion.FwVersion[2],ver.ChipFwAndPhyVersion.FwVersion[3], |
| dflet | 0:50cedd586816 | 637 | ver.ChipFwAndPhyVersion.PhyVersion[0],ver.ChipFwAndPhyVersion.PhyVersion[1], |
| dflet | 0:50cedd586816 | 638 | ver.ChipFwAndPhyVersion.PhyVersion[2],ver.ChipFwAndPhyVersion.PhyVersion[3], |
| dflet | 0:50cedd586816 | 639 | ver.NwpVersion[0],ver.NwpVersion[1],ver.NwpVersion[2],ver.NwpVersion[3], |
| dflet | 0:50cedd586816 | 640 | ver.RomVersion, |
| dflet | 0:50cedd586816 | 641 | SL_MAJOR_VERSION_NUM,SL_MINOR_VERSION_NUM,SL_VERSION_NUM,SL_SUB_VERSION_NUM); |
| dflet | 0:50cedd586816 | 642 | |
| dflet | 0:50cedd586816 | 643 | \endcode |
| dflet | 0:50cedd586816 | 644 | \code |
| dflet | 0:50cedd586816 | 645 | Getting Device time and date example: |
| dflet | 0:50cedd586816 | 646 | |
| dflet | 0:50cedd586816 | 647 | SlDateTime_t dateTime = {0}; |
| dflet | 0:50cedd586816 | 648 | int8_t configLen = sizeof(SlDateTime_t); |
| dflet | 0:50cedd586816 | 649 | int8_t configOpt = SL_DEVICE_GENERAL_CONFIGURATION_DATE_TIME; |
| dflet | 0:50cedd586816 | 650 | sl_DevGet(SL_DEVICE_GENERAL_CONFIGURATION,&configOpt, &configLen,(uint8_t *)(&dateTime)); |
| dflet | 0:50cedd586816 | 651 | |
| dflet | 0:50cedd586816 | 652 | printf("Day %d,Mon %d,Year %d,Hour %,Min %d,Sec %d\n",dateTime.sl_tm_day,dateTime.sl_tm_mon,dateTime.sl_tm_year |
| dflet | 0:50cedd586816 | 653 | dateTime.sl_tm_hour,dateTime.sl_tm_min,dateTime.sl_tm_sec); |
| dflet | 0:50cedd586816 | 654 | \endcode |
| dflet | 0:50cedd586816 | 655 | */ |
| dflet | 0:50cedd586816 | 656 | #if _SL_INCLUDE_FUNC(sl_DevGet) |
| dflet | 0:50cedd586816 | 657 | int32_t sl_DevGet(const uint8_t DeviceGetId, uint8_t *pOption,uint8_t *pConfigLen, uint8_t *pValues); |
| dflet | 0:50cedd586816 | 658 | #endif |
| dflet | 0:50cedd586816 | 659 | |
| dflet | 0:50cedd586816 | 660 | |
| dflet | 0:50cedd586816 | 661 | /*! |
| dflet | 0:50cedd586816 | 662 | \brief Set asynchronous event mask |
| dflet | 0:50cedd586816 | 663 | |
| dflet | 0:50cedd586816 | 664 | Mask asynchronous events from the device. Masked events do not |
| dflet | 0:50cedd586816 | 665 | generate asynchronous messages from the device. |
| dflet | 0:50cedd586816 | 666 | By default - all events are active |
| dflet | 0:50cedd586816 | 667 | |
| dflet | 0:50cedd586816 | 668 | \param[in] EventClass The classification groups that the |
| dflet | 0:50cedd586816 | 669 | mask is referred to. Need to be one of |
| dflet | 0:50cedd586816 | 670 | the following: |
| dflet | 0:50cedd586816 | 671 | - SL_EVENT_CLASS_GLOBAL |
| dflet | 0:50cedd586816 | 672 | - SL_EVENT_CLASS_DEVICE |
| dflet | 0:50cedd586816 | 673 | - SL_EVENT_CLASS_WLAN |
| dflet | 0:50cedd586816 | 674 | - SL_EVENT_CLASS_BSD |
| dflet | 0:50cedd586816 | 675 | - SL_EVENT_CLASS_NETAPP |
| dflet | 0:50cedd586816 | 676 | - SL_EVENT_CLASS_NETCFG |
| dflet | 0:50cedd586816 | 677 | - SL_EVENT_CLASS_FS |
| dflet | 0:50cedd586816 | 678 | |
| dflet | 0:50cedd586816 | 679 | |
| dflet | 0:50cedd586816 | 680 | \param[in] Mask Event Mask bitmap. Valid mask are (per group): |
| dflet | 0:50cedd586816 | 681 | - SL_EVENT_CLASS_WLAN user events |
| dflet | 0:50cedd586816 | 682 | - SL_WLAN_CONNECT_EVENT |
| dflet | 0:50cedd586816 | 683 | - SL_WLAN_DISCONNECT_EVENT |
| dflet | 0:50cedd586816 | 684 | - SL_EVENT_CLASS_DEVICE user events |
| dflet | 0:50cedd586816 | 685 | - SL_DEVICE_FATAL_ERROR_EVENT |
| dflet | 0:50cedd586816 | 686 | - SL_EVENT_CLASS_BSD user events |
| dflet | 0:50cedd586816 | 687 | - SL_SOCKET_TX_FAILED_EVENT |
| dflet | 0:50cedd586816 | 688 | - SL_SOCKET_ASYNC_EVENT |
| dflet | 0:50cedd586816 | 689 | - SL_EVENT_CLASS_NETAPP user events |
| dflet | 0:50cedd586816 | 690 | - SL_NETAPP_IPV4_IPACQUIRED_EVENT |
| dflet | 0:50cedd586816 | 691 | - SL_NETAPP_IPV6_IPACQUIRED_EVENT |
| dflet | 0:50cedd586816 | 692 | |
| dflet | 0:50cedd586816 | 693 | \return On success, zero is returned. On error, -1 is returned |
| dflet | 0:50cedd586816 | 694 | |
| dflet | 0:50cedd586816 | 695 | \sa sl_EventMaskGet |
| dflet | 0:50cedd586816 | 696 | |
| dflet | 0:50cedd586816 | 697 | \note belongs to \ref ext_api |
| dflet | 0:50cedd586816 | 698 | |
| dflet | 0:50cedd586816 | 699 | \warning |
| dflet | 0:50cedd586816 | 700 | \par Example: |
| dflet | 0:50cedd586816 | 701 | \code |
| dflet | 0:50cedd586816 | 702 | |
| dflet | 0:50cedd586816 | 703 | An example of masking connection/disconnection async events from WLAN class: |
| dflet | 0:50cedd586816 | 704 | sl_EventMaskSet(SL_EVENT_CLASS_WLAN, (SL_WLAN_CONNECT_EVENT | SL_WLAN_DISCONNECT_EVENT) ); |
| dflet | 0:50cedd586816 | 705 | |
| dflet | 0:50cedd586816 | 706 | \endcode |
| dflet | 0:50cedd586816 | 707 | */ |
| dflet | 0:50cedd586816 | 708 | #if _SL_INCLUDE_FUNC(sl_EventMaskSet) |
| dflet | 0:50cedd586816 | 709 | int16_t sl_EventMaskSet(const uint8_t EventClass , const uint32_t Mask); |
| dflet | 0:50cedd586816 | 710 | #endif |
| dflet | 0:50cedd586816 | 711 | |
| dflet | 0:50cedd586816 | 712 | /*! |
| dflet | 0:50cedd586816 | 713 | \brief Get current event mask of the device |
| dflet | 0:50cedd586816 | 714 | |
| dflet | 0:50cedd586816 | 715 | return the events bit mask from the device. In case that event is |
| dflet | 0:50cedd586816 | 716 | masked, the device is not sending this event. |
| dflet | 0:50cedd586816 | 717 | |
| dflet | 0:50cedd586816 | 718 | \param[in] EventClass The classification groups that the |
| dflet | 0:50cedd586816 | 719 | mask is referred to. Need to be one of |
| dflet | 0:50cedd586816 | 720 | the following: |
| dflet | 0:50cedd586816 | 721 | - SL_EVENT_CLASS_GLOBAL |
| dflet | 0:50cedd586816 | 722 | - SL_EVENT_CLASS_DEVICE |
| dflet | 0:50cedd586816 | 723 | - SL_EVENT_CLASS_WLAN |
| dflet | 0:50cedd586816 | 724 | - SL_EVENT_CLASS_BSD |
| dflet | 0:50cedd586816 | 725 | - SL_EVENT_CLASS_NETAPP |
| dflet | 0:50cedd586816 | 726 | - SL_EVENT_CLASS_NETCFG |
| dflet | 0:50cedd586816 | 727 | - SL_EVENT_CLASS_FS |
| dflet | 0:50cedd586816 | 728 | |
| dflet | 0:50cedd586816 | 729 | \param[out] pMask Pointer to Mask bitmap where the |
| dflet | 0:50cedd586816 | 730 | value should be stored. Bitmasks are the same as in \ref sl_EventMaskSet |
| dflet | 0:50cedd586816 | 731 | |
| dflet | 0:50cedd586816 | 732 | \return On success, zero is returned. On error, -1 is returned |
| dflet | 0:50cedd586816 | 733 | |
| dflet | 0:50cedd586816 | 734 | \sa sl_EventMaskSet |
| dflet | 0:50cedd586816 | 735 | |
| dflet | 0:50cedd586816 | 736 | \note belongs to \ref ext_api |
| dflet | 0:50cedd586816 | 737 | |
| dflet | 0:50cedd586816 | 738 | \warning |
| dflet | 0:50cedd586816 | 739 | \par Example: |
| dflet | 0:50cedd586816 | 740 | \code |
| dflet | 0:50cedd586816 | 741 | |
| dflet | 0:50cedd586816 | 742 | An example of getting an event mask for WLAN class |
| dflet | 0:50cedd586816 | 743 | uint32_t maskWlan; |
| dflet | 0:50cedd586816 | 744 | sl_StatusGet(SL_EVENT_CLASS_WLAN,&maskWlan); |
| dflet | 0:50cedd586816 | 745 | |
| dflet | 0:50cedd586816 | 746 | \endcode |
| dflet | 0:50cedd586816 | 747 | */ |
| dflet | 0:50cedd586816 | 748 | #if _SL_INCLUDE_FUNC(sl_EventMaskGet) |
| dflet | 0:50cedd586816 | 749 | int16_t sl_EventMaskGet(const uint8_t EventClass, uint32_t *pMask); |
| dflet | 0:50cedd586816 | 750 | #endif |
| dflet | 0:50cedd586816 | 751 | |
| dflet | 0:50cedd586816 | 752 | |
| dflet | 0:50cedd586816 | 753 | /*! |
| dflet | 0:50cedd586816 | 754 | \brief the simple link task entry |
| dflet | 0:50cedd586816 | 755 | |
| dflet | 0:50cedd586816 | 756 | \Param |
| dflet | 0:50cedd586816 | 757 | This function must be called from the main loop or from dedicated thread in |
| dflet | 0:50cedd586816 | 758 | the following cases: |
| dflet | 0:50cedd586816 | 759 | - Non-Os Platform - should be called from the mail loop |
| dflet | 0:50cedd586816 | 760 | - Multi Threaded Platform when the user does not implement the external spawn functions - |
| dflet | 0:50cedd586816 | 761 | should be called from dedicated thread allocated to the simplelink driver. |
| dflet | 0:50cedd586816 | 762 | In this mode the function never return. |
| dflet | 0:50cedd586816 | 763 | |
| dflet | 0:50cedd586816 | 764 | \return None |
| dflet | 0:50cedd586816 | 765 | |
| dflet | 0:50cedd586816 | 766 | \sa sl_Stop |
| dflet | 0:50cedd586816 | 767 | |
| dflet | 0:50cedd586816 | 768 | \note belongs to \ref basic_api |
| dflet | 0:50cedd586816 | 769 | |
| dflet | 0:50cedd586816 | 770 | \warning This function must be called from a thread that is start running before |
| dflet | 0:50cedd586816 | 771 | any call to other simple link API |
| dflet | 0:50cedd586816 | 772 | */ |
| dflet | 0:50cedd586816 | 773 | #if _SL_INCLUDE_FUNC(sl_Task) |
| dflet | 0:50cedd586816 | 774 | void sl_Task(void); |
| dflet | 0:50cedd586816 | 775 | #endif |
| dflet | 0:50cedd586816 | 776 | |
| dflet | 0:50cedd586816 | 777 | |
| dflet | 0:50cedd586816 | 778 | /*! |
| dflet | 0:50cedd586816 | 779 | \brief Setting the internal uart mode |
| dflet | 0:50cedd586816 | 780 | |
| dflet | 0:50cedd586816 | 781 | \param[in] pUartParams Pointer to the uart configuration parameter set: |
| dflet | 0:50cedd586816 | 782 | baudrate - up to 711 Kbps |
| dflet | 0:50cedd586816 | 783 | flow control - enable/disable |
| dflet | 0:50cedd586816 | 784 | comm port - the comm port number |
| dflet | 0:50cedd586816 | 785 | |
| dflet | 0:50cedd586816 | 786 | \return On success zero is returned, otherwise - Failed. |
| dflet | 0:50cedd586816 | 787 | |
| dflet | 0:50cedd586816 | 788 | \sa sl_Stop |
| dflet | 0:50cedd586816 | 789 | |
| dflet | 0:50cedd586816 | 790 | \note belongs to \ref basic_api |
| dflet | 0:50cedd586816 | 791 | |
| dflet | 0:50cedd586816 | 792 | \warning This function must consider the host uart capability |
| dflet | 0:50cedd586816 | 793 | */ |
| dflet | 0:50cedd586816 | 794 | #ifdef SL_IF_TYPE_UART |
| dflet | 0:50cedd586816 | 795 | #if _SL_INCLUDE_FUNC(sl_UartSetMode) |
| dflet | 0:50cedd586816 | 796 | int16_t sl_UartSetMode(const SlUartIfParams_t* pUartParams); |
| dflet | 0:50cedd586816 | 797 | #endif |
| dflet | 0:50cedd586816 | 798 | #endif |
| dflet | 0:50cedd586816 | 799 | |
| dflet | 0:50cedd586816 | 800 | public: |
| dflet | 0:50cedd586816 | 801 | |
| dflet | 0:50cedd586816 | 802 | cc3100_spi _spi; |
| dflet | 0:50cedd586816 | 803 | cc3100_driver _driver; |
| dflet | 0:50cedd586816 | 804 | #ifndef SL_PLATFORM_MULTI_THREADED |
| dflet | 0:50cedd586816 | 805 | cc3100_nonos _nonos; |
| dflet | 0:50cedd586816 | 806 | #endif |
| dflet | 0:50cedd586816 | 807 | cc3100_wlan _wlan; |
| dflet | 0:50cedd586816 | 808 | cc3100_wlan_rx_filters _wlan_filters; |
| dflet | 0:50cedd586816 | 809 | cc3100_netapp _netapp; |
| dflet | 0:50cedd586816 | 810 | cc3100_fs _fs; |
| dflet | 0:50cedd586816 | 811 | cc3100_netcfg _netcfg; |
| dflet | 0:50cedd586816 | 812 | cc3100_socket _socket; |
| dflet | 0:50cedd586816 | 813 | cc3100_flowcont _flowcont; |
| dflet | 0:50cedd586816 | 814 | |
| dflet | 0:50cedd586816 | 815 | |
| dflet | 0:50cedd586816 | 816 | protected: |
| dflet | 0:50cedd586816 | 817 | |
| dflet | 0:50cedd586816 | 818 | |
| dflet | 0:50cedd586816 | 819 | };//class |
| dflet | 0:50cedd586816 | 820 | |
| dflet | 0:50cedd586816 | 821 | }//namespace mbed_cc3100 |
| dflet | 0:50cedd586816 | 822 | |
| dflet | 0:50cedd586816 | 823 | /*! |
| dflet | 0:50cedd586816 | 824 | |
| dflet | 0:50cedd586816 | 825 | Close the Doxygen group. |
| dflet | 0:50cedd586816 | 826 | @} |
| dflet | 0:50cedd586816 | 827 | |
| dflet | 0:50cedd586816 | 828 | */ |
| dflet | 0:50cedd586816 | 829 | |
| dflet | 0:50cedd586816 | 830 | |
| dflet | 0:50cedd586816 | 831 | #endif /* __DEVICE_H__ */ |
| dflet | 0:50cedd586816 | 832 | |
| dflet | 0:50cedd586816 | 833 | |
| dflet | 0:50cedd586816 | 834 |