Index: HemodialysisDevice.py =================================================================== diff -u -r680670f948d164932a6a68effa940bd8455e820e -rabcbb7082663067d1da4f252aa18a84e2630f1fe --- HemodialysisDevice.py (.../HemodialysisDevice.py) (revision 680670f948d164932a6a68effa940bd8455e820e) +++ HemodialysisDevice.py (.../HemodialysisDevice.py) (revision abcbb7082663067d1da4f252aa18a84e2630f1fe) @@ -485,6 +485,41 @@ + def BloodFlowBroadcastIntervalOverride(self, reset, ms): + """ + sends the measured flow broadcast interval override command + + \param reset: integer - 1 to reset a previous override, 0 to override + \param ms: integer - interval (in ms) to override with + \returns 1 if successful, zero otherwise + """ + + channel_id = 0x400 + request_id = 0x800C + + rst = self.__integer2ByteArray(reset) + cur = self.__integer2ByteArray(curr) + cargo = rst + cur + + message = DialityPacket.buildPacket(request_id=request_id, cargo=cargo) + + print("override blood flow broadcast interval") + + # Send message + received_message = self.__can_interface.send(channel_id, message) + + # If there is content... + if received_message is not None: + print(received_message) + print("Blood flow broadcast interval overridden to " + str(ms) + " ms: " + str(received_message[4])) + # 5th element is OK or not OK + return received_message[4] + else: + print("Timeout!!!!") + return False + + + def __integer2ByteArray(self, val): fmt = '%08x' # integer to hex string formatter b = unhexlify(fmt % val) # convert reset int to byte array @@ -508,5 +543,12 @@ sleep(2) thehd.login() - sleep(2) - thehd.OffButtonOverride(0,1) + sleep(5) + thehd.BloodFlowBroadcastIntervalOverride(0,2000) +# thehd.OffButtonOverride(0,1) + + sleep(5) + thehd.BloodFlowBroadcastIntervalOverride(0,200) + + sleep(5) + thehd.BloodFlowBroadcastIntervalOverride(1,0)