Merge pull request #1693 from chenyong111/master

[net][at] Add AT serial device receive data length judgment.
This commit is contained in:
朱天龙 (Armink) 2018-08-03 20:01:43 +08:00 committed by GitHub
commit 5902e9a64d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 4 deletions

View File

@ -27,7 +27,7 @@
#include <rtthread.h>
#define AT_SW_VERSION "0.2.2"
#define AT_SW_VERSION "0.2.3"
#define DBG_ENABLE
#define DBG_SECTION_NAME "AT"

View File

@ -547,7 +547,7 @@ static void client_parser(at_client_t client)
/* get the end data by response result, return response state END_OK. */
client->resp_status = AT_RESP_OK;
}
else if ((memcmp(client->recv_buffer, AT_RESP_END_ERROR, strlen(AT_RESP_END_ERROR)) == 0)
else if (strstr(client->recv_buffer, AT_RESP_END_ERROR)
|| (memcmp(client->recv_buffer, AT_RESP_END_FAIL, strlen(AT_RESP_END_FAIL)) == 0))
{
client->resp_status = AT_RESP_ERROR;
@ -577,7 +577,11 @@ static void client_parser(at_client_t client)
static rt_err_t at_client_rx_ind(rt_device_t dev, rt_size_t size)
{
rt_sem_release(at_client_local->rx_notice);
if (size > 0)
{
rt_sem_release(at_client_local->rx_notice);
}
return RT_EOK;
}

View File

@ -433,7 +433,10 @@ __retry:
static rt_err_t at_rx_ind(rt_device_t dev, rt_size_t size)
{
rt_sem_release(at_server_local->rx_notice);
if (size > 0)
{
rt_sem_release(at_server_local->rx_notice);
}
return RT_EOK;
}