More formatting, balancing

This commit is contained in:
jazzpi 2022-08-12 01:14:14 +02:00
parent a3f3b2c23e
commit 18d9517fcc

View File

@ -146,7 +146,7 @@ class StackGuiElement:
l2 = QLabel("Max Voltage [V]") l2 = QLabel("Max Voltage [V]")
l3 = QLabel("Min Temperature [°C]") l3 = QLabel("Min Temperature [°C]")
l4 = QLabel("Max Temperature [°C]") l4 = QLabel("Max Temperature [°C]")
popup_btn = QPushButton(self.title + " details") popup_btn = QPushButton("Details")
popup_btn.clicked.connect(self.show_popup) popup_btn.clicked.connect(self.show_popup)
l1.setAlignment(Qt.AlignLeft) l1.setAlignment(Qt.AlignLeft)
@ -176,10 +176,10 @@ class StackGuiElement:
self.groupBox.setLayout(grid) self.groupBox.setLayout(grid)
def update_data_from_slave(self, slave: SlaveData): def update_data_from_slave(self, slave: SlaveData):
self.min_voltage_label.setNum(min(slave.cell_voltages)) self.min_voltage_label.setText(f"{min(slave.cell_voltages):.02f}")
self.max_voltage_label.setNum(max(slave.cell_voltages)) self.max_voltage_label.setText(f"{max(slave.cell_voltages):.02f}")
self.min_temp_label.setNum(min(slave.cell_temps)) self.min_temp_label.setText(f"{min(slave.cell_temps):.02f}")
self.max_temp_label.setNum(max(slave.cell_temps)) self.max_temp_label.setText(f"{max(slave.cell_temps):.02f}")
def show_popup(self): def show_popup(self):
if self.detail_popup is None: if self.detail_popup is None:
@ -390,14 +390,18 @@ class Window(QWidget):
self.btn_stop.resize(self.btn_stop.sizeHint()) self.btn_stop.resize(self.btn_stop.sizeHint())
self.btn_stop.move(150, 50) self.btn_stop.move(150, 50)
self.btn_charge = QPushButton("Start Charging") self.btn_charge = QPushButton("Start Charging")
self.btn_charge.resize(self.btn_stop.sizeHint()) self.btn_charge.resize(self.btn_charge.sizeHint())
self.btn_charge.move(150, 50) self.btn_charge.move(250, 50)
self.btn_balance = QPushButton("Start Balancing")
self.btn_balance.resize(self.btn_balance.sizeHint())
self.btn_balance.move(350, 50)
### LAYOUT BUTTONS ### ### LAYOUT BUTTONS ###
vbox_controls = QVBoxLayout() vbox_controls = QVBoxLayout()
vbox_controls.addWidget(self.btn_start) vbox_controls.addWidget(self.btn_start)
vbox_controls.addWidget(self.btn_stop) vbox_controls.addWidget(self.btn_stop)
vbox_controls.addWidget(self.btn_charge) vbox_controls.addWidget(self.btn_charge)
vbox_controls.addWidget(self.btn_balance)
groupBox_controls = QGroupBox("Controls") groupBox_controls = QGroupBox("Controls")
groupBox_controls.setLayout(vbox_controls) groupBox_controls.setLayout(vbox_controls)
win.addWidget(groupBox_controls) win.addWidget(groupBox_controls)
@ -411,6 +415,9 @@ class Window(QWidget):
# Charge Button action # Charge Button action
self.btn_charge.clicked.connect(self.start_charge) self.btn_charge.clicked.connect(self.start_charge)
# Balance Button action
self.btn_balance.clicked.connect(self.start_balance)
self.setLayout(win) self.setLayout(win)
self.setWindowTitle("FT22 Charger Display") self.setWindowTitle("FT22 Charger Display")
@ -444,19 +451,23 @@ class Window(QWidget):
def start_charge(self): def start_charge(self):
ser.write(b"C") ser.write(b"C")
def start_balance(self):
ser.write(b"B")
def update(self): def update(self):
# Accumulator # Accumulator
self.l_min_voltage.setText(f"{data.min_voltage:.02f}") self.l_min_voltage.setText(f"{data.min_voltage:.02f}")
self.l_max_voltage.setText(f"{data.max_voltage:.02f}") self.l_max_voltage.setText(f"{data.max_voltage:.02f}")
self.l_min_soc.setText(f"{data.min_soc:.01f}") self.l_min_soc.setText(f"{data.min_soc:.01f}")
self.l_max_soc.setText(f"{data.max_soc:.01f}") self.l_max_soc.setText(f"{data.max_soc:.01f}")
self.l_min_temp.setText(f"{data.min_temp:.00f}") self.l_min_temp.setText(f"{data.min_temp:.02f}")
self.l_max_temp.setText(f"{data.max_temp:.00f}") self.l_max_temp.setText(f"{data.max_temp:.02f}")
self.l_current.setText(f"{data.current:.03f}") self.l_current.setText(f"{data.current:.02f}")
self.l_error.setText(str(data.panic)) self.l_error.setText(str(data.panic))
self.l_errorcode.setText(str(data.panic_errorcode)) self.l_errorcode.setText(str(data.panic_errorcode))
self.l_errorarg.setText(str(data.panic_errorarg)) self.l_errorarg.setText(str(data.panic_errorarg))
self.l_time_since_last_frame.setText(str(time.time() - data.last_frame)) last_time = time.time() - data.last_frame
self.l_time_since_last_frame.setText(f"{last_time:.03f}")
# Stacks # Stacks
for i, sge in enumerate(self.stack_gui_elements): for i, sge in enumerate(self.stack_gui_elements):