|
@@ -45,13 +45,13 @@ static void AtcmdTransmit(sint8 CmdIdx, uint8 *SetValuePtr, uint16 SetValueLen,
|
|
|
static void TcpDataInfoRecvHandle(uint8 *DataRecv, uint16 DataRecvLen);
|
|
|
static void GetCSQValue(uint8 *out);
|
|
|
void Fota_Ftp(uint8 *dataPtrIn);
|
|
|
-void tcpUdsFunc(Ptr,TcpCmdAnswer);
|
|
|
+void tcpUdsFunc(uint8 *Ptr,uint8 *AnsPtr);
|
|
|
void Uart_4G_Task(void *pvParameters)
|
|
|
{
|
|
|
(void)pvParameters;
|
|
|
uint32 SendTimerCounter = 0;
|
|
|
uint32 RecvTimerDelay = 0;
|
|
|
- uint8 *UartRecvPtr=NULL;
|
|
|
+ uint8 UartRecvPtr[200];
|
|
|
volatile uint16 tcpErrorCounter = 0;
|
|
|
uint16 pReadLen = 0;
|
|
|
// 4G开机
|
|
@@ -70,7 +70,7 @@ void Uart_4G_Task(void *pvParameters)
|
|
|
{
|
|
|
case PROCESS_TCP_IDLE: //空闲状态
|
|
|
{
|
|
|
- UART_Receive_Data(UART_LPUART1, &UartRecvPtr, &pReadLen, 100);//100ms检测
|
|
|
+ UART_Receive_Data(UART_LPUART1, UartRecvPtr, &pReadLen, 100);//100ms检测
|
|
|
if (SocketId < 0)
|
|
|
{
|
|
|
PROC_TCP_STATE_SWITCH(PROCESS_TCP_REGCHK);
|
|
@@ -159,11 +159,6 @@ void Uart_4G_Task(void *pvParameters)
|
|
|
{
|
|
|
TcpDataInfoRecvHandle(UartRecvPtr, pReadLen);
|
|
|
}
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
PROC_TCP_STATE_SWITCH(PROCESS_TCP_IDLE);
|
|
|
break;
|
|
|
}
|
|
@@ -224,6 +219,7 @@ sint8 TcpConnectFunc(sint8 *ConnectId)
|
|
|
uint8 ConnectStep = 0;
|
|
|
sint8 ChkState = 0;
|
|
|
sint8 ATRet = -1;
|
|
|
+ uint8 UartRecvPtr[100];
|
|
|
while (1)
|
|
|
{
|
|
|
switch (ConnectStep)
|
|
@@ -233,19 +229,11 @@ sint8 TcpConnectFunc(sint8 *ConnectId)
|
|
|
char *ATCmdSend = (char *)("ATE0\r\n");
|
|
|
uint8 ATCmdSendLen = mstrlen(ATCmdSend);
|
|
|
uint8 ReadLen = 0;
|
|
|
- uint8 *UartRecvPtr = NULL;
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, ATCmdSend, ATCmdSendLen,&UartRecvPtr, &ReadLen, pdMS_TO_TICKS(1000));
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)ATCmdSend, ATCmdSendLen,UartRecvPtr, &ReadLen, pdMS_TO_TICKS(1000));
|
|
|
uint8 *retptr = NULL;
|
|
|
if (ReadLen > 0)
|
|
|
{
|
|
|
retptr = (uint8 *)strstr((char *)UartRecvPtr, (char *)("OK"));
|
|
|
-
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
-
|
|
|
if (retptr)
|
|
|
{
|
|
|
ConnectStep++;
|
|
@@ -299,7 +287,7 @@ sint8 TcpConnectFunc(sint8 *ConnectId)
|
|
|
memcpy(AtCmdSend, WebSiteName, AtCmdSendLen);
|
|
|
memcpy(AtCmdSend + AtCmdSendLen, (char *)CRLF, sizeof(CRLF));
|
|
|
AtCmdSendLen = AtCmdSendLen + 2;
|
|
|
- AtcmdTransmit(AT_CGIP, AtCmdSend, AtCmdSendLen, &ATRet,5000);
|
|
|
+ AtcmdTransmit(AT_CGIP, (uint8 *)AtCmdSend, AtCmdSendLen, &ATRet,5000);
|
|
|
if (ATRet == 0)
|
|
|
{
|
|
|
ConnectStep++;
|
|
@@ -324,7 +312,7 @@ sint8 TcpConnectFunc(sint8 *ConnectId)
|
|
|
/**/
|
|
|
sprintf(AtCmdSend, "%d,\"TCP\",%s,%d\r\n", *ConnectId, WebSiteIp, WebSitePort); //此处需要优化
|
|
|
AtCmdSendTotalLen = mstrlen(AtCmdSend);
|
|
|
- AtcmdTransmit(AT_CONNECT, AtCmdSend, AtCmdSendTotalLen, &ATRet,10000);
|
|
|
+ AtcmdTransmit(AT_CONNECT, (uint8 *)AtCmdSend, AtCmdSendTotalLen, &ATRet,10000);
|
|
|
if (ATRet == 0)
|
|
|
{
|
|
|
ConnectStep++;
|
|
@@ -409,8 +397,9 @@ void InitFunc(void)
|
|
|
uint8 ReadLen = 0;
|
|
|
char *ATCmdSend = NULL;
|
|
|
uint8 ATCmdSendLen = 0;
|
|
|
- uint8 *UartRecvPtr = NULL;
|
|
|
- uint8 ATerrorCnt = 0;
|
|
|
+ uint8 UartRecvPtr[50];
|
|
|
+ uint16 ATerrorCnt = 0;
|
|
|
+ uint8 *retptr = NULL;
|
|
|
while (1)
|
|
|
{
|
|
|
switch (_4G_InitStep)
|
|
@@ -438,8 +427,7 @@ void InitFunc(void)
|
|
|
{
|
|
|
ATCmdSend = (char *)("ATE0\r\n");
|
|
|
ATCmdSendLen = mstrlen(ATCmdSend);
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, ATCmdSend, ATCmdSendLen, &UartRecvPtr, &ReadLen, pdMS_TO_TICKS(10000));
|
|
|
- uint8 *retptr = NULL;
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)ATCmdSend, ATCmdSendLen, UartRecvPtr, &ReadLen, pdMS_TO_TICKS(10000));
|
|
|
if (ReadLen > 0)
|
|
|
{
|
|
|
retptr = (uint8 *)strstr((char *)UartRecvPtr, (char *)("OK"));
|
|
@@ -456,20 +444,13 @@ void InitFunc(void)
|
|
|
{
|
|
|
_4G_InitStep=0;
|
|
|
}
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
break;
|
|
|
}
|
|
|
case 2: // IMEI获取
|
|
|
{
|
|
|
ATCmdSend = (char *)("AT+SIMEI?\r\n");
|
|
|
ATCmdSendLen = mstrlen(ATCmdSend);
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, ATCmdSend, ATCmdSendLen, &UartRecvPtr, &ReadLen, pdMS_TO_TICKS(100));
|
|
|
-
|
|
|
- uint8 *retptr = NULL;
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)ATCmdSend, ATCmdSendLen, UartRecvPtr, &ReadLen, pdMS_TO_TICKS(100));
|
|
|
if (ReadLen > 0)
|
|
|
{
|
|
|
retptr = (uint8 *)strstr((char *)UartRecvPtr, (char *)("+SIMEI"));
|
|
@@ -487,19 +468,13 @@ void InitFunc(void)
|
|
|
{
|
|
|
_4G_InitStep = 0;
|
|
|
}
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
break;
|
|
|
}
|
|
|
case 3: // 打开时间自动更新
|
|
|
{
|
|
|
ATCmdSend = (char *)("AT+CTZU=1\r\n");
|
|
|
ATCmdSendLen = mstrlen(ATCmdSend);
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, ATCmdSend, ATCmdSendLen, &UartRecvPtr, &ReadLen, pdMS_TO_TICKS(100));
|
|
|
- uint8 *retptr = NULL;
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)ATCmdSend, ATCmdSendLen, UartRecvPtr, &ReadLen, pdMS_TO_TICKS(100));
|
|
|
if (ReadLen > 0)
|
|
|
{
|
|
|
retptr = (uint8 *)strstr((char *)UartRecvPtr, (char *)("OK"));
|
|
@@ -512,11 +487,6 @@ void InitFunc(void)
|
|
|
{
|
|
|
_4G_InitStep = 0;
|
|
|
}
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
break;
|
|
|
}
|
|
|
case 4: // ICCID获取
|
|
@@ -536,8 +506,7 @@ void InitFunc(void)
|
|
|
{
|
|
|
ATCmdSend = (char *)("AT+CIPSENDMODE=0\r\n");
|
|
|
ATCmdSendLen = mstrlen(ATCmdSend);
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, ATCmdSend, ATCmdSendLen, &UartRecvPtr, &ReadLen, pdMS_TO_TICKS(100));
|
|
|
- uint8 *retptr = NULL;
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)ATCmdSend, ATCmdSendLen, UartRecvPtr, &ReadLen, pdMS_TO_TICKS(100));
|
|
|
if (ReadLen > 0)
|
|
|
{
|
|
|
retptr = (uint8 *)strstr((char *)UartRecvPtr, (char *)("OK"));
|
|
@@ -550,11 +519,6 @@ void InitFunc(void)
|
|
|
{
|
|
|
_4G_InitStep = 0;
|
|
|
}
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
}
|
|
|
default:
|
|
|
{
|
|
@@ -570,7 +534,7 @@ static void AtcmdTransmit(sint8 CmdIdx, uint8 *SetValuePtr, uint16 SetValueLen,
|
|
|
uint8 *PtrATCmdSend = NULL;
|
|
|
uint8 ATCmdFixedLen = 0;
|
|
|
uint16 ATCmdTotalLen = 0;
|
|
|
- uint8 *UartRecvPtr=NULL;
|
|
|
+ uint8 UartRecvPtr[100];
|
|
|
ATCmdFixedLen = mstrlen(Atcmdfunc[CmdIdx].str);
|
|
|
ATCmdTotalLen = ATCmdFixedLen + SetValueLen;
|
|
|
PtrATCmdSend = malloc(ATCmdTotalLen + 1);
|
|
@@ -581,10 +545,10 @@ static void AtcmdTransmit(sint8 CmdIdx, uint8 *SetValuePtr, uint16 SetValueLen,
|
|
|
memcpy(PtrATCmdSend + ATCmdFixedLen, SetValuePtr, SetValueLen);
|
|
|
}
|
|
|
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, PtrATCmdSend, ATCmdTotalLen, &UartRecvPtr, &ReadLen, timeout);
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, PtrATCmdSend, ATCmdTotalLen, UartRecvPtr, &ReadLen, timeout);
|
|
|
if(ReadLen>0)
|
|
|
{
|
|
|
- *retFunc = Atcmdfunc[CmdIdx].cb(PtrATCmdSend, UartRecvPtr, CmdIdx, ReadLen);
|
|
|
+ *retFunc = Atcmdfunc[CmdIdx].cb((char *)PtrATCmdSend, UartRecvPtr, CmdIdx, ReadLen);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -592,17 +556,9 @@ static void AtcmdTransmit(sint8 CmdIdx, uint8 *SetValuePtr, uint16 SetValueLen,
|
|
|
}
|
|
|
if (PtrATCmdSend != NULL)
|
|
|
{
|
|
|
- memset(PtrATCmdSend, 0x00, ATCmdTotalLen + 1);
|
|
|
free(PtrATCmdSend);
|
|
|
}
|
|
|
PtrATCmdSend = NULL;
|
|
|
-
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
-
|
|
|
return;
|
|
|
}
|
|
|
sint8 at_callbackFunc(char *PSendStr, char *pReadStr, uint8 CmdIdx, uint16 pReadLen)
|
|
@@ -1145,8 +1101,8 @@ void GetUtc8Time(UTC8TimeType *UTC8TimeTcp)
|
|
|
uint8 AtCmdLen = mstrlen(AtCmdAsk);
|
|
|
uint8 ReadLen = 0;
|
|
|
uint8 *retptr = NULL;
|
|
|
- uint8 *UartRecvPtr=NULL;
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, AtCmdAsk, AtCmdLen, &UartRecvPtr, &ReadLen, pdMS_TO_TICKS(100));
|
|
|
+ uint8 UartRecvPtr[30];
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)AtCmdAsk, AtCmdLen, UartRecvPtr, &ReadLen, pdMS_TO_TICKS(100));
|
|
|
if (ReadLen > 0)
|
|
|
{
|
|
|
if ((uint8 *)strstr((char *)UartRecvPtr, (char *)("OK")))
|
|
@@ -1159,11 +1115,6 @@ void GetUtc8Time(UTC8TimeType *UTC8TimeTcp)
|
|
|
UTC8TimeTcp->minute = CharToHex(*(retptr + 20)) * 10 + CharToHex(*(retptr + 21));
|
|
|
UTC8TimeTcp->second = CharToHex(*(retptr + 23)) * 10 + CharToHex(*(retptr + 24));
|
|
|
}
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
}
|
|
|
}
|
|
|
static void GetCSQValue(uint8 *out)
|
|
@@ -1172,8 +1123,8 @@ static void GetCSQValue(uint8 *out)
|
|
|
uint8 AtCmdLen = mstrlen(AtCmdAsk);
|
|
|
uint8 ReadLen = 0;
|
|
|
uint8 *retptr = NULL;
|
|
|
- uint8 *UartRecvPtr=NULL;
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, AtCmdAsk, AtCmdLen, &UartRecvPtr, &ReadLen, pdMS_TO_TICKS(100));
|
|
|
+ uint8 UartRecvPtr[30];
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)AtCmdAsk, AtCmdLen, UartRecvPtr, &ReadLen, pdMS_TO_TICKS(100));
|
|
|
*out = 99;
|
|
|
if (ReadLen > 0)
|
|
|
{
|
|
@@ -1192,12 +1143,6 @@ static void GetCSQValue(uint8 *out)
|
|
|
}
|
|
|
*out = atoi(CsqStr);
|
|
|
}
|
|
|
-
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
@@ -1209,7 +1154,7 @@ static void TcpDataInfoRecvHandle(uint8 *DataRecv, uint16 DataRecvLen)
|
|
|
uint16 TcpDataLen = 0;
|
|
|
uint16 NumCalTemp = 1;
|
|
|
retptr = (uint8 *)strstr((char *)DataRecv, (char *)("\r\n##"));
|
|
|
- if (retptr == NULL)
|
|
|
+ if (retptr == NULL||DataRecvLen<5)
|
|
|
return;
|
|
|
for (uint8 i = 0; i < 5; i++)
|
|
|
{
|
|
@@ -1398,19 +1343,18 @@ sint8 tcpipConnectionSend(uint8 TcpConnectId, uint8 *SendDataPtr, uint16 SendDat
|
|
|
sint8 outValue = -1;
|
|
|
uint8 sendErrConuter= 0;
|
|
|
uint8 ReadLen = 0;
|
|
|
- char AtCmdSend[20] = {0};
|
|
|
+ char AtCmdSend[30] = {0};
|
|
|
uint8 AtCmdSendTotalLen = 0;
|
|
|
- uint8 *UartRecvPtr1 =NULL;
|
|
|
- uint8 *UartRecvPtr =NULL;
|
|
|
+ uint8 UartRecvPtr[30];
|
|
|
uint8 ret = 0;
|
|
|
sprintf(AtCmdSend, "AT+CIPSEND=%d,%d\r\n", TcpConnectId, SendDataLen);
|
|
|
AtCmdSendTotalLen = mstrlen(AtCmdSend);
|
|
|
while(outValue!=0&&sendErrConuter<3)
|
|
|
{
|
|
|
- ret = UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)AtCmdSend, AtCmdSendTotalLen, &UartRecvPtr1, &ReadLen, 5000);
|
|
|
- if (ret==0&&ReadLen>0&&(uint8 *)strstr((char *)UartRecvPtr1, (char *)(">"))||0)//一个字节收不到的问题,IDE中断间隔过大不行
|
|
|
+ ret = UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)AtCmdSend, AtCmdSendTotalLen, UartRecvPtr, &ReadLen, 5000);
|
|
|
+ if (((ret==0)&&(ReadLen>0)&&((uint8 *)strstr((char *)UartRecvPtr, (char *)(">"))))||0)//一个字节收不到的问题,IDE中断间隔过大不行
|
|
|
{
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)SendDataPtr, SendDataLen, &UartRecvPtr, &ReadLen, 5000);
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, (uint8 *)SendDataPtr, SendDataLen, UartRecvPtr, &ReadLen, 5000);
|
|
|
if (ReadLen>0&&(uint8 *)strstr((char *)UartRecvPtr, (char *)("\r\nOK\r\n\r\n+CIPSEND")))
|
|
|
{
|
|
|
outValue = 0;
|
|
@@ -1427,16 +1371,6 @@ sint8 tcpipConnectionSend(uint8 TcpConnectId, uint8 *SendDataPtr, uint16 SendDat
|
|
|
sendErrConuter++;
|
|
|
}
|
|
|
}
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
- if(UartRecvPtr1 != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr1);
|
|
|
- }
|
|
|
- UartRecvPtr1 = NULL;
|
|
|
return outValue;
|
|
|
}
|
|
|
void Fota_Ftp(uint8 *dataPtrIn)
|
|
@@ -1445,7 +1379,7 @@ void Fota_Ftp(uint8 *dataPtrIn)
|
|
|
char *ATCmdSend = NULL;
|
|
|
sint8 recvRet = -1;
|
|
|
char ATSendDataBuffer[100] = {0};
|
|
|
- uint8 *UartRecvPtr = NULL;
|
|
|
+ uint8 UartRecvBuffer[20];
|
|
|
uint16 ReadLen = 0;
|
|
|
uint8 *retptr = NULL;
|
|
|
// char temp[70]=",qx,qx900,120.27.243.131,21,0,0.0.1.5,0.0.1.5,/Debug/V0.0.1.5.bin,";
|
|
@@ -1543,7 +1477,6 @@ void Fota_Ftp(uint8 *dataPtrIn)
|
|
|
}
|
|
|
case 3://transmit zl file from server to module
|
|
|
{
|
|
|
- uint8 *UartData = NULL;
|
|
|
memset(ATSendDataBuffer,0x00,sizeof(ATSendDataBuffer));
|
|
|
sprintf(ATSendDataBuffer, "AT+CFTPSGETFILE=\"%s/%s\"\r\n", filePathPtr,keyFilename);
|
|
|
UART_Send_Data(UART_LPUART1, ATSendDataBuffer, mstrlen(ATSendDataBuffer), pdMS_TO_TICKS(100));
|
|
@@ -1601,10 +1534,10 @@ void Fota_Ftp(uint8 *dataPtrIn)
|
|
|
uint16 getDataLenErrCount = 0;
|
|
|
memset(ATSendDataBuffer,0x00,sizeof(ATSendDataBuffer));
|
|
|
sprintf(ATSendDataBuffer, "AT+CFTRANTX=\"c:/%s\"\r\n",keyFilename);
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, ATSendDataBuffer, mstrlen(ATSendDataBuffer), &UartRecvPtr, &ReadLen, pdMS_TO_TICKS(5000));
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, ATSendDataBuffer, mstrlen(ATSendDataBuffer), UartRecvBuffer, &ReadLen, pdMS_TO_TICKS(5000));
|
|
|
if (ReadLen == (4+45))
|
|
|
{
|
|
|
- retptr = (uint8 *)strstr((char *)UartRecvPtr, (char *)("+CFTRANTX: DATA"));
|
|
|
+ retptr = (uint8 *)strstr((char *)UartRecvBuffer, (char *)("+CFTRANTX: DATA"));
|
|
|
if (retptr)
|
|
|
{
|
|
|
fileLen = (*(retptr+21)<<24)|(*(retptr+22)<<16)|(*(retptr+23)<<8)|(*(retptr+24)<<0);
|
|
@@ -1617,6 +1550,7 @@ void Fota_Ftp(uint8 *dataPtrIn)
|
|
|
{
|
|
|
memset(ATSendDataBuffer,0x00,sizeof(ATSendDataBuffer));
|
|
|
sprintf(ATSendDataBuffer, "AT+CFTRANTX=\"c:/%s\",%d,%d\r\n", filenamePtr,currentAddr, readLenAsk);
|
|
|
+ UartData = malloc(readLenAsk+50);
|
|
|
UART_Query_Data(UART_LPUART1, UART_LPUART1, ATSendDataBuffer, mstrlen(ATSendDataBuffer), &UartData, &ReadLen, pdMS_TO_TICKS(5000));
|
|
|
sprintf(findDataBuffer, "+CFTRANTX: DATA,%d", readLenAsk);
|
|
|
if (ReadLen == (readLenAsk+45))
|
|
@@ -1636,11 +1570,7 @@ void Fota_Ftp(uint8 *dataPtrIn)
|
|
|
{
|
|
|
getDataLenErrCount++;
|
|
|
}
|
|
|
- if(UartData != NULL)
|
|
|
- {
|
|
|
- free(UartData);
|
|
|
- }
|
|
|
- UartData = NULL;
|
|
|
+ free(UartData);
|
|
|
if(getDataLenErrCount>=500)
|
|
|
{
|
|
|
break;
|
|
@@ -1656,23 +1586,13 @@ void Fota_Ftp(uint8 *dataPtrIn)
|
|
|
{
|
|
|
ftp_EndFlg = 1;
|
|
|
}
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
break;
|
|
|
}
|
|
|
case 7://delete the bin and zl files
|
|
|
{
|
|
|
memset(ATSendDataBuffer,0x00,sizeof(ATSendDataBuffer));
|
|
|
sprintf(ATSendDataBuffer, "AT+FSDEL=*.*\r\n");
|
|
|
- UART_Query_Data(UART_LPUART1, UART_LPUART1, ATSendDataBuffer, mstrlen(ATSendDataBuffer), &UartRecvPtr, &ReadLen, pdMS_TO_TICKS(5000));
|
|
|
- if(UartRecvPtr != NULL)
|
|
|
- {
|
|
|
- free(UartRecvPtr);
|
|
|
- }
|
|
|
- UartRecvPtr = NULL;
|
|
|
+ UART_Query_Data(UART_LPUART1, UART_LPUART1, ATSendDataBuffer, mstrlen(ATSendDataBuffer), UartRecvBuffer, &ReadLen, pdMS_TO_TICKS(5000));
|
|
|
ftp_process++;
|
|
|
Fota_update_flag = TRUE;
|
|
|
break;
|