From 18d9517fcc863b94eef716e79e53cd7276f1ab4a Mon Sep 17 00:00:00 2001 From: jazzpi Date: Fri, 12 Aug 2022 01:14:14 +0200 Subject: [PATCH] More formatting, balancing --- charger-display.py | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/charger-display.py b/charger-display.py index 1350114..f85f84a 100755 --- a/charger-display.py +++ b/charger-display.py @@ -146,7 +146,7 @@ class StackGuiElement: l2 = QLabel("Max Voltage [V]") l3 = QLabel("Min Temperature [°C]") l4 = QLabel("Max Temperature [°C]") - popup_btn = QPushButton(self.title + " details") + popup_btn = QPushButton("Details") popup_btn.clicked.connect(self.show_popup) l1.setAlignment(Qt.AlignLeft) @@ -176,10 +176,10 @@ class StackGuiElement: self.groupBox.setLayout(grid) def update_data_from_slave(self, slave: SlaveData): - self.min_voltage_label.setNum(min(slave.cell_voltages)) - self.max_voltage_label.setNum(max(slave.cell_voltages)) - self.min_temp_label.setNum(min(slave.cell_temps)) - self.max_temp_label.setNum(max(slave.cell_temps)) + self.min_voltage_label.setText(f"{min(slave.cell_voltages):.02f}") + self.max_voltage_label.setText(f"{max(slave.cell_voltages):.02f}") + self.min_temp_label.setText(f"{min(slave.cell_temps):.02f}") + self.max_temp_label.setText(f"{max(slave.cell_temps):.02f}") def show_popup(self): if self.detail_popup is None: @@ -390,14 +390,18 @@ class Window(QWidget): self.btn_stop.resize(self.btn_stop.sizeHint()) self.btn_stop.move(150, 50) self.btn_charge = QPushButton("Start Charging") - self.btn_charge.resize(self.btn_stop.sizeHint()) - self.btn_charge.move(150, 50) + self.btn_charge.resize(self.btn_charge.sizeHint()) + 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 ### vbox_controls = QVBoxLayout() vbox_controls.addWidget(self.btn_start) vbox_controls.addWidget(self.btn_stop) vbox_controls.addWidget(self.btn_charge) + vbox_controls.addWidget(self.btn_balance) groupBox_controls = QGroupBox("Controls") groupBox_controls.setLayout(vbox_controls) win.addWidget(groupBox_controls) @@ -411,6 +415,9 @@ class Window(QWidget): # Charge Button action self.btn_charge.clicked.connect(self.start_charge) + # Balance Button action + self.btn_balance.clicked.connect(self.start_balance) + self.setLayout(win) self.setWindowTitle("FT22 Charger Display") @@ -444,19 +451,23 @@ class Window(QWidget): def start_charge(self): ser.write(b"C") + def start_balance(self): + ser.write(b"B") + def update(self): # Accumulator self.l_min_voltage.setText(f"{data.min_voltage:.02f}") self.l_max_voltage.setText(f"{data.max_voltage:.02f}") self.l_min_soc.setText(f"{data.min_soc:.01f}") self.l_max_soc.setText(f"{data.max_soc:.01f}") - self.l_min_temp.setText(f"{data.min_temp:.00f}") - self.l_max_temp.setText(f"{data.max_temp:.00f}") - self.l_current.setText(f"{data.current:.03f}") + self.l_min_temp.setText(f"{data.min_temp:.02f}") + self.l_max_temp.setText(f"{data.max_temp:.02f}") + self.l_current.setText(f"{data.current:.02f}") self.l_error.setText(str(data.panic)) self.l_errorcode.setText(str(data.panic_errorcode)) 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 for i, sge in enumerate(self.stack_gui_elements):