Index: HemodialysisDevice.py =================================================================== diff -u -r377c55b8bdfcab1b3135b2dcc557c472b7e8c634 -r8735608b72c44913ad2623ee0bb8883f6e2bfa92 --- HemodialysisDevice.py (.../HemodialysisDevice.py) (revision 377c55b8bdfcab1b3135b2dcc557c472b7e8c634) +++ HemodialysisDevice.py (.../HemodialysisDevice.py) (revision 8735608b72c44913ad2623ee0bb8883f6e2bfa92) @@ -316,10 +316,8 @@ END_POS_ALARM_TOP = START_POS_ALARM_TOP + 4 START_POS_ALARM_SILENCE_EXPIRES_IN = END_POS_ALARM_TOP END_POS_ALARM_SILENCE_EXPIRES_IN = START_POS_ALARM_SILENCE_EXPIRES_IN + 4 - START_POS_ALARMS_SILENCED = END_POS_ALARM_SILENCE_EXPIRES_IN - END_POS_ALARMS_SILENCED = START_POS_ALARMS_SILENCED + 1 - START_POS_ALARMS_FLAGS = END_POS_ALARMS_SILENCED - END_POS_ALARMS_FLAGS = START_POS_ALARMS_FLAGS + 1 + START_POS_ALARMS_FLAGS = END_POS_ALARM_SILENCE_EXPIRES_IN + END_POS_ALARMS_FLAGS = START_POS_ALARMS_FLAGS + 2 def __init__(self, outer_instance, can_interface=None): """ @@ -340,8 +338,7 @@ self.alarmsState = 0 self.alarmTop = 0 self.alarmsSilenceExpiresIn = 0 - self.alarmsSilenced = False - self.alarmsFlags = bytes(0) + self.alarmsFlags = 0 def handlerAlarmsStatusSyncFunction(self, message): """ @@ -361,10 +358,9 @@ self.alarmsSilenceExpiresIn = int.from_bytes(bytearray( message['message'][self.START_POS_ALARM_SILENCE_EXPIRES_IN:self.END_POS_ALARM_SILENCE_EXPIRES_IN]), byteorder=DenaliMessage.BYTE_ORDER) - self.alarmsSilenced = (False if bytearray( - message['message'][self.START_POS_ALARMS_SILENCED:self.END_POS_ALARMS_SILENCED]) != 1 else True) - self.alarmsFlags = bytearray( - message['message'][self.START_POS_ALARMS_FLAGS:self.END_POS_ALARMS_FLAGS]) + self.alarmsFlags = int.from_bytes(bytearray( + message['message'][self.START_POS_ALARMS_FLAGS:self.END_POS_ALARMS_FLAGS]), + byteorder=DenaliMessage.BYTE_ORDER) def CmdAlarmStateOverride(self, reset, state, alarm): """ @@ -571,19 +567,26 @@ self.TargetBloodFlowRate = int.from_bytes(bytearray( message['message'][self.START_POS_SET_PT:self.END_POS_SET_PT]), byteorder=DenaliMessage.BYTE_ORDER) - self.MeasuredBloodFlowRate = struct.unpack('f', bytearray( + flow = struct.unpack('f', bytearray( message['message'][self.START_POS_MEAS_FLOW:self.END_POS_MEAS_FLOW])) - self.MeasuredBloodPumpRotorSpeed = struct.unpack('f', bytearray( + rotor = struct.unpack('f', bytearray( message['message'][self.START_POS_MEAS_ROT_SPEED:self.END_POS_MEAS_ROT_SPEED])) - self.MeasuredBloodPumpSpeed = struct.unpack('f', bytearray( + speed = struct.unpack('f', bytearray( message['message'][self.START_POS_MEAS_SPEED:self.END_POS_MEAS_SPEED])) - self.MeasuredBloodPumpMCSpeed = struct.unpack('f', bytearray( + mcspeed = struct.unpack('f', bytearray( message['message'][self.START_POS_MEAS_MC_SPEED:self.END_POS_MEAS_MC_SPEED])) - self.MeasuredBloodPumpMCCurrent = struct.unpack('f', bytearray( + mccurr = struct.unpack('f', bytearray( message['message'][self.START_POS_MEAS_MC_CURR:self.END_POS_MEAS_MC_CURR])) - self.PWMDutyCyclePct = struct.unpack('f', bytearray( + pwm = struct.unpack('f', bytearray( message['message'][self.START_POS_PWM_DC:self.END_POS_PWM_DC])) + self.MeasuredBloodFlowRate = flow[0] + self.MeasuredBloodPumpRotorSpeed = rotor[0] + self.MeasuredBloodPumpSpeed = speed[0] + self.MeasuredBloodPumpMCSpeed = mcspeed[0] + self.MeasuredBloodPumpMCCurrent = mccurr[0] + self.PWMDutyCyclePct = pwm[0] + def CmdBloodFlowSetPointOverride(self, reset, flow): """ Constructs and sends the blood flow set point override command @@ -892,4 +895,8 @@ hd.BloodFlow.CmdBloodFlowBroadcastIntervalOverride(hd.NO_RESET, 200) tgtRate = hd.BloodFlow.TargetBloodFlowRate + sleep(1) + + print(hd.BloodFlow.MeasuredBloodFlowRate) + # hd.BloodFlow.CmdBloodFlowBroadcastIntervalOverride(hd.RESET,0)