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):
"""Выбор количества импульсов в пачке при НВ стимуляции"""