Index: simulator/plugins/GeneralResponseMessage/interface.ui
===================================================================
diff -u -r7f0678d0f61fa99a35a1f34fac6c36e12ba93f20 -r7b31e16c71ec5da38ce5759fbfb44a885554cf13
--- simulator/plugins/GeneralResponseMessage/interface.ui (.../interface.ui) (revision 7f0678d0f61fa99a35a1f34fac6c36e12ba93f20)
+++ simulator/plugins/GeneralResponseMessage/interface.ui (.../interface.ui) (revision 7b31e16c71ec5da38ce5759fbfb44a885554cf13)
@@ -6,14 +6,14 @@
0
0
- 1234
- 312
+ 1198
+ 281
- &9 General/&2 Response Message
+ &9 General/&0 Response Message
-
+
-
@@ -34,158 +34,185 @@
-
-
-
-
-
-
- MsgID
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
+
+
+
+ 10
+
+
+
+ color: rgb(238, 238, 236);
+background-color: rgb(46, 52, 54);
+
+
+ Response Message
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
-
+
+
-
+
+
+ HD
+
+
+ true
+
+
+
+ -
+
+
+ DG
+
+
+
+ -
+
+
+ Data
+
+
+
+
- -
-
-
- D000
-
-
- 94
-
-
+
-
+
+
-
+
+
+ MsgID
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ 65535
+
+
+
+ -
+
+
+ Decimal
+
+
+
+
- -
-
-
-
- 0
- 0
-
-
-
-
- 50
- 0
-
-
+
-
+
- reason
+ Accept
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 10
-
-
-
- QFrame::StyledPanel
-
-
- QFrame::Plain
-
+
-
+
-
+ Reject
- -
+
-
-
-
- 0
- 0
-
+
+ 999
-
-
- 10
-
-
- -
-
+
-
+
- Decimal
+ Reason
- -
-
-
-
- 10
-
-
-
- color: rgb(238, 238, 236);
-background-color: rgb(46, 52, 54);
-
-
- Response Message
-
-
- Qt::AlignCenter
-
-
+
-
+
+
-
+
+
+ Ack
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ Sequence
+
+
+
+ -
+
+
+ Send
+
+
+
+
- -
-
-
-
- 10
-
+
-
+
+
+ Qt::Horizontal
-
- Accept
+
+
+ 40
+ 20
+
-
+
- -
-
-
-
- 10
-
-
-
- Reject
-
-
-
- -
-
-
- HD
-
-
- true
-
-
-
- -
-
-
- DG
-
-
-
- -
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 10
+
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Plain
+
+
+
+
+
+
+ -
2
@@ -405,7 +432,227 @@
- -
+
-
+
+
+ 2
+
+
+ 0
+
+
-
+
+
+ P10
+
+
+
+ -
+
+
+ P11
+
+
+
+ -
+
+
+ P12
+
+
+
+ -
+
+
+ P13
+
+
+
+ -
+
+
+ P14
+
+
+
+ -
+
+
+ P15
+
+
+
+ -
+
+
+ P16
+
+
+
+ -
+
+
+ P17
+
+
+
+ -
+
+
+ P18
+
+
+
+ -
+
+
+ P19
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ 2147483647
+
+
+
+ -
+
+
+ F10
+
+
+
+ -
+
+
+ F11
+
+
+
+ -
+
+
+ F12
+
+
+
+ -
+
+
+ F13
+
+
+
+ -
+
+
+ F14
+
+
+
+ -
+
+
+ F15
+
+
+
+ -
+
+
+ F16
+
+
+
+ -
+
+
+ F17
+
+
+
+ -
+
+
+ F18
+
+
+
+ -
+
+
+ F19
+
+
+
+
+
+ -
Qt::Vertical
@@ -423,10 +670,6 @@
rbHD
rbDG
- leMessageID
- btnAccept
- btnReject
- spnReason
chkP0
spnP0
chkP1
Index: simulator/plugins/GeneralResponseMessage/loader.py
===================================================================
diff -u -r7f0678d0f61fa99a35a1f34fac6c36e12ba93f20 -r7b31e16c71ec5da38ce5759fbfb44a885554cf13
--- simulator/plugins/GeneralResponseMessage/loader.py (.../loader.py) (revision 7f0678d0f61fa99a35a1f34fac6c36e12ba93f20)
+++ simulator/plugins/GeneralResponseMessage/loader.py (.../loader.py) (revision 7b31e16c71ec5da38ce5759fbfb44a885554cf13)
@@ -23,11 +23,18 @@
"""
rbHD: QtWidgets.QRadioButton
rbDG: QtWidgets.QRadioButton
- leMessageID: QtWidgets.QLineEdit
+
+ chkData: QtWidgets.QCheckBox
+ spnMessageID: QtWidgets.QSpinBox
+
btnAccept: QtWidgets.QPushButton
btnReject: QtWidgets.QPushButton
lblAction: QtWidgets.QLabel
spnReason: QtWidgets.QSpinBox
+
+ btnAcknow: QtWidgets.QPushButton
+ spnSequence: QtWidgets.QSpinBox
+
spnP0: QtWidgets.QSpinBox
spnP1: QtWidgets.QSpinBox
spnP2: QtWidgets.QSpinBox
@@ -58,6 +65,36 @@
chkF7: QtWidgets.QCheckBox
chkF8: QtWidgets.QCheckBox
chkF9: QtWidgets.QCheckBox
+ spnP10: QtWidgets.QSpinBox
+ spnP11: QtWidgets.QSpinBox
+ spnP12: QtWidgets.QSpinBox
+ spnP13: QtWidgets.QSpinBox
+ spnP14: QtWidgets.QSpinBox
+ spnP15: QtWidgets.QSpinBox
+ spnP16: QtWidgets.QSpinBox
+ spnP17: QtWidgets.QSpinBox
+ spnP18: QtWidgets.QSpinBox
+ spnP19: QtWidgets.QSpinBox
+ chkP10: QtWidgets.QCheckBox
+ chkP11: QtWidgets.QCheckBox
+ chkP12: QtWidgets.QCheckBox
+ chkP13: QtWidgets.QCheckBox
+ chkP14: QtWidgets.QCheckBox
+ chkP15: QtWidgets.QCheckBox
+ chkP16: QtWidgets.QCheckBox
+ chkP17: QtWidgets.QCheckBox
+ chkP18: QtWidgets.QCheckBox
+ chkP19: QtWidgets.QCheckBox
+ chkF10: QtWidgets.QCheckBox
+ chkF11: QtWidgets.QCheckBox
+ chkF12: QtWidgets.QCheckBox
+ chkF13: QtWidgets.QCheckBox
+ chkF14: QtWidgets.QCheckBox
+ chkF15: QtWidgets.QCheckBox
+ chkF16: QtWidgets.QCheckBox
+ chkF17: QtWidgets.QCheckBox
+ chkF18: QtWidgets.QCheckBox
+ chkF19: QtWidgets.QCheckBox
def __init__(self, hd_simulator: HDSimulator):
super().__init__(os.path.dirname(__file__), hd_simulator)
@@ -69,11 +106,17 @@
"""
self.rbHD = self.find_radio_button('rbHD')
self.rbDG = self.find_radio_button('rbDG')
- self.leMessageID = self.find_line_edit('leMessageID')
+ self.chkData = self.find_checkbox('chkData')
+
+ self.spnMessageID = self.find_spinbox('spnMessageID')
self.btnAccept = self.find_button('btnAccept')
self.btnReject = self.find_button('btnReject')
self.lblAction = self.find_label('lblAction')
self.spnReason = self.find_spinbox('spnReason')
+
+ self.btnAcknow = self.find_button('btnAcknow')
+ self.spnSequence = self.find_spinbox('spnSequence')
+
self.spnP0 = self.find_spinbox('spnP0')
self.spnP1 = self.find_spinbox('spnP1')
self.spnP2 = self.find_spinbox('spnP2')
@@ -104,6 +147,36 @@
self.chkF7 = self.find_checkbox('chkF7')
self.chkF8 = self.find_checkbox('chkF8')
self.chkF9 = self.find_checkbox('chkF9')
+ self.spnP10 = self.find_spinbox('spnP10')
+ self.spnP11 = self.find_spinbox('spnP11')
+ self.spnP12 = self.find_spinbox('spnP12')
+ self.spnP13 = self.find_spinbox('spnP13')
+ self.spnP14 = self.find_spinbox('spnP14')
+ self.spnP15 = self.find_spinbox('spnP15')
+ self.spnP16 = self.find_spinbox('spnP16')
+ self.spnP17 = self.find_spinbox('spnP17')
+ self.spnP18 = self.find_spinbox('spnP18')
+ self.spnP19 = self.find_spinbox('spnP19')
+ self.chkP10 = self.find_checkbox('chkP10')
+ self.chkP11 = self.find_checkbox('chkP11')
+ self.chkP12 = self.find_checkbox('chkP12')
+ self.chkP13 = self.find_checkbox('chkP13')
+ self.chkP14 = self.find_checkbox('chkP14')
+ self.chkP15 = self.find_checkbox('chkP15')
+ self.chkP16 = self.find_checkbox('chkP16')
+ self.chkP17 = self.find_checkbox('chkP17')
+ self.chkP18 = self.find_checkbox('chkP18')
+ self.chkP19 = self.find_checkbox('chkP19')
+ self.chkF10 = self.find_checkbox('chkF10')
+ self.chkF11 = self.find_checkbox('chkF11')
+ self.chkF12 = self.find_checkbox('chkF12')
+ self.chkF13 = self.find_checkbox('chkF13')
+ self.chkF14 = self.find_checkbox('chkF14')
+ self.chkF15 = self.find_checkbox('chkF15')
+ self.chkF16 = self.find_checkbox('chkF16')
+ self.chkF17 = self.find_checkbox('chkF17')
+ self.chkF18 = self.find_checkbox('chkF18')
+ self.chkF19 = self.find_checkbox('chkF19')
def _init_widgets(self):
"""
@@ -119,6 +192,7 @@
"""
self.btnAccept.clicked.connect(self.do_accept)
self.btnReject.clicked.connect(self.do_reject)
+ self.btnAcknow.clicked.connect(self.do_acknow)
def _make_parameters_payload(self):
self.parameters_payload_len = 0
@@ -183,17 +257,86 @@
else:
self.parameters_payload += integer_to_bytearray(self.spnP9.value())
self.parameters_payload_len = 10
+ if self.chkP10.isChecked():
+ if self.chkF10.isChecked():
+ self.parameters_payload = float_to_bytearray(self.spnP10.value())
+ else:
+ self.parameters_payload = integer_to_bytearray(self.spnP10.value())
+ self.parameters_payload_len = 11
+ if self.chkP11.isChecked():
+ if self.chkF11.isChecked():
+ self.parameters_payload += float_to_bytearray(self.spnP11.value())
+ else:
+ self.parameters_payload += integer_to_bytearray(self.spnP11.value())
+ self.parameters_payload_len = 12
+ if self.chkP12.isChecked():
+ if self.chkF12.isChecked():
+ self.parameters_payload += float_to_bytearray(self.spnP12.value())
+ else:
+ self.parameters_payload += integer_to_bytearray(self.spnP12.value())
+ self.parameters_payload_len = 13
+ if self.chkP13.isChecked():
+ if self.chkF13.isChecked():
+ self.parameters_payload += float_to_bytearray(self.spnP13.value())
+ else:
+ self.parameters_payload += integer_to_bytearray(self.spnP13.value())
+ self.parameters_payload_len = 14
+ if self.chkP14.isChecked():
+ if self.chkF14.isChecked():
+ self.parameters_payload += float_to_bytearray(self.spnP14.value())
+ else:
+ self.parameters_payload += integer_to_bytearray(self.spnP14.value())
+ self.parameters_payload_len = 15
+ if self.chkP15.isChecked():
+ if self.chkF15.isChecked():
+ self.parameters_payload += float_to_bytearray(self.spnP15.value())
+ else:
+ self.parameters_payload += integer_to_bytearray(self.spnP15.value())
+ self.parameters_payload_len = 16
+ if self.chkP16.isChecked():
+ if self.chkF16.isChecked():
+ self.parameters_payload += float_to_bytearray(self.spnP16.value())
+ else:
+ self.parameters_payload += integer_to_bytearray(self.spnP16.value())
+ self.parameters_payload_len = 17
+ if self.chkP17.isChecked():
+ if self.chkF17.isChecked():
+ self.parameters_payload += float_to_bytearray(self.spnP17.value())
+ else:
+ self.parameters_payload += integer_to_bytearray(self.spnP17.value())
+ self.parameters_payload_len = 18
+ if self.chkP18.isChecked():
+ if self.chkF18.isChecked():
+ self.parameters_payload += float_to_bytearray(self.spnP18.value())
+ else:
+ self.parameters_payload += integer_to_bytearray(self.spnP18.value())
+ self.parameters_payload_len = 19
+ if self.chkP19.isChecked():
+ if self.chkF19.isChecked():
+ self.parameters_payload += float_to_bytearray(self.spnP19.value())
+ else:
+ self.parameters_payload += integer_to_bytearray(self.spnP19.value())
+ self.parameters_payload_len = 20
@Slot()
def do_accept(self):
"""
the slot for accept button
:return: none
"""
- message_id = self.leMessageID.text()
+ message_id = self.spnMessageID.text()
self._make_parameters_payload()
- self.hd_simulator.cmd_send_general_response(int(message_id), True, 0, self.rbHD.isChecked(),
- self.parameters_payload_len > 0, self.parameters_payload)
+ if self.rbHD.isChecked():
+ self.hd_simulator.cmd_send_general_hd_response(int(message_id), True, 0,
+ self.chkData.isChecked(),
+ self.parameters_payload_len > 0,
+ self.parameters_payload)
+ else:
+ self.hd_simulator.cmd_send_general_dg_response(int(message_id), True, 0,
+ self.chkData.isChecked(),
+ self.parameters_payload_len > 0,
+ self.parameters_payload)
+
self.lblAction.setText('Accepted ')
@Slot()
@@ -202,9 +345,30 @@
the slot for reject button
:return: none
"""
- message_id = self.leMessageID.text()
+ message_id = self.spnMessageID.text()
reason = self.spnReason.value()
self._make_parameters_payload()
- self.hd_simulator.cmd_send_general_response(int(message_id), False, reason, self.rbHD.isChecked(),
- self.parameters_payload_len > 0, self.parameters_payload)
+ if self.rbHD.isChecked():
+ self.hd_simulator.cmd_send_general_hd_response(int(message_id), False, reason,
+ self.chkData.isChecked(),
+ self.parameters_payload_len > 0,
+ self.parameters_payload)
+ else:
+ self.hd_simulator.cmd_send_general_dg_response(int(message_id), False, reason,
+ self.chkData.isChecked(),
+ self.parameters_payload_len > 0,
+ self.parameters_payload)
+
self.lblAction.setText('Rejected ' + "{}".format(reason))
+
+ @Slot()
+ def do_acknow(self):
+ """
+ sends the message acknowledge by the sequence number spnSequence
+ :return: None
+ """
+ seq = self.spnSequence.value()
+ if self.rbHD.isChecked():
+ self.hd_simulator.ack_send_hd(seq)
+ else:
+ self.hd_simulator.ack_send_dg(seq)
Index: simulator/plugins/PostTreatment/interface.ui
===================================================================
diff -u -rf7ddf9ad0024ce755a89661d7bf47a2342d97890 -r7b31e16c71ec5da38ce5759fbfb44a885554cf13
--- simulator/plugins/PostTreatment/interface.ui (.../interface.ui) (revision f7ddf9ad0024ce755a89661d7bf47a2342d97890)
+++ simulator/plugins/PostTreatment/interface.ui (.../interface.ui) (revision 7b31e16c71ec5da38ce5759fbfb44a885554cf13)
@@ -11,7 +11,7 @@
- &5 Post-Treatment/&0 Responses
+ &5 Post-Treatment/&0 Treatment Log
-
Index: simulator/plugins/PostTreatment/loader.py
===================================================================
diff -u -rf7ddf9ad0024ce755a89661d7bf47a2342d97890 -r7b31e16c71ec5da38ce5759fbfb44a885554cf13
--- simulator/plugins/PostTreatment/loader.py (.../loader.py) (revision f7ddf9ad0024ce755a89661d7bf47a2342d97890)
+++ simulator/plugins/PostTreatment/loader.py (.../loader.py) (revision 7b31e16c71ec5da38ce5759fbfb44a885554cf13)
@@ -12,8 +12,6 @@
from dialin.ui.hd_simulator import HDSimulator
from dialin.ui.hd_simulator import RequestRejectReasons
-from dialin.utils.conversions import unsigned_to_bytearray, float_to_bytearray
-
# plugin specific
# -- None --
@@ -244,45 +242,43 @@
the slot for accept button
:return: none
"""
- parameters = [
- # column 1
- unsigned_to_bytearray(int(self.leBloodFlowRate.text())),
- unsigned_to_bytearray(int(self.leDialysateFlowRate.text())),
- unsigned_to_bytearray(int(self.leTreatmentDuration.text())),
- unsigned_to_bytearray(int(self.leActualTreatmentDuration.text())),
- unsigned_to_bytearray(int(self.leAcidConcentrateType.text())),
- unsigned_to_bytearray(int(self.leBicarbonateConcentrateType.text())),
- unsigned_to_bytearray(int(self.lePotassiumConcentration.text())),
- unsigned_to_bytearray(int(self.leCalciumConcentration.text())),
- unsigned_to_bytearray(int(self.leBicarbonateConcentration.text())),
- unsigned_to_bytearray(int(self.leSodiumConcentration.text())),
- float_to_bytearray(float(self.leDialysateTemperature.text())),
- unsigned_to_bytearray(int(self.leDialyzerType.text())),
- unsigned_to_bytearray(int(self.leTreatmentDateTime.text())),
- float_to_bytearray(float(self.leAverageBloodFlow.text())),
- float_to_bytearray(float(self.leAverageDialysateFlow.text())),
- float_to_bytearray(float(self.leDialysateVolumeUsed.text())),
- float_to_bytearray(float(self.leAverageDialysateTemp.text())),
- # column 2
- float_to_bytearray(float(self.leTargetUFVolume.text())),
- float_to_bytearray(float(self.leActualUFVolume.text())),
- float_to_bytearray(float(self.leTargetUFRate.text())),
- float_to_bytearray(float(self.leActualUFRate.text())),
- unsigned_to_bytearray(int(self.leSalineBolusVolume.text())),
- unsigned_to_bytearray(int(self.leHeparinType.text())),
- unsigned_to_bytearray(int(self.leHeparinConcentration.text())),
- float_to_bytearray(float(self.leHeparinBolusVolume.text())),
- float_to_bytearray(float(self.leHeparinDispenseRate.text())),
- unsigned_to_bytearray(int(self.leHeparinPreStop.text())),
- float_to_bytearray(float(self.leHeparinDeliveredVolume.text())),
- float_to_bytearray(float(self.leAverageArterialPressure.text())),
- float_to_bytearray(float(self.leAverageVenousPressure.text())),
- unsigned_to_bytearray(int(self.leEndTreatmentEarlyAlarm.text())),
- unsigned_to_bytearray(int(self.leDeviceID.text())),
- unsigned_to_bytearray(int(self.leWaterSampleTestResult.text()))
- ]
-
- self.hd_simulator.cmd_send_post_treatment_log_response(True, 0, parameters)
+ self.hd_simulator.cmd_send_post_treatment_log_response(True, 0,
+ # column 1
+ int(self.leBloodFlowRate.text()),
+ int(self.leDialysateFlowRate.text()),
+ int(self.leTreatmentDuration.text()),
+ int(self.leActualTreatmentDuration.text()),
+ int(self.leAcidConcentrateType.text()),
+ int(self.leBicarbonateConcentrateType.text()),
+ int(self.lePotassiumConcentration.text()),
+ int(self.leCalciumConcentration.text()),
+ int(self.leBicarbonateConcentration.text()),
+ int(self.leSodiumConcentration.text()),
+ float(self.leDialysateTemperature.text()),
+ int(self.leDialyzerType.text()),
+ int(self.leTreatmentDateTime.text()),
+ float(self.leAverageBloodFlow.text()),
+ float(self.leAverageDialysateFlow.text()),
+ float(self.leDialysateVolumeUsed.text()),
+ float(self.leAverageDialysateTemp.text()),
+ # column 2
+ float(self.leTargetUFVolume.text()),
+ float(self.leActualUFVolume.text()),
+ float(self.leTargetUFRate.text()),
+ float(self.leActualUFRate.text()),
+ int(self.leSalineBolusVolume.text()),
+ int(self.leHeparinType.text()),
+ int(self.leHeparinConcentration.text()),
+ float(self.leHeparinBolusVolume.text()),
+ float(self.leHeparinDispenseRate.text()),
+ int(self.leHeparinPreStop.text()),
+ float(self.leHeparinDeliveredVolume.text()),
+ float(self.leAverageArterialPressure.text()),
+ float(self.leAverageVenousPressure.text()),
+ int(self.leEndTreatmentEarlyAlarm.text()),
+ int(self.leDeviceID.text()),
+ int(self.leWaterSampleTestResult.text())
+ )
self.lblActionTxLog.setText('Accepted ')
@Slot()
@@ -291,43 +287,11 @@
the slot for reject button
:return: none
"""
- parameters = [
- # column 1
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- float_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- float_to_bytearray(0),
- float_to_bytearray(0),
- float_to_bytearray(0),
- float_to_bytearray(0),
- # column 2
- float_to_bytearray(0),
- float_to_bytearray(0),
- float_to_bytearray(0),
- float_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- float_to_bytearray(0),
- float_to_bytearray(0),
- unsigned_to_bytearray(0),
- float_to_bytearray(0),
- float_to_bytearray(0),
- float_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0),
- unsigned_to_bytearray(0)
- ]
reason = self.spnReasonTxLog.value()
- self.hd_simulator.cmd_send_post_treatment_log_response(False, reason, parameters)
+ self.hd_simulator.cmd_send_post_treatment_log_response(False, reason,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0
+ )
self.lblActionTxLog.setText('Rejected ' + "{}".format(reason))