Index: dialin/hd/blood_flow.py =================================================================== diff -u -racd09d02879e8add4cf7f694f5db8e423a76c341 -rcf1dab9c15c4171412e6f532202b305475720f0c --- dialin/hd/blood_flow.py (.../blood_flow.py) (revision acd09d02879e8add4cf7f694f5db8e423a76c341) +++ dialin/hd/blood_flow.py (.../blood_flow.py) (revision cf1dab9c15c4171412e6f532202b305475720f0c) @@ -52,6 +52,7 @@ self.measured_blood_pump_mc_current = 0.0 self.pwm_duty_cycle_pct = 0.0 self.rotor_count = 0 + self.pres_blood_flow_rate = 0 def get_target_blood_flow_rate(self): """ @@ -117,9 +118,17 @@ """ return self.rotor_count + def get_pres_blood_flow_rate(self): + """ + Gets the prescribed blood flow rate + + @return: the prescribed blood flow rate + """ + return self.pres_blood_flow_rate + @publish(["target_blood_flow_rate", "measured_blood_flow_rate", "measured_blood_pump_rotor_speed", "measured_blood_pump_speed", "measured_blood_pump_mc_speed", "measured_blood_pump_mc_current", - "pwm_duty_cycle_pct", "rotor_count"]) + "pwm_duty_cycle_pct", "rotor_count", "pres_blood_flow_rate"]) def _handler_blood_flow_sync(self, message): """ Handles published blood flow data messages. Blood flow data are captured @@ -145,6 +154,8 @@ message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7])) rot = struct.unpack('I', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8])) + pres = struct.unpack('I', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9])) self.target_blood_flow_rate = tgt[0] self.measured_blood_flow_rate = flow[0] @@ -154,6 +165,7 @@ self.measured_blood_pump_mc_current = mccurr[0] self.pwm_duty_cycle_pct = pwm[0] self.rotor_count = rot[0] + self.pres_blood_flow_rate = pres[0] def cmd_blood_flow_set_point_override(self, flow: int, mode: int = PUMP_CONTROL_MODE_CLOSED_LOOP, reset: int = NO_RESET) -> int: Index: dialin/hd/dialysate_inlet_flow.py =================================================================== diff -u -racd09d02879e8add4cf7f694f5db8e423a76c341 -rcf1dab9c15c4171412e6f532202b305475720f0c --- dialin/hd/dialysate_inlet_flow.py (.../dialysate_inlet_flow.py) (revision acd09d02879e8add4cf7f694f5db8e423a76c341) +++ dialin/hd/dialysate_inlet_flow.py (.../dialysate_inlet_flow.py) (revision cf1dab9c15c4171412e6f532202b305475720f0c) @@ -54,6 +54,7 @@ self.measured_dialysate_inlet_pump_mc_current = 0.0 self.pwm_duty_cycle_pct = 0.0 self.rotor_count = 0 + self.pres_dialysate_flow_rate = 0 def get_target_dialysate_inlet_flow_rate(self): """ @@ -119,14 +120,22 @@ """ return self.rotor_count + def get_pres_dialysate_flow_rate(self): + """ + Gets the prescribed dialysate flow rate + + @return: the prescribed dialysate flow rate + """ + return self.pres_dialysate_flow_rate + @publish([ "target_dialysate_inlet_flow_rate", "measured_dialysate_inlet_flow_rate", "measured_dialysate_inlet_pump_rotor_speed", "measured_dialysate_inlet_pump_speed", "measured_dialysate_inlet_pump_mc_speed", "measured_dialysate_inlet_pump_mc_current", - "pwm_duty_cycle_pct", "rotor_count" + "pwm_duty_cycle_pct", "rotor_count", "pres_dialysate_flow_rate" ]) def _handler_dialysate_inlet_flow_sync(self, message): """ @@ -153,6 +162,8 @@ message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7])) rot = struct.unpack('I', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8])) + pres = struct.unpack('I', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9])) self.target_dialysate_inlet_flow_rate = tgt[0] self.measured_dialysate_inlet_flow_rate = flow[0] @@ -162,6 +173,7 @@ self.measured_dialysate_inlet_pump_mc_current = mccurr[0] self.pwm_duty_cycle_pct = pwm[0] self.rotor_count = rot[0] + self.pres_dialysate_flow_rate = pres[0] def cmd_dialysate_inlet_flow_set_point_override(self, flow: int,