[修改]:添加at_client_wait_connect

This commit is contained in:
zylx 2018-08-09 13:56:41 +08:00
parent 5768d3692d
commit 53f0ec07d0
2 changed files with 48 additions and 13 deletions

View File

@ -34,6 +34,7 @@
#ifndef AT_DEVICE_NOT_SELECTED
#define ESP8266_MODULE_SEND_MAX_SIZE 2048
#define ESP8266_WAIT_CONNECT_TIME 5000
/* set real event by current socket and current state */
#define SET_EVENT(socket, event) (((socket + 1) << 16) | (event))
@ -557,20 +558,29 @@ int at_client_port_init(void)
if (at_exec_cmd(at_resp_set_info(resp, 256, 0, rt_tick_from_millisecond(5000)), cmd) < 0) \
{ \
LOG_E("RT AT send commands(%s) error!", cmd); \
return -1; \
result = -RT_ERROR; \
goto __exit; \
} \
} while(0); \
static int esp8266_net_init(void)
{
at_response_t resp = RT_NULL;
rt_err_t result = RT_EOK;
rt_size_t i;
resp = at_create_resp(128, 0, rt_tick_from_millisecond(5000));
if (!resp)
{
LOG_E("No memory for response structure!");
return -RT_ENOMEM;
result = -RT_ENOMEM;
goto __exit;
}
if (at_client_wait_connect(ESP8266_WAIT_CONNECT_TIME))
{
result = -RT_ETIMEOUT;
goto __exit;
}
/* reset module */
AT_SEND_CMD(resp, "AT+RST");
@ -592,17 +602,26 @@ static int esp8266_net_init(void)
AT_DEVICE_WIFI_SSID, AT_DEVICE_WIFI_PASSWORD) != RT_EOK)
{
LOG_E("AT network initialize failed, check ssid(%s) and password(%s).", AT_DEVICE_WIFI_SSID, AT_DEVICE_WIFI_PASSWORD);
return -RT_ERROR;
result = -RT_ERROR;
goto __exit;
}
AT_SEND_CMD(resp, "AT+CIPMUX=1");
__exit:
if (resp)
{
at_delete_resp(resp);
}
if (!result)
{
LOG_I("AT network initialize success!");
}
else
{
LOG_E("AT network initialize failed (%d)!", result);
}
return RT_EOK;
}

View File

@ -34,6 +34,7 @@
#ifndef AT_DEVICE_NOT_SELECTED
#define M26_MODULE_SEND_MAX_SIZE 1460
#define M26_WAIT_CONNECT_TIME 5000
/* set real event by current socket and current state */
#define SET_EVENT(socket, event) (((socket + 1) << 16) | (event))
@ -641,7 +642,8 @@ int at_client_port_init(void)
{ \
if (at_exec_cmd(at_resp_set_info(resp, 128, resp_line, rt_tick_from_millisecond(timeout)), cmd) < 0) \
{ \
return -RT_ERROR; \
result = -RT_ERROR; \
goto __exit; \
} \
} while(0); \
@ -656,17 +658,19 @@ int m26_net_init(void)
at_response_t resp = RT_NULL;
int i, qimux, qimode;
char parsed_data[10];
rt_err_t result = RT_EOK;
const char *line_buffer = RT_NULL;
resp = at_create_resp(128, 0, rt_tick_from_millisecond(300));
if (!resp)
{
LOG_E("No memory for response structure!");
return -RT_ENOMEM;
result = -RT_ENOMEM;
goto __exit;
}
LOG_D("Start initializing the M26/MC20 module");
/* wait M26 startup finish */
at_client_wait_connect(5000);
at_client_wait_connect(M26_WAIT_CONNECT_TIME);
/* disable echo */
AT_SEND_CMD(resp, 0, 300, "ATE0");
@ -692,7 +696,8 @@ int m26_net_init(void)
if (i == CPIN_RETRY)
{
LOG_E("SIM card detection failed!");
return -RT_ERROR;
result = -RT_ERROR;
goto __exit;
}
/* waiting for dirty data to be digested */
rt_thread_delay(rt_tick_from_millisecond(10));
@ -711,7 +716,8 @@ int m26_net_init(void)
if (i == CSQ_RETRY)
{
LOG_E("Signal strength check failed (%s)", parsed_data);
return -RT_ERROR;
result = -RT_ERROR;
goto __exit;
}
/* check the GSM network is registered */
for (i = 0; i < CREG_RETRY; i++)
@ -728,7 +734,8 @@ int m26_net_init(void)
if (i == CREG_RETRY)
{
LOG_E("The GSM network is register failed (%s)", parsed_data);
return -RT_ERROR;
result = -RT_ERROR;
goto __exit;
}
/* check the GPRS network is registered */
for (i = 0; i < CGREG_RETRY; i++)
@ -745,7 +752,8 @@ int m26_net_init(void)
if (i == CGREG_RETRY)
{
LOG_E("The GPRS network is register failed (%s)", parsed_data);
return -RT_ERROR;
result = -RT_ERROR;
goto __exit;
}
AT_SEND_CMD(resp, 0, 300, "AT+QIFGCNT=0");
@ -776,14 +784,22 @@ int m26_net_init(void)
AT_SEND_CMD(resp, 2, 300, "AT+QILOCIP");
__exit:
if (resp)
{
at_delete_resp(resp);
}
if (!result)
{
LOG_I("AT network initialize success!");
}
else
{
LOG_E("AT network initialize failed (%d)!", result);
}
return RT_EOK;
return result;
}
int m26_ping(int argc, char **argv)