WIZnet-IoTShield-AMM592-HTTP sample

Committer:
vikshin
Date:
Mon Sep 23 06:14:12 2019 +0000
Revision:
4:9dad457a2e48
Parent:
3:98c9694fec26
Initial Release;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hkjung 0:5cd6077e0a8e 1 /* WIZnet IoT Shield Cat.M1 Sample code for Arm MBED
hkjung 0:5cd6077e0a8e 2 * Copyright (c) 2019 WIZnet Co., Ltd.
hkjung 0:5cd6077e0a8e 3 * SPDX-License-Identifier: Apache-2.0
hkjung 0:5cd6077e0a8e 4 */
hkjung 0:5cd6077e0a8e 5
hkjung 0:5cd6077e0a8e 6 /*
hkjung 0:5cd6077e0a8e 7 * Licensed under the Apache License, Version 2.0 (the "License");
hkjung 0:5cd6077e0a8e 8 * you may not use this file except in compliance with the License.
hkjung 0:5cd6077e0a8e 9 * You may obtain a copy of the License at
hkjung 0:5cd6077e0a8e 10 *
hkjung 0:5cd6077e0a8e 11 * http://www.apache.org/licenses/LICENSE-2.0
hkjung 0:5cd6077e0a8e 12 *
hkjung 0:5cd6077e0a8e 13 * Unless required by applicable law or agreed to in writing, software
hkjung 0:5cd6077e0a8e 14 * distributed under the License is distributed on an "AS IS" BASIS,
hkjung 0:5cd6077e0a8e 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
hkjung 0:5cd6077e0a8e 16 *
hkjung 0:5cd6077e0a8e 17 * See the License for the specific language governing permissions and
hkjung 0:5cd6077e0a8e 18 * limitations under the License.
hkjung 0:5cd6077e0a8e 19 *
hkjung 0:5cd6077e0a8e 20 */
hkjung 0:5cd6077e0a8e 21
hkjung 0:5cd6077e0a8e 22
hkjung 0:5cd6077e0a8e 23 #include <string>
hkjung 0:5cd6077e0a8e 24 #include "mbed.h"
hkjung 0:5cd6077e0a8e 25
hkjung 0:5cd6077e0a8e 26 #define RET_OK 1
hkjung 0:5cd6077e0a8e 27 #define RET_NOK -1
hkjung 0:5cd6077e0a8e 28 #define DEBUG_ENABLE 1
hkjung 0:5cd6077e0a8e 29 #define DEBUG_DISABLE 0
hkjung 0:5cd6077e0a8e 30 #define ON 1
hkjung 0:5cd6077e0a8e 31 #define OFF 0
hkjung 0:5cd6077e0a8e 32
hkjung 0:5cd6077e0a8e 33 #define MAX_BUF_SIZE 1024
hkjung 0:5cd6077e0a8e 34
vikshin 4:9dad457a2e48 35 #define AMM592_APN_PROTOCOL_IPv4 1
vikshin 4:9dad457a2e48 36 #define AMM592_APN_PROTOCOL_IPv6 2
vikshin 4:9dad457a2e48 37 #define AMM592_DEFAULT_TIMEOUT 1000
vikshin 4:9dad457a2e48 38 #define AMM592_CONNECT_TIMEOUT 15000
vikshin 4:9dad457a2e48 39 #define AMM592_SEND_TIMEOUT 500
vikshin 4:9dad457a2e48 40 #define AMM592_RECV_TIMEOUT 500
hkjung 0:5cd6077e0a8e 41
vikshin 4:9dad457a2e48 42 #define AMM592_APN_PROTOCOL AMM592_APN_PROTOCOL_IPv6
vikshin 4:9dad457a2e48 43 #define AMM592_DEFAULT_BAUD_RATE 115200
vikshin 4:9dad457a2e48 44 #define AMM592_PARSER_DELIMITER "\r\n"
hkjung 0:5cd6077e0a8e 45
hkjung 0:5cd6077e0a8e 46 #define CATM1_APN_SKT "lte-internet.sktelecom.com"
hkjung 0:5cd6077e0a8e 47
vikshin 4:9dad457a2e48 48 #define CATM1_DEVICE_NAME_AMM592 "AMM592"
vikshin 4:9dad457a2e48 49 #define DEVNAME CATM1_DEVICE_NAME_AMM592
hkjung 0:5cd6077e0a8e 50
hkjung 0:5cd6077e0a8e 51 #define devlog(f_, ...) if(CATM1_DEVICE_DEBUG == DEBUG_ENABLE) { pc.printf("\r\n[%s] ", DEVNAME); pc.printf((f_), ##__VA_ARGS__); }
hkjung 0:5cd6077e0a8e 52 #define myprintf(f_, ...) {pc.printf("\r\n[MAIN] "); pc.printf((f_), ##__VA_ARGS__);}
hkjung 0:5cd6077e0a8e 53
hkjung 0:5cd6077e0a8e 54 /* Pin configuraiton */
hkjung 0:5cd6077e0a8e 55 // Cat.M1
hkjung 0:5cd6077e0a8e 56 #define MBED_CONF_IOTSHIELD_CATM1_TX D8
hkjung 0:5cd6077e0a8e 57 #define MBED_CONF_IOTSHIELD_CATM1_RX D2
hkjung 1:0d7ba45f12b1 58 #define MBED_CONF_IOTSHIELD_CATM1_RESET D7
hkjung 0:5cd6077e0a8e 59 #define MBED_CONF_IOTSHIELD_CATM1_PWRKEY D9
hkjung 1:0d7ba45f12b1 60
hkjung 0:5cd6077e0a8e 61 // Sensors
hkjung 0:5cd6077e0a8e 62 #define MBED_CONF_IOTSHIELD_SENSOR_CDS A0
hkjung 0:5cd6077e0a8e 63 #define MBED_CONF_IOTSHIELD_SENSOR_TEMP A1
hkjung 0:5cd6077e0a8e 64
hkjung 0:5cd6077e0a8e 65 /* Debug message settings */
vikshin 4:9dad457a2e48 66 #define AMM592_PARSER_DEBUG DEBUG_DISABLE
hkjung 0:5cd6077e0a8e 67 #define CATM1_DEVICE_DEBUG DEBUG_ENABLE
hkjung 0:5cd6077e0a8e 68
hkjung 1:0d7ba45f12b1 69 /* HTTP */
hkjung 1:0d7ba45f12b1 70 #define HTTP_STATUS_CODE_OK 200
hkjung 1:0d7ba45f12b1 71
hkjung 1:0d7ba45f12b1 72 // Sample HTTP URL: Weather info by Korea Meteorological Administration
hkjung 1:0d7ba45f12b1 73 char request_url[] = "http://www.kma.go.kr/wid/queryDFSRSS.jsp?zone=4113552000";
hkjung 1:0d7ba45f12b1 74
hkjung 1:0d7ba45f12b1 75
hkjung 0:5cd6077e0a8e 76 // Functions: Module Status
hkjung 0:5cd6077e0a8e 77 void waitCatM1Ready(void);
vikshin 4:9dad457a2e48 78 int8_t setEchoStatus_AMM592(int onoff);
vikshin 4:9dad457a2e48 79 int8_t getUsimStatus_AMM592(void);
vikshin 4:9dad457a2e48 80 int8_t getNetworkStatus_AMM592(void);
vikshin 4:9dad457a2e48 81 int8_t checknSetApn_AMM592(const char * apn);
vikshin 4:9dad457a2e48 82
hkjung 0:5cd6077e0a8e 83
hkjung 1:0d7ba45f12b1 84 // Functions: HTTP send & recv
vikshin 4:9dad457a2e48 85 int8_t setHttpRequest_AMM592(char * url, int len);
vikshin 4:9dad457a2e48 86 int8_t sendHttpRequest_AMM592(int method, int ssl_enable, int hex_mode, char * url);
vikshin 4:9dad457a2e48 87 int8_t getHttpResponse_AMM592(void);
hkjung 0:5cd6077e0a8e 88
hkjung 0:5cd6077e0a8e 89 Serial pc(USBTX, USBRX); // USB debug
hkjung 0:5cd6077e0a8e 90
hkjung 0:5cd6077e0a8e 91 UARTSerial *_serial; // Cat.M1 module
hkjung 0:5cd6077e0a8e 92 ATCmdParser *_parser;
hkjung 0:5cd6077e0a8e 93
vikshin 4:9dad457a2e48 94 DigitalOut _RESET_AMM592(MBED_CONF_IOTSHIELD_CATM1_RESET);
vikshin 4:9dad457a2e48 95 DigitalOut _PWRKEY_AMM592(MBED_CONF_IOTSHIELD_CATM1_PWRKEY);
hkjung 0:5cd6077e0a8e 96
hkjung 0:5cd6077e0a8e 97 void serialPcInit(void)
hkjung 0:5cd6077e0a8e 98 {
hkjung 0:5cd6077e0a8e 99 pc.baud(115200);
hkjung 0:5cd6077e0a8e 100 pc.format(8, Serial::None, 1);
hkjung 0:5cd6077e0a8e 101 }
hkjung 0:5cd6077e0a8e 102
hkjung 0:5cd6077e0a8e 103 void serialDeviceInit(PinName tx, PinName rx, int baudrate)
hkjung 0:5cd6077e0a8e 104 {
hkjung 0:5cd6077e0a8e 105 _serial = new UARTSerial(tx, rx, baudrate);
hkjung 0:5cd6077e0a8e 106 }
hkjung 0:5cd6077e0a8e 107
hkjung 0:5cd6077e0a8e 108 void serialAtParserInit(const char *delimiter, bool debug_en)
hkjung 0:5cd6077e0a8e 109 {
hkjung 0:5cd6077e0a8e 110 _parser = new ATCmdParser(_serial);
hkjung 0:5cd6077e0a8e 111 _parser->debug_on(debug_en);
hkjung 0:5cd6077e0a8e 112 _parser->set_delimiter(delimiter);
vikshin 4:9dad457a2e48 113 _parser->set_timeout(AMM592_DEFAULT_TIMEOUT);
hkjung 0:5cd6077e0a8e 114 }
hkjung 0:5cd6077e0a8e 115
hkjung 0:5cd6077e0a8e 116 void catm1DeviceInit(void)
hkjung 0:5cd6077e0a8e 117 {
hkjung 0:5cd6077e0a8e 118 serialDeviceInit( MBED_CONF_IOTSHIELD_CATM1_TX,
hkjung 0:5cd6077e0a8e 119 MBED_CONF_IOTSHIELD_CATM1_RX,
vikshin 4:9dad457a2e48 120 AMM592_DEFAULT_BAUD_RATE);
hkjung 0:5cd6077e0a8e 121
vikshin 4:9dad457a2e48 122 serialAtParserInit( AMM592_PARSER_DELIMITER,
vikshin 4:9dad457a2e48 123 AMM592_PARSER_DEBUG);
hkjung 0:5cd6077e0a8e 124 }
hkjung 0:5cd6077e0a8e 125
vikshin 4:9dad457a2e48 126 void catm1DeviceReset_AMM592(void)
hkjung 1:0d7ba45f12b1 127 {
vikshin 4:9dad457a2e48 128 _RESET_AMM592 = 1;
vikshin 4:9dad457a2e48 129 _PWRKEY_AMM592 = 1;
hkjung 1:0d7ba45f12b1 130 wait_ms(300);
hkjung 0:5cd6077e0a8e 131
vikshin 4:9dad457a2e48 132 _RESET_AMM592 = 0;
vikshin 4:9dad457a2e48 133 _PWRKEY_AMM592 = 0;
hkjung 1:0d7ba45f12b1 134 wait_ms(400);
hkjung 0:5cd6077e0a8e 135
vikshin 4:9dad457a2e48 136 _RESET_AMM592 = 1;
hkjung 1:0d7ba45f12b1 137 wait_ms(1000);
hkjung 0:5cd6077e0a8e 138 }
hkjung 0:5cd6077e0a8e 139
hkjung 1:0d7ba45f12b1 140
hkjung 1:0d7ba45f12b1 141 // ----------------------------------------------------------------
hkjung 1:0d7ba45f12b1 142 // Main routine
hkjung 1:0d7ba45f12b1 143 // ----------------------------------------------------------------
hkjung 1:0d7ba45f12b1 144
hkjung 0:5cd6077e0a8e 145 int main()
hkjung 0:5cd6077e0a8e 146 {
hkjung 0:5cd6077e0a8e 147 serialPcInit();
hkjung 0:5cd6077e0a8e 148 catm1DeviceInit();
hkjung 0:5cd6077e0a8e 149
hkjung 0:5cd6077e0a8e 150 myprintf("Waiting for Cat.M1 Module Ready...\r\n");
hkjung 0:5cd6077e0a8e 151
vikshin 4:9dad457a2e48 152 catm1DeviceReset_AMM592();
hkjung 0:5cd6077e0a8e 153
hkjung 0:5cd6077e0a8e 154 waitCatM1Ready();
hkjung 1:0d7ba45f12b1 155
hkjung 1:0d7ba45f12b1 156 wait_ms(5000);
hkjung 0:5cd6077e0a8e 157
hkjung 0:5cd6077e0a8e 158 myprintf("System Init Complete\r\n");
hkjung 0:5cd6077e0a8e 159
hkjung 0:5cd6077e0a8e 160 myprintf("WIZnet IoT Shield for Arm MBED");
hkjung 0:5cd6077e0a8e 161 myprintf("LTE Cat.M1 Version");
hkjung 0:5cd6077e0a8e 162 myprintf("=================================================");
vikshin 4:9dad457a2e48 163 myprintf(">> Target Board: WIoT-AM01 (AM Telecom AMM592)");
hkjung 1:0d7ba45f12b1 164 myprintf(">> Sample Code: HTTP Send & Recv");
hkjung 0:5cd6077e0a8e 165 myprintf("=================================================\r\n");
hkjung 0:5cd6077e0a8e 166
vikshin 4:9dad457a2e48 167 setEchoStatus_AMM592(0);
hkjung 0:5cd6077e0a8e 168
vikshin 4:9dad457a2e48 169 getUsimStatus_AMM592();
hkjung 0:5cd6077e0a8e 170
vikshin 4:9dad457a2e48 171 getNetworkStatus_AMM592();
vikshin 4:9dad457a2e48 172
vikshin 4:9dad457a2e48 173 checknSetApn_AMM592(CATM1_APN_SKT);
hkjung 0:5cd6077e0a8e 174
vikshin 4:9dad457a2e48 175 if(sendHttpRequest_AMM592(0,0,0, request_url)) {
vikshin 4:9dad457a2e48 176 myprintf("[HTTP] sendHttpRequest success\r\n");
vikshin 4:9dad457a2e48 177 if (getHttpResponse_AMM592() == RET_OK){
vikshin 4:9dad457a2e48 178 myprintf("[HTTP] getHttpResponse success\r\n");
vikshin 4:9dad457a2e48 179 } else {
vikshin 4:9dad457a2e48 180 myprintf("[HTTP] sendHttpRequest failed");
vikshin 4:9dad457a2e48 181 }
vikshin 4:9dad457a2e48 182 } else {
vikshin 4:9dad457a2e48 183 myprintf("[HTTP] sendHttpRequest fail\r\n");
hkjung 1:0d7ba45f12b1 184 }
hkjung 0:5cd6077e0a8e 185
hkjung 0:5cd6077e0a8e 186 }
hkjung 0:5cd6077e0a8e 187
hkjung 1:0d7ba45f12b1 188
hkjung 1:0d7ba45f12b1 189 // ----------------------------------------------------------------
hkjung 1:0d7ba45f12b1 190 // Functions: Cat.M1 Status
hkjung 1:0d7ba45f12b1 191 // ----------------------------------------------------------------
hkjung 1:0d7ba45f12b1 192
hkjung 0:5cd6077e0a8e 193 void waitCatM1Ready(void)
vikshin 4:9dad457a2e48 194 {
hkjung 0:5cd6077e0a8e 195 while(1)
hkjung 0:5cd6077e0a8e 196 {
vikshin 4:9dad457a2e48 197 if(_parser->recv("@NOTI:34,AMT_BOOT_ALERT") && _parser->recv("@NETSTI:3") )
hkjung 0:5cd6077e0a8e 198 {
vikshin 4:9dad457a2e48 199 myprintf("AM592 ready\r\n");
hkjung 0:5cd6077e0a8e 200 return ;
hkjung 0:5cd6077e0a8e 201 }
hkjung 0:5cd6077e0a8e 202 else if(_parser->send("AT") && _parser->recv("OK"))
hkjung 0:5cd6077e0a8e 203 {
vikshin 4:9dad457a2e48 204 myprintf("AM592 already available\r\n");
hkjung 0:5cd6077e0a8e 205 return ;
hkjung 0:5cd6077e0a8e 206 }
vikshin 4:9dad457a2e48 207 }
hkjung 0:5cd6077e0a8e 208 }
hkjung 0:5cd6077e0a8e 209
vikshin 4:9dad457a2e48 210 int8_t setEchoStatus_AMM592(int onoff)
hkjung 0:5cd6077e0a8e 211 {
hkjung 0:5cd6077e0a8e 212 int8_t ret = RET_NOK;
hkjung 0:5cd6077e0a8e 213 char _buf[10];
hkjung 0:5cd6077e0a8e 214
hkjung 0:5cd6077e0a8e 215 sprintf((char *)_buf, "ATE%d", onoff);
hkjung 0:5cd6077e0a8e 216
hkjung 0:5cd6077e0a8e 217 if(_parser->send(_buf) && _parser->recv("OK")) {
hkjung 0:5cd6077e0a8e 218 devlog("Turn Echo %s success\r\n", onoff?"ON":"OFF");
hkjung 0:5cd6077e0a8e 219 ret = RET_OK;
hkjung 0:5cd6077e0a8e 220 } else {
hkjung 0:5cd6077e0a8e 221 devlog("Turn Echo %s failed\r\n", onoff?"ON":"OFF");
hkjung 0:5cd6077e0a8e 222 }
hkjung 0:5cd6077e0a8e 223 return ret;
hkjung 0:5cd6077e0a8e 224 }
hkjung 0:5cd6077e0a8e 225
vikshin 4:9dad457a2e48 226 int8_t getUsimStatus_AMM592(void)
hkjung 0:5cd6077e0a8e 227 {
hkjung 0:5cd6077e0a8e 228 int8_t ret = RET_NOK;
hkjung 0:5cd6077e0a8e 229
hkjung 0:5cd6077e0a8e 230 _parser->send("AT+CPIN?");
hkjung 0:5cd6077e0a8e 231 if(_parser->recv("+CPIN: READY") && _parser->recv("OK")) {
hkjung 0:5cd6077e0a8e 232 devlog("USIM Status: READY\r\n");
hkjung 0:5cd6077e0a8e 233 ret = RET_OK;
hkjung 0:5cd6077e0a8e 234 } else {
hkjung 0:5cd6077e0a8e 235 devlog("Retrieving USIM Status failed\r\n");
hkjung 0:5cd6077e0a8e 236 }
hkjung 0:5cd6077e0a8e 237 return ret;
hkjung 0:5cd6077e0a8e 238 }
hkjung 0:5cd6077e0a8e 239
vikshin 4:9dad457a2e48 240 int8_t getNetworkStatus_AMM592(void)
hkjung 0:5cd6077e0a8e 241 {
hkjung 0:5cd6077e0a8e 242 int8_t ret = RET_NOK;
vikshin 4:9dad457a2e48 243 bool cereg = false, nsi = false;
vikshin 4:9dad457a2e48 244 int n, stat;
vikshin 4:9dad457a2e48 245
vikshin 4:9dad457a2e48 246 if(_parser->send("AT+CEREG?") && _parser->recv("+CEREG: %d, %d", &n, &stat) && _parser->recv("OK")){
vikshin 4:9dad457a2e48 247 if ((n==0 || n==1) && stat==1){
vikshin 4:9dad457a2e48 248 cereg = true;
vikshin 4:9dad457a2e48 249 }
vikshin 4:9dad457a2e48 250 }
hkjung 0:5cd6077e0a8e 251
vikshin 4:9dad457a2e48 252 if(_parser->send("AT@NSI") && _parser->recv("@NSI:%d,\"IN SRV\"") && _parser->recv("OK")) {
hkjung 0:5cd6077e0a8e 253 devlog("Network Status: attached\r\n");
vikshin 4:9dad457a2e48 254 nsi = true;
vikshin 4:9dad457a2e48 255 } else if (_parser->send("AT@NSI") && _parser->recv("@NSI: \"LIMITED\"") && _parser->recv("OK")) {
hkjung 0:5cd6077e0a8e 256 devlog("Network Status: limited\r\n");
vikshin 4:9dad457a2e48 257 nsi = true;
hkjung 0:5cd6077e0a8e 258 } else {
hkjung 0:5cd6077e0a8e 259 devlog("Network Status: Error\r\n");
hkjung 0:5cd6077e0a8e 260 }
vikshin 4:9dad457a2e48 261
vikshin 4:9dad457a2e48 262 if (cereg && nsi){
vikshin 4:9dad457a2e48 263 ret = RET_OK;
vikshin 4:9dad457a2e48 264 }
hkjung 0:5cd6077e0a8e 265 return ret;
hkjung 0:5cd6077e0a8e 266 }
hkjung 0:5cd6077e0a8e 267
vikshin 4:9dad457a2e48 268 int8_t checknSetApn_AMM592(const char * apn) // Configure Parameters of a TCP/IP Context
hkjung 0:5cd6077e0a8e 269 {
vikshin 4:9dad457a2e48 270 bool cgdccont = false, cgatt = false;
vikshin 4:9dad457a2e48 271 int8_t ret = RET_NOK;
hkjung 0:5cd6077e0a8e 272
hkjung 0:5cd6077e0a8e 273 devlog("Checking APN...\r\n");
vikshin 4:9dad457a2e48 274 //APN setting
vikshin 4:9dad457a2e48 275 if (_parser->send("AT+CGDCONT=1,\"IPV4V6\",\"%s\"", apn) && _parser->recv("OK")){
vikshin 4:9dad457a2e48 276 cgdccont = true;
hkjung 0:5cd6077e0a8e 277 }
vikshin 4:9dad457a2e48 278 //Attach setting
vikshin 4:9dad457a2e48 279 if (_parser->send("AT+CGATT?") && _parser->recv("+CGATT: 1") &&_parser->recv("OK")){
vikshin 4:9dad457a2e48 280 cgatt = true;
vikshin 4:9dad457a2e48 281 }
vikshin 4:9dad457a2e48 282
vikshin 4:9dad457a2e48 283 if (cgdccont && cgatt){
vikshin 4:9dad457a2e48 284 ret = RET_OK;
vikshin 4:9dad457a2e48 285 }
vikshin 4:9dad457a2e48 286
hkjung 1:0d7ba45f12b1 287 devlog("APN Check Done\r\n");
hkjung 1:0d7ba45f12b1 288
hkjung 0:5cd6077e0a8e 289 return ret;
hkjung 0:5cd6077e0a8e 290 }
hkjung 0:5cd6077e0a8e 291
hkjung 1:0d7ba45f12b1 292 // ----------------------------------------------------------------
hkjung 1:0d7ba45f12b1 293 // Functions: Cat.M1 HTTP send & recv
hkjung 1:0d7ba45f12b1 294 // ----------------------------------------------------------------
hkjung 0:5cd6077e0a8e 295
vikshin 4:9dad457a2e48 296 int8_t sendHttpRequest_AMM592(int method, int ssl_enable, int hex_mode, char * url)
hkjung 0:5cd6077e0a8e 297 {
vikshin 4:9dad457a2e48 298 int8_t ret = RET_NOK;
hkjung 0:5cd6077e0a8e 299
vikshin 4:9dad457a2e48 300 _parser->set_timeout(AMM592_DEFAULT_TIMEOUT + (4 * 1000));
hkjung 0:5cd6077e0a8e 301
vikshin 4:9dad457a2e48 302 if( _parser->send("AT@HTTPSND=%d,%d,%d,%s", method, ssl_enable, hex_mode, url)
vikshin 4:9dad457a2e48 303 && _parser->recv("OK")
vikshin 4:9dad457a2e48 304 && _parser->recv("@HTTPSND:0")
vikshin 4:9dad457a2e48 305 )
vikshin 4:9dad457a2e48 306 {
vikshin 4:9dad457a2e48 307 devlog("The HTTP request is sent successfully\r\n");
vikshin 4:9dad457a2e48 308 ret = RET_OK;
vikshin 4:9dad457a2e48 309 }
vikshin 4:9dad457a2e48 310 _parser->set_timeout(AMM592_DEFAULT_TIMEOUT);
hkjung 0:5cd6077e0a8e 311
hkjung 0:5cd6077e0a8e 312 return ret;
hkjung 0:5cd6077e0a8e 313 }
hkjung 0:5cd6077e0a8e 314
hkjung 1:0d7ba45f12b1 315
vikshin 4:9dad457a2e48 316 int8_t getHttpResponse_AMM592(void)
hkjung 0:5cd6077e0a8e 317 {
hkjung 0:5cd6077e0a8e 318 int8_t ret = RET_NOK;
vikshin 4:9dad457a2e48 319
vikshin 4:9dad457a2e48 320 int bufsize = 0;
vikshin 4:9dad457a2e48 321
vikshin 4:9dad457a2e48 322 Timer t;
vikshin 4:9dad457a2e48 323
vikshin 4:9dad457a2e48 324 _parser->set_timeout((1000 * 4));
vikshin 4:9dad457a2e48 325
vikshin 4:9dad457a2e48 326 if(_parser->recv("@HTTPRCV:%d", &bufsize ))
vikshin 4:9dad457a2e48 327 {
vikshin 4:9dad457a2e48 328 t.start();
vikshin 4:9dad457a2e48 329
vikshin 4:9dad457a2e48 330 while(t.read_ms() < (1000 * 4))
vikshin 4:9dad457a2e48 331 {
vikshin 4:9dad457a2e48 332 pc.printf("%c", _parser->getc());
vikshin 4:9dad457a2e48 333 }
vikshin 4:9dad457a2e48 334
vikshin 4:9dad457a2e48 335 ret = RET_OK;
vikshin 4:9dad457a2e48 336 }
vikshin 4:9dad457a2e48 337
vikshin 4:9dad457a2e48 338 _parser->set_timeout(AMM592_DEFAULT_TIMEOUT);
vikshin 4:9dad457a2e48 339 _parser->flush();
vikshin 4:9dad457a2e48 340
hkjung 0:5cd6077e0a8e 341 return ret;
hkjung 0:5cd6077e0a8e 342 }