|
@@ -33,7 +33,7 @@ const ATCmdFunc Atcmdfunc[] = {
|
|
|
{AT_NETCLOSE, "AT+NETCLOSE\r\n", at_callbackFunc},
|
|
|
{AT_CGNSSPWR,"AT+CGNSSPWR=1\r\n",at_callbackFunc}};
|
|
|
|
|
|
-static process_Tcp gProcess_Tcp_Task = PROCESS_TCP_IDLE;
|
|
|
+static process_Tcp gProcess_Tcp_Task = PROCESS_TCP_INIT;
|
|
|
#define PROC_TCP_STATE_SWITCH(a) (gProcess_Tcp_Task = a)
|
|
|
void InitFunc(void);
|
|
|
sint8 TcpConnectFunc(sint8 *ConnectId);
|
|
@@ -49,6 +49,8 @@ void tcpUdsFunc(uint8 *Ptr,uint8 *AnsPtr);
|
|
|
static void vTimer1000msCallback(TimerHandle_t pxTimer);
|
|
|
bool SendTimerFlg = false;
|
|
|
static uint32 TcpSendTimeCounter = 0;
|
|
|
+extern boolean waitForSleepFlag;
|
|
|
+boolean Uart_4G_Task_Sleep_FLag = false;
|
|
|
void Uart_4G_Task(void *pvParameters)
|
|
|
{
|
|
|
(void)pvParameters;
|
|
@@ -58,138 +60,171 @@ void Uart_4G_Task(void *pvParameters)
|
|
|
uint16 pReadLen = 0;
|
|
|
// 4G开机
|
|
|
Dio_LevelType _4G_Status = 0; // 0-关机,1-开机
|
|
|
- Dio_WriteChannel(DioConf_DioChannel_PTA6_GPIO_OUT_MCU_4G_POW_EN, STD_ON);
|
|
|
- vTaskDelay(pdMS_TO_TICKS(50));
|
|
|
- Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_ON);
|
|
|
- vTaskDelay(pdMS_TO_TICKS(50));
|
|
|
- AtcmdDelayRecvFunc(UART_LPUART1,(char *)("SMS DONE"),30000);
|
|
|
- Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_OFF);
|
|
|
- _4G_Status = Dio_ReadChannel(DioConf_DioChannel_PTB1_GPIO_IN_MCU_4G_STATUS);
|
|
|
- InitFunc(); // 4G模块初始化,注:AT同步不通过,没有进行次数判定及跳转
|
|
|
+// Dio_WriteChannel(DioConf_DioChannel_PTA6_GPIO_OUT_MCU_4G_POW_EN, STD_ON);
|
|
|
+// vTaskDelay(pdMS_TO_TICKS(500));
|
|
|
+// Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_ON);
|
|
|
+// vTaskDelay(pdMS_TO_TICKS(50));
|
|
|
+// AtcmdDelayRecvFunc(UART_LPUART1,(char *)("SMS DONE"),30000);
|
|
|
+// Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_OFF);
|
|
|
+// _4G_Status = Dio_ReadChannel(DioConf_DioChannel_PTB1_GPIO_IN_MCU_4G_STATUS);
|
|
|
+// InitFunc(); // 4G模块初始化,注:AT同步不通过,没有进行次数判定及跳转
|
|
|
TimerHandle_t monitorTimer1000ms;
|
|
|
monitorTimer1000ms = xTimerCreate("monitor1000ms",1000,pdTRUE,(void *)0,vTimer1000msCallback);
|
|
|
xTimerStart(monitorTimer1000ms,0);
|
|
|
for (;;)
|
|
|
{
|
|
|
- switch (gProcess_Tcp_Task)
|
|
|
- {
|
|
|
- case PROCESS_TCP_IDLE: //空闲状态
|
|
|
+
|
|
|
+ if(waitForSleepFlag == true)
|
|
|
{
|
|
|
- UART_Receive_Data(UART_LPUART1, UartRecvPtr, &pReadLen, 100);//100ms检测
|
|
|
- if (SocketId < 0)
|
|
|
- {
|
|
|
- PROC_TCP_STATE_SWITCH(PROCESS_TCP_REGCHK);
|
|
|
- }
|
|
|
- else if (pReadLen>0)
|
|
|
- {
|
|
|
- PROC_TCP_STATE_SWITCH(PROCESS_TCP_RECV);
|
|
|
- RecvTimerDelay = TimerCounter;
|
|
|
- }
|
|
|
- else if (AppConfigInfo.eolFlg == 1 && TcpWorkState==0 && SendTimerFlg==true)
|
|
|
- {
|
|
|
- SendTimerFlg = false;
|
|
|
- PROC_TCP_STATE_SWITCH(PROCESS_TCP_SEND);
|
|
|
- }
|
|
|
- if((TimerCounter-RecvTimerDelay)>=30000 && TcpWorkState==1)//10s内没有命令下发,进行正常发送任务
|
|
|
- {
|
|
|
- TcpWorkState = 0;
|
|
|
- }
|
|
|
- break;
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_SLEEP);
|
|
|
}
|
|
|
- case PROCESS_TCP_ATSYS:
|
|
|
+ switch (gProcess_Tcp_Task)
|
|
|
{
|
|
|
- sint8 ATRet = -1;
|
|
|
- AtcmdTransmit(AT_CMD_TEST, NULL, 0, &ATRet,100);
|
|
|
- if (ATRet == 0)
|
|
|
+ case PROCESS_TCP_INIT:
|
|
|
{
|
|
|
+ Dio_WriteChannel(DioConf_DioChannel_PTA6_GPIO_OUT_MCU_4G_POW_EN, STD_ON);
|
|
|
+ vTaskDelay(pdMS_TO_TICKS(500));
|
|
|
+
|
|
|
+ Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_ON);
|
|
|
+ vTaskDelay(pdMS_TO_TICKS(50));
|
|
|
+ Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_OFF);
|
|
|
+
|
|
|
+ AtcmdDelayRecvFunc(UART_LPUART1,(char *)("SMS DONE"),30000);
|
|
|
+ _4G_Status = Dio_ReadChannel(DioConf_DioChannel_PTB1_GPIO_IN_MCU_4G_STATUS);
|
|
|
+ InitFunc();
|
|
|
+ TcpSendTimeCounter = 0;
|
|
|
PROC_TCP_STATE_SWITCH(PROCESS_TCP_IDLE);
|
|
|
+ break;
|
|
|
}
|
|
|
- else
|
|
|
+ case PROCESS_TCP_IDLE: //空闲状态
|
|
|
{
|
|
|
- PROC_TCP_STATE_SWITCH(PROCESS_TCP_ERROR);
|
|
|
+ UART_Receive_Data(UART_LPUART1, UartRecvPtr, &pReadLen, 100);//100ms检测
|
|
|
+ if (SocketId < 0)
|
|
|
+ {
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_REGCHK);
|
|
|
+ }
|
|
|
+ else if (pReadLen>0)
|
|
|
+ {
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_RECV);
|
|
|
+ RecvTimerDelay = TimerCounter;
|
|
|
+ }
|
|
|
+ else if (AppConfigInfo.eolFlg == 1 && TcpWorkState==0 && SendTimerFlg==true)
|
|
|
+ {
|
|
|
+ SendTimerFlg = false;
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_SEND);
|
|
|
+ }
|
|
|
+ if((TimerCounter-RecvTimerDelay)>=30000 && TcpWorkState==1)//10s内没有命令下发,进行正常发送任务
|
|
|
+ {
|
|
|
+ TcpWorkState = 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
- break;
|
|
|
- }
|
|
|
- case PROCESS_TCP_REGCHK: //驻网检查,包括SIM,CPIN检查,ICCID获取
|
|
|
- {
|
|
|
- RegChkRet = TcpRegisterChkFunc();
|
|
|
- if (RegChkRet > 0) //检查通过,SIM卡已就绪,已进行驻网
|
|
|
+ case PROCESS_TCP_ATSYS:
|
|
|
{
|
|
|
- PROC_TCP_STATE_SWITCH(PROCESS_TCP_CONNECT);
|
|
|
+ sint8 ATRet = -1;
|
|
|
+ AtcmdTransmit(AT_CMD_TEST, NULL, 0, &ATRet,100);
|
|
|
+ if (ATRet == 0)
|
|
|
+ {
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_IDLE);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_ERROR);
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
- else
|
|
|
+ case PROCESS_TCP_REGCHK: //驻网检查,包括SIM,CPIN检查,ICCID获取
|
|
|
{
|
|
|
- PROC_TCP_STATE_SWITCH(PROCESS_TCP_ERROR);
|
|
|
+ RegChkRet = TcpRegisterChkFunc();
|
|
|
+ if (RegChkRet > 0) //检查通过,SIM卡已就绪,已进行驻网
|
|
|
+ {
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_CONNECT);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_ERROR);
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
- break;
|
|
|
- }
|
|
|
- case PROCESS_TCP_CONNECT: //网络连接,包括域名转换
|
|
|
- {
|
|
|
- if (SocketId < 0)
|
|
|
+ case PROCESS_TCP_CONNECT: //网络连接,包括域名转换
|
|
|
+ {
|
|
|
+ if (SocketId < 0)
|
|
|
+ {
|
|
|
+ sint8 ConnectRet = 0;
|
|
|
+ ConnectRet = TcpConnectFunc(&SocketId);
|
|
|
+ if (ConnectRet > 0)
|
|
|
+ {
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_IDLE);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_ERROR);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case PROCESS_TCP_SEND: //网络数据发送
|
|
|
{
|
|
|
- sint8 ConnectRet = 0;
|
|
|
- ConnectRet = TcpConnectFunc(&SocketId);
|
|
|
- if (ConnectRet > 0)
|
|
|
+ sint8 SendRet = -1;
|
|
|
+ SendRet = TcpDataSendFunc(SocketId);
|
|
|
+ if (SendRet == 0)
|
|
|
{
|
|
|
PROC_TCP_STATE_SWITCH(PROCESS_TCP_IDLE);
|
|
|
+ tcpErrorCounter = 0;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ SocketId = -1;
|
|
|
PROC_TCP_STATE_SWITCH(PROCESS_TCP_ERROR);
|
|
|
}
|
|
|
+ break;
|
|
|
}
|
|
|
- break;
|
|
|
- }
|
|
|
- case PROCESS_TCP_SEND: //网络数据发送
|
|
|
- {
|
|
|
- sint8 SendRet = -1;
|
|
|
- SendRet = TcpDataSendFunc(SocketId);
|
|
|
- if (SendRet == 0)
|
|
|
+ case PROCESS_TCP_RECV: //网络数据接收,100ms空闲状态下即可接收
|
|
|
{
|
|
|
+ // Dio_FlipChannel(DioConf_DioChannel_PTE0_GPIO_OUT_MCU_LED1);
|
|
|
+
|
|
|
+ if (pReadLen > 0 && SocketId >= 0)
|
|
|
+ {
|
|
|
+ TcpDataInfoRecvHandle(UartRecvPtr, pReadLen);
|
|
|
+ }
|
|
|
PROC_TCP_STATE_SWITCH(PROCESS_TCP_IDLE);
|
|
|
- tcpErrorCounter = 0;
|
|
|
+ break;
|
|
|
}
|
|
|
- else
|
|
|
+ case PROCESS_TCP_HEART: //心跳包发送
|
|
|
{
|
|
|
- SocketId = -1;
|
|
|
- PROC_TCP_STATE_SWITCH(PROCESS_TCP_ERROR);
|
|
|
+ break;
|
|
|
}
|
|
|
- break;
|
|
|
- }
|
|
|
- case PROCESS_TCP_RECV: //网络数据接收,100ms空闲状态下即可接收
|
|
|
- {
|
|
|
-// Dio_FlipChannel(DioConf_DioChannel_PTE0_GPIO_OUT_MCU_LED1);
|
|
|
-
|
|
|
- if (pReadLen > 0 && SocketId >= 0)
|
|
|
+ case PROCESS_TCP_SLEEP: //网络休眠状态
|
|
|
{
|
|
|
- TcpDataInfoRecvHandle(UartRecvPtr, pReadLen);
|
|
|
+
|
|
|
+ while(waitForSleepFlag == true)
|
|
|
+ {
|
|
|
+ Uart_4G_Task_Sleep_FLag = true;
|
|
|
+ vTaskDelay(pdMS_TO_TICKS(1000));
|
|
|
+ }
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_INIT);
|
|
|
+ break;
|
|
|
}
|
|
|
- PROC_TCP_STATE_SWITCH(PROCESS_TCP_IDLE);
|
|
|
- break;
|
|
|
- }
|
|
|
- case PROCESS_TCP_HEART: //心跳包发送
|
|
|
- {
|
|
|
- break;
|
|
|
- }
|
|
|
- case PROCESS_TCP_SLEEP: //网络休眠状态
|
|
|
- {
|
|
|
- break;
|
|
|
- }
|
|
|
- case PROCESS_TCP_ERROR: //错误状态
|
|
|
- {
|
|
|
- vTaskDelay(pdMS_TO_TICKS(1000));
|
|
|
- tcpErrorCounter++;
|
|
|
- if(tcpErrorCounter>60&&TcpSysReboot == 1)//无法驻网或者联网
|
|
|
+ case PROCESS_TCP_ERROR: //错误状态
|
|
|
{
|
|
|
- Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_ON);
|
|
|
- vTaskDelay(pdMS_TO_TICKS(2500));
|
|
|
- Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_OFF);
|
|
|
- vTaskDelay(pdMS_TO_TICKS(2500));
|
|
|
- tcpErrorCounter = 0;
|
|
|
+ vTaskDelay(pdMS_TO_TICKS(1000));
|
|
|
+ tcpErrorCounter++;
|
|
|
+ if(tcpErrorCounter>60&&TcpSysReboot == 1)//无法驻网或者联网
|
|
|
+ {
|
|
|
+ Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_ON);
|
|
|
+ vTaskDelay(pdMS_TO_TICKS(2500));
|
|
|
+ Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_OFF);
|
|
|
+ vTaskDelay(pdMS_TO_TICKS(2500));
|
|
|
+ tcpErrorCounter = 0;
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_INIT);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ PROC_TCP_STATE_SWITCH(PROCESS_TCP_IDLE);
|
|
|
+ }
|
|
|
+
|
|
|
+ break;
|
|
|
}
|
|
|
- PROC_TCP_STATE_SWITCH(PROCESS_TCP_IDLE);
|
|
|
- break;
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -259,7 +294,7 @@ sint8 tcpipConnectionSend(uint8 TcpConnectId, uint8 *SendDataPtr, uint16 SendDat
|
|
|
}
|
|
|
sint8 TcpConnectFunc(sint8 *ConnectId)
|
|
|
{
|
|
|
- uint8 ConnectStep = 0;
|
|
|
+ uint8 ConnectStep = 1;
|
|
|
sint8 ChkState = 0;
|
|
|
sint8 ATRet = -1;
|
|
|
uint8 UartRecvPtr[100];
|
|
@@ -267,7 +302,7 @@ sint8 TcpConnectFunc(sint8 *ConnectId)
|
|
|
{
|
|
|
switch (ConnectStep)
|
|
|
{
|
|
|
- case 0: // AT指令同步
|
|
|
+ case 1: // AT指令同步
|
|
|
{
|
|
|
char *ATCmdSend = (char *)("ATE0\r\n");
|
|
|
uint8 ATCmdSendLen = mstrlen(ATCmdSend);
|
|
@@ -294,7 +329,7 @@ sint8 TcpConnectFunc(sint8 *ConnectId)
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- case 1: // Netopen
|
|
|
+ case 2: // Netopen
|
|
|
{
|
|
|
AtcmdTransmit(AT_NETOPEN, NULL, 0, &ATRet,100);
|
|
|
if (ATRet == 0)
|
|
@@ -308,7 +343,7 @@ sint8 TcpConnectFunc(sint8 *ConnectId)
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- case 2: //连接检查
|
|
|
+ case 3: //连接检查
|
|
|
{
|
|
|
AtcmdTransmit(AT_CONNECTCHK, NULL, 0, &ATRet,1000); // ATret返回的值是连接id,如果未连接返回-1
|
|
|
if (ATRet >= 0)
|
|
@@ -322,7 +357,7 @@ sint8 TcpConnectFunc(sint8 *ConnectId)
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- case 3: //域名转换
|
|
|
+ case 4: //域名转换
|
|
|
{
|
|
|
char AtCmdSend[30] = {0};
|
|
|
uint8 AtCmdSendLen = 0;
|
|
@@ -342,7 +377,7 @@ sint8 TcpConnectFunc(sint8 *ConnectId)
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- case 4: //创建连接
|
|
|
+ case 5: //创建连接
|
|
|
{
|
|
|
char AtCmdSend[50] = {0};
|
|
|
uint8 AtCmdSendTotalLen = 0;
|
|
@@ -736,7 +771,7 @@ void TcpDataEncode(uint32 *PtrSendAddr, uint16 *SendLen)
|
|
|
static UTC8TimeType UTC8TimeTcp;
|
|
|
uint8 *SendBuffer = NULL;
|
|
|
uint8 DataIdx = 0;
|
|
|
- if (TcpSendTimeCounter == 5)
|
|
|
+ if ((TcpSendTimeCounter) % (10*60) == 5)
|
|
|
{
|
|
|
DataIdx = VerMsg; //版本信息发送
|
|
|
}
|
|
@@ -744,19 +779,18 @@ void TcpDataEncode(uint32 *PtrSendAddr, uint16 *SendLen)
|
|
|
{
|
|
|
DataIdx = TruckBattMsg; //电池信息发送
|
|
|
}
|
|
|
- else if ((TcpSendTimeCounter) % 60 == 2)
|
|
|
+ else if ((TcpSendTimeCounter ) % 60 == 2)
|
|
|
{
|
|
|
DataIdx = TruckVehiMsg; //车辆信息发送
|
|
|
}
|
|
|
- else if ((TcpSendTimeCounter) % 10 == 3)
|
|
|
+ else if ((TcpSendTimeCounter) % 60 == 3)
|
|
|
{
|
|
|
- DataIdx = GpsMsg; //定位信息发送
|
|
|
+ DataIdx = TruckAcclMsg; //累计信息发送
|
|
|
}
|
|
|
- else if ((TcpSendTimeCounter) % 60 == 4)
|
|
|
+ else if ((TcpSendTimeCounter) % 10 == 4)
|
|
|
{
|
|
|
- DataIdx = TruckAcclMsg; //累计信息发送
|
|
|
+ DataIdx = GpsMsg; //定位信息发送
|
|
|
}
|
|
|
-
|
|
|
else if ((TcpSendTimeCounter) % (60*60*2) == 6)
|
|
|
{
|
|
|
DataIdx = 0x01; //时间校准
|
|
@@ -985,6 +1019,10 @@ void TcpDataEncode(uint32 *PtrSendAddr, uint16 *SendLen)
|
|
|
{
|
|
|
BMS_Mode = 2;
|
|
|
}
|
|
|
+ else if(BMS_Mode == 2)
|
|
|
+ {
|
|
|
+ BMS_Mode = 3;
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
BMS_Mode = 1;
|
|
@@ -1238,8 +1276,11 @@ static void TcpDataInfoRecvHandle(uint8 *DataRecv, uint16 DataRecvLen)
|
|
|
memcpy(&TcpCmdAnswer[24], (Ptr + 24), 6);
|
|
|
TcpCmdAnswer[30] = bcc_chk(TcpCmdAnswer, 30);
|
|
|
tcpipConnectionSend(SocketId, TcpCmdAnswer, 31);
|
|
|
+
|
|
|
+ Fota_Process_Going = true;
|
|
|
vTaskDelay(pdMS_TO_TICKS(5000));
|
|
|
Fota_Ftp(Ptr + 32);
|
|
|
+ Fota_Process_Going = false;
|
|
|
}
|
|
|
else if (*(Ptr + 30) == 0x80) //远程锁定命令
|
|
|
{
|
|
@@ -1399,7 +1440,8 @@ void Fota_Ftp(uint8 *dataPtrIn)
|
|
|
char *p = NULL;
|
|
|
p = strtok((char *)dataPtrIn, ",");
|
|
|
uint8 index = 0;
|
|
|
- uint8 ftp_EndFlg = 0;
|
|
|
+ boolean ftp_EndFlg = false;
|
|
|
+
|
|
|
while (p&&index<20)
|
|
|
{
|
|
|
databuffer[index] = p;
|
|
@@ -1557,6 +1599,12 @@ void Fota_Ftp(uint8 *dataPtrIn)
|
|
|
sprintf(ATSendDataBuffer, "AT+CFTRANTX=\"c:/%s\",%d,%d\r\n", filenamePtr,currentAddr, readLenAsk);
|
|
|
UART_Query_Data(UART_LPUART1, UART_LPUART1, ATSendDataBuffer, mstrlen(ATSendDataBuffer), UartData, &ReadLen, pdMS_TO_TICKS(5000));
|
|
|
sprintf(findDataBuffer, "+CFTRANTX: DATA,%d", readLenAsk);
|
|
|
+
|
|
|
+ if(currentAddr % 0x100 == 0)
|
|
|
+ {
|
|
|
+ Dio_FlipChannel(DioConf_DioChannel_PTE9_GPIO_OUT_MCU_LED5);
|
|
|
+ }
|
|
|
+
|
|
|
if (ReadLen == (readLenAsk+strlen(findDataBuffer)+26))
|
|
|
{
|
|
|
retptr = (uint8 *)strstr((char *)UartData, findDataBuffer);
|
|
@@ -1605,19 +1653,22 @@ void Fota_Ftp(uint8 *dataPtrIn)
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ Dio_WriteChannel(DioConf_DioChannel_PTE9_GPIO_OUT_MCU_LED5,STD_ON); //switch off the led
|
|
|
+
|
|
|
if(getDataLenErrCount<50&&Hal_FlsCheckIsTransferSucceed()==TRUE)
|
|
|
{
|
|
|
ftp_process++;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ftp_EndFlg = 1;
|
|
|
+ ftp_process++;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ftp_EndFlg = 1;
|
|
|
+ ftp_process++;
|
|
|
}
|
|
|
break;
|
|
|
}
|