Index: leahi_dialin/ui/dd_messaging.py =================================================================== diff -u -r79b09049832200d2adde2efd7d79a2407b57d09d -r22edb3e32e00966918269e87c949b87496a718ea --- leahi_dialin/ui/dd_messaging.py (.../dd_messaging.py) (revision 79b09049832200d2adde2efd7d79a2407b57d09d) +++ leahi_dialin/ui/dd_messaging.py (.../dd_messaging.py) (revision 22edb3e32e00966918269e87c949b87496a718ea) @@ -30,7 +30,74 @@ if self.can_interface is not None: self.can_enabled = True + def dd_conductivity(self, + D17: float, + D27: float, + D29: float, + D43: float, + D74: float): + """ + Broadcasts DD generate conductivity data + @param D17 (float): Bicarb only conductivity sensor 1 + @param D27 (float): Acid and Bicarb mix conductivity sensor 1 + @param D29 (float): Acid and Bicarb mix conductivity sensor 2 + @param D43 (float): Spent dialysate conductivity sensor + @param D74 (float): Bicarb only conductivity sensor 2 + @return: None + """ + payload = conversions.float_to_bytearray(D17 ) + payload += conversions.float_to_bytearray(D27 ) + payload += conversions.float_to_bytearray(D29 ) + payload += conversions.float_to_bytearray(D43 ) + payload += conversions.float_to_bytearray(D74 ) + message = CAN.DenaliMessage.build_message( + channel_id=CAN.DenaliChannels.dd_sync_broadcast_ch_id, + message_id=msg_ids.MsgIds.MSG_ID_DD_CONDUCTIVITY_DATA.value, + payload=payload) + + self.can_interface.send(message, 0) + + def dd_gen_dialysate(self, + gen_dialysate_exec : int , + dd_in_progress : int , + D6_floater_level_1 : int , + D63_bicarb_level : int , + D46_spent_level : int , + D9_hyd_negative_press : float , + D18_hyd_positive_press : float , + D51_spend_pressure : float , + is_dial_good : int ): + """ + Broadcasts DD generate dialysate data + @param gen_dialysate_exec (int ): Generate dialysate execution state + @param dd_in_progress (int ): Dialysate Delivery in Progress Bool + @param D6_floater_level_1 (int ): Floater level (low, medium and high) + @param D63_bicarb_level (int ): BiCarb Chamber level + @param D46_spent_level (int ): Spent dialysate chamber level + @param D9_hyd_negative_press (float): Hydraulics chamber negative pressure + @param D18_hyd_positive_press (float): Hydraulics chamber positive pressure + @param D51_spend_pressure (float): Spent Dialysate positive pressure + @param is_dial_good (int ): Ready to deliver dialysate or not + @return: None + """ + payload = conversions.unsigned_integer_to_bytearray(gen_dialysate_exec ) + payload += conversions.unsigned_integer_to_bytearray(dd_in_progress ) + payload += conversions.unsigned_integer_to_bytearray(D6_floater_level_1 ) + payload += conversions.unsigned_integer_to_bytearray(D63_bicarb_level ) + payload += conversions.unsigned_integer_to_bytearray(D46_spent_level ) + payload += conversions.float_to_bytearray (D9_hyd_negative_press ) + payload += conversions.float_to_bytearray (D18_hyd_positive_press ) + payload += conversions.float_to_bytearray (D51_spend_pressure ) + payload += conversions.unsigned_integer_to_bytearray(is_dial_good ) + + message = CAN.DenaliMessage.build_message( + channel_id=CAN.DenaliChannels.dd_sync_broadcast_ch_id, + message_id=msg_ids.MsgIds.MSG_ID_DD_GEN_DIALYSATE_MODE_DATA.value, + payload=payload) + + self.can_interface.send(message, 0) + def dd_versions(self, major: int, minor: int, micro: int, build: int, fpga_id: int, fpga_major: int, fpga_minor: int, fpga_lab: int, compatibility_rev: int):