Index: leahi_dialin/dd/proxies/td_proxy.py =================================================================== diff -u -r3f4937e339925dde0b95f08e49969f8983c5cba4 -rba415df9f8e76d6b0f21e8f69ba99346e42f7b09 --- leahi_dialin/dd/proxies/td_proxy.py (.../td_proxy.py) (revision 3f4937e339925dde0b95f08e49969f8983c5cba4) +++ leahi_dialin/dd/proxies/td_proxy.py (.../td_proxy.py) (revision ba415df9f8e76d6b0f21e8f69ba99346e42f7b09) @@ -47,22 +47,34 @@ message_id = MsgIds.MSG_ID_DD_GEN_DIALYSATE_REQUEST_DATA.value, function = self._handler_dialysate_delivery_request_response) - self.dialysate_delivery_request_start = 0 - self.dialysate_delivery_request_dial_rate = 0.0 - self.dialysate_delivery_request_uf_rate = 0.0 - self.dialysate_delivery_request_dial_temp = 0.0 - self.dialysate_delivery_request_bypass = 0 - self.dialysate_delivery_request_acid = 0 - self.dialysate_delivery_request_bicarb = 0 - self.dd_td_to_dd_request_response_timestamp = 0.0 + self.dialysate_delivery_request = { + 'start': False, + 'dial_rate': 0.0, + 'uf_rate': 0.0, + 'dial_temp': 0.0, + 'bypass': 0, + 'acid': 0, + 'bicarb': 0 + } + self.td_to_dd_request_response_timestamp = 0.0 #: The timestamp of the latest Dialysate Delivery request info message - @publish(["dd_td_to_dd_request_response_timestamp", - "dialysate_delivery_request_start","dialysate_delivery_request_dial_rate", - "dialysate_delivery_request_uf_rate","dialysate_delivery_request_dial_temp", - "dialysate_delivery_request_bypass","dialysate_delivery_request_acid", - "dialysate_delivery_request_bicarb", - ]) + +# ============================================================ Properties ============================================================ + @property + def dialysate_delivery_request(self) -> dict: + """ + The current Operation Mode + """ + return self._dialysate_delivery_request + + @dialysate_delivery_request.setter + def dialysate_delivery_request(self, value): + self._dialysate_delivery_request = value + + +# ============================================================ Handlers ============================================================ + @publish(["msg_id_dd_gen_dialysate_request_data", "dialysate_delivery_request", "td_to_dd_request_response_timestamp"]) def _handler_dialysate_delivery_request_response(self, message, timestamp=0.0): """ Handles published dialysate delivery request response data messages. @@ -71,19 +83,20 @@ @return: None """ msg_list =[] - msg_list.append(('self.dialysate_delivery_request_start', DataTypes.U32)) - msg_list.append(('self.dialysate_delivery_request_dial_rate', DataTypes.F32)) - msg_list.append(('self.dialysate_delivery_request_uf_rate', DataTypes.F32)) - msg_list.append(('self.dialysate_delivery_request_dial_temp', DataTypes.F32)) - msg_list.append(('self.dialysate_delivery_request_bypass', DataTypes.U32)) - msg_list.append(('self.dialysate_delivery_request_acid', DataTypes.U32)) - msg_list.append(('self.dialysate_delivery_request_bicarb', DataTypes.U32)) + msg_list.append((self.dialysate_delivery_request, 'start', DataTypes.U32)) + msg_list.append((self.dialysate_delivery_request, 'dial_rate', DataTypes.F32)) + msg_list.append((self.dialysate_delivery_request, 'uf_rate', DataTypes.F32)) + msg_list.append((self.dialysate_delivery_request, 'dial_temp', DataTypes.F32)) + msg_list.append((self.dialysate_delivery_request, 'bypass', DataTypes.U32)) + msg_list.append((self.dialysate_delivery_request, 'acid', DataTypes.U32)) + msg_list.append((self.dialysate_delivery_request, 'bicarb', DataTypes.U32)) - self.process_into_vars(decoder_list = msg_list, - message = message) - self.dd_td_to_dd_request_response_timestamp = timestamp + self.process_into_vars(decoder_list = msg_list, message = message) + self.td_to_dd_request_response_timestamp = timestamp + +# ============================================================ Overrides and Requests ============================================================ def cmd_td_send_dd_gen_dialysate_request(self, start: bool = 0, dial_rate: float = 0, uf_rate: float = 0, dial_temp: float = 0, bypass: int = 0, acid_conv_factor: float = 0.0, bicarb_conv_factor: float = 0.0, sodium: int = 0, bicarb_volume: int = 0, sub_rate: float = 0):