MainCode/adalm1000_logger.py aktualisiert
improves the measurement display padding the graph (C)
This commit is contained in:
parent
adc7edd501
commit
e9799c17de
@ -388,52 +388,59 @@ class BatteryTester(QMainWindow):
|
|||||||
display_frame = QFrame()
|
display_frame = QFrame()
|
||||||
display_frame.setFrameShape(QFrame.StyledPanel)
|
display_frame.setFrameShape(QFrame.StyledPanel)
|
||||||
display_layout = QGridLayout(display_frame)
|
display_layout = QGridLayout(display_frame)
|
||||||
|
display_layout.setHorizontalSpacing(15)
|
||||||
|
display_layout.setVerticalSpacing(8)
|
||||||
|
|
||||||
measurement_labels = [
|
measurement_labels = [
|
||||||
("Voltage (V)", "V"),
|
("Voltage", "V"),
|
||||||
("Current (A)", "A"),
|
("Current", "A"),
|
||||||
("Test Phase", ""),
|
("Test Phase", ""),
|
||||||
("Elapsed Time", "s"),
|
("Elapsed Time", "s"),
|
||||||
("Discharge Capacity", "Ah"),
|
("Discharge Capacity", "Ah"),
|
||||||
("Charge Capacity", "Ah"),
|
("Charge Capacity", "Ah"),
|
||||||
("Coulomb Eff.", "%"),
|
("Coulomb Efficiency", "%"),
|
||||||
("Cycle Count", ""),
|
("Cycle Count", ""),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
self.value_labels = {} # Optional: Store labels for easy update
|
||||||
|
|
||||||
for i, (label, unit) in enumerate(measurement_labels):
|
for i, (label, unit) in enumerate(measurement_labels):
|
||||||
row = i // 2
|
row = i // 2
|
||||||
col = (i % 2) * 2
|
col = (i % 2) * 3 # Each block is 3 columns: label | value | unit
|
||||||
|
|
||||||
lbl = QLabel(f"{label}:")
|
name_label = QLabel(label + ":")
|
||||||
lbl.setStyleSheet("font-size: 11px;")
|
name_label.setStyleSheet("font-size: 11px;")
|
||||||
display_layout.addWidget(lbl, row, col)
|
display_layout.addWidget(name_label, row, col)
|
||||||
|
|
||||||
value_label = QLabel("0.000")
|
value_label = QLabel("0.000")
|
||||||
value_label.setStyleSheet("font-size: 12px; font-weight: bold;")
|
value_label.setStyleSheet("font-size: 12px; font-weight: bold; min-width: 60px;")
|
||||||
display_layout.addWidget(value_label, row, col + 1)
|
display_layout.addWidget(value_label, row, col + 1)
|
||||||
|
|
||||||
if unit:
|
unit_label = QLabel(unit)
|
||||||
unit_label = QLabel(unit)
|
unit_label.setStyleSheet("font-size: 11px; color: gray;")
|
||||||
display_layout.addWidget(unit_label, row, col + 2)
|
display_layout.addWidget(unit_label, row, col + 2)
|
||||||
|
|
||||||
if i == 0:
|
# Save reference for updating later
|
||||||
|
self.value_labels[label] = value_label
|
||||||
|
|
||||||
|
# Assign to instance attributes for specific fields
|
||||||
|
if label == "Voltage":
|
||||||
self.voltage_label = value_label
|
self.voltage_label = value_label
|
||||||
elif i == 1:
|
elif label == "Current":
|
||||||
self.current_label = value_label
|
self.current_label = value_label
|
||||||
elif i == 2:
|
elif label == "Test Phase":
|
||||||
self.phase_label = value_label
|
self.phase_label = value_label
|
||||||
self.phase_label.setText(self.test_phase)
|
elif label == "Elapsed Time":
|
||||||
elif i == 3:
|
|
||||||
self.time_label = value_label
|
self.time_label = value_label
|
||||||
elif i == 4:
|
elif label == "Discharge Capacity":
|
||||||
self.capacity_label = value_label
|
self.capacity_label = value_label
|
||||||
elif i == 5:
|
elif label == "Charge Capacity":
|
||||||
self.charge_capacity_label = value_label
|
self.charge_capacity_label = value_label
|
||||||
elif i == 6:
|
elif label == "Coulomb Efficiency":
|
||||||
self.efficiency_label = value_label
|
self.efficiency_label = value_label
|
||||||
elif i == 7:
|
elif label == "Cycle Count":
|
||||||
self.cycle_label = value_label
|
self.cycle_label = value_label
|
||||||
|
|
||||||
self.main_layout.addWidget(display_frame)
|
self.main_layout.addWidget(display_frame)
|
||||||
|
|
||||||
# Progress bar
|
# Progress bar
|
||||||
@ -944,7 +951,7 @@ class BatteryTester(QMainWindow):
|
|||||||
max_time = list(self.time_data)[-1]
|
max_time = list(self.time_data)[-1]
|
||||||
current_xlim = self.ax.get_xlim()
|
current_xlim = self.ax.get_xlim()
|
||||||
if max_time > current_xlim[1] * 0.95:
|
if max_time > current_xlim[1] * 0.95:
|
||||||
new_xmax = current_xlim[1] + (max_time * 1.05 - current_xlim[1]) * 0.1
|
new_xmax = max_time * 1.10 # 10% padding
|
||||||
self.ax.set_xlim(0, new_xmax)
|
self.ax.set_xlim(0, new_xmax)
|
||||||
self.ax2.set_xlim(0, new_xmax)
|
self.ax2.set_xlim(0, new_xmax)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user