TI's MQTT Demo with freertos CM4F

Dependencies:   mbed

Committer:
dflet
Date:
Thu Sep 03 14:07:01 2015 +0000
Revision:
0:1e7b5dd9edb4
First commit, it's been hanging around for a while. Updated SPI mode change 1 to 0.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:1e7b5dd9edb4 1 /*
dflet 0:1e7b5dd9edb4 2 * netcfg.h - CC31xx/CC32xx Host Driver Implementation
dflet 0:1e7b5dd9edb4 3 *
dflet 0:1e7b5dd9edb4 4 * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
dflet 0:1e7b5dd9edb4 5 *
dflet 0:1e7b5dd9edb4 6 *
dflet 0:1e7b5dd9edb4 7 * Redistribution and use in source and binary forms, with or without
dflet 0:1e7b5dd9edb4 8 * modification, are permitted provided that the following conditions
dflet 0:1e7b5dd9edb4 9 * are met:
dflet 0:1e7b5dd9edb4 10 *
dflet 0:1e7b5dd9edb4 11 * Redistributions of source code must retain the above copyright
dflet 0:1e7b5dd9edb4 12 * notice, this list of conditions and the following disclaimer.
dflet 0:1e7b5dd9edb4 13 *
dflet 0:1e7b5dd9edb4 14 * Redistributions in binary form must reproduce the above copyright
dflet 0:1e7b5dd9edb4 15 * notice, this list of conditions and the following disclaimer in the
dflet 0:1e7b5dd9edb4 16 * documentation and/or other materials provided with the
dflet 0:1e7b5dd9edb4 17 * distribution.
dflet 0:1e7b5dd9edb4 18 *
dflet 0:1e7b5dd9edb4 19 * Neither the name of Texas Instruments Incorporated nor the names of
dflet 0:1e7b5dd9edb4 20 * its contributors may be used to endorse or promote products derived
dflet 0:1e7b5dd9edb4 21 * from this software without specific prior written permission.
dflet 0:1e7b5dd9edb4 22 *
dflet 0:1e7b5dd9edb4 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
dflet 0:1e7b5dd9edb4 24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
dflet 0:1e7b5dd9edb4 25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
dflet 0:1e7b5dd9edb4 26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
dflet 0:1e7b5dd9edb4 27 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
dflet 0:1e7b5dd9edb4 28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
dflet 0:1e7b5dd9edb4 29 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
dflet 0:1e7b5dd9edb4 30 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
dflet 0:1e7b5dd9edb4 31 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
dflet 0:1e7b5dd9edb4 32 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
dflet 0:1e7b5dd9edb4 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dflet 0:1e7b5dd9edb4 34 *
dflet 0:1e7b5dd9edb4 35 */
dflet 0:1e7b5dd9edb4 36
dflet 0:1e7b5dd9edb4 37 /*****************************************************************************/
dflet 0:1e7b5dd9edb4 38 /* Include files */
dflet 0:1e7b5dd9edb4 39 /*****************************************************************************/
dflet 0:1e7b5dd9edb4 40 #include "cc3100_simplelink.h"
dflet 0:1e7b5dd9edb4 41
dflet 0:1e7b5dd9edb4 42 #ifndef NETCFG_H_
dflet 0:1e7b5dd9edb4 43 #define NETCFG_H_
dflet 0:1e7b5dd9edb4 44
dflet 0:1e7b5dd9edb4 45 namespace mbed_cc3100 {
dflet 0:1e7b5dd9edb4 46
dflet 0:1e7b5dd9edb4 47 /*!
dflet 0:1e7b5dd9edb4 48
dflet 0:1e7b5dd9edb4 49 \addtogroup netcfg
dflet 0:1e7b5dd9edb4 50 @{
dflet 0:1e7b5dd9edb4 51
dflet 0:1e7b5dd9edb4 52 */
dflet 0:1e7b5dd9edb4 53
dflet 0:1e7b5dd9edb4 54
dflet 0:1e7b5dd9edb4 55 /*****************************************************************************/
dflet 0:1e7b5dd9edb4 56 /* Macro declarations */
dflet 0:1e7b5dd9edb4 57 /*****************************************************************************/
dflet 0:1e7b5dd9edb4 58 const uint8_t SL_MAC_ADDR_LEN = (6);
dflet 0:1e7b5dd9edb4 59 const uint8_t IPCONFIG_MODE_DISABLE_IPV4 = (0);
dflet 0:1e7b5dd9edb4 60 const uint8_t IPCONFIG_MODE_ENABLE_IPV4 = (1);
dflet 0:1e7b5dd9edb4 61
dflet 0:1e7b5dd9edb4 62 /*****************************************************************************/
dflet 0:1e7b5dd9edb4 63 /* Structure/Enum declarations */
dflet 0:1e7b5dd9edb4 64 /*****************************************************************************/
dflet 0:1e7b5dd9edb4 65 typedef enum {
dflet 0:1e7b5dd9edb4 66 SL_MAC_ADDRESS_SET = 1,
dflet 0:1e7b5dd9edb4 67 SL_MAC_ADDRESS_GET = 2,
dflet 0:1e7b5dd9edb4 68 SL_IPV4_STA_P2P_CL_GET_INFO = 3,
dflet 0:1e7b5dd9edb4 69 SL_IPV4_STA_P2P_CL_DHCP_ENABLE = 4,
dflet 0:1e7b5dd9edb4 70 SL_IPV4_STA_P2P_CL_STATIC_ENABLE = 5,
dflet 0:1e7b5dd9edb4 71 SL_IPV4_AP_P2P_GO_GET_INFO = 6,
dflet 0:1e7b5dd9edb4 72 SL_IPV4_AP_P2P_GO_STATIC_ENABLE = 7,
dflet 0:1e7b5dd9edb4 73 SL_SET_HOST_RX_AGGR = 8,
dflet 0:1e7b5dd9edb4 74 MAX_SETTINGS = 0xFF
dflet 0:1e7b5dd9edb4 75 } Sl_NetCfg_e;
dflet 0:1e7b5dd9edb4 76
dflet 0:1e7b5dd9edb4 77
dflet 0:1e7b5dd9edb4 78 typedef struct {
dflet 0:1e7b5dd9edb4 79 uint32_t ipV4;
dflet 0:1e7b5dd9edb4 80 uint32_t ipV4Mask;
dflet 0:1e7b5dd9edb4 81 uint32_t ipV4Gateway;
dflet 0:1e7b5dd9edb4 82 uint32_t ipV4DnsServer;
dflet 0:1e7b5dd9edb4 83 } SlNetCfgIpV4Args_t;
dflet 0:1e7b5dd9edb4 84
dflet 0:1e7b5dd9edb4 85 class cc3100_netcfg
dflet 0:1e7b5dd9edb4 86 {
dflet 0:1e7b5dd9edb4 87
dflet 0:1e7b5dd9edb4 88 public:
dflet 0:1e7b5dd9edb4 89
dflet 0:1e7b5dd9edb4 90 cc3100_netcfg(cc3100_driver &driver);
dflet 0:1e7b5dd9edb4 91
dflet 0:1e7b5dd9edb4 92 ~cc3100_netcfg();
dflet 0:1e7b5dd9edb4 93
dflet 0:1e7b5dd9edb4 94
dflet 0:1e7b5dd9edb4 95 /*****************************************************************************/
dflet 0:1e7b5dd9edb4 96 /* Function prototypes */
dflet 0:1e7b5dd9edb4 97 /*****************************************************************************/
dflet 0:1e7b5dd9edb4 98
dflet 0:1e7b5dd9edb4 99 /*!
dflet 0:1e7b5dd9edb4 100 \brief Internal function for setting network configurations
dflet 0:1e7b5dd9edb4 101
dflet 0:1e7b5dd9edb4 102 \return On success, zero is returned. On error, -1 is
dflet 0:1e7b5dd9edb4 103 returned
dflet 0:1e7b5dd9edb4 104
dflet 0:1e7b5dd9edb4 105 \param[in] ConfigId configuration id
dflet 0:1e7b5dd9edb4 106 \param[in] ConfigOpt configurations option
dflet 0:1e7b5dd9edb4 107 \param[in] ConfigLen configurations len
dflet 0:1e7b5dd9edb4 108 \param[in] pValues configurations values
dflet 0:1e7b5dd9edb4 109
dflet 0:1e7b5dd9edb4 110 \sa
dflet 0:1e7b5dd9edb4 111 \note
dflet 0:1e7b5dd9edb4 112 \warning
dflet 0:1e7b5dd9edb4 113
dflet 0:1e7b5dd9edb4 114 \par Examples:
dflet 0:1e7b5dd9edb4 115 \code
dflet 0:1e7b5dd9edb4 116 SL_MAC_ADDRESS_SET:
dflet 0:1e7b5dd9edb4 117
dflet 0:1e7b5dd9edb4 118 Setting MAC address to the Device.
dflet 0:1e7b5dd9edb4 119 The new MAC address will override the default MAC address and it be saved in the FileSystem.
dflet 0:1e7b5dd9edb4 120 Requires restarting the device for updating this setting.
dflet 0:1e7b5dd9edb4 121
dflet 0:1e7b5dd9edb4 122 uint8_t MAC_Address[6];
dflet 0:1e7b5dd9edb4 123 MAC_Address[0] = 0x8;
dflet 0:1e7b5dd9edb4 124 MAC_Address[1] = 0x0;
dflet 0:1e7b5dd9edb4 125 MAC_Address[2] = 0x28;
dflet 0:1e7b5dd9edb4 126 MAC_Address[3] = 0x22;
dflet 0:1e7b5dd9edb4 127 MAC_Address[4] = 0x69;
dflet 0:1e7b5dd9edb4 128 MAC_Address[5] = 0x31;
dflet 0:1e7b5dd9edb4 129 sl_NetCfgSet(SL_MAC_ADDRESS_SET,1,SL_MAC_ADDR_LEN,(uint8_t *)newMacAddress);
dflet 0:1e7b5dd9edb4 130 sl_Stop(0);
dflet 0:1e7b5dd9edb4 131 sl_Start(NULL,NULL,NULL);
dflet 0:1e7b5dd9edb4 132 \endcode
dflet 0:1e7b5dd9edb4 133
dflet 0:1e7b5dd9edb4 134 \code
dflet 0:1e7b5dd9edb4 135 SL_IPV4_STA_P2P_CL_STATIC_ENABLE:
dflet 0:1e7b5dd9edb4 136
dflet 0:1e7b5dd9edb4 137 Setting a static IP address to the device working in STA mode or P2P client.
dflet 0:1e7b5dd9edb4 138 The IP address will be stored in the FileSystem.
dflet 0:1e7b5dd9edb4 139 In order to disable the static IP and get the address assigned from DHCP one should use SL_STA_P2P_CL_IPV4_DHCP_SET
dflet 0:1e7b5dd9edb4 140
dflet 0:1e7b5dd9edb4 141 SlNetCfgIpV4Args_t ipV4;
dflet 0:1e7b5dd9edb4 142 ipV4.ipV4 = (uint32_t)SL_IPV4_VAL(10,1,1,201); // uint32_t IP address
dflet 0:1e7b5dd9edb4 143 ipV4.ipV4Mask = (uint32_t)SL_IPV4_VAL(255,255,255,0); // uint32_t Subnet mask for this STA/P2P
dflet 0:1e7b5dd9edb4 144 ipV4.ipV4Gateway = (uint32_t)SL_IPV4_VAL(10,1,1,1); // uint32_t Default gateway address
dflet 0:1e7b5dd9edb4 145 ipV4.ipV4DnsServer = (uint32_t)SL_IPV4_VAL(8,16,32,64); // uint32_t DNS server address
dflet 0:1e7b5dd9edb4 146
dflet 0:1e7b5dd9edb4 147 sl_NetCfgSet(SL_IPV4_STA_P2P_CL_STATIC_ENABLE,IPCONFIG_MODE_ENABLE_IPV4,sizeof(SlNetCfgIpV4Args_t),(uint8_t *)&ipV4);
dflet 0:1e7b5dd9edb4 148 sl_Stop(0);
dflet 0:1e7b5dd9edb4 149 sl_Start(NULL,NULL,NULL);
dflet 0:1e7b5dd9edb4 150 \endcode
dflet 0:1e7b5dd9edb4 151
dflet 0:1e7b5dd9edb4 152 \code
dflet 0:1e7b5dd9edb4 153 SL_IPV4_STA_P2P_CL_DHCP_ENABLE:
dflet 0:1e7b5dd9edb4 154
dflet 0:1e7b5dd9edb4 155 Setting IP address by DHCP to FileSystem using WLAN sta mode or P2P client.
dflet 0:1e7b5dd9edb4 156 This should be done once if using Serial Flash.
dflet 0:1e7b5dd9edb4 157 This is the system's default mode for acquiring an IP address after WLAN connection.
dflet 0:1e7b5dd9edb4 158 uint8_t val = 1;
dflet 0:1e7b5dd9edb4 159 sl_NetCfgSet(SL_IPV4_STA_P2P_CL_DHCP_ENABLE,IPCONFIG_MODE_ENABLE_IPV4,1,&val);
dflet 0:1e7b5dd9edb4 160 sl_Stop(0);
dflet 0:1e7b5dd9edb4 161 sl_Start(NULL,NULL,NULL);
dflet 0:1e7b5dd9edb4 162 \endcode
dflet 0:1e7b5dd9edb4 163
dflet 0:1e7b5dd9edb4 164 \code
dflet 0:1e7b5dd9edb4 165 SL_IPV4_AP_P2P_GO_STATIC_ENABLE:
dflet 0:1e7b5dd9edb4 166
dflet 0:1e7b5dd9edb4 167 Setting a static IP address to the device working in AP mode or P2P go.
dflet 0:1e7b5dd9edb4 168 The IP address will be stored in the FileSystem. Requires restart.
dflet 0:1e7b5dd9edb4 169
dflet 0:1e7b5dd9edb4 170 SlNetCfgIpV4Args_t ipV4;
dflet 0:1e7b5dd9edb4 171 ipV4.ipV4 = (uint32_t)SL_IPV4_VAL(10,1,1,201); // uint32_t IP address
dflet 0:1e7b5dd9edb4 172 ipV4.ipV4Mask = (uint32_t)SL_IPV4_VAL(255,255,255,0); // uint32_t Subnet mask for this AP/P2P
dflet 0:1e7b5dd9edb4 173 ipV4.ipV4Gateway = (uint32_t)SL_IPV4_VAL(10,1,1,1); // uint32_t Default gateway address
dflet 0:1e7b5dd9edb4 174 ipV4.ipV4DnsServer = (uint32_t)SL_IPV4_VAL(8,16,32,64); // uint32_t DNS server address
dflet 0:1e7b5dd9edb4 175
dflet 0:1e7b5dd9edb4 176 sl_NetCfgSet(SL_IPV4_AP_P2P_GO_STATIC_ENABLE,IPCONFIG_MODE_ENABLE_IPV4,sizeof(SlNetCfgIpV4Args_t),(uint8_t *)&ipV4);
dflet 0:1e7b5dd9edb4 177 sl_Stop(0);
dflet 0:1e7b5dd9edb4 178 sl_Start(NULL,NULL,NULL);
dflet 0:1e7b5dd9edb4 179 \endcode
dflet 0:1e7b5dd9edb4 180
dflet 0:1e7b5dd9edb4 181
dflet 0:1e7b5dd9edb4 182 */
dflet 0:1e7b5dd9edb4 183 #if _SL_INCLUDE_FUNC(sl_NetCfgSet)
dflet 0:1e7b5dd9edb4 184 int32_t sl_NetCfgSet(const uint8_t ConfigId, const uint8_t ConfigOpt, const uint8_t ConfigLen, const uint8_t *pValues);
dflet 0:1e7b5dd9edb4 185 #endif
dflet 0:1e7b5dd9edb4 186
dflet 0:1e7b5dd9edb4 187
dflet 0:1e7b5dd9edb4 188 /*!
dflet 0:1e7b5dd9edb4 189 \brief Internal function for getting network configurations
dflet 0:1e7b5dd9edb4 190
dflet 0:1e7b5dd9edb4 191 \return On success, zero is returned. On error, -1 is
dflet 0:1e7b5dd9edb4 192 returned
dflet 0:1e7b5dd9edb4 193
dflet 0:1e7b5dd9edb4 194 \param[in] ConfigId configuration id
dflet 0:1e7b5dd9edb4 195
dflet 0:1e7b5dd9edb4 196 \param[out] pConfigOpt Get configurations option
dflet 0:1e7b5dd9edb4 197
dflet 0:1e7b5dd9edb4 198 \param[out] pConfigLen The length of the allocated memory as input, when the
dflet 0:1e7b5dd9edb4 199 function complete, the value of this parameter would be
dflet 0:1e7b5dd9edb4 200 the len that actually read from the device.\n
dflet 0:1e7b5dd9edb4 201 If the device return length that is longer from the input
dflet 0:1e7b5dd9edb4 202 value, the function will cut the end of the returned structure
dflet 0:1e7b5dd9edb4 203 and will return ESMALLBUF
dflet 0:1e7b5dd9edb4 204
dflet 0:1e7b5dd9edb4 205 \param[out] pValues - get configurations values
dflet 0:1e7b5dd9edb4 206
dflet 0:1e7b5dd9edb4 207 \sa
dflet 0:1e7b5dd9edb4 208 \note
dflet 0:1e7b5dd9edb4 209 \warning
dflet 0:1e7b5dd9edb4 210 \par Examples:
dflet 0:1e7b5dd9edb4 211 \code
dflet 0:1e7b5dd9edb4 212 SL_MAC_ADDRESS_GET:
dflet 0:1e7b5dd9edb4 213
dflet 0:1e7b5dd9edb4 214 Get the device MAC address.
dflet 0:1e7b5dd9edb4 215 The returned MAC address is taken from FileSystem first. If the MAC address was not set by SL_MAC_ADDRESS_SET, the default MAC address
dflet 0:1e7b5dd9edb4 216 is retrieved from HW.
dflet 0:1e7b5dd9edb4 217
dflet 0:1e7b5dd9edb4 218 uint8_t macAddressVal[SL_MAC_ADDR_LEN];
dflet 0:1e7b5dd9edb4 219 uint8_t macAddressLen = SL_MAC_ADDR_LEN;
dflet 0:1e7b5dd9edb4 220 sl_NetCfgGet(SL_MAC_ADDRESS_GET,NULL,&macAddressLen,(uint8_t *)macAddressVal);
dflet 0:1e7b5dd9edb4 221
dflet 0:1e7b5dd9edb4 222 \endcode
dflet 0:1e7b5dd9edb4 223
dflet 0:1e7b5dd9edb4 224 \code
dflet 0:1e7b5dd9edb4 225 SL_IPV4_STA_P2P_CL_GET_INFO:
dflet 0:1e7b5dd9edb4 226
dflet 0:1e7b5dd9edb4 227 Get IP address from WLAN station or P2P client. A DHCP flag is returned to indicate if the IP address is static or from DHCP.
dflet 0:1e7b5dd9edb4 228
dflet 0:1e7b5dd9edb4 229 uint8_t len = sizeof(SlNetCfgIpV4Args_t);
dflet 0:1e7b5dd9edb4 230 uint8_t dhcpIsOn = 0;
dflet 0:1e7b5dd9edb4 231 SlNetCfgIpV4Args_t ipV4 = {0};
dflet 0:1e7b5dd9edb4 232 sl_NetCfgGet(SL_IPV4_STA_P2P_CL_GET_INFO,&dhcpIsOn,&len,(uint8_t *)&ipV4);
dflet 0:1e7b5dd9edb4 233
dflet 0:1e7b5dd9edb4 234 printf("DHCP is %s IP %d.%d.%d.%d MASK %d.%d.%d.%d GW %d.%d.%d.%d DNS %d.%d.%d.%d\n",
dflet 0:1e7b5dd9edb4 235 (dhcpIsOn > 0) ? "ON" : "OFF",
dflet 0:1e7b5dd9edb4 236 SL_IPV4_BYTE(ipV4.ipV4,3),SL_IPV4_BYTE(ipV4.ipV4,2),SL_IPV4_BYTE(ipV4.ipV4,1),SL_IPV4_BYTE(ipV4.ipV4,0),
dflet 0:1e7b5dd9edb4 237 SL_IPV4_BYTE(ipV4.ipV4Mask,3),SL_IPV4_BYTE(ipV4.ipV4Mask,2),SL_IPV4_BYTE(ipV4.ipV4Mask,1),SL_IPV4_BYTE(ipV4.ipV4Mask,0),
dflet 0:1e7b5dd9edb4 238 SL_IPV4_BYTE(ipV4.ipV4Gateway,3),SL_IPV4_BYTE(ipV4.ipV4Gateway,2),SL_IPV4_BYTE(ipV4.ipV4Gateway,1),SL_IPV4_BYTE(ipV4.ipV4Gateway,0),
dflet 0:1e7b5dd9edb4 239 SL_IPV4_BYTE(ipV4.ipV4DnsServer,3),SL_IPV4_BYTE(ipV4.ipV4DnsServer,2),SL_IPV4_BYTE(ipV4.ipV4DnsServer,1),SL_IPV4_BYTE(ipV4.ipV4DnsServer,0));
dflet 0:1e7b5dd9edb4 240
dflet 0:1e7b5dd9edb4 241 \endcode
dflet 0:1e7b5dd9edb4 242
dflet 0:1e7b5dd9edb4 243 \code
dflet 0:1e7b5dd9edb4 244 SL_IPV4_AP_P2P_GO_GET_INFO:
dflet 0:1e7b5dd9edb4 245
dflet 0:1e7b5dd9edb4 246 Get static IP address for AP or P2P go.
dflet 0:1e7b5dd9edb4 247
dflet 0:1e7b5dd9edb4 248 uint8_t len = sizeof(SlNetCfgIpV4Args_t);
dflet 0:1e7b5dd9edb4 249 uint8_t dhcpIsOn = 0; // this flag is meaningless on AP/P2P go.
dflet 0:1e7b5dd9edb4 250 SlNetCfgIpV4Args_t ipV4 = {0};
dflet 0:1e7b5dd9edb4 251 sl_NetCfgGet(SL_IPV4_AP_P2P_GO_GET_INFO,&dhcpIsOn,&len,(uint8_t *)&ipV4);
dflet 0:1e7b5dd9edb4 252
dflet 0:1e7b5dd9edb4 253 printf("IP %d.%d.%d.%d MASK %d.%d.%d.%d GW %d.%d.%d.%d DNS %d.%d.%d.%d\n",
dflet 0:1e7b5dd9edb4 254 SL_IPV4_BYTE(ipV4.ipV4,3),SL_IPV4_BYTE(ipV4.ipV4,2),SL_IPV4_BYTE(ipV4.ipV4,1),SL_IPV4_BYTE(ipV4.ipV4,0),
dflet 0:1e7b5dd9edb4 255 SL_IPV4_BYTE(ipV4.ipV4Mask,3),SL_IPV4_BYTE(ipV4.ipV4Mask,2),SL_IPV4_BYTE(ipV4.ipV4Mask,1),SL_IPV4_BYTE(ipV4.ipV4Mask,0),
dflet 0:1e7b5dd9edb4 256 SL_IPV4_BYTE(ipV4.ipV4Gateway,3),SL_IPV4_BYTE(ipV4.ipV4Gateway,2),SL_IPV4_BYTE(ipV4.ipV4Gateway,1),SL_IPV4_BYTE(ipV4.ipV4Gateway,0),
dflet 0:1e7b5dd9edb4 257 SL_IPV4_BYTE(ipV4.ipV4DnsServer,3),SL_IPV4_BYTE(ipV4.ipV4DnsServer,2),SL_IPV4_BYTE(ipV4.ipV4DnsServer,1),SL_IPV4_BYTE(ipV4.ipV4DnsServer,0));
dflet 0:1e7b5dd9edb4 258
dflet 0:1e7b5dd9edb4 259 \endcode
dflet 0:1e7b5dd9edb4 260
dflet 0:1e7b5dd9edb4 261
dflet 0:1e7b5dd9edb4 262 */
dflet 0:1e7b5dd9edb4 263 #if _SL_INCLUDE_FUNC(sl_NetCfgGet)
dflet 0:1e7b5dd9edb4 264 int32_t sl_NetCfgGet(const uint8_t ConfigId ,uint8_t *pConfigOpt, uint8_t *pConfigLen, uint8_t *pValues);
dflet 0:1e7b5dd9edb4 265 #endif
dflet 0:1e7b5dd9edb4 266
dflet 0:1e7b5dd9edb4 267 uint32_t SL_IPV4_VAL(uint8_t add_3,uint8_t add_2,uint8_t add_1,uint8_t add_0);
dflet 0:1e7b5dd9edb4 268 uint8_t SL_IPV4_BYTE(uint32_t val,uint8_t index);
dflet 0:1e7b5dd9edb4 269
dflet 0:1e7b5dd9edb4 270 private:
dflet 0:1e7b5dd9edb4 271
dflet 0:1e7b5dd9edb4 272 cc3100_driver &_driver;
dflet 0:1e7b5dd9edb4 273
dflet 0:1e7b5dd9edb4 274 };//class
dflet 0:1e7b5dd9edb4 275
dflet 0:1e7b5dd9edb4 276 }//namespace mbed_cc3100
dflet 0:1e7b5dd9edb4 277
dflet 0:1e7b5dd9edb4 278 /*!
dflet 0:1e7b5dd9edb4 279
dflet 0:1e7b5dd9edb4 280 Close the Doxygen group.
dflet 0:1e7b5dd9edb4 281 @}
dflet 0:1e7b5dd9edb4 282
dflet 0:1e7b5dd9edb4 283 */
dflet 0:1e7b5dd9edb4 284
dflet 0:1e7b5dd9edb4 285
dflet 0:1e7b5dd9edb4 286 #endif /* __NETCFG_H__ */
dflet 0:1e7b5dd9edb4 287
dflet 0:1e7b5dd9edb4 288