Index: dialin/ui/hd_simulator.py =================================================================== diff -u -rac368c6deb78514ddde757cd885eff812b73cd1a -rbea9ebd2e6dd6ba909a7431044059a9aeb4ea0b5 --- dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision ac368c6deb78514ddde757cd885eff812b73cd1a) +++ dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision bea9ebd2e6dd6ba909a7431044059a9aeb4ea0b5) @@ -1732,14 +1732,15 @@ payload += integer_to_bytearray(max_dialysate_flow_rate) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_to_ui_ch_id, - message_id=MsgIds.MSG_ID_TREATMENT_PARAM_CHANGE_RANGES.value, + message_id=MsgIds.MSG_ID_TREATMENT_PARAM_CHANGE_RANGES_DATA.value, payload=payload) self.can_interface.send(message, 0) def cmd_set_treatment_blood_flow_rate(self, flow_set_pt: int, measured_flow: float, rot_speed: float, mot_speed: float, mc_speed: float, - mc_current: float, pwm: float, rotor_count: int) -> None: + mc_current: float, pwm: float, rotor_count: int, + presFlow: int, rotorHall: int) -> None: """ The Blood Flow Data message setter/sender method @@ -1755,6 +1756,8 @@ @param mc_current: (float) MC Current @param pwm: (float) PWM @param rotor_count: (int) Rotor Count + @param presFlow: (int) Prescribed Blood Flow + @param rotorHall: (int) RotorHall sensor @return: None """ @@ -1766,6 +1769,8 @@ payload += float_to_bytearray(mc_current) payload += float_to_bytearray(pwm) payload += integer_to_bytearray(rotor_count) + payload += integer_to_bytearray(presFlow) + payload += integer_to_bytearray(rotorHall) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, message_id=MsgIds.MSG_ID_BLOOD_FLOW_DATA.value, @@ -1775,7 +1780,8 @@ def cmd_set_treatment_dialysate_flow_rate(self, flow_set_pt: int, measured_flow: float, rot_speed: float, mot_speed: float, mc_speed: float, - mc_current: float, pwm: float) -> None: + mc_current: float, pwm: float, rotor_count: int, + presFlow: int, rotorHall: int) -> None: """ The Dialysate Flow Data message setter/sender method @@ -1790,6 +1796,9 @@ @param mc_speed: (float) MC Speed @param mc_current: (float) MC Current @param pwm: (float) PWM + @param rotor_count: (int) Rotor Count + @param presFlow: (int) Prescribed Blood Flow + @param rotorHall: (int) RotorHall sensor @return: None """ @@ -1800,6 +1809,9 @@ payload += float_to_bytearray(mc_speed) payload += float_to_bytearray(mc_current) payload += float_to_bytearray(pwm) + payload += integer_to_bytearray(rotor_count) + payload += integer_to_bytearray(presFlow) + payload += integer_to_bytearray(rotorHall) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, message_id=MsgIds.MSG_ID_DIALYSATE_FLOW_DATA.value, @@ -2035,14 +2047,16 @@ payload += integer_to_bytearray(sec_remain) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, - message_id=MsgIds.MSG_ID_TREATMENT_TIME.value, + message_id=MsgIds.MSG_ID_TREATMENT_TIME_DATA.value, payload=payload) self.can_interface.send(message, 0) def cmd_set_treatment_ultrafiltration_outlet_flow_data(self, ref_uf_vol: float, measured_uf_vol: float, rot_speed: float, mot_speed: float, mc_speed: float, - mc_current: float, pwm: float) -> None: + mc_current: float, pwm: float, corr_offset: float, + pump_calculated_rate: float, uf_calculated_rate: float, + rotor_hall: int ) -> None: """ the Outlet Flow Data message setter/sender method @@ -2057,6 +2071,10 @@ @param mc_speed: (float) MC Speed @param mc_current: (float) MC Current @param pwm: (float) PWM + @param corr_offset: correction offset for calculated DPo flow rate. + @param pump_calculated_rate: calculated DPo flow rate. + @param uf_calculated_rate: calculated UF rate. + @param rotor_hall: rotor hall sensor state (1=home, 0=not home) @return: none """ @@ -2067,6 +2085,10 @@ payload += float_to_bytearray(mc_speed) payload += float_to_bytearray(mc_current) payload += float_to_bytearray(pwm) + payload += corr_offset + payload += pump_calculated_rate + payload += uf_calculated_rate + payload += rotor_hall message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, message_id=MsgIds.MSG_ID_DIALYSATE_OUT_FLOW_DATA.value, @@ -2075,8 +2097,9 @@ self.can_interface.send(message, 0) def cmd_set_pressure_occlusion_data(self, arterial_prs: float, venous_prs: float, blood_pump_occlusion: int, - dialysate_inlet_pump_occlusion: int, - dialysate_outlet_pump_occlusion: int) -> None: + pressure_limit_state: int, arterial_min_limt: int, arterial_max_limt: int, + venous_min_limit: int, venous_max_limit: int, arterial_long_filtered_pressure: float, + venous_long_filtered_pressure: float) -> None: """ the Pressure/Occlusion Data messages setter/sender method @@ -2087,16 +2110,26 @@ @param arterial_prs: (float) Arterial Pressure @param venous_prs: (float) Venous Pressure @param blood_pump_occlusion: (uint) Blood Pump Occlusion - @param dialysate_inlet_pump_occlusion: (uint) Dialysate Inlet Pump Occlusion - @param dialysate_outlet_pump_occlusion: (uint) Dialysate Outlet Pump Occlusion + @param : (uint) Current pressure limits state + @param : (int) Current arterial minimum pressure limit + @param : (int) Current arterial maximum pressure limit + @param : (int) Current venous minimum pressure limit + @param : (int) Current venous maximum pressure limit + @param : (float) Latest long filtered arterial pressure + @param : (float) Latest long filtered venous pressure @return: none """ payload = float_to_bytearray(arterial_prs) payload += float_to_bytearray(venous_prs) payload += integer_to_bytearray(blood_pump_occlusion) - payload += integer_to_bytearray(dialysate_inlet_pump_occlusion) - payload += integer_to_bytearray(dialysate_outlet_pump_occlusion) + payload += integer_to_bytearray(pressure_limit_state) + payload += integer_to_bytearray(arterial_min_limt) + payload += integer_to_bytearray(arterial_max_limt) + payload += integer_to_bytearray(venous_min_limit) + payload += integer_to_bytearray(venous_max_limit) + payload += float_to_bytearray(arterial_long_filtered_pressure) + payload += float_to_bytearray(venous_long_filtered_pressure) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, message_id=MsgIds.MSG_ID_PRESSURE_OCCLUSION_DATA.value, @@ -2153,7 +2186,7 @@ payload += integer_to_bytearray(dialysis_state) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, - message_id=MsgIds.MSG_ID_TREATMENT_STATE.value, + message_id=MsgIds.MSG_ID_TREATMENT_STATE_DATA.value, payload=payload) self.can_interface.send(message, 0) @@ -2189,7 +2222,7 @@ payload += integer_to_bytearray(operation_sub_mode) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, - message_id=MsgIds.MSG_ID_HD_OP_MODE.value, + message_id=MsgIds.MSG_ID_HD_OP_MODE_DATA.value, payload=payload) self.can_interface.send(message, 0) @@ -2286,7 +2319,7 @@ payload += float_to_bytearray(required) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, - message_id=MsgIds.MSG_ID_HD_HEPARIN_DATA_BROADCAST.value, + message_id=MsgIds.MSG_ID_HD_HEPARIN_DATA.value, payload=payload) self.can_interface.send(message, 0) @@ -2312,8 +2345,9 @@ self.can_interface.send(message, 0) def cmd_send_treatment_adjust_pressures_limit_response(self, accepted: int, reason: int, - arterial_low: int, arterial_high: int, - venous_low: int, venous_high: int) -> None: + arterial_pressure_limit_window: int, + venous_pressure_limit_window: int, + venous_pressure_limit_asymmetric: int) -> None: """ the Blood/dialysate rate change Response message setter/sender method | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | #1:(U32) | #2:(U32) | #3:(S32) | #4:(S32) | #3:(S32) | #4:(S32) | @@ -2322,19 +2356,17 @@ @param accepted: (int) boolean accept/reject response @param reason: (int) rejection reason - @param arterial_low: (int) Arterial Pressure Limit Low (mmHg) - @param arterial_high: (int) Arterial Pressure Limit High (mmHg) - @param venous_low: (int) Venous Pressure Limit Low (mmHg) - @param venous_high: (int) Venous Pressure Limit High (mmHg) + @param arterial_pressure_limit_window: (int) Arterial Pressure Limit Low (mmHg) + @param venous_pressure_limit_window: (int) Venous Pressure Limit (mmHg) + @param venous_pressure_limit_asymmetric: (int) Venous Pressure Asymmetric Limit (mmHg) @return: none """ payload = integer_to_bytearray(accepted) payload += integer_to_bytearray(reason) - payload += integer_to_bytearray(arterial_low) - payload += integer_to_bytearray(arterial_high) - payload += integer_to_bytearray(venous_low) - payload += integer_to_bytearray(venous_high) + payload += integer_to_bytearray(arterial_pressure_limit_window) + payload += integer_to_bytearray(venous_pressure_limit_window) + payload += integer_to_bytearray(venous_pressure_limit_asymmetric) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_to_ui_ch_id, message_id=MsgIds.MSG_ID_HD_PRESSURE_LIMITS_CHANGE_RESPONSE.value, @@ -2409,7 +2441,7 @@ payload += integer_to_bytearray(timeout_count_down) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_to_ui_ch_id, - message_id=MsgIds.MSG_ID_HD_RECIRC_PROGRESS.value, + message_id=MsgIds.MSG_ID_HD_RECIRC_PROGRESS_DATA.value, payload=payload) self.can_interface.send(message, 0) @@ -2428,10 +2460,9 @@ payload = float_to_bytearray(target) payload += float_to_bytearray(current) - payload += float_to_bytearray(0) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_to_ui_ch_id, - message_id=MsgIds.MSG_ID_HD_BLOOD_PRIME_PROGRESS.value, + message_id=MsgIds.MSG_ID_HD_BLOOD_PRIME_PROGRESS_DATA.value, payload=payload) self.can_interface.send(message, 0) @@ -2672,7 +2703,7 @@ payload += integer_to_bytearray(pretreatment_rsrvr_state) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, - message_id=MsgIds.MSG_ID_PRE_TREATMENT_STATE.value, + message_id=MsgIds.MSG_ID_PRE_TREATMENT_STATE_DATA.value, payload=payload) self.can_interface.send(message, 0) @@ -2693,30 +2724,30 @@ self.can_interface.send(message, 0) - def cmd_send_pre_treatment_self_test_no_cartridge_progress_data(self, total: int, countdown: int) -> None: + def cmd_send_pre_treatment_self_test_no_cartridge_progress_data(self, timeout: int, countdown: int) -> None: """ send the pretreatment no cartridge self-tests progress data - @param total: (int) Total time in second + @param timeout: (int) timeout in seconds @param countdown: (int) count down time in second @return: None """ - payload = integer_to_bytearray(total) + payload = integer_to_bytearray(timeout) payload += integer_to_bytearray(countdown) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_to_ui_ch_id, - message_id=MsgIds.MSG_ID_HD_NO_CART_SELF_TEST_PROGRESS.value, + message_id=MsgIds.MSG_ID_HD_NO_CART_SELF_TEST_PROGRESS_DATA.value, payload=payload) self.can_interface.send(message, 0) - def cmd_send_pre_treatment_self_test_dry_progress_data(self, total: int, countdown: int) -> None: + def cmd_send_pre_treatment_self_test_dry_progress_data(self, timeout: int, countdown: int) -> None: """ send the pretreatment dry self-tests progress data - @param total: (int) Total time in second + @param timeout: (int) timeout time in seconds @param countdown: (int) count down time in second @return: None """ - payload = integer_to_bytearray(total) + payload = integer_to_bytearray(timeout) payload += integer_to_bytearray(countdown) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_to_ui_ch_id, @@ -2732,8 +2763,7 @@ @param countdown: (int) the remaining time in seconds @return: None """ - payload = bytearray() - payload += integer_to_bytearray(timeout) + payload = integer_to_bytearray(timeout) payload += integer_to_bytearray(countdown) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id,