Index: leahi_dialin/ui/td_messaging.py =================================================================== diff -u -r82673b44f61604336cf70c0e72db0e332325c8af -r919de710d774b9811738be450783368841bb9e32 --- leahi_dialin/ui/td_messaging.py (.../td_messaging.py) (revision 82673b44f61604336cf70c0e72db0e332325c8af) +++ leahi_dialin/ui/td_messaging.py (.../td_messaging.py) (revision 919de710d774b9811738be450783368841bb9e32) @@ -486,7 +486,44 @@ payload=payload) self.can_interface.send(message, 0) - + + def td_param_ranges(self, + min_tx_time_s : int, + max_tx_time_s : int, + min_uf_volume_mL : float, + max_uf_volume_mL : float, + min_dial_rate_mLH : int, + max_dial_rate_mLH : int): + """ + Broadcasts the current TD Blood Pump Data (Msg ID: 0x11, 17) + Args: + @param min_tx_time_s : Minimum treatement time in secs. + @param max_tx_time_s : Maximum treatement time in secs. + @param min_uf_volume_mL : Minimum UF volume in mL. + @param max_uf_volume_mL : Maximum UF volume in mL. + @param min_dial_rate_mLH : Minimum dial rate in mL/H. + @param max_dial_rate_mLH : Maximum dial rate in mL/H. + @return: None + """ + + if not self.can_enabled: + raise ValueError("CAN Interface is not enabled") + + + payload = conversions.integer_to_bytearray (min_tx_time_s ) + payload += conversions.integer_to_bytearray (max_tx_time_s ) + payload += conversions.float_to_bytearray (min_uf_volume_mL ) + payload += conversions.float_to_bytearray (max_uf_volume_mL ) + payload += conversions.integer_to_bytearray (min_dial_rate_mLH ) + payload += conversions.integer_to_bytearray (max_dial_rate_mLH ) + + message = CAN.DenaliMessage.build_message( + channel_id=CAN.DenaliChannels.td_sync_broadcast_ch_id, + message_id=msg_ids.MsgIds.MSG_ID_TD_TREATMENT_PARAM_RANGES.value, + payload=payload) + + self.can_interface.send(message, 0) + def td_treatment_set_points(self, blood_flow : int , dialysate_flow : int ,