fix merging

This commit is contained in:
gitea 2024-06-16 14:49:46 +08:00
commit a0fe9b5939
3 changed files with 53 additions and 32 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@ aio/.idea/
aio/code/__pycache__/ aio/code/__pycache__/
aio/package/ aio/package/
aio/venv aio/venv
aio/__pycache__/

View File

@ -188,39 +188,44 @@ v0.1.4(2024/06/06)
6. 支持工业/协作两条产品线的电机电流数据处理包括单轴场景max/avg计算 6. 支持工业/协作两条产品线的电机电流数据处理包括单轴场景max/avg计算
v0.1.5(2024/06/12) v0.1.5(2024/06/12)
1. [aio.py]: 主界面切换不同功能时保持placehold一致 1. [aio.py] 主界面切换不同功能时保持placehold一致
2. [brake.py]: 由于制动采集模板和内容的更改,适配了新的数据,更新了算法 2. [brake.py] 由于制动采集模板和内容的更改,适配了新的数据,更新了算法
3. [aio.py]: 新增tabview组件区分数据处理和自动化测试功能 3. [aio.py] 新增tabview组件区分数据处理和自动化测试功能
4. [aio.py]: 重新调整界面配色 4. [aio.py] 重新调整界面配色
5. [aio.py]: 修改了write2textbox函数定制化显示每一行的颜色针对每一行可自定义输出内容颜色 5. [aio.py] 修改了write2textbox函数定制化显示每一行的颜色针对每一行可自定义输出内容颜色
6. [brake.py/iso.py/current.py]: 由于第 5 点的更改,同时修改了其他文件相关引用的部分 6. [brake.py/iso.py/current.py] 由于第 5 点的更改,同时修改了其他文件相关引用的部分
7. [aio.py]: 更改label/entry/optionmenu等控件的生成方式使用循环实现更加简洁和容易维护 7. [aio.py] 更改label/entry/optionmenu等控件的生成方式使用循环实现更加简洁和容易维护
8. [aio.py]: 修改customtkinter库中C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\customtkinter\windows\widgets\ctk_tabview.py文件参考https://github.com/TomSchimansky/CustomTkinter/issues/2296实现修改tabview组件的字体大小 8. [aio.py] 修改customtkinter库中C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\customtkinter\windows\widgets\ctk_tabview.py文件参考https://github.com/TomSchimansky/CustomTkinter/issues/2296实现修改tabview组件的字体大小
9. [aio.py]: 修改menu_main->menu_main_dpmenu_sub->menu_sub_dp为后续其他tab功能按钮做扩展是针对第三点做出的相应调整 9. [aio.py] 修改menu_main->menu_main_dpmenu_sub->menu_sub_dp为后续其他tab功能按钮做扩展是针对第三点做出的相应调整
10. [layout.xlsx]: 添加了各个功能的流程图 10. [layout.xlsx] 添加了各个功能的流程图
v0.1.5.1(2024/06/12) v0.1.5.1(2024/06/12)
[current.py]: 修改cycle功能中数据清理范围为70000行并将threshold从2调整为5 1. [current.py] 修改cycle功能中数据清理范围为70000行并将threshold从2调整为5
[current.py]: 修改位置超限提示,使更清楚了解问题原因 2. [current.py] 修改位置超限提示,使更清楚了解问题原因
[current.py]: 修改find_point函数中错误提示增加定位信息 3. [current.py] 修改find_point函数中错误提示增加定位信息
[README.md]: 精简打包命令 4. [README.md] 精简打包命令
[requirements.txt]: 新增必要库配置文件 5. [requirements.txt] 新增必要库配置文件
v0.1.5.2(2024/06/13) v0.1.5.2(2024/06/13)
[brake.py/aio.py]: 将sto修改为estop 1. [brake.py/aio.py]: 将sto修改为estop
[brake.py]: 修改了速度计算逻辑新版本的vel列数据遵循如下规则av = vel * 180 / pi根据av再计算speed 2. [brake.py] 修改了速度计算逻辑新版本的vel列数据遵循如下规则av = vel * 180 / pi根据av再计算speed
[brake.py]: 将threshold修改为常量50 3. [brake.py] 将threshold修改为常量50
[brake.py]: 提高了输出提示语的明确性,删除了不必要的省略号 4. [brake.py] 提高了输出提示语的明确性,删除了不必要的省略号
[brake.py]: 更正了之前的数据copy错误重新优化了estop处是否达到指定百分比的判定逻辑 5. [brake.py] 更正了之前的数据copy错误重新优化了estop处是否达到指定百分比的判定逻辑
v0.1.5.3(2024/06/14) v0.1.5.3(2024/06/14)
[aio.py]: 修改w_param为84适配14寸电脑屏幕 1. [aio.py] 修改w_param为84适配14寸电脑屏幕
[brake.py]: 将判定合规逻辑修改为角速度超过指定角速度的95% 2. [brake.py] 将判定合规逻辑修改为角速度超过指定角速度的95%
[README.md]: 稍作修改,包括打包方式,功能特性等 3. [README.md] 稍作修改,包括打包方式,功能特性等
v0.1.6.0(2024/06/15) v0.1.6.0(2024/06/15)
[aio.py]: 新增wavelogger处理界面 [aio.py] 新增wavelogger处理界面
[wavelogger.py]: 新增精度数据处理模块 [wavelogger.py] 新增精度数据处理模块
v0.1.6.1(2024/06/16)
1. [wavelogger.py] bugfix single_file_proc函数中修改_start起始点的计算逻辑
2. [wavelogger.py] bugfix find_point函数中当判断条件为临界值 2.0 的时候针对forward和backward两种情况对row_target做与判断逻辑相同的处理目的是避免形成死循环
v0.1.6.2(2024/06/16) v0.1.6.2(2024/06/16)
1. [current.py] 修改了max/avg相关功能中对于返回值的处理逻辑并在输出框以行的形式打印出来 1. [current.py] 修改了max/avg相关功能中对于返回值的处理逻辑并在输出框以行的形式打印出来

View File

@ -1,4 +1,5 @@
import os import os
import random
from pandas import read_csv from pandas import read_csv
from csv import reader from csv import reader
@ -6,7 +7,7 @@ from sys import argv
from os.path import exists from os.path import exists
from os import scandir, remove from os import scandir, remove
from openpyxl import Workbook from openpyxl import Workbook
from random import randint
def traversal_files(path, w2t): def traversal_files(path, w2t):
# 功能:以列表的形式分别返回指定路径下的文件和文件夹,不包含子目录 # 功能:以列表的形式分别返回指定路径下的文件和文件夹,不包含子目录
@ -33,14 +34,18 @@ def find_point(bof, step, pos, data_file, flag, df, row, w2t):
# flag: greater than or lower than # flag: greater than or lower than
if flag == 'gt': if flag == 'gt':
while 0 < row < df.index[-1]-100: while 0 < row < df.index[-1]-100:
if df.iloc[row, 2] > 2: _value = df.iloc[row, 2]
if _value > 2:
if bof == 'backward': if bof == 'backward':
row -= step row -= step
elif bof == 'forward': elif bof == 'forward':
row += step row += step
continue continue
else: else:
row_target = row if bof == 'backward':
row_target = row - step
elif bof == 'forward':
row_target = row + step
break break
else: else:
if bof == 'backward': if bof == 'backward':
@ -49,14 +54,18 @@ def find_point(bof, step, pos, data_file, flag, df, row, w2t):
row_target = row + 100 row_target = row + 100
elif flag == 'lt': elif flag == 'lt':
while 0 < row < df.index[-1]-100: while 0 < row < df.index[-1]-100:
if df.iloc[row, 2] < 2: _value = df.iloc[row, 2]
if _value < 2:
if bof == 'backward': if bof == 'backward':
row -= step row -= step
elif bof == 'forward': elif bof == 'forward':
row += step row += step
continue continue
else: else:
row_target = row if bof == 'backward':
row_target = row - step
elif bof == 'forward':
row_target = row + step
break break
else: else:
if bof == 'backward': if bof == 'backward':
@ -117,13 +126,15 @@ def single_file_proc(ws, data_file, df, low, high, cycle, w2t):
_step = 5 _step = 5
_data = {} _data = {}
row_max = df.index[-1]-100 row_max = df.index[-1]-100
print(data_file)
while _row < row_max: while _row < row_max:
if count not in _data.keys(): if count not in _data.keys():
_data[count] = [] _data[count] = []
if df.iloc[_row, 2] < 2: _value = df.iloc[_row, 2]
if _value < 2:
_row_lt = find_point('forward', _step, 'c'+str(_row), data_file, 'lt', df, _row, w2t) _row_lt = find_point('forward', _step, 'c'+str(_row), data_file, 'lt', df, _row, w2t)
_start = int((_row_lt - _row_gt - 50) / 2) _start = int(_row_gt + (_row_lt - _row_gt - 50) / 2)
_end = _start + 50 _end = _start + 50
value = df.iloc[_start:_end, 2].mean() + df.iloc[_start:_end, 2].std() value = df.iloc[_start:_end, 2].mean() + df.iloc[_start:_end, 2].std()
_data[count].append(value) _data[count].append(value)
@ -138,6 +149,7 @@ def single_file_proc(ws, data_file, df, low, high, cycle, w2t):
ws.cell(row=1, column=i).value = f"{i-1}次测试" ws.cell(row=1, column=i).value = f"{i-1}次测试"
ws.cell(row=i, column=1).value = f"{i-1}次精度变化" ws.cell(row=i, column=1).value = f"{i-1}次精度变化"
print(_data)
for i in sorted(_data.keys()): for i in sorted(_data.keys()):
_row = 2 _row = 2
_column = i + 1 _column = i + 1
@ -150,6 +162,9 @@ def execution(data_files, w2t):
wb = Workbook() wb = Workbook()
for data_file in data_files: for data_file in data_files:
ws, df, low, high, cycle = preparation(data_file, wb, w2t) ws, df, low, high, cycle = preparation(data_file, wb, w2t)
print(f"low = {low}")
print(f"high = {high}")
print(f"cycle = {cycle}")
single_file_proc(ws, data_file, df, low, high, cycle, w2t) single_file_proc(ws, data_file, df, low, high, cycle, w2t)
wd = data_files[0].split('\\') wd = data_files[0].split('\\')