Index: dialin/common/hd_defs.py =================================================================== diff -u -r78422482a3cf189f2aa65a3405e0f21833ec6b01 -raa3366a4d031c2447d6621db655f44e4bbf81d6d --- dialin/common/hd_defs.py (.../hd_defs.py) (revision 78422482a3cf189f2aa65a3405e0f21833ec6b01) +++ dialin/common/hd_defs.py (.../hd_defs.py) (revision aa3366a4d031c2447d6621db655f44e4bbf81d6d) @@ -456,23 +456,32 @@ @unique class TreatmentParameters(DialinEnum): - TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN = 0 - TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN = 1 - TREATMENT_PARAM_TREATMENT_DURATION_MIN = 2 - TREATMENT_PARAM_HEPARIN_PRESTOP_MIN = 3 - TREATMENT_PARAM_SALINE_BOLUS_VOLUME_ML = 4 - TREATMENT_PARAM_ACID_CONCENTRATE = 5 - TREATMENT_PARAM_BICARB_CONCENTRATE = 6 - TREATMENT_PARAM_DIALYZER_TYPE = 7 - TREATMENT_PARAM_HEPARIN_TYPE = 8 - TREATMENT_PARAM_BLOOD_PRESSURE_MEAS_INTERVAL_MIN = 9 - TREATMENT_PARAM_RINSEBACK_FLOW_RATE_ML_MIN = 10 - TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG = 11 - TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG = 12 - TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG = 13 - TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG = 14 - TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR = 15 - TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML = 16 - TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C = 17 - TREATMENT_PARAM_UF_VOLUME_L = 18 - NUM_OF_TREATMENT_PARAMS = 19 + TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN = 0 + TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN = 1 + TREATMENT_PARAM_TREATMENT_DURATION_MIN = 2 + TREATMENT_PARAM_HEPARIN_PRESTOP_MIN = 3 + TREATMENT_PARAM_SALINE_BOLUS_VOLUME_ML = 4 + TREATMENT_PARAM_ACID_CONCENTRATE = 5 + TREATMENT_PARAM_BICARB_CONCENTRATE = 6 + TREATMENT_PARAM_DIALYZER_TYPE = 7 + TREATMENT_PARAM_HEPARIN_TYPE = 8 + TREATMENT_PARAM_BLOOD_PRESSURE_MEAS_INTERVAL_MIN = 9 + TREATMENT_PARAM_RINSEBACK_FLOW_RATE_ML_MIN = 10 + TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG = 11 + TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG = 12 + TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG = 13 + TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG = 14 + TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR = 15 + TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML = 16 + TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C = 17 + TREATMENT_PARAM_UF_VOLUME_L = 18 + NUM_OF_TREATMENT_PARAMS = 19 + +@unique +class PowerOffCommands(DialinEnum): + """ + power off commands enum + """ + PW_COMMAND_OPEN = 0 + PW_TIMEOUT_CLOSE = 1 + PW_REJECT_SHOW = 2 Index: dialin/common/msg_defs.py =================================================================== diff -u -r78422482a3cf189f2aa65a3405e0f21833ec6b01 -raa3366a4d031c2447d6621db655f44e4bbf81d6d --- dialin/common/msg_defs.py (.../msg_defs.py) (revision 78422482a3cf189f2aa65a3405e0f21833ec6b01) +++ dialin/common/msg_defs.py (.../msg_defs.py) (revision aa3366a4d031c2447d6621db655f44e4bbf81d6d) @@ -46,7 +46,7 @@ MsgIds.MSG_ID_DIALYSATE_OUT_FLOW_DATA.value, MsgIds.MSG_ID_LOAD_CELL_READINGS.value, MsgIds.MSG_ID_TREATMENT_TIME.value, - MsgIds.MSG_ID_POWER_OFF_WARNING.value, + MsgIds.MSG_ID_POWER_OFF_IMMINENT.value, MsgIds.MSG_ID_TREATMENT_STATE.value, MsgIds.MSG_ID_RO_PUMP_DATA.value, MsgIds.MSG_ID_DG_PRESSURES_DATA.value, Index: dialin/common/msg_ids.py =================================================================== diff -u -ra3008f2085dca1d8de69c242414b91429bc188e9 -raa3366a4d031c2447d6621db655f44e4bbf81d6d --- dialin/common/msg_ids.py (.../msg_ids.py) (revision a3008f2085dca1d8de69c242414b91429bc188e9) +++ dialin/common/msg_ids.py (.../msg_ids.py) (revision aa3366a4d031c2447d6621db655f44e4bbf81d6d) @@ -21,7 +21,7 @@ @unique class MsgIds(DialinEnum): MSG_ID_UNUSED = 0x0 - MSG_ID_OFF_BUTTON_PRESS = 0x1 + MSG_ID_POWER_OFF = 0x1 MSG_ID_ALARM_STATUS = 0x2 MSG_ID_ALARM_TRIGGERED = 0x3 MSG_ID_ALARM_CLEARED = 0x4 @@ -34,7 +34,7 @@ MSG_ID_DIALYSATE_OUT_FLOW_DATA = 0xB MSG_ID_LOAD_CELL_READINGS = 0xC MSG_ID_TREATMENT_TIME = 0xD - MSG_ID_POWER_OFF_WARNING = 0xE + MSG_ID_POWER_OFF_IMMINENT = 0xE MSG_ID_TREATMENT_STATE = 0xF MSG_ID_USER_UF_PAUSE_RESUME_REQUEST = 0x10 MSG_ID_USER_UF_SETTINGS_CHANGE_REQUEST = 0x11 Index: dialin/hd/buttons.py =================================================================== diff -u -r3a70bfb451b74106348c064c34f19934aadd9119 -raa3366a4d031c2447d6621db655f44e4bbf81d6d --- dialin/hd/buttons.py (.../buttons.py) (revision 3a70bfb451b74106348c064c34f19934aadd9119) +++ dialin/hd/buttons.py (.../buttons.py) (revision aa3366a4d031c2447d6621db655f44e4bbf81d6d) @@ -42,7 +42,7 @@ if self.can_interface is not None: self.can_interface.register_receiving_publication_function(DenaliChannels.hd_to_ui_ch_id, - MsgIds.MSG_ID_OFF_BUTTON_PRESS.value, + MsgIds.MSG_ID_POWER_OFF.value, self._handler_poweroff_timeout_occurred) def get_power_timeout_expired(self): Index: dialin/ui/hd_simulator.py =================================================================== diff -u -r78422482a3cf189f2aa65a3405e0f21833ec6b01 -raa3366a4d031c2447d6621db655f44e4bbf81d6d --- dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision 78422482a3cf189f2aa65a3405e0f21833ec6b01) +++ dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision aa3366a4d031c2447d6621db655f44e4bbf81d6d) @@ -261,49 +261,47 @@ return True - def cmd_send_poweroff_button_pressed(self): + def cmd_send_poweroff_command(self): """ - Broadcast that the poweroff button was pressed - + Broadcast that the poweroff command @return: None """ - - payload = bytearray(0x01) - + payload = byte_to_bytearray(PowerOffCommands.PW_COMMAND_OPEN.value) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_to_ui_ch_id, - message_id=MsgIds.MSG_ID_OFF_BUTTON_PRESS.value, + message_id=MsgIds.MSG_ID_POWER_OFF.value, payload=payload) - self.can_interface.send(message, 0) - def cmd_send_broadcast_poweroff_imminent(self): + def cmd_send_poweroff_timeout(self): """ - Broadcast that the system will shut down - + Sends a poweroff timeout @return: None """ - - payload = integer_to_bytearray(1) - - message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, - message_id=MsgIds.MSG_ID_POWER_OFF_WARNING.value, + payload = byte_to_bytearray(PowerOffCommands.PW_TIMEOUT_CLOSE.value) + message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_to_ui_ch_id, + message_id=MsgIds.MSG_ID_POWER_OFF.value, payload=payload) - self.can_interface.send(message, 0) - def cmd_send_poweroff_timeout(self): + def cmd_send_poweroff_reject(self): """ - Sends a poweroff timeout - + Sends a poweroff reject @return: None """ - - payload = integer_to_bytearray(1) - + payload = byte_to_bytearray(PowerOffCommands.PW_REJECT_SHOW.value) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_to_ui_ch_id, - message_id=MsgIds.MSG_ID_OFF_BUTTON_PRESS.value, + message_id=MsgIds.MSG_ID_POWER_OFF.value, payload=payload) + self.can_interface.send(message, 0) + def cmd_send_poweroff_imminent(self): + """ + Broadcast that the system will shut down + @return: None + """ + message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, + message_id=MsgIds.MSG_ID_POWER_OFF_IMMINENT.value, + payload=None) self.can_interface.send(message, 0) def _handler_ui_confirm_treatment(self, message):