Index: leahi_dialin/ui/td_messaging.py =================================================================== diff -u -ra18704a9e0461edca538e449d33b9ea286385961 -r923a6cf4205ed94ae793899f3d3d2dd26b87a8f5 --- leahi_dialin/ui/td_messaging.py (.../td_messaging.py) (revision a18704a9e0461edca538e449d33b9ea286385961) +++ leahi_dialin/ui/td_messaging.py (.../td_messaging.py) (revision 923a6cf4205ed94ae793899f3d3d2dd26b87a8f5) @@ -514,7 +514,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 Param Ranges Data (Msg ID: 0x43, 67) + 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.unsigned_integer_to_bytearray (min_tx_time_s ) + payload += conversions.unsigned_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.unsigned_integer_to_bytearray (min_dial_rate_mLH ) + payload += conversions.unsigned_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 ,