chore: GUI вынесен в отдельный класс + доработана структура проекта
This commit is contained in:
parent
c184397c6c
commit
8d71f8ffc0
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
from OptAlgorithm.AutoConfigClass import AutoConfigClass
|
||||
from src.OptAlgorithm.AutoConfigClass import AutoConfigClass
|
||||
from numpy import sqrt
|
||||
|
||||
class ConstantCalculator(AutoConfigClass):
|
||||
@ -1,6 +1,6 @@
|
||||
from OptAlgorithm.OptTimeCalculator import OptTimeCalculator
|
||||
from OptAlgorithm.AutoConfigClass import AutoConfigClass
|
||||
from OptAlgorithm.ConstantCalculator import ConstantCalculator
|
||||
from src.OptAlgorithm.OptTimeCalculator import OptTimeCalculator
|
||||
from src.OptAlgorithm.AutoConfigClass import AutoConfigClass
|
||||
from src.OptAlgorithm.ConstantCalculator import ConstantCalculator
|
||||
|
||||
from numpy import cos, sin, sqrt, cbrt, arcsin
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
from numpy import sqrt, arcsin, arccos, cos, sin
|
||||
|
||||
from OptAlgorithm.AutoConfigClass import AutoConfigClass
|
||||
from OptAlgorithm.ConstantCalculator import ConstantCalculator
|
||||
from src.OptAlgorithm.AutoConfigClass import AutoConfigClass
|
||||
from src.OptAlgorithm.ConstantCalculator import ConstantCalculator
|
||||
|
||||
class OptTimeCalculator(AutoConfigClass):
|
||||
|
||||
1
src/gui/__init__.py
Normal file
1
src/gui/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from .plot_window import PlotWindow
|
||||
@ -1,14 +1,11 @@
|
||||
import pyqtgraph as pg
|
||||
import numpy as np
|
||||
|
||||
from utils import read_json, DiagramParser
|
||||
from uml import Request, UMLCreator
|
||||
#нижний fe x1
|
||||
import qt_settings as qts
|
||||
from OptAlgorithm import OptAlgorithm
|
||||
from src.gui import qt_settings as qts
|
||||
from src.OptAlgorithm import OptAlgorithm
|
||||
|
||||
|
||||
class Application:
|
||||
class PlotWindow:
|
||||
def __init__(self,
|
||||
opt: OptAlgorithm,
|
||||
bool_dict: dict,
|
||||
@ -149,39 +146,3 @@ class Application:
|
||||
self.p11.setYRange(-1000, 5000)
|
||||
self.p12.setYRange(-50, 250)
|
||||
self.p13.setYRange(-400, 400)
|
||||
|
||||
|
||||
def get_ideal_timings(opt: OptAlgorithm) -> list[float]:
|
||||
data = opt.Ts
|
||||
ideal_time = [data['tclose'], data['tgrow'], opt.getMarkOpen()]
|
||||
return ideal_time
|
||||
|
||||
|
||||
def main():
|
||||
operator_params = read_json("params/operator_params.json")
|
||||
system_params = read_json("params/system_params.json")
|
||||
opt_algorithm = OptAlgorithm(operator_config=operator_params, system_config=system_params)
|
||||
ideal_times = get_ideal_timings(opt_algorithm)
|
||||
|
||||
parser = DiagramParser()
|
||||
parser.setData("2024_10_28-17_03_34.csv")
|
||||
bool_dict = parser.getBoolDict()
|
||||
float_dict = parser.getFloatDict()
|
||||
|
||||
request_generator = Request(server_url='http://www.plantuml.com/plantuml/svg/')
|
||||
uml_creator = UMLCreator(request_generator=request_generator,
|
||||
ideal_time=ideal_times,
|
||||
bool_dict=bool_dict,
|
||||
float_dict=float_dict)
|
||||
uml_creator.update_uml()
|
||||
|
||||
app = Application(opt=opt_algorithm,
|
||||
bool_dict=bool_dict,
|
||||
float_dict=float_dict)
|
||||
|
||||
app.updatePlots()
|
||||
pg.exec()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@ -235,7 +235,6 @@ QPushButton:disabled {
|
||||
"""
|
||||
|
||||
|
||||
|
||||
colors = [
|
||||
'#FF6F61', # яркий коралловый
|
||||
'#6B5B95', # приглушенный фиолетовый
|
||||
@ -249,8 +248,8 @@ colors = [
|
||||
'#45B8AC' # мягкий мятный
|
||||
]
|
||||
|
||||
RGBA = [(124, 252, 0),
|
||||
(255, 215, 0),
|
||||
RGBA = [(255, 255, 0),
|
||||
(32, 178, 70),
|
||||
(255, 69, 0),
|
||||
(123, 104, 238)
|
||||
]
|
||||
42
src/main.py
Normal file
42
src/main.py
Normal file
@ -0,0 +1,42 @@
|
||||
import pyqtgraph as pg
|
||||
|
||||
from utils import read_json, DiagramParser
|
||||
from uml import Request, UMLCreator
|
||||
from OptAlgorithm import OptAlgorithm
|
||||
from gui import PlotWindow
|
||||
|
||||
|
||||
def get_ideal_timings(opt: OptAlgorithm) -> list[float]:
|
||||
data = opt.Ts
|
||||
ideal_time = [data['tclose'], data['tgrow'], opt.getMarkOpen()]
|
||||
return ideal_time
|
||||
|
||||
|
||||
def main():
|
||||
operator_params = read_json("params/operator_params.json")
|
||||
system_params = read_json("params/system_params.json")
|
||||
opt_algorithm = OptAlgorithm(operator_config=operator_params, system_config=system_params)
|
||||
ideal_times = get_ideal_timings(opt_algorithm)
|
||||
|
||||
parser = DiagramParser()
|
||||
parser.setData("trace_samples/2024_11_01-09_39_17.csv")
|
||||
bool_dict = parser.getBoolDict()
|
||||
float_dict = parser.getFloatDict()
|
||||
|
||||
request_generator = Request(server_url='http://www.plantuml.com/plantuml/svg/')
|
||||
uml_creator = UMLCreator(request_generator=request_generator,
|
||||
ideal_time=ideal_times,
|
||||
bool_dict=bool_dict,
|
||||
float_dict=float_dict)
|
||||
uml_creator.update_uml()
|
||||
|
||||
app = PlotWindow(opt=opt_algorithm,
|
||||
bool_dict=bool_dict,
|
||||
float_dict=float_dict)
|
||||
|
||||
app.updatePlots()
|
||||
pg.exec()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@ -1,5 +1,4 @@
|
||||
import os
|
||||
from uml.request_generator import Request
|
||||
from src.uml.request_generator import Request
|
||||
|
||||
|
||||
class UMLCreator:
|
||||
@ -18,7 +17,7 @@ class UMLCreator:
|
||||
sig = [
|
||||
'Electrode Closing Algorithm Execute', # Начало закрытия
|
||||
'Electrode Closing Algorithm Done',
|
||||
'STEP 3: ME Hold P2 AND Condition Start Force Control', # Конец закрытия и Начало набора усилия
|
||||
# 'STEP 3: ME Hold P2 AND Condition Start Force Control', # Конец закрытия и Начало набора усилия
|
||||
'STEP 4: ME Force Control',
|
||||
'Position Control ME', # Начало разъезда или 'Posision Control Activated FE'
|
||||
'Position Control FE', # Начало разъезда
|
||||
@ -50,7 +50,7 @@ class Request:
|
||||
|
||||
def generateSVG(self):
|
||||
self._compileUML()
|
||||
filename = abspath('../UML.txt')
|
||||
filename = abspath('UML.txt')
|
||||
self.server.processes_file(filename, outfile='UML.svg')
|
||||
#result = self.server.processes(self.stringUML)
|
||||
#return result
|
||||
Loading…
Reference in New Issue
Block a user