David Fletcher
/
cc3100_test
TI's CC3100 host driver and demo. Experimental and a work in progress.
simplelink/cc3100_device.h@2:a3e52cf86086, 2014-11-19 (annotated)
- Committer:
- dflet
- Date:
- Wed Nov 19 23:04:04 2014 +0000
- Revision:
- 2:a3e52cf86086
- Parent:
- 0:bbe98578d4c0
Added more boards!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dflet | 0:bbe98578d4c0 | 1 | /* |
dflet | 0:bbe98578d4c0 | 2 | * device.h - CC31xx/CC32xx Host Driver Implementation |
dflet | 0:bbe98578d4c0 | 3 | * |
dflet | 0:bbe98578d4c0 | 4 | * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ |
dflet | 0:bbe98578d4c0 | 5 | * |
dflet | 0:bbe98578d4c0 | 6 | * |
dflet | 0:bbe98578d4c0 | 7 | * Redistribution and use in source and binary forms, with or without |
dflet | 0:bbe98578d4c0 | 8 | * modification, are permitted provided that the following conditions |
dflet | 0:bbe98578d4c0 | 9 | * are met: |
dflet | 0:bbe98578d4c0 | 10 | * |
dflet | 0:bbe98578d4c0 | 11 | * Redistributions of source code must retain the above copyright |
dflet | 0:bbe98578d4c0 | 12 | * notice, this list of conditions and the following disclaimer. |
dflet | 0:bbe98578d4c0 | 13 | * |
dflet | 0:bbe98578d4c0 | 14 | * Redistributions in binary form must reproduce the above copyright |
dflet | 0:bbe98578d4c0 | 15 | * notice, this list of conditions and the following disclaimer in the |
dflet | 0:bbe98578d4c0 | 16 | * documentation and/or other materials provided with the |
dflet | 0:bbe98578d4c0 | 17 | * distribution. |
dflet | 0:bbe98578d4c0 | 18 | * |
dflet | 0:bbe98578d4c0 | 19 | * Neither the name of Texas Instruments Incorporated nor the names of |
dflet | 0:bbe98578d4c0 | 20 | * its contributors may be used to endorse or promote products derived |
dflet | 0:bbe98578d4c0 | 21 | * from this software without specific prior written permission. |
dflet | 0:bbe98578d4c0 | 22 | * |
dflet | 0:bbe98578d4c0 | 23 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
dflet | 0:bbe98578d4c0 | 24 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
dflet | 0:bbe98578d4c0 | 25 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
dflet | 0:bbe98578d4c0 | 26 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
dflet | 0:bbe98578d4c0 | 27 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
dflet | 0:bbe98578d4c0 | 28 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
dflet | 0:bbe98578d4c0 | 29 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
dflet | 0:bbe98578d4c0 | 30 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
dflet | 0:bbe98578d4c0 | 31 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
dflet | 0:bbe98578d4c0 | 32 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
dflet | 0:bbe98578d4c0 | 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
dflet | 0:bbe98578d4c0 | 34 | * |
dflet | 0:bbe98578d4c0 | 35 | */ |
dflet | 0:bbe98578d4c0 | 36 | |
dflet | 0:bbe98578d4c0 | 37 | #ifndef __DEVICE_H__ |
dflet | 0:bbe98578d4c0 | 38 | #define __DEVICE_H__ |
dflet | 0:bbe98578d4c0 | 39 | |
dflet | 0:bbe98578d4c0 | 40 | /*****************************************************************************/ |
dflet | 0:bbe98578d4c0 | 41 | /* Include files */ |
dflet | 0:bbe98578d4c0 | 42 | /*****************************************************************************/ |
dflet | 0:bbe98578d4c0 | 43 | #include "cc3100_simplelink.h" |
dflet | 0:bbe98578d4c0 | 44 | |
dflet | 0:bbe98578d4c0 | 45 | #ifdef __cplusplus |
dflet | 0:bbe98578d4c0 | 46 | extern "C" { |
dflet | 0:bbe98578d4c0 | 47 | #endif |
dflet | 0:bbe98578d4c0 | 48 | |
dflet | 0:bbe98578d4c0 | 49 | |
dflet | 0:bbe98578d4c0 | 50 | |
dflet | 0:bbe98578d4c0 | 51 | /*! |
dflet | 0:bbe98578d4c0 | 52 | |
dflet | 0:bbe98578d4c0 | 53 | \addtogroup device |
dflet | 0:bbe98578d4c0 | 54 | @{ |
dflet | 0:bbe98578d4c0 | 55 | |
dflet | 0:bbe98578d4c0 | 56 | */ |
dflet | 0:bbe98578d4c0 | 57 | |
dflet | 0:bbe98578d4c0 | 58 | /*****************************************************************************/ |
dflet | 0:bbe98578d4c0 | 59 | /* Macro declarations */ |
dflet | 0:bbe98578d4c0 | 60 | /*****************************************************************************/ |
dflet | 0:bbe98578d4c0 | 61 | |
dflet | 0:bbe98578d4c0 | 62 | |
dflet | 0:bbe98578d4c0 | 63 | /* SL internal Error codes */ |
dflet | 0:bbe98578d4c0 | 64 | |
dflet | 0:bbe98578d4c0 | 65 | /* Receive this error in case there are no resources to issue the command |
dflet | 0:bbe98578d4c0 | 66 | If possible, increase the number of MAX_CUNCURENT_ACTIONS (result in memory increase) |
dflet | 0:bbe98578d4c0 | 67 | If not, try again later */ |
dflet | 0:bbe98578d4c0 | 68 | #define SL_POOL_IS_EMPTY (-2000) |
dflet | 0:bbe98578d4c0 | 69 | |
dflet | 0:bbe98578d4c0 | 70 | /* Receive this error in case a given length for RX buffer was too small. |
dflet | 0:bbe98578d4c0 | 71 | Receive payload was bigger than the given buffer size. Therefore, payload is cut according to receive size |
dflet | 0:bbe98578d4c0 | 72 | Recommend to increase buffer size */ |
dflet | 0:bbe98578d4c0 | 73 | #define SL_ESMALLBUF (-2001) |
dflet | 0:bbe98578d4c0 | 74 | |
dflet | 0:bbe98578d4c0 | 75 | /* Receive this error in case zero length is supplied to a "get" API |
dflet | 0:bbe98578d4c0 | 76 | Recommend to supply length according to requested information (view options defines for help) */ |
dflet | 0:bbe98578d4c0 | 77 | #define SL_EZEROLEN (-2002) |
dflet | 0:bbe98578d4c0 | 78 | |
dflet | 0:bbe98578d4c0 | 79 | /* User supplied invalid parameter */ |
dflet | 0:bbe98578d4c0 | 80 | #define SL_INVALPARAM (-2003) |
dflet | 0:bbe98578d4c0 | 81 | |
dflet | 0:bbe98578d4c0 | 82 | /* End of SL internal Error codes */ |
dflet | 0:bbe98578d4c0 | 83 | |
dflet | 0:bbe98578d4c0 | 84 | |
dflet | 0:bbe98578d4c0 | 85 | |
dflet | 0:bbe98578d4c0 | 86 | /*****************************************************************************/ |
dflet | 0:bbe98578d4c0 | 87 | /* Errors returned from the general error async event */ |
dflet | 0:bbe98578d4c0 | 88 | /*****************************************************************************/ |
dflet | 0:bbe98578d4c0 | 89 | |
dflet | 0:bbe98578d4c0 | 90 | /* Send types */ |
dflet | 0:bbe98578d4c0 | 91 | typedef enum |
dflet | 0:bbe98578d4c0 | 92 | { |
dflet | 0:bbe98578d4c0 | 93 | SL_ERR_SENDER_HEALTH_MON, |
dflet | 0:bbe98578d4c0 | 94 | SL_ERR_SENDER_CLI_UART, |
dflet | 0:bbe98578d4c0 | 95 | SL_ERR_SENDER_SUPPLICANT, |
dflet | 0:bbe98578d4c0 | 96 | SL_ERR_SENDER_NETWORK_STACK, |
dflet | 0:bbe98578d4c0 | 97 | SL_ERR_SENDER_WLAN_DRV_IF, |
dflet | 0:bbe98578d4c0 | 98 | SL_ERR_SENDER_WILINK, |
dflet | 0:bbe98578d4c0 | 99 | SL_ERR_SENDER_INIT_APP, |
dflet | 0:bbe98578d4c0 | 100 | SL_ERR_SENDER_NETX, |
dflet | 0:bbe98578d4c0 | 101 | SL_ERR_SENDER_HOST_APD, |
dflet | 0:bbe98578d4c0 | 102 | SL_ERR_SENDER_MDNS, |
dflet | 0:bbe98578d4c0 | 103 | SL_ERR_SENDER_HTTP_SERVER, |
dflet | 0:bbe98578d4c0 | 104 | SL_ERR_SENDER_DHCP_SERVER, |
dflet | 0:bbe98578d4c0 | 105 | SL_ERR_SENDER_DHCP_CLIENT, |
dflet | 0:bbe98578d4c0 | 106 | SL_ERR_DISPATCHER, |
dflet | 0:bbe98578d4c0 | 107 | SL_ERR_NUM_SENDER_LAST=0xFF |
dflet | 0:bbe98578d4c0 | 108 | }SlErrorSender_e; |
dflet | 0:bbe98578d4c0 | 109 | |
dflet | 0:bbe98578d4c0 | 110 | |
dflet | 0:bbe98578d4c0 | 111 | /* Error codes */ |
dflet | 0:bbe98578d4c0 | 112 | #define SL_ERROR_STATIC_ADDR_SUBNET_ERROR (-60) /* network stack error*/ |
dflet | 0:bbe98578d4c0 | 113 | #define SL_ERROR_ILLEGAL_CHANNEL (-61) /* supplicant error */ |
dflet | 0:bbe98578d4c0 | 114 | #define SL_ERROR_SUPPLICANT_ERROR (-72) /* init error code */ |
dflet | 0:bbe98578d4c0 | 115 | #define SL_ERROR_HOSTAPD_INIT_FAIL (-73) /* init error code */ |
dflet | 0:bbe98578d4c0 | 116 | #define SL_ERROR_HOSTAPD_INIT_IF_FAIL (-74) /* init error code */ |
dflet | 0:bbe98578d4c0 | 117 | #define SL_ERROR_WLAN_DRV_INIT_FAIL (-75) /* init error code */ |
dflet | 0:bbe98578d4c0 | 118 | #define SL_ERROR_WLAN_DRV_START_FAIL (-76) /* wlan start error */ |
dflet | 0:bbe98578d4c0 | 119 | #define SL_ERROR_FS_FILE_TABLE_LOAD_FAILED (-77) /* init file system failed */ |
dflet | 0:bbe98578d4c0 | 120 | #define SL_ERROR_PREFERRED_NETWORKS_FILE_LOAD_FAILED (-78) /* init file system failed */ |
dflet | 0:bbe98578d4c0 | 121 | #define SL_ERROR_HOSTAPD_BSSID_VALIDATION_ERROR (-79) /* Ap configurations BSSID error */ |
dflet | 0:bbe98578d4c0 | 122 | #define SL_ERROR_HOSTAPD_FAILED_TO_SETUP_INTERFACE (-80) /* Ap configurations interface error */ |
dflet | 0:bbe98578d4c0 | 123 | #define SL_ERROR_MDNS_ENABLE_FAIL (-81) /* mDNS enable failed */ |
dflet | 0:bbe98578d4c0 | 124 | #define SL_ERROR_HTTP_SERVER_ENABLE_FAILED (-82) /* HTTP server enable failed */ |
dflet | 0:bbe98578d4c0 | 125 | #define SL_ERROR_DHCP_SERVER_ENABLE_FAILED (-83) /* DHCP server enable failed */ |
dflet | 0:bbe98578d4c0 | 126 | #define SL_ERROR_PREFERRED_NETWORK_LIST_FULL (-93) /* supplicant error */ |
dflet | 0:bbe98578d4c0 | 127 | #define SL_ERROR_PREFERRED_NETWORKS_FILE_WRITE_FAILED (-94) /* supplicant error */ |
dflet | 0:bbe98578d4c0 | 128 | #define SL_ERROR_DHCP_CLIENT_RENEW_FAILED (-100) /* DHCP client error */ |
dflet | 0:bbe98578d4c0 | 129 | /* WLAN Connection management status */ |
dflet | 0:bbe98578d4c0 | 130 | #define SL_ERROR_CON_MGMT_STATUS_UNSPECIFIED (-102) |
dflet | 0:bbe98578d4c0 | 131 | #define SL_ERROR_CON_MGMT_STATUS_AUTH_REJECT (-103) |
dflet | 0:bbe98578d4c0 | 132 | #define SL_ERROR_CON_MGMT_STATUS_ASSOC_REJECT (-104) |
dflet | 0:bbe98578d4c0 | 133 | #define SL_ERROR_CON_MGMT_STATUS_SECURITY_FAILURE (-105) |
dflet | 0:bbe98578d4c0 | 134 | #define SL_ERROR_CON_MGMT_STATUS_AP_DEAUTHENTICATE (-106) |
dflet | 0:bbe98578d4c0 | 135 | #define SL_ERROR_CON_MGMT_STATUS_AP_DISASSOCIATE (-107) |
dflet | 0:bbe98578d4c0 | 136 | #define SL_ERROR_CON_MGMT_STATUS_ROAMING_TRIGGER (-108) |
dflet | 0:bbe98578d4c0 | 137 | #define SL_ERROR_CON_MGMT_STATUS_DISCONNECT_DURING_CONNECT (-109) |
dflet | 0:bbe98578d4c0 | 138 | #define SL_ERROR_CON_MGMT_STATUS_SG_RESELECT (-110) |
dflet | 0:bbe98578d4c0 | 139 | #define SL_ERROR_CON_MGMT_STATUS_ROC_FAILURE (-111) |
dflet | 0:bbe98578d4c0 | 140 | #define SL_ERROR_CON_MGMT_STATUS_MIC_FAILURE (-112) |
dflet | 0:bbe98578d4c0 | 141 | /* end of WLAN connection management error statuses */ |
dflet | 0:bbe98578d4c0 | 142 | #define SL_ERROR_WAKELOCK_ERROR_PREFIX (-115) /* Wake lock expired */ |
dflet | 0:bbe98578d4c0 | 143 | #define SL_ERROR_LENGTH_ERROR_PREFIX (-116) /* Uart header length error */ |
dflet | 0:bbe98578d4c0 | 144 | #define SL_ERROR_MDNS_CREATE_FAIL (-121) /* mDNS create failed */ |
dflet | 0:bbe98578d4c0 | 145 | #define SL_ERROR_GENERAL_ERROR (-127) |
dflet | 0:bbe98578d4c0 | 146 | |
dflet | 0:bbe98578d4c0 | 147 | |
dflet | 0:bbe98578d4c0 | 148 | |
dflet | 0:bbe98578d4c0 | 149 | #define SL_DEVICE_GENERAL_CONFIGURATION (1) |
dflet | 0:bbe98578d4c0 | 150 | #define SL_DEVICE_GENERAL_CONFIGURATION_DATE_TIME (11) |
dflet | 0:bbe98578d4c0 | 151 | #define SL_DEVICE_GENERAL_VERSION (12) |
dflet | 0:bbe98578d4c0 | 152 | #define SL_DEVICE_STATUS (2) |
dflet | 0:bbe98578d4c0 | 153 | |
dflet | 0:bbe98578d4c0 | 154 | /* |
dflet | 0:bbe98578d4c0 | 155 | Declare the different event group classifications |
dflet | 0:bbe98578d4c0 | 156 | The SimpleLink device send asynchronous events. Each event has a group |
dflet | 0:bbe98578d4c0 | 157 | classification according to its nature. |
dflet | 0:bbe98578d4c0 | 158 | */ |
dflet | 0:bbe98578d4c0 | 159 | /* SL_EVENT_CLASS_WLAN connection user events */ |
dflet | 0:bbe98578d4c0 | 160 | #define SL_WLAN_CONNECT_EVENT (1) |
dflet | 0:bbe98578d4c0 | 161 | #define SL_WLAN_DISCONNECT_EVENT (2) |
dflet | 0:bbe98578d4c0 | 162 | /* WLAN Smart Config user events */ |
dflet | 0:bbe98578d4c0 | 163 | #define SL_WLAN_SMART_CONFIG_COMPLETE_EVENT (3) |
dflet | 0:bbe98578d4c0 | 164 | #define SL_WLAN_SMART_CONFIG_STOP_EVENT (4) |
dflet | 0:bbe98578d4c0 | 165 | /* WLAN AP user events */ |
dflet | 0:bbe98578d4c0 | 166 | #define SL_WLAN_STA_CONNECTED_EVENT (5) |
dflet | 0:bbe98578d4c0 | 167 | #define SL_WLAN_STA_DISCONNECTED_EVENT (6) |
dflet | 0:bbe98578d4c0 | 168 | /* WLAN P2P user events */ |
dflet | 0:bbe98578d4c0 | 169 | #define SL_WLAN_P2P_DEV_FOUND_EVENT (7) |
dflet | 0:bbe98578d4c0 | 170 | #define SL_WLAN_P2P_NEG_REQ_RECEIVED_EVENT (8) |
dflet | 0:bbe98578d4c0 | 171 | #define SL_WLAN_CONNECTION_FAILED_EVENT (9) |
dflet | 0:bbe98578d4c0 | 172 | /* SL_EVENT_CLASS_DEVICE user events */ |
dflet | 0:bbe98578d4c0 | 173 | #define SL_DEVICE_FATAL_ERROR_EVENT (1) |
dflet | 0:bbe98578d4c0 | 174 | /* SL_EVENT_CLASS_BSD user events */ |
dflet | 0:bbe98578d4c0 | 175 | #define SL_SOCKET_TX_FAILED_EVENT (1) |
dflet | 0:bbe98578d4c0 | 176 | #define SL_SOCKET_ASYNC_EVENT (2) |
dflet | 0:bbe98578d4c0 | 177 | /* SL_EVENT_CLASS_NETAPP user events */ |
dflet | 0:bbe98578d4c0 | 178 | #define SL_NETAPP_IPV4_IPACQUIRED_EVENT (1) |
dflet | 0:bbe98578d4c0 | 179 | #define SL_NETAPP_IPV6_IPACQUIRED_EVENT (2) |
dflet | 0:bbe98578d4c0 | 180 | #define SL_NETAPP_IP_LEASED_EVENT (3) |
dflet | 0:bbe98578d4c0 | 181 | #define SL_NETAPP_IP_RELEASED_EVENT (4) |
dflet | 0:bbe98578d4c0 | 182 | |
dflet | 0:bbe98578d4c0 | 183 | /* Server Events */ |
dflet | 0:bbe98578d4c0 | 184 | #define SL_NETAPP_HTTPGETTOKENVALUE_EVENT (1) |
dflet | 0:bbe98578d4c0 | 185 | #define SL_NETAPP_HTTPPOSTTOKENVALUE_EVENT (2) |
dflet | 0:bbe98578d4c0 | 186 | |
dflet | 0:bbe98578d4c0 | 187 | |
dflet | 0:bbe98578d4c0 | 188 | /* |
dflet | 0:bbe98578d4c0 | 189 | Declare the different event group classifications for sl_DevGet |
dflet | 0:bbe98578d4c0 | 190 | for getting status indications |
dflet | 0:bbe98578d4c0 | 191 | */ |
dflet | 0:bbe98578d4c0 | 192 | |
dflet | 0:bbe98578d4c0 | 193 | /* Events list to mask/unmask*/ |
dflet | 0:bbe98578d4c0 | 194 | #define SL_EVENT_CLASS_GLOBAL (0) |
dflet | 0:bbe98578d4c0 | 195 | #define SL_EVENT_CLASS_DEVICE (1) |
dflet | 0:bbe98578d4c0 | 196 | #define SL_EVENT_CLASS_WLAN (2) |
dflet | 0:bbe98578d4c0 | 197 | #define SL_EVENT_CLASS_BSD (3) |
dflet | 0:bbe98578d4c0 | 198 | #define SL_EVENT_CLASS_NETAPP (4) |
dflet | 0:bbe98578d4c0 | 199 | #define SL_EVENT_CLASS_NETCFG (5) |
dflet | 0:bbe98578d4c0 | 200 | #define SL_EVENT_CLASS_FS (6) |
dflet | 0:bbe98578d4c0 | 201 | |
dflet | 0:bbe98578d4c0 | 202 | |
dflet | 0:bbe98578d4c0 | 203 | /****************** DEVICE CLASS status ****************/ |
dflet | 0:bbe98578d4c0 | 204 | #define EVENT_DROPPED_DEVICE_ASYNC_GENERAL_ERROR (0x00000001L) |
dflet | 0:bbe98578d4c0 | 205 | #define STATUS_DEVICE_SMART_CONFIG_ACTIVE (0x80000000L) |
dflet | 0:bbe98578d4c0 | 206 | |
dflet | 0:bbe98578d4c0 | 207 | /****************** WLAN CLASS status ****************/ |
dflet | 0:bbe98578d4c0 | 208 | #define EVENT_DROPPED_WLAN_WLANASYNCONNECTEDRESPONSE (0x00000001L) |
dflet | 0:bbe98578d4c0 | 209 | #define EVENT_DROPPED_WLAN_WLANASYNCDISCONNECTEDRESPONSE (0x00000002L) |
dflet | 0:bbe98578d4c0 | 210 | #define EVENT_DROPPED_WLAN_STA_CONNECTED (0x00000004L) |
dflet | 0:bbe98578d4c0 | 211 | #define EVENT_DROPPED_WLAN_STA_DISCONNECTED (0x00000008L) |
dflet | 0:bbe98578d4c0 | 212 | #define STATUS_WLAN_STA_CONNECTED (0x80000000L) |
dflet | 0:bbe98578d4c0 | 213 | |
dflet | 0:bbe98578d4c0 | 214 | /****************** NETAPP CLASS status ****************/ |
dflet | 0:bbe98578d4c0 | 215 | #define EVENT_DROPPED_NETAPP_IPACQUIRED (0x00000001L) |
dflet | 0:bbe98578d4c0 | 216 | #define EVENT_DROPPED_NETAPP_IPACQUIRED_V6 (0x00000002L) |
dflet | 0:bbe98578d4c0 | 217 | #define EVENT_DROPPED_NETAPP_IP_LEASED (0x00000004L) |
dflet | 0:bbe98578d4c0 | 218 | #define EVENT_DROPPED_NETAPP_IP_RELEASED (0x00000008L) |
dflet | 0:bbe98578d4c0 | 219 | |
dflet | 0:bbe98578d4c0 | 220 | /****************** BSD CLASS status ****************/ |
dflet | 0:bbe98578d4c0 | 221 | #define EVENT_DROPPED_SOCKET_TXFAILEDASYNCRESPONSE (0x00000001L) |
dflet | 0:bbe98578d4c0 | 222 | |
dflet | 0:bbe98578d4c0 | 223 | /****************** FS CLASS ****************/ |
dflet | 0:bbe98578d4c0 | 224 | |
dflet | 0:bbe98578d4c0 | 225 | |
dflet | 0:bbe98578d4c0 | 226 | |
dflet | 0:bbe98578d4c0 | 227 | /*****************************************************************************/ |
dflet | 0:bbe98578d4c0 | 228 | /* Structure/Enum declarations */ |
dflet | 0:bbe98578d4c0 | 229 | /*****************************************************************************/ |
dflet | 0:bbe98578d4c0 | 230 | |
dflet | 0:bbe98578d4c0 | 231 | #ifdef SL_IF_TYPE_UART |
dflet | 0:bbe98578d4c0 | 232 | typedef struct |
dflet | 0:bbe98578d4c0 | 233 | { |
dflet | 0:bbe98578d4c0 | 234 | _u32 BaudRate; |
dflet | 0:bbe98578d4c0 | 235 | _u8 FlowControlEnable; |
dflet | 0:bbe98578d4c0 | 236 | _u8 CommPort; |
dflet | 0:bbe98578d4c0 | 237 | } SlUartIfParams_t; |
dflet | 0:bbe98578d4c0 | 238 | #endif |
dflet | 0:bbe98578d4c0 | 239 | |
dflet | 0:bbe98578d4c0 | 240 | typedef struct |
dflet | 0:bbe98578d4c0 | 241 | { |
dflet | 0:bbe98578d4c0 | 242 | _u32 ChipId; |
dflet | 0:bbe98578d4c0 | 243 | _u32 FwVersion[4]; |
dflet | 0:bbe98578d4c0 | 244 | _u8 PhyVersion[4]; |
dflet | 0:bbe98578d4c0 | 245 | }_SlPartialVersion; |
dflet | 0:bbe98578d4c0 | 246 | |
dflet | 0:bbe98578d4c0 | 247 | typedef struct |
dflet | 0:bbe98578d4c0 | 248 | { |
dflet | 0:bbe98578d4c0 | 249 | _SlPartialVersion ChipFwAndPhyVersion; |
dflet | 0:bbe98578d4c0 | 250 | _u32 NwpVersion[4]; |
dflet | 0:bbe98578d4c0 | 251 | _u16 RomVersion; |
dflet | 0:bbe98578d4c0 | 252 | _u16 Padding; |
dflet | 0:bbe98578d4c0 | 253 | }SlVersionFull; |
dflet | 0:bbe98578d4c0 | 254 | |
dflet | 0:bbe98578d4c0 | 255 | typedef struct |
dflet | 0:bbe98578d4c0 | 256 | { |
dflet | 0:bbe98578d4c0 | 257 | _i8 status; |
dflet | 0:bbe98578d4c0 | 258 | SlErrorSender_e sender; |
dflet | 0:bbe98578d4c0 | 259 | }sl_DeviceReport; |
dflet | 0:bbe98578d4c0 | 260 | |
dflet | 0:bbe98578d4c0 | 261 | typedef union |
dflet | 0:bbe98578d4c0 | 262 | { |
dflet | 0:bbe98578d4c0 | 263 | sl_DeviceReport deviceEvent; |
dflet | 0:bbe98578d4c0 | 264 | } _SlDeviceEventData_u; |
dflet | 0:bbe98578d4c0 | 265 | |
dflet | 0:bbe98578d4c0 | 266 | typedef struct |
dflet | 0:bbe98578d4c0 | 267 | { |
dflet | 0:bbe98578d4c0 | 268 | _u32 Event; |
dflet | 0:bbe98578d4c0 | 269 | _SlDeviceEventData_u EventData; |
dflet | 0:bbe98578d4c0 | 270 | } SlDeviceEvent_t; |
dflet | 0:bbe98578d4c0 | 271 | |
dflet | 0:bbe98578d4c0 | 272 | typedef struct |
dflet | 0:bbe98578d4c0 | 273 | { |
dflet | 0:bbe98578d4c0 | 274 | /* time */ |
dflet | 0:bbe98578d4c0 | 275 | _u32 sl_tm_sec; |
dflet | 0:bbe98578d4c0 | 276 | _u32 sl_tm_min; |
dflet | 0:bbe98578d4c0 | 277 | _u32 sl_tm_hour; |
dflet | 0:bbe98578d4c0 | 278 | /* date */ |
dflet | 0:bbe98578d4c0 | 279 | _u32 sl_tm_day; /* 1-31 */ |
dflet | 0:bbe98578d4c0 | 280 | _u32 sl_tm_mon; /* 1-12 */ |
dflet | 0:bbe98578d4c0 | 281 | _u32 sl_tm_year; /* YYYY 4 digits */ |
dflet | 0:bbe98578d4c0 | 282 | _u32 sl_tm_week_day; /* not required */ |
dflet | 0:bbe98578d4c0 | 283 | _u32 sl_tm_year_day; /* not required */ |
dflet | 0:bbe98578d4c0 | 284 | _u32 reserved[3]; |
dflet | 0:bbe98578d4c0 | 285 | }SlDateTime_t; |
dflet | 0:bbe98578d4c0 | 286 | |
dflet | 0:bbe98578d4c0 | 287 | |
dflet | 0:bbe98578d4c0 | 288 | /******************************************************************************/ |
dflet | 0:bbe98578d4c0 | 289 | /* Type declarations */ |
dflet | 0:bbe98578d4c0 | 290 | /******************************************************************************/ |
dflet | 0:bbe98578d4c0 | 291 | typedef void (*P_INIT_CALLBACK)(_u32 Status); |
dflet | 0:bbe98578d4c0 | 292 | |
dflet | 0:bbe98578d4c0 | 293 | /*****************************************************************************/ |
dflet | 0:bbe98578d4c0 | 294 | /* Function prototypes */ |
dflet | 0:bbe98578d4c0 | 295 | /*****************************************************************************/ |
dflet | 0:bbe98578d4c0 | 296 | |
dflet | 0:bbe98578d4c0 | 297 | /*! |
dflet | 0:bbe98578d4c0 | 298 | \brief Start the SimpleLink device |
dflet | 0:bbe98578d4c0 | 299 | |
dflet | 0:bbe98578d4c0 | 300 | This function initialize the communication interface, set the enable pin |
dflet | 0:bbe98578d4c0 | 301 | of the device, and call to the init complete callback. |
dflet | 0:bbe98578d4c0 | 302 | |
dflet | 0:bbe98578d4c0 | 303 | \param[in] pIfHdl Opened Interface Object. In case the interface |
dflet | 0:bbe98578d4c0 | 304 | must be opened outside the SimpleLink Driver, the |
dflet | 0:bbe98578d4c0 | 305 | user might give the handler to be used in \n |
dflet | 0:bbe98578d4c0 | 306 | any access of the communication interface with the |
dflet | 0:bbe98578d4c0 | 307 | device (UART/SPI). \n |
dflet | 0:bbe98578d4c0 | 308 | The SimpleLink driver will open an interface port |
dflet | 0:bbe98578d4c0 | 309 | only if this parameter is null! \n |
dflet | 0:bbe98578d4c0 | 310 | \param[in] pDevName The name of the device to open. Could be used when |
dflet | 0:bbe98578d4c0 | 311 | the pIfHdl is null, to transfer information to the |
dflet | 0:bbe98578d4c0 | 312 | open interface function \n |
dflet | 0:bbe98578d4c0 | 313 | This pointer could be used to pass additional information to |
dflet | 0:bbe98578d4c0 | 314 | sl_IfOpen in case it is required (e.g. UART com port name) |
dflet | 0:bbe98578d4c0 | 315 | \param[in] pInitCallBack Pointer to function that would be called |
dflet | 0:bbe98578d4c0 | 316 | on completion of the initialization process.\n |
dflet | 0:bbe98578d4c0 | 317 | If this parameter is NULL the function is |
dflet | 0:bbe98578d4c0 | 318 | blocked until the device initialization |
dflet | 0:bbe98578d4c0 | 319 | is completed, otherwise the function returns |
dflet | 0:bbe98578d4c0 | 320 | immediately. |
dflet | 0:bbe98578d4c0 | 321 | |
dflet | 0:bbe98578d4c0 | 322 | \return Returns the current active role (STA/AP/P2P) or an error code: |
dflet | 0:bbe98578d4c0 | 323 | - ROLE_STA, ROLE_AP, ROLE_P2P in case of success, |
dflet | 0:bbe98578d4c0 | 324 | otherwise in failure one of the following is return: |
dflet | 0:bbe98578d4c0 | 325 | - ROLE_STA_ERR (Failure to load MAC/PHY in STA role) |
dflet | 0:bbe98578d4c0 | 326 | - ROLE_AP_ERR (Failure to load MAC/PHY in AP role) |
dflet | 0:bbe98578d4c0 | 327 | - ROLE_P2P_ERR (Failure to load MAC/PHY in P2P role) |
dflet | 0:bbe98578d4c0 | 328 | |
dflet | 0:bbe98578d4c0 | 329 | |
dflet | 0:bbe98578d4c0 | 330 | \sa sl_Stop |
dflet | 0:bbe98578d4c0 | 331 | |
dflet | 0:bbe98578d4c0 | 332 | \note belongs to \ref basic_api |
dflet | 0:bbe98578d4c0 | 333 | |
dflet | 0:bbe98578d4c0 | 334 | \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:bbe98578d4c0 | 335 | \par Example: |
dflet | 0:bbe98578d4c0 | 336 | \code |
dflet | 0:bbe98578d4c0 | 337 | An example for open interface without callback routine. The interface name and handler are |
dflet | 0:bbe98578d4c0 | 338 | handled by the sl_IfOpen routine: |
dflet | 0:bbe98578d4c0 | 339 | |
dflet | 0:bbe98578d4c0 | 340 | if( sl_Start(NULL, NULL, NULL) < 0 ) |
dflet | 0:bbe98578d4c0 | 341 | { |
dflet | 0:bbe98578d4c0 | 342 | LOG("Error opening interface to device\n"); |
dflet | 0:bbe98578d4c0 | 343 | } |
dflet | 0:bbe98578d4c0 | 344 | \endcode |
dflet | 0:bbe98578d4c0 | 345 | */ |
dflet | 0:bbe98578d4c0 | 346 | #if _SL_INCLUDE_FUNC(sl_Start) |
dflet | 0:bbe98578d4c0 | 347 | _i16 sl_Start(const void* pIfHdl, _i8* pDevName, const P_INIT_CALLBACK pInitCallBack); |
dflet | 0:bbe98578d4c0 | 348 | #endif |
dflet | 0:bbe98578d4c0 | 349 | |
dflet | 0:bbe98578d4c0 | 350 | /*! |
dflet | 0:bbe98578d4c0 | 351 | \brief Stop the SimpleLink device |
dflet | 0:bbe98578d4c0 | 352 | |
dflet | 0:bbe98578d4c0 | 353 | This function clears the enable pin of the device, closes the communication \n |
dflet | 0:bbe98578d4c0 | 354 | interface and invokes the stop complete callback |
dflet | 0:bbe98578d4c0 | 355 | |
dflet | 0:bbe98578d4c0 | 356 | \param[in] timeout Stop timeout in msec. Should be used to give the device time to finish \n |
dflet | 0:bbe98578d4c0 | 357 | any transmission/reception that is not completed when the function was called. \n |
dflet | 0:bbe98578d4c0 | 358 | Additional options: |
dflet | 0:bbe98578d4c0 | 359 | - 0 Enter to hibernate immediately \n |
dflet | 0:bbe98578d4c0 | 360 | - 0xFFFF Host waits for device's response before \n |
dflet | 0:bbe98578d4c0 | 361 | hibernating, without timeout protection \n |
dflet | 0:bbe98578d4c0 | 362 | - 0 < Timeout[msec] < 0xFFFF Host waits for device's response before \n |
dflet | 0:bbe98578d4c0 | 363 | hibernating, with a defined timeout protection \n |
dflet | 0:bbe98578d4c0 | 364 | This timeout defines the max time to wait. The NWP \n |
dflet | 0:bbe98578d4c0 | 365 | response can be sent earlier than this timeout. |
dflet | 0:bbe98578d4c0 | 366 | |
dflet | 0:bbe98578d4c0 | 367 | \return On success, zero is returned. On error, -1 is returned |
dflet | 0:bbe98578d4c0 | 368 | |
dflet | 0:bbe98578d4c0 | 369 | \sa sl_Start |
dflet | 0:bbe98578d4c0 | 370 | |
dflet | 0:bbe98578d4c0 | 371 | \note This API will shutdown the device and invoke the "i/f close" function regardless \n |
dflet | 0:bbe98578d4c0 | 372 | if it was opened implicitly or explicitly. \n |
dflet | 0:bbe98578d4c0 | 373 | It is up to the platform interface library to properly handle interface close \n |
dflet | 0:bbe98578d4c0 | 374 | routine \n |
dflet | 0:bbe98578d4c0 | 375 | belongs to \ref basic_api \n |
dflet | 0:bbe98578d4c0 | 376 | \warning |
dflet | 0:bbe98578d4c0 | 377 | */ |
dflet | 0:bbe98578d4c0 | 378 | #if _SL_INCLUDE_FUNC(sl_Stop) |
dflet | 0:bbe98578d4c0 | 379 | _i16 sl_Stop(_u16 timeout); |
dflet | 0:bbe98578d4c0 | 380 | #endif |
dflet | 0:bbe98578d4c0 | 381 | |
dflet | 0:bbe98578d4c0 | 382 | |
dflet | 0:bbe98578d4c0 | 383 | /*! |
dflet | 0:bbe98578d4c0 | 384 | \brief Internal function for setting device configurations |
dflet | 0:bbe98578d4c0 | 385 | |
dflet | 0:bbe98578d4c0 | 386 | \return On success, zero is returned. On error, -1 is |
dflet | 0:bbe98578d4c0 | 387 | returned |
dflet | 0:bbe98578d4c0 | 388 | |
dflet | 0:bbe98578d4c0 | 389 | \param[in] DeviceSetId configuration id |
dflet | 0:bbe98578d4c0 | 390 | \param[in] Option configurations option |
dflet | 0:bbe98578d4c0 | 391 | \param[in] ConfigLen configurations len |
dflet | 0:bbe98578d4c0 | 392 | \param[in] pValues configurations values |
dflet | 0:bbe98578d4c0 | 393 | |
dflet | 0:bbe98578d4c0 | 394 | \sa |
dflet | 0:bbe98578d4c0 | 395 | \note |
dflet | 0:bbe98578d4c0 | 396 | \warning |
dflet | 0:bbe98578d4c0 | 397 | \par Examples: |
dflet | 0:bbe98578d4c0 | 398 | \code |
dflet | 0:bbe98578d4c0 | 399 | Setting device time and date example: |
dflet | 0:bbe98578d4c0 | 400 | |
dflet | 0:bbe98578d4c0 | 401 | SlDateTime_t dateTime= {0}; |
dflet | 0:bbe98578d4c0 | 402 | dateTime.sl_tm_day = (_u32)23; // Day of month (DD format) range 1-13 |
dflet | 0:bbe98578d4c0 | 403 | dateTime.sl_tm_mon = (_u32)6; // Month (MM format) in the range of 1-12 |
dflet | 0:bbe98578d4c0 | 404 | dateTime.sl_tm_year = (_u32)2014; // Year (YYYY format) |
dflet | 0:bbe98578d4c0 | 405 | dateTime.sl_tm_hour = (_u32)17; // Hours in the range of 0-23 |
dflet | 0:bbe98578d4c0 | 406 | dateTime.sl_tm_min = (_u32)55; // Minutes in the range of 0-59 |
dflet | 0:bbe98578d4c0 | 407 | dateTime.sl_tm_sec = (_u32)22; // Seconds in the range of 0-59 |
dflet | 0:bbe98578d4c0 | 408 | sl_DevSet(SL_DEVICE_GENERAL_CONFIGURATION, |
dflet | 0:bbe98578d4c0 | 409 | SL_DEVICE_GENERAL_CONFIGURATION_DATE_TIME, |
dflet | 0:bbe98578d4c0 | 410 | sizeof(SlDateTime_t), |
dflet | 0:bbe98578d4c0 | 411 | (_u8 *)(&dateTime)); |
dflet | 0:bbe98578d4c0 | 412 | |
dflet | 0:bbe98578d4c0 | 413 | \endcode |
dflet | 0:bbe98578d4c0 | 414 | */ |
dflet | 0:bbe98578d4c0 | 415 | #if _SL_INCLUDE_FUNC(sl_DevSet) |
dflet | 0:bbe98578d4c0 | 416 | _i32 sl_DevSet(_u8 DeviceSetId ,_u8 Option,_u8 ConfigLen, _u8 *pValues); |
dflet | 0:bbe98578d4c0 | 417 | #endif |
dflet | 0:bbe98578d4c0 | 418 | |
dflet | 0:bbe98578d4c0 | 419 | /*! |
dflet | 0:bbe98578d4c0 | 420 | \brief Internal function for getting device configurations |
dflet | 0:bbe98578d4c0 | 421 | \return On success, zero is returned. On error, -1 is |
dflet | 0:bbe98578d4c0 | 422 | returned |
dflet | 0:bbe98578d4c0 | 423 | \param[in] DeviceGetId configuration id - example SL_DEVICE_STATUS |
dflet | 0:bbe98578d4c0 | 424 | \param[out] pOption Get configurations option, example for get status options |
dflet | 0:bbe98578d4c0 | 425 | - SL_EVENT_CLASS_GLOBAL |
dflet | 0:bbe98578d4c0 | 426 | - SL_EVENT_CLASS_DEVICE |
dflet | 0:bbe98578d4c0 | 427 | - SL_EVENT_CLASS_WLAN |
dflet | 0:bbe98578d4c0 | 428 | - SL_EVENT_CLASS_BSD |
dflet | 0:bbe98578d4c0 | 429 | - SL_EVENT_CLASS_NETAPP |
dflet | 0:bbe98578d4c0 | 430 | - SL_EVENT_CLASS_NETCFG |
dflet | 0:bbe98578d4c0 | 431 | - SL_EVENT_CLASS_FS |
dflet | 0:bbe98578d4c0 | 432 | \param[out] pConfigLen The length of the allocated memory as input, when the |
dflet | 0:bbe98578d4c0 | 433 | function complete, the value of this parameter would be |
dflet | 0:bbe98578d4c0 | 434 | the len that actually read from the device.\n |
dflet | 0:bbe98578d4c0 | 435 | If the device return length that is longer from the input |
dflet | 0:bbe98578d4c0 | 436 | value, the function will cut the end of the returned structure |
dflet | 0:bbe98578d4c0 | 437 | and will return SL_ESMALLBUF |
dflet | 0:bbe98578d4c0 | 438 | \param[out] pValues Get configurations values |
dflet | 0:bbe98578d4c0 | 439 | \sa |
dflet | 0:bbe98578d4c0 | 440 | \note |
dflet | 0:bbe98578d4c0 | 441 | \warning |
dflet | 0:bbe98578d4c0 | 442 | \par Examples: |
dflet | 0:bbe98578d4c0 | 443 | \code |
dflet | 0:bbe98578d4c0 | 444 | Example for getting WLAN class status: |
dflet | 0:bbe98578d4c0 | 445 | _u32 statusWlan; |
dflet | 0:bbe98578d4c0 | 446 | _u8 pConfigOpt; |
dflet | 0:bbe98578d4c0 | 447 | _u8 pConfigLen; |
dflet | 0:bbe98578d4c0 | 448 | pConfigOpt = SL_EVENT_CLASS_WLAN; |
dflet | 0:bbe98578d4c0 | 449 | sl_DevGet(SL_DEVICE_STATUS,&pConfigOpt,&pConfigLen,(_u8 *)(&statusWlan)); |
dflet | 0:bbe98578d4c0 | 450 | Example for getting version: |
dflet | 0:bbe98578d4c0 | 451 | SlVersionFull ver; |
dflet | 0:bbe98578d4c0 | 452 | pConfigOpt = SL_DEVICE_GENERAL_VERSION; |
dflet | 0:bbe98578d4c0 | 453 | sl_DevGet(SL_DEVICE_GENERAL_CONFIGURATION,&pConfigOpt,&pConfigLen,(_u8 *)(&ver)); |
dflet | 0:bbe98578d4c0 | 454 | 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:bbe98578d4c0 | 455 | ver.ChipFwAndPhyVersion.ChipId, |
dflet | 0:bbe98578d4c0 | 456 | ver.ChipFwAndPhyVersion.FwVersion[0],ver.ChipFwAndPhyVersion.FwVersion[1], |
dflet | 0:bbe98578d4c0 | 457 | ver.ChipFwAndPhyVersion.FwVersion[2],ver.ChipFwAndPhyVersion.FwVersion[3], |
dflet | 0:bbe98578d4c0 | 458 | ver.ChipFwAndPhyVersion.PhyVersion[0],ver.ChipFwAndPhyVersion.PhyVersion[1], |
dflet | 0:bbe98578d4c0 | 459 | ver.ChipFwAndPhyVersion.PhyVersion[2],ver.ChipFwAndPhyVersion.PhyVersion[3], |
dflet | 0:bbe98578d4c0 | 460 | ver.NwpVersion[0],ver.NwpVersion[1],ver.NwpVersion[2],ver.NwpVersion[3], |
dflet | 0:bbe98578d4c0 | 461 | ver.RomVersion, |
dflet | 0:bbe98578d4c0 | 462 | SL_MAJOR_VERSION_NUM,SL_MINOR_VERSION_NUM,SL_VERSION_NUM,SL_SUB_VERSION_NUM); |
dflet | 0:bbe98578d4c0 | 463 | |
dflet | 0:bbe98578d4c0 | 464 | \endcode |
dflet | 0:bbe98578d4c0 | 465 | \code |
dflet | 0:bbe98578d4c0 | 466 | Getting Device time and date example: |
dflet | 0:bbe98578d4c0 | 467 | |
dflet | 0:bbe98578d4c0 | 468 | SlDateTime_t dateTime = {0}; |
dflet | 0:bbe98578d4c0 | 469 | _i8 configLen = sizeof(SlDateTime_t); |
dflet | 0:bbe98578d4c0 | 470 | _i8 configOpt = SL_DEVICE_GENERAL_CONFIGURATION_DATE_TIME; |
dflet | 0:bbe98578d4c0 | 471 | sl_DevGet(SL_DEVICE_GENERAL_CONFIGURATION,&configOpt, &configLen,(_u8 *)(&dateTime)); |
dflet | 0:bbe98578d4c0 | 472 | |
dflet | 0:bbe98578d4c0 | 473 | 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:bbe98578d4c0 | 474 | dateTime.sl_tm_hour,dateTime.sl_tm_min,dateTime.sl_tm_sec); |
dflet | 0:bbe98578d4c0 | 475 | \endcode |
dflet | 0:bbe98578d4c0 | 476 | */ |
dflet | 0:bbe98578d4c0 | 477 | #if _SL_INCLUDE_FUNC(sl_DevGet) |
dflet | 0:bbe98578d4c0 | 478 | _i32 sl_DevGet(_u8 DeviceGetId, _u8 *pOption,_u8 *pConfigLen, _u8 *pValues); |
dflet | 0:bbe98578d4c0 | 479 | #endif |
dflet | 0:bbe98578d4c0 | 480 | |
dflet | 0:bbe98578d4c0 | 481 | |
dflet | 0:bbe98578d4c0 | 482 | /*! |
dflet | 0:bbe98578d4c0 | 483 | \brief Set asynchronous event mask |
dflet | 0:bbe98578d4c0 | 484 | |
dflet | 0:bbe98578d4c0 | 485 | Mask asynchronous events from the device. Masked events do not |
dflet | 0:bbe98578d4c0 | 486 | generate asynchronous messages from the device. |
dflet | 0:bbe98578d4c0 | 487 | By default - all events are active |
dflet | 0:bbe98578d4c0 | 488 | |
dflet | 0:bbe98578d4c0 | 489 | \param[in] EventClass The classification groups that the |
dflet | 0:bbe98578d4c0 | 490 | mask is referred to. Need to be one of |
dflet | 0:bbe98578d4c0 | 491 | the following: |
dflet | 0:bbe98578d4c0 | 492 | - SL_EVENT_CLASS_GLOBAL |
dflet | 0:bbe98578d4c0 | 493 | - SL_EVENT_CLASS_DEVICE |
dflet | 0:bbe98578d4c0 | 494 | - SL_EVENT_CLASS_WLAN |
dflet | 0:bbe98578d4c0 | 495 | - SL_EVENT_CLASS_BSD |
dflet | 0:bbe98578d4c0 | 496 | - SL_EVENT_CLASS_NETAPP |
dflet | 0:bbe98578d4c0 | 497 | - SL_EVENT_CLASS_NETCFG |
dflet | 0:bbe98578d4c0 | 498 | - SL_EVENT_CLASS_FS |
dflet | 0:bbe98578d4c0 | 499 | |
dflet | 0:bbe98578d4c0 | 500 | |
dflet | 0:bbe98578d4c0 | 501 | \param[in] Mask Event Mask bitmap. Valid mask are (per group): |
dflet | 0:bbe98578d4c0 | 502 | - SL_EVENT_CLASS_WLAN user events |
dflet | 0:bbe98578d4c0 | 503 | - SL_WLAN_CONNECT_EVENT |
dflet | 0:bbe98578d4c0 | 504 | - SL_WLAN_DISCONNECT_EVENT |
dflet | 0:bbe98578d4c0 | 505 | - SL_EVENT_CLASS_DEVICE user events |
dflet | 0:bbe98578d4c0 | 506 | - SL_DEVICE_FATAL_ERROR_EVENT |
dflet | 0:bbe98578d4c0 | 507 | - SL_EVENT_CLASS_BSD user events |
dflet | 0:bbe98578d4c0 | 508 | - SL_SOCKET_TX_FAILED_EVENT |
dflet | 0:bbe98578d4c0 | 509 | - SL_SOCKET_ASYNC_EVENT |
dflet | 0:bbe98578d4c0 | 510 | - SL_EVENT_CLASS_NETAPP user events |
dflet | 0:bbe98578d4c0 | 511 | - SL_NETAPP_IPV4_IPACQUIRED_EVENT |
dflet | 0:bbe98578d4c0 | 512 | - SL_NETAPP_IPV6_IPACQUIRED_EVENT |
dflet | 0:bbe98578d4c0 | 513 | |
dflet | 0:bbe98578d4c0 | 514 | \return On success, zero is returned. On error, -1 is returned |
dflet | 0:bbe98578d4c0 | 515 | |
dflet | 0:bbe98578d4c0 | 516 | \sa sl_EventMaskGet |
dflet | 0:bbe98578d4c0 | 517 | |
dflet | 0:bbe98578d4c0 | 518 | \note belongs to \ref ext_api |
dflet | 0:bbe98578d4c0 | 519 | |
dflet | 0:bbe98578d4c0 | 520 | \warning |
dflet | 0:bbe98578d4c0 | 521 | \par Example: |
dflet | 0:bbe98578d4c0 | 522 | \code |
dflet | 0:bbe98578d4c0 | 523 | |
dflet | 0:bbe98578d4c0 | 524 | An example of masking connection/disconnection async events from WLAN class: |
dflet | 0:bbe98578d4c0 | 525 | sl_EventMaskSet(SL_EVENT_CLASS_WLAN, (SL_WLAN_CONNECT_EVENT | SL_WLAN_DISCONNECT_EVENT) ); |
dflet | 0:bbe98578d4c0 | 526 | |
dflet | 0:bbe98578d4c0 | 527 | \endcode |
dflet | 0:bbe98578d4c0 | 528 | */ |
dflet | 0:bbe98578d4c0 | 529 | #if _SL_INCLUDE_FUNC(sl_EventMaskSet) |
dflet | 0:bbe98578d4c0 | 530 | _i16 sl_EventMaskSet(_u8 EventClass , _u32 Mask); |
dflet | 0:bbe98578d4c0 | 531 | #endif |
dflet | 0:bbe98578d4c0 | 532 | |
dflet | 0:bbe98578d4c0 | 533 | /*! |
dflet | 0:bbe98578d4c0 | 534 | \brief Get current event mask of the device |
dflet | 0:bbe98578d4c0 | 535 | |
dflet | 0:bbe98578d4c0 | 536 | return the events bit mask from the device. In case that event is |
dflet | 0:bbe98578d4c0 | 537 | masked, the device is not sending this event. |
dflet | 0:bbe98578d4c0 | 538 | |
dflet | 0:bbe98578d4c0 | 539 | \param[in] EventClass The classification groups that the |
dflet | 0:bbe98578d4c0 | 540 | mask is referred to. Need to be one of |
dflet | 0:bbe98578d4c0 | 541 | the following: |
dflet | 0:bbe98578d4c0 | 542 | - SL_EVENT_CLASS_GLOBAL |
dflet | 0:bbe98578d4c0 | 543 | - SL_EVENT_CLASS_DEVICE |
dflet | 0:bbe98578d4c0 | 544 | - SL_EVENT_CLASS_WLAN |
dflet | 0:bbe98578d4c0 | 545 | - SL_EVENT_CLASS_BSD |
dflet | 0:bbe98578d4c0 | 546 | - SL_EVENT_CLASS_NETAPP |
dflet | 0:bbe98578d4c0 | 547 | - SL_EVENT_CLASS_NETCFG |
dflet | 0:bbe98578d4c0 | 548 | - SL_EVENT_CLASS_FS |
dflet | 0:bbe98578d4c0 | 549 | |
dflet | 0:bbe98578d4c0 | 550 | \param[out] pMask Pointer to Mask bitmap where the |
dflet | 0:bbe98578d4c0 | 551 | value should be stored. Bitmasks are the same as in \ref sl_EventMaskSet |
dflet | 0:bbe98578d4c0 | 552 | |
dflet | 0:bbe98578d4c0 | 553 | \return On success, zero is returned. On error, -1 is returned |
dflet | 0:bbe98578d4c0 | 554 | |
dflet | 0:bbe98578d4c0 | 555 | \sa sl_EventMaskSet |
dflet | 0:bbe98578d4c0 | 556 | |
dflet | 0:bbe98578d4c0 | 557 | \note belongs to \ref ext_api |
dflet | 0:bbe98578d4c0 | 558 | |
dflet | 0:bbe98578d4c0 | 559 | \warning |
dflet | 0:bbe98578d4c0 | 560 | \par Example: |
dflet | 0:bbe98578d4c0 | 561 | \code |
dflet | 0:bbe98578d4c0 | 562 | |
dflet | 0:bbe98578d4c0 | 563 | An example of getting an event mask for WLAN class |
dflet | 0:bbe98578d4c0 | 564 | _u32 maskWlan; |
dflet | 0:bbe98578d4c0 | 565 | sl_StatusGet(SL_EVENT_CLASS_WLAN,&maskWlan); |
dflet | 0:bbe98578d4c0 | 566 | |
dflet | 0:bbe98578d4c0 | 567 | \endcode |
dflet | 0:bbe98578d4c0 | 568 | */ |
dflet | 0:bbe98578d4c0 | 569 | #if _SL_INCLUDE_FUNC(sl_EventMaskGet) |
dflet | 0:bbe98578d4c0 | 570 | _i16 sl_EventMaskGet(_u8 EventClass, _u32 *pMask); |
dflet | 0:bbe98578d4c0 | 571 | #endif |
dflet | 0:bbe98578d4c0 | 572 | |
dflet | 0:bbe98578d4c0 | 573 | |
dflet | 0:bbe98578d4c0 | 574 | /*! |
dflet | 0:bbe98578d4c0 | 575 | \brief the simple link task entry |
dflet | 0:bbe98578d4c0 | 576 | |
dflet | 0:bbe98578d4c0 | 577 | \Param |
dflet | 0:bbe98578d4c0 | 578 | This function must be called from the main loop or from dedicated thread in |
dflet | 0:bbe98578d4c0 | 579 | the following cases: |
dflet | 0:bbe98578d4c0 | 580 | - Non-Os Platform - should be called from the mail loop |
dflet | 0:bbe98578d4c0 | 581 | - Multi Threaded Platform when the user does not implement the external spawn functions - |
dflet | 0:bbe98578d4c0 | 582 | should be called from dedicated thread allocated to the simplelink driver. |
dflet | 0:bbe98578d4c0 | 583 | In this mode the function never return. |
dflet | 0:bbe98578d4c0 | 584 | |
dflet | 0:bbe98578d4c0 | 585 | \return None |
dflet | 0:bbe98578d4c0 | 586 | |
dflet | 0:bbe98578d4c0 | 587 | \sa sl_Stop |
dflet | 0:bbe98578d4c0 | 588 | |
dflet | 0:bbe98578d4c0 | 589 | \note belongs to \ref basic_api |
dflet | 0:bbe98578d4c0 | 590 | |
dflet | 0:bbe98578d4c0 | 591 | \warning This function must be called from a thread that is start running before |
dflet | 0:bbe98578d4c0 | 592 | any call to other simple link API |
dflet | 0:bbe98578d4c0 | 593 | */ |
dflet | 0:bbe98578d4c0 | 594 | #if _SL_INCLUDE_FUNC(sl_Task) |
dflet | 0:bbe98578d4c0 | 595 | void sl_Task(void); |
dflet | 0:bbe98578d4c0 | 596 | #endif |
dflet | 0:bbe98578d4c0 | 597 | |
dflet | 0:bbe98578d4c0 | 598 | |
dflet | 0:bbe98578d4c0 | 599 | /*! |
dflet | 0:bbe98578d4c0 | 600 | \brief Setting the internal uart mode |
dflet | 0:bbe98578d4c0 | 601 | |
dflet | 0:bbe98578d4c0 | 602 | \param[in] pUartParams Pointer to the uart configuration parameter set: |
dflet | 0:bbe98578d4c0 | 603 | baudrate - up to 711 Kbps |
dflet | 0:bbe98578d4c0 | 604 | flow control - enable/disable |
dflet | 0:bbe98578d4c0 | 605 | comm port - the comm port number |
dflet | 0:bbe98578d4c0 | 606 | |
dflet | 0:bbe98578d4c0 | 607 | \return On success zero is returned, otherwise - Failed. |
dflet | 0:bbe98578d4c0 | 608 | |
dflet | 0:bbe98578d4c0 | 609 | \sa sl_Stop |
dflet | 0:bbe98578d4c0 | 610 | |
dflet | 0:bbe98578d4c0 | 611 | \note belongs to \ref basic_api |
dflet | 0:bbe98578d4c0 | 612 | |
dflet | 0:bbe98578d4c0 | 613 | \warning This function must consider the host uart capability |
dflet | 0:bbe98578d4c0 | 614 | */ |
dflet | 0:bbe98578d4c0 | 615 | #ifdef SL_IF_TYPE_UART |
dflet | 0:bbe98578d4c0 | 616 | #if _SL_INCLUDE_FUNC(sl_UartSetMode) |
dflet | 0:bbe98578d4c0 | 617 | _i16 sl_UartSetMode(const SlUartIfParams_t* pUartParams); |
dflet | 0:bbe98578d4c0 | 618 | #endif |
dflet | 0:bbe98578d4c0 | 619 | #endif |
dflet | 0:bbe98578d4c0 | 620 | |
dflet | 0:bbe98578d4c0 | 621 | /*! |
dflet | 0:bbe98578d4c0 | 622 | |
dflet | 0:bbe98578d4c0 | 623 | Close the Doxygen group. |
dflet | 0:bbe98578d4c0 | 624 | @} |
dflet | 0:bbe98578d4c0 | 625 | |
dflet | 0:bbe98578d4c0 | 626 | */ |
dflet | 0:bbe98578d4c0 | 627 | |
dflet | 0:bbe98578d4c0 | 628 | |
dflet | 0:bbe98578d4c0 | 629 | #ifdef __cplusplus |
dflet | 0:bbe98578d4c0 | 630 | } |
dflet | 0:bbe98578d4c0 | 631 | #endif /* __cplusplus */ |
dflet | 0:bbe98578d4c0 | 632 | |
dflet | 0:bbe98578d4c0 | 633 | #endif /* __DEVICE_H__ */ |
dflet | 0:bbe98578d4c0 | 634 | |
dflet | 0:bbe98578d4c0 | 635 | |
dflet | 0:bbe98578d4c0 | 636 |