correct amount of temperature sensors
This commit is contained in:
parent
a2b733a430
commit
e8ca613292
43
test.py
43
test.py
@ -17,6 +17,8 @@ from PyQt5.QtWidgets import (
|
|||||||
QGridLayout,
|
QGridLayout,
|
||||||
QLabel,
|
QLabel,
|
||||||
QGroupBox,
|
QGroupBox,
|
||||||
|
QFrame,
|
||||||
|
QSizePolicy,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -83,7 +85,7 @@ class AccumulatorData:
|
|||||||
random.uniform(1, 5) for i in range(CELLS_PER_SLAVE)
|
random.uniform(1, 5) for i in range(CELLS_PER_SLAVE)
|
||||||
]
|
]
|
||||||
self.slaves[i].cell_temps = [
|
self.slaves[i].cell_temps = [
|
||||||
random.uniform(25, 60) for i in range(CELLS_PER_SLAVE)
|
random.uniform(25, 60) for i in range(TEMP_SENSORS_PER_SLAVE)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -154,6 +156,21 @@ class StackGuiElement:
|
|||||||
self.detail_popup.show()
|
self.detail_popup.show()
|
||||||
|
|
||||||
|
|
||||||
|
class QVSeperationLine(QFrame):
|
||||||
|
"""
|
||||||
|
a vertical seperation line
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
self.setFixedWidth(20)
|
||||||
|
self.setMinimumHeight(1)
|
||||||
|
self.setFrameShape(QFrame.VLine)
|
||||||
|
self.setFrameShadow(QFrame.Sunken)
|
||||||
|
self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
class StackPopup(QWidget):
|
class StackPopup(QWidget):
|
||||||
stack_id: int
|
stack_id: int
|
||||||
voltage_labels: list[QLabel]
|
voltage_labels: list[QLabel]
|
||||||
@ -171,24 +188,35 @@ class StackPopup(QWidget):
|
|||||||
|
|
||||||
for i in range(len(data.slaves[stack_id].cell_voltages)):
|
for i in range(len(data.slaves[stack_id].cell_voltages)):
|
||||||
l1 = QLabel(f"Voltage Cell {i}")
|
l1 = QLabel(f"Voltage Cell {i}")
|
||||||
l2 = QLabel(f"Temperature Cell {i}")
|
|
||||||
l1.setAlignment(Qt.AlignLeft)
|
l1.setAlignment(Qt.AlignLeft)
|
||||||
l2.setAlignment(Qt.AlignLeft)
|
|
||||||
|
|
||||||
l_v = QLabel()
|
l_v = QLabel()
|
||||||
l_v.setNum(data.slaves[stack_id].cell_voltages[i])
|
l_v.setNum(data.slaves[stack_id].cell_voltages[i])
|
||||||
l_v.setAlignment(Qt.AlignLeft)
|
l_v.setAlignment(Qt.AlignLeft)
|
||||||
self.voltage_labels.append(l_v)
|
self.voltage_labels.append(l_v)
|
||||||
|
|
||||||
|
grid.addWidget(l1, i, 0)
|
||||||
|
grid.addWidget(l_v, i, 1)
|
||||||
|
|
||||||
|
# vertical separators between rows in popup
|
||||||
|
separator_vertical = QVSeperationLine()
|
||||||
|
grid.addWidget(separator_vertical, 0, 2, CELLS_PER_SLAVE, 1)
|
||||||
|
num_temp_cols = len(data.slaves[stack_id].cell_temps) // CELLS_PER_SLAVE
|
||||||
|
for i in range(num_temp_cols):
|
||||||
|
separator_vertical = QVSeperationLine()
|
||||||
|
grid.addWidget(separator_vertical, 0, 5 + i * 3, CELLS_PER_SLAVE, 1)
|
||||||
|
|
||||||
|
for i in range(len(data.slaves[stack_id].cell_temps)):
|
||||||
|
l2 = QLabel(f"Temp. Sensor {i}")
|
||||||
|
l2.setAlignment(Qt.AlignLeft)
|
||||||
|
|
||||||
l_t = QLabel()
|
l_t = QLabel()
|
||||||
l_t.setNum(data.slaves[stack_id].cell_temps[i])
|
l_t.setNum(data.slaves[stack_id].cell_temps[i])
|
||||||
l_t.setAlignment(Qt.AlignLeft)
|
l_t.setAlignment(Qt.AlignLeft)
|
||||||
self.temp_labels.append(l_t)
|
self.temp_labels.append(l_t)
|
||||||
|
|
||||||
grid.addWidget(l1, i, 0)
|
grid.addWidget(l2, i % CELLS_PER_SLAVE, 3 + (i // CELLS_PER_SLAVE) * 3)
|
||||||
grid.addWidget(l2, i, 2)
|
grid.addWidget(l_t, i % CELLS_PER_SLAVE, 4 + (i // CELLS_PER_SLAVE) * 3)
|
||||||
grid.addWidget(l_v, i, 1)
|
|
||||||
grid.addWidget(l_t, i, 3)
|
|
||||||
|
|
||||||
groupbox.setTitle(f"Stack {stack_id}")
|
groupbox.setTitle(f"Stack {stack_id}")
|
||||||
groupbox.setLayout(grid)
|
groupbox.setLayout(grid)
|
||||||
@ -200,6 +228,7 @@ class StackPopup(QWidget):
|
|||||||
def update_data(self):
|
def update_data(self):
|
||||||
for i in range(len(data.slaves[self.stack_id].cell_voltages)):
|
for i in range(len(data.slaves[self.stack_id].cell_voltages)):
|
||||||
self.voltage_labels[i].setNum(data.slaves[self.stack_id].cell_voltages[i])
|
self.voltage_labels[i].setNum(data.slaves[self.stack_id].cell_voltages[i])
|
||||||
|
for i in range(len(data.slaves[self.stack_id].cell_temps)):
|
||||||
self.temp_labels[i].setNum(data.slaves[self.stack_id].cell_temps[i])
|
self.temp_labels[i].setNum(data.slaves[self.stack_id].cell_temps[i])
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user