TI's CC3100 host driver and demo. Experimental and a work in progress.

Dependencies:   mbed

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?

UserRevisionLine numberNew 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