Index: dialin/common/msg_ids.py =================================================================== diff -u -r2abf398a7fffa390c46f8d41403de44575ffd97e -r90fe0d09fe6bc3a76cc09a2cabda2e6771e5cde2 --- dialin/common/msg_ids.py (.../msg_ids.py) (revision 2abf398a7fffa390c46f8d41403de44575ffd97e) +++ dialin/common/msg_ids.py (.../msg_ids.py) (revision 90fe0d09fe6bc3a76cc09a2cabda2e6771e5cde2) @@ -205,7 +205,7 @@ MSG_ID_HD_DG_SERVICE_MODE_REQUEST = 0xB6 MSG_ID_DG_RTC_EPOCH_DATA = 0xB7 MSG_ID_HD_DG_USAGE_INFO_REQUEST = 0xB8 - MSG_ID_MSG_AVAILABLE_9 = 0xB9 + MSG_ID_HD_TDI_TEMP_COUNTER_DATA = 0xB9 MSG_ID_HD_UI_CONFIRMATION_REQUEST = 0xBA MSG_ID_UI_CONFIRMATION_RESULT_RESPONSE = 0xBB MSG_ID_UI_SET_DG_RO_MODE = 0xBC Index: dialin/hd/treatment.py =================================================================== diff -u -rcb130637058af1a50ece54c74965099f3ac4a9b1 -r90fe0d09fe6bc3a76cc09a2cabda2e6771e5cde2 --- dialin/hd/treatment.py (.../treatment.py) (revision cb130637058af1a50ece54c74965099f3ac4a9b1) +++ dialin/hd/treatment.py (.../treatment.py) (revision 90fe0d09fe6bc3a76cc09a2cabda2e6771e5cde2) @@ -118,6 +118,9 @@ msg_id = MsgIds.MSG_ID_HD_TREATMENT_STOP_TIMER_DATA.value self.can_interface.register_receiving_publication_function(channel_id, msg_id, self._handler_treatment_stop_timer_data_sync) + msg_id = MsgIds.MSG_ID_HD_TDI_TEMP_COUNTER_DATA.value + self.can_interface.register_receiving_publication_function(channel_id, msg_id, + self._handler_tdi_temperature_counter_data_sync) msg_id = MsgIds.MSG_ID_HD_RES_CURRENT_TREATMENT_PARAMETERS.value self.can_interface.register_receiving_publication_function(DenaliChannels.hd_to_dialin_ch_id, msg_id, @@ -131,6 +134,7 @@ self.hd_recirc_progress_timestamp = 0.0 self.hd_treatment_stop_timer_data_timestamp = 0.0 self.hd_res_current_treatment_parameters_timestamp = 0.0 + self.hd_tdi_temperature_counter_timestamp = 0.0 # treatment duration data self.treatment_time_prescribed = 0 self.treatment_time_elapsed = 0 @@ -187,6 +191,20 @@ self.current_dialysate_temp = 0 self.current_uf_volume = 0 + #TDI temperature counter + self.tdi_temp_counter_dict = {} + self.tdihigh_tempup_cntr = 0 + self.tdihigh_tempdown_cntr = 0 + self.prevtdihigh_tempup_cntr = 0 + self.prevtdihigh_tempdown_cntr = 0 + self.tdilow_tempup_cntr = 0 + self.tdilow_tempdown_cntr = 0 + self.prevtdilow_tempup_cntr = 0 + self.prevtdilow_tempdown_cntr = 0 + self.dgcurrent_active_reservoir = 0 + self.dgprev_active_reservoir = 0 + self.dgtdi_temp = 0.0 + def reset(self) -> None: """ Reset all treatment variables @@ -483,7 +501,28 @@ return self.current_treatment_param_dict + def get_tdi_temperature_counters(self) -> dict: + """ + Returns TDI temperature counter variables in a dictionary + @return: self.tdi_temp_counter_dict + """ + self.tdi_temp_counter_dict = { + "tdihigh_tempup_cntr" : self.tdihigh_tempup_cntr, + "tdihigh_tempdown_cntr" : self.tdihigh_tempdown_cntr, + "prev_tdihigh_tempup_cntr" : self.prevtdihigh_tempup_cntr, + "prev_tdihigh_tempdown_cntr" : self.prevtdihigh_tempdown_cntr, + "tdilow_tempup_cntr" : self.tdilow_tempup_cntr, + "tdilow_tempdown_cntr" : self.tdilow_tempdown_cntr, + "prev_tdilow_tempup_cntr" : self.prevtdilow_tempup_cntr, + "prev_tdilow_tempdown_cntr" : self.prevtdilow_tempdown_cntr, + "current_active_reservoir" : self.dgcurrent_active_reservoir, + "prev_active_reservoir" : self.dgprev_active_reservoir, + "tdi_temperature" : self.dgtdi_temp + } + + return self.tdi_temp_counter_dict + @publish([ "hd_treatment_time_timestamp", "treatment_time_prescribed", @@ -766,6 +805,53 @@ self.current_uf_volume = ufvol[0] self.hd_res_current_treatment_parameters_timestamp = timestamp + @publish(["hd_tdi_temperature_counter_timestamp", "tdihigh_tempup_cntr", "tdihigh_tempdown_cntr", + "prevtdihigh_tempup_cntr", "prevtdihigh_tempdown_cntr", "tdilow_tempup_cntr", + "tdilow_tempdown_cntr", "prevtdilow_tempup_cntr", "prevtdilow_tempdown_cntr", + "dgcurrent_active_reservoir", "dgprev_active_reservoir", "dgtdi_temp"]) + def _handler_tdi_temperature_counter_data_sync(self, message, timestamp=0.0) -> None: + """ + Handles published TDI temperature high and low alarm counter variables. + + @param message: published TDI temperature high and low alarm counter variables. + @return: None + """ + tdihitempupcntr = struct.unpack(' int: """ Constructs and sends the set blood flow rate treatment parameter command.