diff --git a/Project/GateWay/MDK/GateWay.uvoptx b/Project/GateWay/MDK/GateWay.uvoptx
index 83ea766..2a66b9f 100644
--- a/Project/GateWay/MDK/GateWay.uvoptx
+++ b/Project/GateWay/MDK/GateWay.uvoptx
@@ -432,9 +432,9 @@
0
0
- 643
+ 568
1
- 55060
+ 54318
0
0
0
@@ -443,23 +443,7 @@
1
..\source\User\Src\CatOneTask.c
- \\GateWay\../source/User/Src/CatOneTask.c\643
-
-
- 1
- 0
- 569
- 1
- 54386
- 0
- 0
- 0
- 0
- 0
- 1
- ..\source\User\Src\CatOneTask.c
-
- \\GateWay\../source/User/Src/CatOneTask.c\569
+ \\GateWay\../source/User/Src/CatOneTask.c\568
@@ -503,6 +487,11 @@
1
CatOne.AtCmd
+
+ 8
+ 1
+ rstCnt,0x0A
+
diff --git a/Project/GateWay/source/User/Src/CatOneTask.c b/Project/GateWay/source/User/Src/CatOneTask.c
index ed285ef..31e6d46 100644
--- a/Project/GateWay/source/User/Src/CatOneTask.c
+++ b/Project/GateWay/source/User/Src/CatOneTask.c
@@ -543,6 +543,7 @@ void CatOneLoopHandler(void)
case CAT_ONE_DUCH_MODE:
Cat1DuchReady = true;
+ uint16_t rstCnt = 0;
while(ChannelIsActive(CatOne.GateWay->ConfigPara, CH_CAT1)) {
if(duchRd != duchWr) {
uint16_t avail = (duchWr - duchRd) & 0x1FFF;
@@ -563,10 +564,13 @@ void CatOneLoopHandler(void)
} else {
rt_thread_delay(50);
}
+ if(++rstCnt > 12000) {
+ rstCnt = 0;
+ CatOne.Cat1Status = CAT_ONE_INIT;
+ break;
+ }
}
- Cat1DuchReady = false;
- CatOne.Cat1Status = CAT_ONE_IDEL;
- break;
+ break;
case CAT_ONE_OFF:
CAT1_RESET_SET();