Index: dialin/dg/dialysate_generator.py =================================================================== diff -u -r52a4421a9b93a31a6484ec78ef61e58ac910c03c -r7e75f0609ea6e44ba9f1d5da41106059ad2abb10 --- dialin/dg/dialysate_generator.py (.../dialysate_generator.py) (revision 52a4421a9b93a31a6484ec78ef61e58ac910c03c) +++ dialin/dg/dialysate_generator.py (.../dialysate_generator.py) (revision 7e75f0609ea6e44ba9f1d5da41106059ad2abb10) @@ -37,10 +37,10 @@ # DG message IDs MSG_ID_DG_OPERATION_MODE_BROADCAST = 0x0027 - MSG_ID_LOGIN_TO_DG = 0xA000 - MSG_ID_DG_MSG = 0xA001 MSG_ID_DG_REQUEST_DG_VERSION = 0x001C MSG_ID_DG_DG_VERSION_RESPONSE = 0x001E + MSG_ID_LOGIN_TO_DG = 0xA000 + MSG_ID_DG_SAFETY_SHUTDOWN_OVERRIDE = 0xA014 # HD login password DG_LOGIN_PASSWORD = '123' @@ -187,43 +187,41 @@ print("Timeout!!!!") return False - def cmd_dg_message_insert(self, msg): + def cmd_ui_request_dg_version(self): """ - Constructs and sends the insert DG message command. Given message will \n - be inserted into the DG's received message queue for processing. + Constructs and sends the ui request for version message - \param msg: byte array - properly formatted DG message to insert + """ - \returns 1 if successful, zero otherwise + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dg_ch_id, + message_id=self.MSG_ID_DG_REQUEST_DG_VERSION) + + print("Sending Dialin request for version to DG") + + self.can_interface.send(message, 0) + + def cmd_dg_safety_shutdown_override(self): """ + Constructs and sends an DG safety shutdown override command via CAN bus. + \returns response message if received, False if no response received + """ + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dg_ch_id, - message_id=self.MSG_ID_DG_MSG, - payload=msg) + message_id=self.MSG_ID_DG_SAFETY_SHUTDOWN_OVERRIDE) - print("insert DG message") + print("overriding DG safety shutdown") # Send message received_message = self.can_interface.send(message) - # If there is content... if received_message is not None: - print("Inserted message: " + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) - # response payload is OK or not OK + if received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] == 1: + print("Safety shutdown signal overridden") + else: + print("Safety shutdown signal override failed.") return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: print("Timeout!!!!") return False - def cmd_ui_request_dg_version(self): - """ - Constructs and sends the ui request for version message - - """ - - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dg_ch_id, - message_id=self.MSG_ID_DG_REQUEST_DG_VERSION) - - print("Sending Dialin request for version to DG") - - self.can_interface.send(message, 0) Index: dialin/hd/hemodialysis_device.py =================================================================== diff -u -rd5c70c72d1cda8f85b5f77c58e56b996e80085bf -r7e75f0609ea6e44ba9f1d5da41106059ad2abb10 --- dialin/hd/hemodialysis_device.py (.../hemodialysis_device.py) (revision d5c70c72d1cda8f85b5f77c58e56b996e80085bf) +++ dialin/hd/hemodialysis_device.py (.../hemodialysis_device.py) (revision 7e75f0609ea6e44ba9f1d5da41106059ad2abb10) @@ -42,7 +42,7 @@ # HD message IDs MSG_ID_HD_OPERATION_MODE_BROADCAST = 0x0025 MSG_ID_LOGIN_TO_HD = 0x8000 - MSG_ID_HD_MSG = 0x8001 + MSG_ID_HD_SAFETY_SHUTDOWN_OVERRIDE = 0x8026 # broadcast message field positions START_POS_HD_OP_MODE = DenaliMessage.PAYLOAD_START_INDEX @@ -145,29 +145,26 @@ print("Timeout!!!!") return False - def cmd_hd_message_insert(self, msg): + def cmd_hd_safety_shutdown_override(self): """ - Constructs and sends the insert HD message command. Given message will \n - be inserted into the HD's received message queue for processing. + Constructs and sends an HD safety shutdown override command via CAN bus. - \param msg: byte array - properly formatted HD message to insert - - \returns 1 if successful, zero otherwise + \returns response message if received, False if no response received """ message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, - message_id=self.MSG_ID_HD_MSG, - payload=msg) + message_id=self.MSG_ID_HD_SAFETY_SHUTDOWN_OVERRIDE) - print("insert HD message") + print("overriding HD safety shutdown") # Send message received_message = self.can_interface.send(message) - # If there is content... if received_message is not None: - print("Inserted message: " + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) - # response payload is OK or not OK + if received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] == 1: + print("Safety shutdown signal overridden") + else: + print("Safety shutdown signal override failed.") return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: print("Timeout!!!!")