Index: leahi_dialin/dd/modules/gen_dialysate.py =================================================================== diff -u -r3f4937e339925dde0b95f08e49969f8983c5cba4 -reca9e15bc984af2b7f59eb38f3836ca354ee1251 --- leahi_dialin/dd/modules/gen_dialysate.py (.../gen_dialysate.py) (revision 3f4937e339925dde0b95f08e49969f8983c5cba4) +++ leahi_dialin/dd/modules/gen_dialysate.py (.../gen_dialysate.py) (revision eca9e15bc984af2b7f59eb38f3836ca354ee1251) @@ -16,9 +16,11 @@ # Module imports from logging import Logger +from typing import Union # Project imports from leahi_dialin.common.constants import NO_RESET +from leahi_dialin.common.dd_defs import DDGenDialysateModeStates from leahi_dialin.common.generic_defs import DataTypes from leahi_dialin.common.msg_ids import MsgIds from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override, cmd_generic_override @@ -50,12 +52,68 @@ function = self._handler_gen_dialysate_sync) self.dd_gen_dialysate_timestamp = 0.0 #: The timestamp of the last message - self.execution_state = 0 #: The Execution state - self.dialysate_delivery_in_progress = 0 #: Is Dialysate delivery in progress or not - self.dialysate_good_to_deliver = 0 #: The Dialysate is good to delover or not - self.target_qd = 0.0 #: The Target Qd + self.execution_state = DDGenDialysateModeStates.NUM_OF_DD_GEND_MODE_STATES + self.dialysate_delivery_in_progress = False + self.dialysate_good_to_deliver = False + self.target_qd = 0.0 + +# ============================================================ Properties ============================================================ + @property + def execution_state(self) -> DDGenDialysateModeStates: + """ + The execution state + """ + return self._execution_state + + @execution_state.setter + def execution_state(self, value: Union[int, DDGenDialysateModeStates]): + if isinstance(value, int): + self._execution_state = DDGenDialysateModeStates(value) + else: + self._execution_state = value + + + @property + def dialysate_delivery_in_progress(self) -> bool: + """ + Is Dialysate delivery in progress or not + """ + return self._delivery_in_progress + + @dialysate_delivery_in_progress.setter + def dialysate_delivery_in_progress(self, value): + self._delivery_in_progress = value + + + + @property + def dialysate_good_to_deliver(self) -> bool: + """ + The Dialysate is good to delover or not + """ + return self._good_to_deliver + + @dialysate_good_to_deliver.setter + def dialysate_good_to_deliver(self, value): + self._good_to_deliver = value + + + @property + def target_qd(self) -> float: + """ + The Target Qd + """ + return self._target_qd + + @target_qd.setter + def target_qd(self, value): + self._target_qd = value + + + +# ============================================================ Handlers ============================================================ @publish(["msg_id_dd_gen_dialysate_mode_data", "execution_state", "dialysate_delivery_in_progress", "dialysate_good_to_deliver", @@ -69,16 +127,17 @@ @return: None """ msg_list = [] - msg_list.append(('self.execution_state', DataTypes.U32)) - msg_list.append(('self.dialysate_delivery_in_progress', DataTypes.U32)) - msg_list.append(('self.dialysate_good_to_deliver', DataTypes.U32)) - msg_list.append(('self.target_qd', DataTypes.F32)) + msg_list.append((type(self).execution_state, DataTypes.U32)) + msg_list.append((type(self).dialysate_delivery_in_progress, DataTypes.BOOL)) + msg_list.append((type(self).dialysate_good_to_deliver, DataTypes.BOOL)) + msg_list.append((type(self).target_qd, DataTypes.F32)) - self.process_into_vars(decoder_list = msg_list, - message = message) + self.process_into_vars(decoder_list = msg_list, message = message) self.dd_gen_dialysate_timestamp = timestamp + +# ============================================================ Overrides and Requests ============================================================ def cmd_gen_dialysate_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends the gen dialysate data broadcast interval override command