与上位机测试通过

This commit is contained in:
ranchuan
2023-06-14 18:05:04 +08:00
parent 2396796578
commit 2e705692b7
19 changed files with 82 additions and 117 deletions

View File

@@ -86,7 +86,7 @@ class utcp:
# 生成一个任务的参数
def scheme_task_to_byte(j:json):
data=bytearray()
data.append(j["TaskID"])
@@ -99,6 +99,7 @@ def scheme_task_to_byte(j:json):
data.append(i>>8)
return data
# 生成任务参数序列
def scheme_tasks_to_byte(j:json):
data=bytearray()
for i in j["TaskArray"]:
@@ -109,7 +110,7 @@ def scheme_tasks_to_byte(j:json):
data.append(0xff)
return data
# 生成任务id序列
def scheme_taskids_to_byte(j:json):
t=bytearray()
t.append(j["PlanID"]&0xff)
@@ -124,7 +125,7 @@ def scheme_taskids_to_byte(j:json):
t.append(0xff)
return t
# 根据方案生成小板用的字节数据
def scheme_to_byte(j:json):
t=bytearray()
t+=scheme_taskids_to_byte(j)
@@ -142,7 +143,7 @@ def arr_from_int(num:int):
return bytearray([num&0xff,(num>>8)&0xff,(num>>16)&0xff,(num>>24)&0xff])
# 先max后min
# 提取方案中的范围数据, 先max后min
def scheme_get_task_range(j:json):
t=bytearray()
return_count=j["ReturnCount"]
@@ -155,7 +156,7 @@ def scheme_get_task_range(j:json):
t+=arr_from_int(0)
return t
# 根据方案生成主板用的字节数据
def scheme_to_host(j:json):
t=bytearray()
t+=arr_from_int(j["PlanID"])
@@ -212,6 +213,7 @@ class handle:
print("send done.")
return bytearray()
# 设置要发送的文件
def set_file(self,name:str):
self.data=bytearray()
with open(name,"rb") as f:
@@ -222,6 +224,8 @@ class handle:
self.sent_bytes=0
self.packet_now=0
self.packet_bytes=200
# 设置要发送的方案
def set_json(self,name:str):
self.data=bytearray()
with open(name,"rb") as f:
@@ -355,17 +359,17 @@ class protu(QObject):
t=self.decode(data)
self.recv_data+=t
print("recv",t.hex(","))
# print("recv",t.hex(","))
self.recv_signal.emit(self.cmd,t,self.str_err)
# self.send_file_next(self.cmd,t,self.str_err)
print("sent signal---")
# print("sent signal---")
data.clear()
# else:
# print("len(data)={d1},num_ro_recv={d2}".format(d1=len(data),d2=self.num_to_recv))
def send(self,cmd:int,data:bytearray):
self.cmd=cmd
self.cmd_no+=1
print("send:",data.hex(","))
# print("send:",data.hex(","))
self.ser.write(self.encode(data))
def start_recv(self):
self.thread_ = threading.Thread(target=self.recv, args=())

View File

@@ -355,7 +355,7 @@ class updata_dlg(QObject):
except Exception as e:
pass
def recv_slot(self,cmd:int,data:bytearray,err:str):
print("recv:",cmd,data)
# print("recv:",cmd,data)
if(self.cmd!=cmd):
return
try: