Index: leahi_dialin/ui/dd_messaging.py =================================================================== diff -u -r79b09049832200d2adde2efd7d79a2407b57d09d -rb40b6d73d23cb6c3520ad06b98c1198ef70fd24e --- leahi_dialin/ui/dd_messaging.py (.../dd_messaging.py) (revision 79b09049832200d2adde2efd7d79a2407b57d09d) +++ leahi_dialin/ui/dd_messaging.py (.../dd_messaging.py) (revision b40b6d73d23cb6c3520ad06b98c1198ef70fd24e) @@ -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, + GenDExec : int , + isDDInPrg : int , + FltLevel1 : int , + BiCarbLvl : int , + SpentLvl : int , + HydNegPres : float , + HydPosPres : float , + SpentPress : float , + IsDialGood : int ): + """ + Broadcasts DD generate dialysate data + @param GenDExec (int ): Generate dialysate execution state + @param isDDInPrg (int ): Dialysate Delivery in Progress Bool + @param FltLevel1 (int ): Floater level (low, medium and high) + @param BiCarbLvl (int ): BiCarb Chamber level + @param SpentLvl (int ): Spent dialysate chamber level + @param HydNegPres (float): Hydraulics chamber negative pressure + @param HydPosPres (float): Hydraulics chamber positive pressure + @param SpentPress (float): Spent Dialysate positive pressure + @param IsDialGood (int ): Ready to deliver dialysate or not + @return: None + """ + payload = conversions.unsigned_byte_to_bytearray(GenDExec ) + payload += conversions.unsigned_byte_to_bytearray(isDDInPrg ) + payload += conversions.unsigned_byte_to_bytearray(FltLevel1 ) + payload += conversions.unsigned_byte_to_bytearray(BiCarbLvl ) + payload += conversions.unsigned_byte_to_bytearray(SpentLvl ) + payload += conversions.float_to_bytearray (HydNegPres ) + payload += conversions.float_to_bytearray (HydPosPres ) + payload += conversions.float_to_bytearray (SpentPress ) + payload += conversions.unsigned_byte_to_bytearray(IsDialGood ) + + 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):