From c939840d46fe61f95e71e7dc4f2b63d21572d984 Mon Sep 17 00:00:00 2001 From: goha92 Date: Tue, 9 Sep 2025 11:02:33 +0300 Subject: [PATCH] Change settings of burst mode --- design_viewer_v1.ui | 137 +++++++++++++++++++++++++++++++++++------- project/__init__.py | 4 +- project/controller.py | 4 ++ project/view.py | 52 ++++++++++------ 4 files changed, 156 insertions(+), 41 deletions(-) diff --git a/design_viewer_v1.ui b/design_viewer_v1.ui index 76cf96f..b7c36f0 100644 --- a/design_viewer_v1.ui +++ b/design_viewer_v1.ui @@ -277,7 +277,7 @@ - 3 + 1 @@ -1271,7 +1271,7 @@ 10 - 160 + 220 211 20 @@ -1294,7 +1294,7 @@ 9 - 220 + 280 221 22 @@ -1313,7 +1313,7 @@ 0 - 279 + 339 241 22 @@ -1332,7 +1332,7 @@ 0 - 308 + 368 221 22 @@ -1351,7 +1351,7 @@ 270 - 220 + 280 61 22 @@ -1417,7 +1417,7 @@ 10 - 249 + 309 221 22 @@ -1436,7 +1436,7 @@ 270 - 250 + 310 61 22 @@ -1497,7 +1497,7 @@ 270 - 280 + 340 61 22 @@ -1538,7 +1538,7 @@ 270 - 310 + 370 61 22 @@ -1574,7 +1574,7 @@ 9 - 191 + 251 221 22 @@ -1602,7 +1602,7 @@ 270 - 190 + 250 61 22 @@ -1658,7 +1658,7 @@ 270 - 340 + 400 61 22 @@ -1673,8 +1673,23 @@ true - 3 + 0 + + + 200 + + + + + 300 + + + + + 400 + + 500 @@ -1715,7 +1730,7 @@ 0 - 337 + 397 261 22 @@ -1734,7 +1749,7 @@ 270 - 370 + 430 61 22 @@ -1753,7 +1768,7 @@ 0 - 370 + 430 251 22 @@ -1945,6 +1960,84 @@ + + + + 20 + 140 + 171 + 20 + + + + Высоковольтная стимуляция + + + + + + 20 + 170 + 171 + 20 + + + + Низковольтная стимуляция + + + + + + 190 + 140 + 91 + 20 + + + + неактивна + + + 0 + + + + неактивна + + + + + активна + + + + + + + 190 + 170 + 91 + 20 + + + + неактивна + + + 0 + + + + неактивна + + + + + активна + + + @@ -3123,6 +3216,11 @@ None + + + BURST + + VOO @@ -3133,11 +3231,6 @@ VVI - - - BURST - - diff --git a/project/__init__.py b/project/__init__.py index 704f64b..36f9895 100644 --- a/project/__init__.py +++ b/project/__init__.py @@ -4,5 +4,5 @@ DATA_RATE = 200 # скорость передачи данных # mes = "AT+CONA11899AA1670B\r\n" -mes = "AT+CONA11899AA21438\r\n" # для связи со стимулятором - +# mes = "AT+CONA11899AA21438\r\n" # для связи со стимулятором +mes = "AT+CONA11899AA166E1\r\n" # для связи со стимулятором diff --git a/project/controller.py b/project/controller.py index b7e9240..f588303 100644 --- a/project/controller.py +++ b/project/controller.py @@ -173,6 +173,8 @@ class DataClass: self.dc_cut = 1 # вывод сигнала с постоянной составляющей или без self.channel = 3 # активный канал передачи self.signal = 0 # вывод сигнала с фильтром или без + self.hv = 0 # активация режима высоковльтной стимуляции + self.lv = 0 # активация режима низковольтной стимуляции self.sd_card = 0 # запись на sd-карту self.hv_volt = 0 # напряжение на конденсаторе self.bat_volt = 0 # напряжение на батарее @@ -357,6 +359,8 @@ class DataClass: self.rr_now[self.draw_cnt] = (int1 & 0x4) >> 2 self.Work_Mode_pacemaker = (int1 & 0x60) >> 5 self.signal = (int1 & 0x80) >> 7 + self.lv = (int1 & 0x10) >> 4 + self.hv = (int1 & 0x8) >> 3 def parse_part_from_23_to_30_byte(self): """ diff --git a/project/view.py b/project/view.py index 8546e29..f37662b 100644 --- a/project/view.py +++ b/project/view.py @@ -93,12 +93,14 @@ class Ui(QtWidgets.QMainWindow): self.Signal_Box.currentIndexChanged.connect(self.set_Signal_Box) self.Channel_Box.currentIndexChanged.connect(self.set_Channel_Box) self.DC_cut_Box.currentIndexChanged.connect(self.set_DC_cut_Box) - + self.HV_Box.currentIndexChanged.connect(self.set_HV_Box) + self.LV_Box.currentIndexChanged.connect(self.set_LV_Box) +# fixed self.High_Tf_spinBox.valueChanged.connect(self.set_High_Tf_spinBox) self.High_Tt2_spinBox.valueChanged.connect(self.set_High_Tt2_spinBox) self.High_Tt1_spinBox.valueChanged.connect(self.set_High_Tt1_spinBox) self.f_count_spinBox.valueChanged.connect(self.set_f_count_spinBox) - + # self.Work_Mode_pacemaker.editTextChanged.connect(self.set_Work_Mode_pacemaker) self.hv_step_number_spinBox.valueChanged.connect(self.set_hv_step_number_spinBox) self.min_energy_spinBox.valueChanged.connect(self.set_min_energy_spinBox) @@ -186,6 +188,8 @@ class Ui(QtWidgets.QMainWindow): self.Signal_Box.setCurrentIndex(int(data_in.signal)) self.Channel_Box.setCurrentIndex(int(data_in.channel)) self.DC_cut_Box.setCurrentIndex(int(data_in.dc_cut)) + self.HV_Box.setCurrentIndex(int(data_in.hv)) + self.LV_Box.setCurrentIndex(int(data_in.lv)) self.RA_max_time_ms_BOX.setEditText(str(data_in.max_search_time)) self.RA_min_sensitivity_BOX.setEditText(str(data_in.min_treshold)) self.RA_max_sensitivity_BOX.setEditText(str(data_in.max_treshold)) @@ -205,21 +209,23 @@ class Ui(QtWidgets.QMainWindow): self.redet_bad_spinBox.setValue(data_in.redet_bad) self.Work_Mode_pacemaker.setCurrentIndex(data_in.Work_Mode_pacemaker) self.Spi_spot_set_spinBox.setValue(data_in.spi_pot_set) - self.hv_polarity_BOX.setValue(data_in.hv_polarity) - self.hv_mode_BOX.setValue(data_in.hv_mode) + self.hv_polarity_BOX.setCurrentIndex(data_in.hv_polarity)#fixed + self.hv_mode_BOX.setCurrentIndex(data_in.hv_mode)#fixed self.t1_hv_phase_1_duration_SpinBox.setValue(data_in.hv_phase_1_duration / 10.0) self.t3_hv_phase_2_duration_SpinBox.setValue(data_in.hv_phase_2_duration / 10.0) self.t2_hv_switch_duration_SpinBox.setValue(data_in.hv_switch_duration / 10.0) self.u1_hv_switching_voltage_spinBox.setValue(data_in.hv_switching_voltage) self.u2_hv_cutoff_voltage_spinBox.setValue(data_in.hv_cutoff_voltage) - self.lv_polarity_BOX.setValue(data_in.lv_polarity) - self.lv_mode_BOX.setValue(data_in.lv_mode) - self.t1_lv_shock_time_SpinBox().setValue(data_in.lv_shock_time / 10.0) - self.t2_lv_relax_time_spinBox().setValue(data_in.lv_relax_time) - self.u_lv_voltage_SpinBox().setValue(data_in.lv_voltage / 10.0) + self.lv_polarity_BOX.setCurrentIndex(data_in.lv_polarity) + self.lv_mode_BOX.setCurrentIndex(data_in.lv_mode) + + self.t1_lv_shock_time_SpinBox.setValue(data_in.lv_shock_time / 10.0) + self.t2_lv_relax_time_spinBox.setValue(data_in.lv_relax_time) + self.u_lv_voltage_SpinBox.setValue(data_in.lv_voltage / 10.0) + self.burst_cnt_spinBox.setValue(data_in.burst_cnt) self.burst_voltage_SpinBox.setValue(data_in.burst_voltage / 10.0) - self.burst_period.setValue(data_in.burst_period) + self.burst_period_spinBox.setValue(data_in.burst_period) #fixed def timerEvent(self): @@ -581,6 +587,16 @@ class Ui(QtWidgets.QMainWindow): param = int(self.DC_cut_Box.currentIndex()) my_data.state_packet(self.send_mode, self.serial, 0x21, param, 1, int) + def set_HV_Box(self): + """Настройка активации режима высоковольтной стимуляции""" + param = int(self.HV_Box.currentIndex()) + my_data.state_packet(self.send_mode, self.serial, 0x0F, param, 1, int) + + def set_LV_Box(self): + """Настройка активации режима низковольтной стимуляции""" + param = int(self.LV_Box.currentIndex()) + my_data.state_packet(self.send_mode, self.serial, 0x0E, param, 1, int) + def set_Signal_Box(self): """Настройка вывода сигнала с/без фильтром(а)""" param = int(self.Signal_Box.currentIndex()) @@ -771,14 +787,16 @@ class Ui(QtWidgets.QMainWindow): """Выбор режима низковольтной стимуляции""" param = self.lv_mode_BOX.currentIndex() match param: - case 3: + case 1: self.burst_frame.setVisible(True) case _: - self.burst_frame.setVisible(False) - if param == 3: - my_data.state_packet(self.send_mode, self.serial, 0x23, 15, 1, int) - else: - my_data.state_packet(self.send_mode, self.serial, 0x23, param, 1, int) + self.burst_frame.setVisible(True) + my_data.state_packet(self.send_mode, self.serial, 0x23, param, 1, int) + + # if param == 3: + # my_data.state_packet(self.send_mode, self.serial, 0x23, 15, 1, int) + # else: + # my_data.state_packet(self.send_mode, self.serial, 0x23, param, 1, int) def set_lv_polarity_BOX(self): @@ -797,7 +815,7 @@ class Ui(QtWidgets.QMainWindow): my_data.state_packet(self.send_mode, self.serial, 0x24, param, 1, int) def set_t2_lv_relax_time_spinBox(self): """Выбор времени стабилизации после НВ стимуляции""" - param = int(self.t2_lv_relax_time_spinBox.value() * 10) + param = int(self.t2_lv_relax_time_spinBox.value()) my_data.state_packet(self.send_mode, self.serial, 0x25, param, 1, int) def set_burst_cnt_spinBox(self): """Выбор количества импульсов в пачке при НВ стимуляции"""