Index: leahi_dialin/dd/modules/rinse_pump.py =================================================================== diff -u -r3f4937e339925dde0b95f08e49969f8983c5cba4 -reca9e15bc984af2b7f59eb38f3836ca354ee1251 --- leahi_dialin/dd/modules/rinse_pump.py (.../rinse_pump.py) (revision 3f4937e339925dde0b95f08e49969f8983c5cba4) +++ leahi_dialin/dd/modules/rinse_pump.py (.../rinse_pump.py) (revision eca9e15bc984af2b7f59eb38f3836ca354ee1251) @@ -19,6 +19,7 @@ # Project imports from leahi_dialin.common.constants import NO_RESET +from leahi_dialin.common import dd_enum_repository 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,11 +51,50 @@ function = self._handler_rinse_pump_sync) self.dd_rinse_pump_timestamp = 0 #: The timestamp of the latest message - self.d79_state = 0 #: The State of the D79 Pump - self.d79_pump_pwm = 0.0 #: The PWM of the D79 Pump - self.d79_pump_rpm = 0 #: The RPM of the D79 Pump + self.d79_state = 0 + self.d79_pump_pwm = 0.0 + self.d79_pump_rpm = 0 + +# ============================================================ Properties ============================================================ + @property + def d79_state(self) -> int: + """ + The D79 Rinse Pump's State + """ + return self._state + + @d79_state.setter + def d79_state(self, value: int): + self._state = value + + @property + def d79_pump_pwm(self) -> float: + """ + The D79 Rinse Pump's PWM + """ + return self._pwm + + @d79_pump_pwm.setter + def d79_pump_pwm(self, value: float): + self._pwm = value + + + @property + def d79_pump_rpm(self) -> int: + """ + The D79 Rinse Pump's RPM + """ + return self._rpm + + @d79_pump_rpm.setter + def d79_pump_rpm(self, value: int): + self._rpm = value + + + +# ============================================================ Handlers ============================================================ @publish(["msg_id_dd_rinse_pump_data", "d79_state", "d79_pump_pwm", "d79_pump_rpm", "dd_rinse_pump_timestamp"]) @@ -66,15 +106,16 @@ @return: None """ msg_list =[] - msg_list.append(('self.d79_state', DataTypes.U32)) - msg_list.append(('self.d79_pump_pwm', DataTypes.F32)) - msg_list.append(('self.d79_pump_rpm', DataTypes.U32)) + msg_list.append((type(self).d79_state, DataTypes.U32)) + msg_list.append((type(self).d79_pump_pwm, DataTypes.F32)) + msg_list.append((type(self).d79_pump_rpm, DataTypes.U32)) - self.process_into_vars(decoder_list = msg_list, - message = message) + self.process_into_vars(decoder_list = msg_list, message = message) self.dd_rinse_pump_timestamp = timestamp + +# ============================================================ Overrides and Requests ============================================================ def cmd_rinse_pump_data_publish_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends the rinse pump data publish interval override command