重启TT后网络不正常,缓存后回退版本

This commit is contained in:
CSSC-WORK\murmur 2023-08-21 11:17:40 +08:00
parent 14c09d5134
commit cd37b8f3f9
6 changed files with 31 additions and 18 deletions

View File

@ -14,7 +14,8 @@ maxTTRetryCnt=3
minTTsinal=3 minTTsinal=3
# TT状态检测周期数 # TT状态检测周期数
minTTPeriCnt=2 minTTPeriCnt=2
compressType=1 # 压缩方式0-不压缩
compressType=0
# 加密方式0-不加密 # 加密方式0-不加密
encrytType=1 encrytType=1
# 开窗时间UTC+8,持续时间H。以【,】为分隔符 # 开窗时间UTC+8,持续时间H。以【,】为分隔符

View File

@ -315,7 +315,7 @@ static void chkAndSendFile_thread_entry()
{ {
LOG_W("第%d次尝试中TT准备失败重试。", var + 1); LOG_W("第%d次尝试中TT准备失败重试。", var + 1);
deInitTT(); deInitTT();
rt_thread_mdelay(1000); rt_thread_mdelay(15000);
initTT(); initTT();
} }
else { else {
@ -404,7 +404,7 @@ static void timeoutFunc(void *parameter)
void initTT_thread_entry() void initTT_thread_entry()
{ {
pwTT_thread_entry("1"); pwTT_thread_entry("1");
rt_thread_mdelay(15000);//wait TT to boot up
while (1) while (1)
{ {
if (!isTTon()) { if (!isTTon()) {
@ -444,6 +444,9 @@ void initTT_thread_entry()
} }
initThread=RT_NULL; initThread=RT_NULL;
// list_thread();
// cmd_free();
} }
@ -451,9 +454,10 @@ void deInitTT_thread_entry()
{ {
if (rt_sem_take(shuntDownTT, RT_WAITING_FOREVER) == RT_EOK) if (rt_sem_take(shuntDownTT, RT_WAITING_FOREVER) == RT_EOK)
{ {
deinitThread =RT_NULL;
tcpClose(); tcpClose();
rt_hw_stm32_eth_deinit(); //qu激活网口 rt_hw_stm32_eth_deinit(); //qu激活网口
// rt_thread_mdelay(3000);
pwTT_thread_entry("0"); pwTT_thread_entry("0");
// if (0&& tmrToPNTT) // if (0&& tmrToPNTT)
// { // {
@ -462,8 +466,12 @@ void deInitTT_thread_entry()
// } // }
LOG_W("shunt down TT DONE"); LOG_W("shunt down TT DONE");
} }
initThread=RT_NULL;
deinitThread =RT_NULL; deinitThread =RT_NULL;
// list_thread();
// cmd_free();
} }
/** /**

View File

@ -147,9 +147,10 @@ void upSend_thread_entry(void* parameter)
{ {
SMSG* msg = RT_NULL; SMSG* msg = RT_NULL;
msg = (SMSG*) parameter; msg = (SMSG*) parameter;
LOG_D("1--%p",msg);
// LOG_HEX("--",16,msg->data,msg->len);
//check status
uint8_t sta = 1; uint8_t sta = 1;
while (0 && !isTTjh()) //判断TT状态 while (0 && !isTTjh()) //判断TT状态
{ {
@ -189,22 +190,18 @@ void upSend_thread_entry(void* parameter)
// size_t rst = packMsg(&cfg, tmpmsg->data, msg->len, dout);//packMsgs // size_t rst = packMsg(&cfg, tmpmsg->data, msg->len, dout);//packMsgs
LOG_HEX("upSend", 27, dout, rst); LOG_HEX("upSend", 27, dout, rst);
if (rst) if (rst)
{ {LOG_D("2--%p",msg);
while (!isTCPok())
{
rt_thread_mdelay(1000);
}
if (sendMsg(dout, rst) == RT_EOK) if (sendMsg(dout, rst) == RT_EOK)
{ {
// tcpClose();
LOG_I("send to TT Done."); LOG_I("send to TT Done.");
} }
else//发送失败,实例不存在此种情况 else//发送失败,实例不存在此种情况
{ {LOG_D("3--%p",msg);
LOG_E("send error, try to cache %d bytes data to file.",msg->len); LOG_E("send error, try to cache %d bytes data to file.",msg->len);
cacheDataToFile(msg->data, msg->len); cacheDataToFile(msg->data, msg->len);
} }
} }
list_thread();
return ; return ;
} }
/** /**
@ -221,7 +218,7 @@ RT_WEAK int upSend(uint8_t *din, size_t len)
memset(&msg, 0, sizeof(SMSG)); memset(&msg, 0, sizeof(SMSG));
memcpy(msg.data,din,len); memcpy(msg.data,din,len);
msg.len=len; msg.len=len;
LOG_D("0--%p",&msg);
/* 创建 serial 线程 */ /* 创建 serial 线程 */
rt_thread_t thread = rt_thread_create("upSend", upSend_thread_entry, (void *) &msg, 1024 * 5, 27, 10); rt_thread_t thread = rt_thread_create("upSend", upSend_thread_entry, (void *) &msg, 1024 * 5, 27, 10);
/* 创建成功则启动线程 */ /* 创建成功则启动线程 */
@ -1018,6 +1015,7 @@ void parseTTData(uint8_t *din, size_t len)
//数据 //数据
else else
{ {
resetTM();//非ACK信号才能触发延时逻辑
uint8_t rst = memcmp(ndin,head,10);//只比较到ftype uint8_t rst = memcmp(ndin,head,10);//只比较到ftype
if (rst) if (rst)
{ {

View File

@ -314,9 +314,10 @@ static int webclient_get_data(const char *url)
LOG_D("webclient GET request response data :"); LOG_D("webclient GET request response data :");
LOG_D("%s", buffer); LOG_D("%s", buffer);
tt_parse(buffer);
if (buffer) if (buffer)
{ {
tt_parse(buffer);
web_free(buffer); web_free(buffer);
} }
@ -438,7 +439,10 @@ void repGetTT_thread_entry(void* parameter)
strcpy(TTinfo->ele,"-"); strcpy(TTinfo->ele,"-");
break; break;
} }
web_free(url); if (url) {
web_free(url);
}
// rt_thread_mdelay(100); // rt_thread_mdelay(100);
//trans&copy new info to arrBuf //trans&copy new info to arrBuf

View File

@ -454,10 +454,11 @@ void recTT_thread_entry()
LOG_HEX("TTrec", 27, msg.data, msg.size); LOG_HEX("TTrec", 27, msg.data, msg.size);
//此处调用处理函数 //此处调用处理函数
// LOG_D("try to parse data."); // LOG_D("try to parse data.");
resetTM(); // resetTM();
parseTTData(msg.data,msg.size); parseTTData(msg.data,msg.size);
} }
} }
LOG_D("close recTT_thread_entry.");
} }
//INIT_COMPONENT_EXPORT(recTT_thread_entry); //INIT_COMPONENT_EXPORT(recTT_thread_entry);

View File

@ -673,8 +673,9 @@ __exit:
void rt_hw_stm32_eth_deinit() void rt_hw_stm32_eth_deinit()
{ {
// HAL_ETH_DeInit(&EthHandle); // HAL_ETH_DeInit(&EthHandle);
rt_timer_delete(stm32_eth_device.poll_link_timer); rt_timer_delete(stm32_eth_device.poll_link_timer);
eth_device_deinit(&(stm32_eth_device.parent)); eth_device_deinit(&(stm32_eth_device.parent));
if (Rx_Buff) if (Rx_Buff)
{ {
rt_free(Rx_Buff); rt_free(Rx_Buff);