test

Fork of WizFi250Interface by WIZnet

Committer:
cliff1
Date:
Fri Aug 18 04:50:17 2017 +0000
Revision:
1:116433d24e91
Parent:
0:e3dc9e54a15b
Test 5.5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kaizen 0:e3dc9e54a15b 1 /*
kaizen 0:e3dc9e54a15b 2 * Copyright (C) 2013 gsfan, MIT License
kaizen 0:e3dc9e54a15b 3 *
kaizen 0:e3dc9e54a15b 4 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
kaizen 0:e3dc9e54a15b 5 * and associated documentation files (the "Software"), to deal in the Software without restriction,
kaizen 0:e3dc9e54a15b 6 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
kaizen 0:e3dc9e54a15b 7 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
kaizen 0:e3dc9e54a15b 8 * furnished to do so, subject to the following conditions:
kaizen 0:e3dc9e54a15b 9 *
kaizen 0:e3dc9e54a15b 10 * The above copyright notice and this permission notice shall be included in all copies or
kaizen 0:e3dc9e54a15b 11 * substantial portions of the Software.
kaizen 0:e3dc9e54a15b 12 *
kaizen 0:e3dc9e54a15b 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
kaizen 0:e3dc9e54a15b 14 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
kaizen 0:e3dc9e54a15b 15 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
kaizen 0:e3dc9e54a15b 16 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
kaizen 0:e3dc9e54a15b 17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
kaizen 0:e3dc9e54a15b 18 */
kaizen 0:e3dc9e54a15b 19 /* Copyright (C) 2014 Wiznet, MIT License
kaizen 0:e3dc9e54a15b 20 * port to the Wiznet Module WizFi250
kaizen 0:e3dc9e54a15b 21 */
kaizen 0:e3dc9e54a15b 22
kaizen 0:e3dc9e54a15b 23
kaizen 0:e3dc9e54a15b 24 #include "WizFi250.h"
kaizen 0:e3dc9e54a15b 25
kaizen 0:e3dc9e54a15b 26
kaizen 0:e3dc9e54a15b 27
kaizen 0:e3dc9e54a15b 28 void WizFi250::clearFlags()
kaizen 0:e3dc9e54a15b 29 {
kaizen 0:e3dc9e54a15b 30 _state.ok = false;
kaizen 0:e3dc9e54a15b 31 _state.failure = false;
kaizen 0:e3dc9e54a15b 32 _state.res = RES_NULL;
kaizen 0:e3dc9e54a15b 33 _state.n = 0;
kaizen 0:e3dc9e54a15b 34 }
kaizen 0:e3dc9e54a15b 35
kaizen 0:e3dc9e54a15b 36
kaizen 0:e3dc9e54a15b 37 int WizFi250::sendCommand(const char * cmd, Response res, int timeout, int opt)
kaizen 0:e3dc9e54a15b 38 {
kaizen 0:e3dc9e54a15b 39 unsigned int i;
kaizen 0:e3dc9e54a15b 40 Timer t;
kaizen 0:e3dc9e54a15b 41
kaizen 0:e3dc9e54a15b 42 if (lockUart(timeout)) return -1;
kaizen 0:e3dc9e54a15b 43
kaizen 0:e3dc9e54a15b 44 clearFlags();
kaizen 0:e3dc9e54a15b 45 _state.res = res;
kaizen 0:e3dc9e54a15b 46
kaizen 0:e3dc9e54a15b 47 WIZ_INFO("%s", cmd)
kaizen 0:e3dc9e54a15b 48 for (i=0; i< strlen(cmd); i++)
kaizen 0:e3dc9e54a15b 49 {
kaizen 0:e3dc9e54a15b 50 putUart(cmd[i]);
kaizen 0:e3dc9e54a15b 51 }
kaizen 0:e3dc9e54a15b 52
kaizen 0:e3dc9e54a15b 53 if(opt == 1)
kaizen 0:e3dc9e54a15b 54 {
kaizen 0:e3dc9e54a15b 55 putUart('\r');
kaizen 0:e3dc9e54a15b 56 }
kaizen 0:e3dc9e54a15b 57 else if(opt == 2)
kaizen 0:e3dc9e54a15b 58 {
kaizen 0:e3dc9e54a15b 59 putUart('\r');
kaizen 0:e3dc9e54a15b 60 putUart('\n');
kaizen 0:e3dc9e54a15b 61 }
kaizen 0:e3dc9e54a15b 62 unlockUart();
kaizen 0:e3dc9e54a15b 63
kaizen 0:e3dc9e54a15b 64 if(timeout)
kaizen 0:e3dc9e54a15b 65 {
kaizen 0:e3dc9e54a15b 66 t.start();
kaizen 0:e3dc9e54a15b 67 for(;;)
kaizen 0:e3dc9e54a15b 68 {
kaizen 0:e3dc9e54a15b 69 if (_state.ok && _state.res == RES_NULL){
kaizen 0:e3dc9e54a15b 70 break;
kaizen 0:e3dc9e54a15b 71 }
kaizen 0:e3dc9e54a15b 72 if (_state.failure || t.read_ms() > timeout)
kaizen 0:e3dc9e54a15b 73 {
kaizen 0:e3dc9e54a15b 74 WIZ_WARN("failure of timeout[%d]ms\r\n",t.read_ms());
kaizen 0:e3dc9e54a15b 75 _state.res = RES_NULL;
kaizen 0:e3dc9e54a15b 76 t.stop();
kaizen 0:e3dc9e54a15b 77 return -1;
kaizen 0:e3dc9e54a15b 78 }
kaizen 0:e3dc9e54a15b 79 }
kaizen 0:e3dc9e54a15b 80
kaizen 0:e3dc9e54a15b 81 t.stop();
kaizen 0:e3dc9e54a15b 82 }
kaizen 0:e3dc9e54a15b 83
kaizen 0:e3dc9e54a15b 84 WIZ_INFO("[OK]\r\n");
kaizen 0:e3dc9e54a15b 85 _state.res = RES_NULL;
kaizen 0:e3dc9e54a15b 86
kaizen 0:e3dc9e54a15b 87 return 0;
kaizen 0:e3dc9e54a15b 88 }
kaizen 0:e3dc9e54a15b 89
kaizen 0:e3dc9e54a15b 90 int WizFi250::cmdAT()
kaizen 0:e3dc9e54a15b 91 {
kaizen 0:e3dc9e54a15b 92 int resp;
kaizen 0:e3dc9e54a15b 93
kaizen 0:e3dc9e54a15b 94 resp = sendCommand("AT");
kaizen 0:e3dc9e54a15b 95
kaizen 0:e3dc9e54a15b 96 return resp;
kaizen 0:e3dc9e54a15b 97 }
kaizen 0:e3dc9e54a15b 98
kaizen 0:e3dc9e54a15b 99 int WizFi250::cmdMECHO(bool flg)
kaizen 0:e3dc9e54a15b 100 {
kaizen 0:e3dc9e54a15b 101 int status;
kaizen 0:e3dc9e54a15b 102 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 103
kaizen 0:e3dc9e54a15b 104 sprintf(cmd,"AT+MECHO=%d",flg);
kaizen 0:e3dc9e54a15b 105 status = sendCommand(cmd);
kaizen 0:e3dc9e54a15b 106
kaizen 0:e3dc9e54a15b 107 return status;
kaizen 0:e3dc9e54a15b 108 }
kaizen 0:e3dc9e54a15b 109
kaizen 0:e3dc9e54a15b 110 int WizFi250::cmdUSET(int baud, char *flow)
kaizen 0:e3dc9e54a15b 111 {
kaizen 0:e3dc9e54a15b 112 int status;
kaizen 0:e3dc9e54a15b 113 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 114
kaizen 0:e3dc9e54a15b 115 sprintf(cmd,"AT+USET=%d,N,8,1,%s",baud, flow);
kaizen 0:e3dc9e54a15b 116 status = sendCommand(cmd);
kaizen 0:e3dc9e54a15b 117
kaizen 0:e3dc9e54a15b 118 if(status == 0)
kaizen 0:e3dc9e54a15b 119 {
kaizen 0:e3dc9e54a15b 120 wait(1);
kaizen 0:e3dc9e54a15b 121 _state.buf->flush();
kaizen 0:e3dc9e54a15b 122 }
kaizen 0:e3dc9e54a15b 123
kaizen 0:e3dc9e54a15b 124 return status;
kaizen 0:e3dc9e54a15b 125 }
kaizen 0:e3dc9e54a15b 126
kaizen 0:e3dc9e54a15b 127 int WizFi250::cmdMMAC(const char *mac)
kaizen 0:e3dc9e54a15b 128 {
kaizen 0:e3dc9e54a15b 129 int resp;
kaizen 0:e3dc9e54a15b 130 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 131
kaizen 0:e3dc9e54a15b 132 if (mac)
kaizen 0:e3dc9e54a15b 133 {
kaizen 0:e3dc9e54a15b 134 sprintf(cmd, "AT+MMAC=%s",mac);
kaizen 0:e3dc9e54a15b 135 resp = sendCommand(cmd);
kaizen 0:e3dc9e54a15b 136 }
kaizen 0:e3dc9e54a15b 137 else
kaizen 0:e3dc9e54a15b 138 {
kaizen 0:e3dc9e54a15b 139 sprintf(cmd, "AT+MMAC=?");
kaizen 0:e3dc9e54a15b 140 resp = sendCommand(cmd, RES_MACADDRESS);
kaizen 0:e3dc9e54a15b 141 }
kaizen 0:e3dc9e54a15b 142
kaizen 0:e3dc9e54a15b 143 return resp;
kaizen 0:e3dc9e54a15b 144 }
kaizen 0:e3dc9e54a15b 145
kaizen 0:e3dc9e54a15b 146 int WizFi250::cmdWSET(WiFiMode mode, const char *ssid, const char *bssid, int channel)
kaizen 0:e3dc9e54a15b 147 {
kaizen 0:e3dc9e54a15b 148 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 149
kaizen 0:e3dc9e54a15b 150 if(*bssid == NULL)
kaizen 0:e3dc9e54a15b 151 {
kaizen 0:e3dc9e54a15b 152 sprintf(cmd, "AT+WSET=%d,%s",mode, ssid);
kaizen 0:e3dc9e54a15b 153 }
kaizen 0:e3dc9e54a15b 154 else
kaizen 0:e3dc9e54a15b 155 {
kaizen 0:e3dc9e54a15b 156 sprintf(cmd, "AT+WSET=%d,%s,%s,%d",mode, ssid, bssid, channel);
kaizen 0:e3dc9e54a15b 157 }
kaizen 0:e3dc9e54a15b 158
kaizen 0:e3dc9e54a15b 159 return sendCommand(cmd);
kaizen 0:e3dc9e54a15b 160 }
kaizen 0:e3dc9e54a15b 161
kaizen 0:e3dc9e54a15b 162 int WizFi250::cmdWANT(AntennaMode mode)
kaizen 0:e3dc9e54a15b 163 {
kaizen 0:e3dc9e54a15b 164 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 165 sprintf(cmd, "AT+WANT=%d",mode);
kaizen 0:e3dc9e54a15b 166
kaizen 0:e3dc9e54a15b 167 return sendCommand(cmd);
kaizen 0:e3dc9e54a15b 168 }
kaizen 0:e3dc9e54a15b 169
kaizen 0:e3dc9e54a15b 170 int WizFi250::cmdWNET(bool is_dhcp)
kaizen 0:e3dc9e54a15b 171 {
kaizen 0:e3dc9e54a15b 172 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 173
kaizen 0:e3dc9e54a15b 174 if(is_dhcp == true)
kaizen 0:e3dc9e54a15b 175 {
kaizen 0:e3dc9e54a15b 176 sprintf(cmd, "AT+WNET=1");
kaizen 0:e3dc9e54a15b 177 }
kaizen 0:e3dc9e54a15b 178 else
kaizen 0:e3dc9e54a15b 179 {
kaizen 0:e3dc9e54a15b 180 sprintf(cmd, "AT+WNET=0,%s,%s,%s",_state.ip,_state.netmask,_state.gateway);
kaizen 0:e3dc9e54a15b 181 }
kaizen 0:e3dc9e54a15b 182
kaizen 0:e3dc9e54a15b 183 return sendCommand(cmd);
kaizen 0:e3dc9e54a15b 184 }
kaizen 0:e3dc9e54a15b 185
kaizen 0:e3dc9e54a15b 186 int WizFi250::cmdWSEC(WiFiMode mode, const char *key, const char *sec)
kaizen 0:e3dc9e54a15b 187 {
kaizen 0:e3dc9e54a15b 188 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 189
kaizen 0:e3dc9e54a15b 190 if(*sec == NULL)
kaizen 0:e3dc9e54a15b 191 {
kaizen 0:e3dc9e54a15b 192 sprintf(cmd, "AT+WSEC=%d,,%s",mode, key);
kaizen 0:e3dc9e54a15b 193 }
kaizen 0:e3dc9e54a15b 194 else
kaizen 0:e3dc9e54a15b 195 {
kaizen 0:e3dc9e54a15b 196 sprintf(cmd, "AT+WSEC=%d,%s,%s",mode, sec, key);
kaizen 0:e3dc9e54a15b 197 }
kaizen 0:e3dc9e54a15b 198
kaizen 0:e3dc9e54a15b 199 return sendCommand(cmd);
kaizen 0:e3dc9e54a15b 200 }
kaizen 0:e3dc9e54a15b 201
kaizen 0:e3dc9e54a15b 202 int WizFi250::cmdWJOIN()
kaizen 0:e3dc9e54a15b 203 {
kaizen 0:e3dc9e54a15b 204 //if( sendCommand("AT+WJOIN", RES_WJOIN, CFG_JOIN_TIMEOUT) )
kaizen 0:e3dc9e54a15b 205 if( sendCommand("AT+WJOIN", RES_NULL, CFG_JOIN_TIMEOUT) )
kaizen 0:e3dc9e54a15b 206 {
kaizen 0:e3dc9e54a15b 207 WIZ_ERR("cmdWJOIN");
kaizen 0:e3dc9e54a15b 208 return -1;
kaizen 0:e3dc9e54a15b 209 }
kaizen 0:e3dc9e54a15b 210
kaizen 0:e3dc9e54a15b 211 if( cmdWSTATUS() )
kaizen 0:e3dc9e54a15b 212 return -1;
kaizen 0:e3dc9e54a15b 213
kaizen 0:e3dc9e54a15b 214 WIZ_INFO("WizFi250 is successfully join to AP");
kaizen 0:e3dc9e54a15b 215
kaizen 0:e3dc9e54a15b 216 return 0;
kaizen 0:e3dc9e54a15b 217 }
kaizen 0:e3dc9e54a15b 218
kaizen 0:e3dc9e54a15b 219 int WizFi250::cmdWLEAVE()
kaizen 0:e3dc9e54a15b 220 {
kaizen 0:e3dc9e54a15b 221 return sendCommand("AT+WLEAVE");
kaizen 0:e3dc9e54a15b 222 }
kaizen 0:e3dc9e54a15b 223
kaizen 0:e3dc9e54a15b 224
kaizen 0:e3dc9e54a15b 225 int WizFi250::cmdWSTATUS()
kaizen 0:e3dc9e54a15b 226 {
kaizen 0:e3dc9e54a15b 227 if( sendCommand("AT+WSTATUS", RES_WSTATUS, DEFAULT_WAIT_RESP_TIMEOUT) )
kaizen 0:e3dc9e54a15b 228 {
kaizen 0:e3dc9e54a15b 229 WIZ_ERR("cmdWSTATUS");
kaizen 0:e3dc9e54a15b 230 return -1;
kaizen 0:e3dc9e54a15b 231 }
kaizen 0:e3dc9e54a15b 232
kaizen 0:e3dc9e54a15b 233 WIZ_INFO("IP : %s", _state.ip);
kaizen 0:e3dc9e54a15b 234 WIZ_INFO("Gateway : %s", _state.gateway);
kaizen 0:e3dc9e54a15b 235
kaizen 0:e3dc9e54a15b 236 return 0;
kaizen 0:e3dc9e54a15b 237 }
kaizen 0:e3dc9e54a15b 238
kaizen 0:e3dc9e54a15b 239 int WizFi250::cmdSCON ( const char *openType, const char *socketType, int localPort, const char *dataMode)
kaizen 0:e3dc9e54a15b 240 {
kaizen 0:e3dc9e54a15b 241 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 242
kaizen 0:e3dc9e54a15b 243 sprintf(cmd,"AT+SCON=%s,%s,,,%d,%s",openType, socketType, localPort, dataMode);
kaizen 0:e3dc9e54a15b 244 return sendCommand(cmd);
kaizen 0:e3dc9e54a15b 245 }
kaizen 0:e3dc9e54a15b 246
kaizen 0:e3dc9e54a15b 247 int WizFi250::cmdSCON ( const char *openType, const char *socketType, const char *remoteIp, int remotePort, int localPort, const char *dataMode)
kaizen 0:e3dc9e54a15b 248 {
kaizen 0:e3dc9e54a15b 249 int resp;
kaizen 0:e3dc9e54a15b 250 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 251
kaizen 0:e3dc9e54a15b 252 if(localPort == 0)
kaizen 0:e3dc9e54a15b 253 sprintf(cmd,"AT+SCON=%s,%s,%s,%d,%s,%s",openType, socketType, remoteIp, remotePort, "", dataMode);
kaizen 0:e3dc9e54a15b 254 else
kaizen 0:e3dc9e54a15b 255 sprintf(cmd,"AT+SCON=%s,%s,%s,%d,%d,%s",openType, socketType, remoteIp, remotePort, localPort, dataMode);
kaizen 0:e3dc9e54a15b 256
kaizen 0:e3dc9e54a15b 257 resp = sendCommand(cmd, RES_CONNECT, 30000 );
kaizen 0:e3dc9e54a15b 258
kaizen 0:e3dc9e54a15b 259 return resp;
kaizen 0:e3dc9e54a15b 260 }
kaizen 0:e3dc9e54a15b 261
kaizen 0:e3dc9e54a15b 262 int WizFi250::cmdSSEND ( const char *data, int cid, int sendSize, const char *remoteIp, int remotePort, int Timeout )
kaizen 0:e3dc9e54a15b 263 {
kaizen 0:e3dc9e54a15b 264 int i, resp;
kaizen 0:e3dc9e54a15b 265 Timer t;
kaizen 0:e3dc9e54a15b 266 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 267
kaizen 0:e3dc9e54a15b 268 if (lockUart(Timeout)) return -1;
kaizen 0:e3dc9e54a15b 269
kaizen 0:e3dc9e54a15b 270 clearFlags();
kaizen 0:e3dc9e54a15b 271 if(remoteIp == NULL)
kaizen 0:e3dc9e54a15b 272 {
kaizen 0:e3dc9e54a15b 273 sprintf(cmd,"AT+SSEND=%d,,,%d",cid, sendSize);
kaizen 0:e3dc9e54a15b 274 }
kaizen 0:e3dc9e54a15b 275 else
kaizen 0:e3dc9e54a15b 276 {
kaizen 0:e3dc9e54a15b 277 sprintf(cmd,"AT+SSEND=%d,%s,%d,%d",cid, remoteIp, remotePort, sendSize);
kaizen 0:e3dc9e54a15b 278 }
kaizen 0:e3dc9e54a15b 279
kaizen 0:e3dc9e54a15b 280 _con[cid].send_length = sendSize;
kaizen 0:e3dc9e54a15b 281
kaizen 0:e3dc9e54a15b 282 resp = sendCommand(cmd, RES_SSEND, 2000, 1);
kaizen 0:e3dc9e54a15b 283
kaizen 0:e3dc9e54a15b 284 unlockUart();
kaizen 0:e3dc9e54a15b 285 if(resp){
kaizen 0:e3dc9e54a15b 286 WIZ_DBG("Fail cmdSSEND")
kaizen 0:e3dc9e54a15b 287 return -1;
kaizen 0:e3dc9e54a15b 288 }
kaizen 0:e3dc9e54a15b 289
kaizen 0:e3dc9e54a15b 290 for(i=0; i<sendSize; i++)
kaizen 0:e3dc9e54a15b 291 {
kaizen 0:e3dc9e54a15b 292 putUart(data[i]);
kaizen 0:e3dc9e54a15b 293 }
kaizen 0:e3dc9e54a15b 294 unlockUart();
kaizen 0:e3dc9e54a15b 295
kaizen 0:e3dc9e54a15b 296 if(Timeout)
kaizen 0:e3dc9e54a15b 297 {
kaizen 0:e3dc9e54a15b 298 t.start();
kaizen 0:e3dc9e54a15b 299 for(;;)
kaizen 0:e3dc9e54a15b 300 {
kaizen 0:e3dc9e54a15b 301 if (_state.ok) break;
kaizen 0:e3dc9e54a15b 302 if (_state.failure || t.read_ms() > Timeout)
kaizen 0:e3dc9e54a15b 303 {
kaizen 0:e3dc9e54a15b 304 WIZ_WARN("failure or timeout\r\n");
kaizen 0:e3dc9e54a15b 305 return -1;
kaizen 0:e3dc9e54a15b 306 }
kaizen 0:e3dc9e54a15b 307 }
kaizen 0:e3dc9e54a15b 308 t.stop();
kaizen 0:e3dc9e54a15b 309 }
kaizen 0:e3dc9e54a15b 310
kaizen 0:e3dc9e54a15b 311 wait(0.05);
kaizen 0:e3dc9e54a15b 312 WIZ_INFO("%s\r\n",data);
kaizen 0:e3dc9e54a15b 313
kaizen 0:e3dc9e54a15b 314 return i;
kaizen 0:e3dc9e54a15b 315 }
kaizen 0:e3dc9e54a15b 316
kaizen 0:e3dc9e54a15b 317
kaizen 0:e3dc9e54a15b 318 int WizFi250::cmdCLOSE ( int cid )
kaizen 0:e3dc9e54a15b 319 {
kaizen 0:e3dc9e54a15b 320 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 321
kaizen 0:e3dc9e54a15b 322 sprintf(cmd,"AT+SMGMT=%d",cid);
kaizen 0:e3dc9e54a15b 323 return sendCommand(cmd);
kaizen 0:e3dc9e54a15b 324 }
kaizen 0:e3dc9e54a15b 325
kaizen 0:e3dc9e54a15b 326
kaizen 0:e3dc9e54a15b 327 int WizFi250::cmdFDNS (const char *host)
kaizen 0:e3dc9e54a15b 328 {
kaizen 0:e3dc9e54a15b 329 char cmd[CFG_CMD_SIZE];
kaizen 0:e3dc9e54a15b 330 int resp;
kaizen 0:e3dc9e54a15b 331
kaizen 0:e3dc9e54a15b 332 sprintf(cmd,"AT+FDNS=%s,3000",host);
kaizen 0:e3dc9e54a15b 333 resp = sendCommand(cmd, RES_FDNS);
kaizen 0:e3dc9e54a15b 334
kaizen 0:e3dc9e54a15b 335 WIZ_DBG("%s",_state.resolv);
kaizen 0:e3dc9e54a15b 336 return resp;
kaizen 0:e3dc9e54a15b 337 }
kaizen 0:e3dc9e54a15b 338
kaizen 0:e3dc9e54a15b 339 int WizFi250::cmdSMGMT ( int cid )
kaizen 0:e3dc9e54a15b 340 {
kaizen 0:e3dc9e54a15b 341 int resp;
kaizen 0:e3dc9e54a15b 342
kaizen 0:e3dc9e54a15b 343 resp = sendCommand("AT+SMGMT=?", RES_SMGMT);
kaizen 0:e3dc9e54a15b 344 return resp;
kaizen 0:e3dc9e54a15b 345 }