v0.1.9.1(2024/07/12)

1. [APIs: do_brake.py]
   - 修改正负方向拍急停的逻辑,基本原理为:运行之前发送正负方向信号pon给RL,RL根据信号以及速度正负号运作
   - 由于上述修改,正负方向急停准确率可达100%
2. [APIs: aio.py]
   - 修改write2textbox的输出逻辑,实现更加灵活的自定义输出,同时修改相关部分
3. [APIs: openapi.py]
   - modbus类新增指示政府方向急停的信号pon,将modbus类入参中的tab_name删除,并修改tab_name的值为'openapi'
   - socket类种修改tab_name的值为'openapi'
This commit is contained in:
2024-07-12 10:48:50 +08:00
parent 2508be7b35
commit dee07b77bb
8 changed files with 103 additions and 39 deletions

View File

@ -43,8 +43,7 @@ class App(customtkinter.CTk):
self.my_font = customtkinter.CTkFont(family="Consolas", size=16, weight="bold")
self.w_param = 84
self.hr = None
self.md_at = None
self.md_dp = None
self.md = None
# =====================================================================
# configure window
self.title("AIO - All in one automatic toolbox")
@ -71,7 +70,7 @@ class App(customtkinter.CTk):
btns_func['log']['btn'].configure(command=lambda: self.thread_it(self.func_log_callback))
btns_func['end']['btn'].configure(command=lambda: self.thread_it(self.func_end_callback))
# create version info
self.label_version = customtkinter.CTkLabel(self.frame_func, justify='left', text="Vers: 0.1.9.0\nDate: 07/10/2024", font=self.my_font, text_color="#4F4F4F")
self.label_version = customtkinter.CTkLabel(self.frame_func, justify='left', text="Vers: 0.1.9.1\nDate: 07/12/2024", font=self.my_font, text_color="#4F4F4F")
self.frame_func.rowconfigure(6, weight=1)
self.label_version.grid(row=6, column=0, padx=20, pady=20, sticky='s')
# =====================================================================
@ -175,7 +174,7 @@ class App(customtkinter.CTk):
else:
for _func in _btn_funcs:
if _btn_funcs[_func] == value:
btn_functions.main(self.hr, self.md_at, _func, self.write2textbox)
btn_functions.main(self.hr, self.md, _func, self.write2textbox)
break
self.seg_button.configure(state='normal')
@ -185,8 +184,7 @@ class App(customtkinter.CTk):
with open(f"{current_path}/../assets/templates/heartbeat", "w", encoding='utf-8') as f_hb:
f_hb.write('0')
self.hr = openapi.HmiRequest(self.write2textbox)
self.md_at = openapi.ModbusRequest(self, 'Automatic Test')
self.md_dp = openapi.ModbusRequest(self, 'Data Process')
self.md = openapi.ModbusRequest(self.write2textbox)
while True:
with open(f'{current_path}/../assets/templates/heartbeat', 'r', encoding='utf-8') as f_hb:
@ -194,7 +192,6 @@ class App(customtkinter.CTk):
pb_color = 'green' if c_state == '1' else 'red'
self.progressbar.configure(progress_color=pb_color)
if c_state == '0':
# self.textbox.delete(index1='1.0', index2='end')
self.hr.t_bool = False
sleep(3)
del self.hr
@ -203,7 +200,6 @@ class App(customtkinter.CTk):
def tabview_click(self):
self.initialization()
# self.textbox.delete(index1='1.0', index2='end')
tab_name = self.tabview.get()
if tab_name == 'Data Process':
@ -351,7 +347,21 @@ class App(customtkinter.CTk):
self.textbox.insert(index='end', text=text + '\n', tags=color)
self.textbox.update()
self.textbox.see('end')
elif tab_name == 'openapi' and tab_name_cur == 'Automatic Test':
if wait != 0:
self.textbox.insert(index='end', text=text, tags=color)
self.textbox.update()
self.textbox.see('end')
elif exitcode != 0:
self.textbox.insert(index='end', text=text + '\n', tags=color)
self.textbox.update()
self.textbox.see('end')
raise Exception(f"Error code: {exitcode}")
else:
self.textbox.insert(index='end', text=text + '\n', tags=color)
self.textbox.update()
self.textbox.see('end')
def is_float(self, flag, *args):
for item in args:
try:
@ -459,10 +469,10 @@ class App(customtkinter.CTk):
func_dict[flag](path=args[0], w2t=self.write2textbox)
elif flag == 5:
self.pre_warning()
func_dict[flag](path=args[0], hr=self.hr, md=self.md_at, loadsel=args[1], w2t=self.write2textbox)
func_dict[flag](path=args[0], hr=self.hr, md=self.md, loadsel=args[1], w2t=self.write2textbox)
elif flag == 6:
self.pre_warning()
func_dict[flag](path=args[0], hr=self.hr, md=self.md_at, loadsel=args[1], w2t=self.write2textbox)
func_dict[flag](path=args[0], hr=self.hr, md=self.md, loadsel=args[1], w2t=self.write2textbox)
else:
tkinter.messagebox.showerror(title="参数错误", message="请检查对应参数是否填写正确!", )