Index: TD_AirTrap/interface.ui =================================================================== diff -u -r21c7894d12a3744993fd0d9940be06336c3ba4e7 -r4b4fedc07e2f374ff7618f47d00aa2db2323f91d --- TD_AirTrap/interface.ui (.../interface.ui) (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) +++ TD_AirTrap/interface.ui (.../interface.ui) (revision 4b4fedc07e2f374ff7618f47d00aa2db2323f91d) @@ -6,444 +6,203 @@ 0 0 - 1026 - 337 + 476 + 250 + + + 0 + 0 + + + + + 476 + 250 + + &1 States/&2 TD Air Trap - - - - - - - - 320 - 215 - - - - - 8 - 50 - false - - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAsNeeded - - - QAbstractItemView::NoEditTriggers - - - true - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectRows - - - true - - - false - - - 9 - - + + + 4 + + + 0 + + + + + + 2 - - true - - - 85 - - - true - - - true - - - 18 - - - 21 - - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - - - - 0 : OP Mode - - - - - Description - - - - - MODE_FAUL - + + + + + 0 + 0 + + + + + 352 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(52, 105, 2); + + + 42 : [0x2A00] : TD Air Trap + + + Qt::AlignCenter + + - - - fault mode - + + + + Send + + - - - MODE_SERV - + + + + reset + + - - - Service mode - - - - - MODE_INIT - - - - - Initialization & POST mode - - - - - MODE_STAN - - - - - Standby mode - - - - - MODE_TPAR - - - - - Treatment Parameters (Validation) mode - - - - - MODE_PRET - - - - - Pre-Treatment mode - - - - - MODE_TREA - - - - - Treatment mode - - - - - MODE_POST - - - - - Post-Treatment mode - - - - - MODE_NLEG - - - - - illegal mode transition - - - + - - - - - 400 - 285 - - - - - 8 - 50 - false - - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAsNeeded - - - QAbstractItemView::NoEditTriggers - - - true - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectRows - - - true - - - false - - - 6 - - - 2 - - - true - - - 285 - - - true - - - true - - - 18 - - - 21 - - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 1 : SubMode - - - - - Description - - - - - STANDBY_START_STATE - + + + + + + QLayout::SetMaximumSize + + + 10 + + + 10 + + + 0 + + + + + low Level + + + + + + + 1000 + + + + + + + upper Level + + + + + + + 1000 + + + + + + + low Level Raw + + + + + + + 1000 + + + + + + + upper Level Raw + + + + + + + 1000 + + + + + + + valve State + + + + + + + 1000 + + + + + + + Control + + + + + + + - - - Start standby (home actuators). - - - - - STANDBY_WAIT_FOR_TREATMENT_STATE - - - - - Wait for treatment. - - - - - STANDBY_WAIT_FOR_DISINFECT_STATE - - - - - Wait for UI to send disinfect option. - - - - - STANDBY_WAIT_FOR_DD_CLEANING_MODE_CMD_RESPONSE_STATE - - - - - Wait for DD cleaning mode command response state. - - - - - STANDBY_WAIT_FOR_DD_CLEANING_MODE_TO_START_STATE - - - - - Wait for DD cleaning mode to start state. - - - - - STANDBY_CLEANING_MODE_IN_PROGRESS_STATE - - - - - Cleaning mode in progress state. - - - + - - - - - - reset - - - - - - - - 0 - 0 - - - - - 10 - - - - color: rgb(238, 238, 236); -background-color: rgb(52, 105, 2); - - - 42 : [0x2A00] : TD Air Trap - - - Qt::AlignCenter - - - - - - - Send - - - - + + + + Qt::Vertical + + + + 20 + 40 + + + - - tbSend - tbReset - tblOpMode - tblSubMode - Index: TD_AirTrap/loader.py =================================================================== diff -u -r21c7894d12a3744993fd0d9940be06336c3ba4e7 -r4b4fedc07e2f374ff7618f47d00aa2db2323f91d --- TD_AirTrap/loader.py (.../loader.py) (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) +++ TD_AirTrap/loader.py (.../loader.py) (revision 4b4fedc07e2f374ff7618f47d00aa2db2323f91d) @@ -34,18 +34,23 @@ finds and creates widgets :return: none """ - self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) - self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) - self.tblOpMode = self.find_widget(QtWidgets.QTableWidget , 'tblOpMode' ) - self.tblSubMode = self.find_widget(QtWidgets.QTableWidget , 'tblSubMode' ) + self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.low_level = self.find_widget(QtWidgets.QSpinBox , 'lowLevelSpinBox' ) + self.upper_level = self.find_widget(QtWidgets.QSpinBox , 'upperLevelSpinBox' ) + self.low_level_raw = self.find_widget(QtWidgets.QSpinBox , 'lowLevelRawSpinBox' ) + self.upper_level_raw = self.find_widget(QtWidgets.QSpinBox , 'upperLevelRawSpinBox') + self.valve_state = self.find_widget(QtWidgets.QSpinBox , 'valveStateSpinBox' ) + self.control = self.find_widget(QtWidgets.QCheckBox , 'controlCheckBox' ) + def _init_connections(self): """ initializes the widgets connections :return: none """ self.tbReset.clicked.connect(self._init_widgets) - self.tbSend.clicked.connect(self.do_treatment_states) + self.tbSend.clicked.connect(self.do_air_trap) # self.tblOpMode.currentCellChanged.connect(self.do_treatment_states) # self.tblSubMode.currentCellChanged.connect(self.do_treatment_states) @@ -55,20 +60,33 @@ initializes the widgets' properties :return: none """ - self.tblOpMode.setCurrentCell(TDOpModes.MODE_INIT.value, 0) - self.tblOpMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) - self.tblSubMode.setCurrentCell(TDStandbyStates.STANDBY_START_STATE.value, 0) - self.tblSubMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + self.low_level.setValue(0) + self.upper_level.setValue(0) + self.low_level_raw.setValue(0) + self.upper_level_raw.setValue(0) + self.valve_state.setValue(0) + self.control.setChecked(False) + @Slot() - def do_treatment_states(self): + def do_air_trap(self): """ - the slot for state change + the slot for air trap :return: none """ - op_mode = int(self.tblOpMode.verticalHeaderItem(self.tblOpMode.currentRow()).text()) - sub_mode = int(self.tblSubMode.verticalHeaderItem(self.tblSubMode.currentRow()).text()) - self.td_interface.td_operation_mode( - op_mode, - sub_mode + low_level = self.low_level.value() + upper_level = self.upper_level.value() + lower_level_raw = self.low_level_raw.value() + upper_level_raw = self.upper_level_raw.value() + valve_state = self.valve_state.value() + + controlling = self.control.isChecked() + # print(f"{low_level}\n{upper_level}\n{lower_level_raw}\n{upper_level_raw}\n{valve_state}\n{controlling}") + self.td_interface.td_air_trap( + low_level, + upper_level, + lower_level_raw, + upper_level_raw, + valve_state, + controlling ) \ No newline at end of file Index: TD_BloodPump/interface.ui =================================================================== diff -u -r21c7894d12a3744993fd0d9940be06336c3ba4e7 -r4b4fedc07e2f374ff7618f47d00aa2db2323f91d --- TD_BloodPump/interface.ui (.../interface.ui) (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) +++ TD_BloodPump/interface.ui (.../interface.ui) (revision 4b4fedc07e2f374ff7618f47d00aa2db2323f91d) @@ -6,444 +6,218 @@ 0 0 - 1026 - 337 + 596 + 193 &1 States/&4 TD Blood Pump - - - - - - - - 320 - 215 - - - - - 8 - 50 - false - - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAsNeeded - - - QAbstractItemView::NoEditTriggers - - - true - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectRows - - - true - - - false - - - 9 - - - 2 - - - true - - - 85 - - - true - - - true - - - 18 - - - 21 - - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - - - - 0 : OP Mode - - - - - Description - - - - - MODE_FAUL - + + + 6 + + + + + + + + + + 0 + 0 + + + + + 464 + 0 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(52, 105, 2); + + + 17 : [0x1100] : TD Blood pump + + + Qt::AlignCenter + + - - - fault mode - + + + + Send + + - - - MODE_SERV - + + + + reset + + - - - Service mode - - - - - MODE_INIT - - - - - Initialization & POST mode - - - - - MODE_STAN - - - - - Standby mode - - - - - MODE_TPAR - - - - - Treatment Parameters (Validation) mode - - - - - MODE_PRET - - - - - Pre-Treatment mode - - - - - MODE_TREA - - - - - Treatment mode - - - - - MODE_POST - - - - - Post-Treatment mode - - - - - MODE_NLEG - - - - - illegal mode transition - - - + - - - - - 400 - 285 - - - - - 8 - 50 - false - - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAsNeeded - - - QAbstractItemView::NoEditTriggers - - - true - - - QAbstractItemView::SingleSelection - - - QAbstractItemView::SelectRows - - - true - - - false - - - 6 - - - 2 - - - true - - - 285 - - - true - - - true - - - 18 - - - 21 - - - - 0 - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 1 : SubMode - - - - - Description - - - - - STANDBY_START_STATE - + + + + + + QLayout::SetMaximumSize + + + 10 + + + + + set Flow + + + + + + + 999 + + + + + + + rot Count + + + + + + + 999 + + + + + + + pres Flow + + + + + + + 999 + + + + + + + hall State + + + + + + + 10 + + + + - - - Start standby (home actuators). - + + + + 10 + + + + + meas Flow + + + + + + + 999.990000000000009 + + + + + + + rot Speed + + + + + + + 999.990000000000009 + + + + + + + mot Speed + + + + + + + 999.990000000000009 + + + + + + + RPM + + + + + + + 999.990000000000009 + + + + - - - STANDBY_WAIT_FOR_TREATMENT_STATE - - - - - Wait for treatment. - - - - - STANDBY_WAIT_FOR_DISINFECT_STATE - - - - - Wait for UI to send disinfect option. - - - - - STANDBY_WAIT_FOR_DD_CLEANING_MODE_CMD_RESPONSE_STATE - - - - - Wait for DD cleaning mode command response state. - - - - - STANDBY_WAIT_FOR_DD_CLEANING_MODE_TO_START_STATE - - - - - Wait for DD cleaning mode to start state. - - - - - STANDBY_CLEANING_MODE_IN_PROGRESS_STATE - - - - - Cleaning mode in progress state. - - - + - - - - - - reset - - - - - - - - 0 - 0 - - - - - 10 - - - - color: rgb(238, 238, 236); -background-color: rgb(52, 105, 2); - - - 17 : [0x1100] : TD Blood pump - - - Qt::AlignCenter - - - - - - - Send - - - - + + + + Qt::Vertical + + + + 20 + 40 + + + - - tbSend - tbReset - tblOpMode - tblSubMode - Index: TD_BloodPump/loader.py =================================================================== diff -u -r21c7894d12a3744993fd0d9940be06336c3ba4e7 -r4b4fedc07e2f374ff7618f47d00aa2db2323f91d --- TD_BloodPump/loader.py (.../loader.py) (revision 21c7894d12a3744993fd0d9940be06336c3ba4e7) +++ TD_BloodPump/loader.py (.../loader.py) (revision 4b4fedc07e2f374ff7618f47d00aa2db2323f91d) @@ -34,18 +34,25 @@ finds and creates widgets :return: none """ - self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) - self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) - self.tblOpMode = self.find_widget(QtWidgets.QTableWidget , 'tblOpMode' ) - self.tblSubMode = self.find_widget(QtWidgets.QTableWidget , 'tblSubMode' ) + self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) + self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) + self.sFlow = self.find_widget(QtWidgets.QSpinBox , 'setFlowSpinBox' ) + self.mFlow = self.find_widget(QtWidgets.QDoubleSpinBox , 'measFlowDoubleSpinBox' ) + self.rotCount = self.find_widget(QtWidgets.QSpinBox , 'rotCountSpinBox' ) + self.rotSpeed = self.find_widget(QtWidgets.QDoubleSpinBox , 'rotSpeedDoubleSpinBox' ) + self.presFlow = self.find_widget(QtWidgets.QSpinBox , 'presFlowSpinBox' ) + self.motSpeed = self.find_widget(QtWidgets.QDoubleSpinBox , 'motSpeedDoubleSpinBox' ) + self.hallState = self.find_widget(QtWidgets.QSpinBox , 'hallStateSpinBox' ) + self.sRPM = self.find_widget(QtWidgets.QDoubleSpinBox , 'rPMDoubleSpinBox' ) + def _init_connections(self): """ initializes the widgets connections :return: none """ self.tbReset.clicked.connect(self._init_widgets) - self.tbSend.clicked.connect(self.do_treatment_states) + self.tbSend.clicked.connect(self.do_bp_data) # self.tblOpMode.currentCellChanged.connect(self.do_treatment_states) # self.tblSubMode.currentCellChanged.connect(self.do_treatment_states) @@ -55,20 +62,36 @@ initializes the widgets' properties :return: none """ - self.tblOpMode.setCurrentCell(TDOpModes.MODE_INIT.value, 0) - self.tblOpMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) - self.tblSubMode.setCurrentCell(TDStandbyStates.STANDBY_START_STATE.value, 0) - self.tblSubMode.horizontalHeaderItem(0).setTextAlignment(QtCore.Qt.AlignLeft) + self.sFlow.setValue(0) + self.mFlow.setValue(0) + self.rotCount.setValue(0) + self.rotSpeed.setValue(0) + self.presFlow.setValue(0) + self.motSpeed.setValue(0) + self.hallState.setValue(0) + self.sRPM.setValue(0) @Slot() - def do_treatment_states(self): + def do_bp_data(self): """ the slot for state change :return: none """ - op_mode = int(self.tblOpMode.verticalHeaderItem(self.tblOpMode.currentRow()).text()) - sub_mode = int(self.tblSubMode.verticalHeaderItem(self.tblSubMode.currentRow()).text()) - self.td_interface.td_operation_mode( - op_mode, - sub_mode + set_flow = self.sFlow.value() + meas_flow = self.mFlow.value() + rot_speed = self.rotSpeed.value() + mot_speed = self.motSpeed.value() + set_rpm = self.sRPM.value() + rot_count = self.rotCount.value() + pres_flow = self.presFlow.value() + rot_hall_state = self.hallState.value() + # print(f"{set_flow}, {meas_flow}\n{rot_count}, {rot_speed}\n{pres_flow}, {mot_speed}\n{rot_hall_state}, {set_rpm}") + self.td_interface.td_blood_pump( + set_flow, + meas_flow, + rot_speed, + mot_speed, + set_rpm, rot_count, + pres_flow, + rot_hall_state ) \ No newline at end of file