From ada7b40da88974c6f4596c7c9d1317eb19095a0e Mon Sep 17 00:00:00 2001
From: tao_z <tzj0429@163.com>
Date: Sun, 29 May 2022 23:26:03 +0800
Subject: [PATCH] 新增bootloader界面以及函数

---
 USBCAN.py |   40 +++++++++++++++++++---------------------
 1 files changed, 19 insertions(+), 21 deletions(-)

diff --git a/USBCAN.py b/USBCAN.py
index 70248b3..89eebe0 100644
--- a/USBCAN.py
+++ b/USBCAN.py
@@ -6,7 +6,7 @@
 import logging
 from can import BusABC, Message
 import time
-from multiprocessing import Queue, Value
+from multiprocessing import Queue, Value, Pipe
 
 USBCAN_DEVICE_TYPE = c_uint
 
@@ -412,26 +412,23 @@
             needClose {Value} -- disconnect when needed
             msgQueue {Queue} -- received data
         '''
-        loopCnt = 0
-        while connectRet.value == 1:
-            # print(connectRet.value, needClose.value, start.value)
-            if needClose.value == 1:
-                ret = self.CloseDevice()
-                if ret == 1:
-                    needClose.value = 0
-                    connectRet.value = 0
-                return
-            msgToSendCnt = sendQueue.qsize()
-            if msgToSendCnt > 0:
-                msg = Message()
-                for i in range(msgToSendCnt):
-                    msg = sendQueue.get()
-                    self.send(msg, 1)
-                    time.sleep(0.001)
-            loopCnt += 1
-            if loopCnt >= 15:
-                loopCnt = 0
-                # restNum = self.GetReceiveNum() if self.GetReceiveNum() <= 10 else 10
+        while True:
+            while connectRet.value == 1:
+                # print(connectRet.value, needClose.value, start.value)
+                if needClose.value == 1:
+                    ret = self.CloseDevice()
+                    if ret == 1:
+                        needClose.value = 0
+                        connectRet.value = 0
+                    return
+                # msgToSendCnt = sendQueue.qsize()
+                # if msgToSendCnt > 0:
+                #     msg = Message()
+                #     for i in range(msgToSendCnt):
+                #         msg = sendQueue.get()
+                #         self.send(msg, 1)
+                #         time.sleep(0.001)
+                # loopCnt += 1
                 revRet, num = self.Receive(len=10)
                 if num == 0:
                     pass
@@ -440,3 +437,4 @@
                         msgQueue.put(revRet[i])
                         self.logger.info(
                             "received can message.it't id is:{}".format(str(revRet[i].arbitration_id)))
+                time.sleep(0.05)

--
Gitblit v1.8.0