Index: leahi_dialin/td/modules/syringe_pump.py =================================================================== diff -u -r28a21f1f2ca4ef02e6d54bae30b738fddb7bdb3a -rba415df9f8e76d6b0f21e8f69ba99346e42f7b09 --- leahi_dialin/td/modules/syringe_pump.py (.../syringe_pump.py) (revision 28a21f1f2ca4ef02e6d54bae30b738fddb7bdb3a) +++ leahi_dialin/td/modules/syringe_pump.py (.../syringe_pump.py) (revision ba415df9f8e76d6b0f21e8f69ba99346e42f7b09) @@ -16,6 +16,7 @@ # Module imports from logging import Logger +from typing import Union # Project imports from leahi_dialin.common.constants import RESET, NO_RESET @@ -25,6 +26,7 @@ from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override, cmd_generic_override from leahi_dialin.protocols.CAN import CanMessenger, CanChannels from leahi_dialin.utils.abstract_classes import AbstractSubSystem +from leahi_dialin.utils import DialinEnum from leahi_dialin.utils.base import publish from leahi_dialin.utils.conversions import integer_to_bytearray, float_to_bytearray @@ -49,8 +51,8 @@ message_id = MsgIds.MSG_ID_TD_SYRINGE_PUMP_DATA.value, function = self._handler_syringe_pump_data) - self.syringe_pump_state = TDTreaSyringePumpStates.SYRINGE_PUMP_INIT_STATE.value - self.heparin_state = TDTreaHeparinStates.HEPARIN_STATE_OFF.value + self.syringe_pump_state = TDTreaSyringePumpStates.SYRINGE_PUMP_INIT_STATE + self.heparin_state = TDTreaHeparinStates.HEPARIN_STATE_OFF self.syringe_pump_set_rate_ml_hr = 0.0 self.syringe_pump_meas_rate_ml_hr = 0.0 self.syringe_pump_position = 0 @@ -59,7 +61,7 @@ self.syringe_pump_home_v = 0.0 self.syringe_pump_switch_v = 0.0 self.syringe_pump_force_v = 0.0 - self.syringe_pump_status = 0 + self.syringe_pump_status = TDSyringePumpStates.SYRINGE_PUMP_OP_STOP self.syringe_pump_encoder_status = 0 self.syringe_pump_adc_dac_status = 0 self.syringe_pump_adc_read_counter = 0 @@ -69,33 +71,39 @@ # ============================================================ Properties ============================================================ @property - def syringe_pump_state(self) -> int: + def syringe_pump_state(self) -> TDTreaSyringePumpStates: """ - The current Srynge Pump State + The Srynge Pump State """ return self._syringe_pump_state @syringe_pump_state.setter - def syringe_pump_state(self, value): - self._syringe_pump_state = value + def syringe_pump_state(self, value: Union[int, DialinEnum]): + if isinstance(value, int): + self._syringe_pump_state = TDTreaSyringePumpStates(value) + else: + self._syringe_pump_state = value @property - def heparin_state(self) -> int: + def heparin_state(self) -> TDTreaHeparinStates: """ - The current Heparin State + The Heparin State """ return self._heparin_state @heparin_state.setter - def heparin_state(self, value): - self._heparin_state = value + def heparin_state(self, value: Union[int, DialinEnum]): + if isinstance(value, int): + self._heparin_state = TDTreaHeparinStates(value) + else: + self._heparin_state = value @property def syringe_pump_set_rate_ml_hr(self) -> float: """ - The current Set Syringe Pump rate + The Set Syringe Pump rate """ return self._syringe_pump_set_rate_ml_hr @@ -107,7 +115,7 @@ @property def syringe_pump_meas_rate_ml_hr(self) -> float: """ - The current Measured Syringe Pump rate + The Measured Syringe Pump rate """ return self._syringe_pump_meas_rate_ml_hr @@ -119,7 +127,7 @@ @property def syringe_pump_position(self) -> int: """ - The current Syringe Pump position + The Syringe Pump position """ return self._syringe_pump_position @@ -131,7 +139,7 @@ @property def syringe_pump_volume_ml(self) -> float: """ - The current Syringe Pump volume delivered in ml + The Syringe Pump volume delivered in ml """ return self._syringe_pump_volume_ml @@ -143,7 +151,7 @@ @property def syringe_pump_safety_volume_ml(self) -> float: """ - The current Syringe Pump safety volume reading + The Syringe Pump safety volume reading """ return self._syringe_pump_safety_volume_ml @@ -155,7 +163,7 @@ @property def syringe_pump_home_v(self) -> float: """ - The current Syringe Pump home voltage reading + The Syringe Pump home voltage reading """ return self._syringe_pump_home_v @@ -167,7 +175,7 @@ @property def syringe_pump_switch_v(self) -> float: """ - The current Syringe Pump switch voltage reading + The Syringe Pump switch voltage reading """ return self._syringe_pump_switch_v @@ -179,7 +187,7 @@ @property def syringe_pump_force_v(self) -> float: """ - The current Syringe Pump force voltage reading + The Syringe Pump force voltage reading """ return self._syringe_pump_force_v @@ -189,21 +197,24 @@ @property - def syringe_pump_status(self) -> int: + def syringe_pump_status(self) -> TDSyringePumpStates: """ - The current Syringe Pump status + The Syringe Pump status """ return self._syringe_pump_status @syringe_pump_status.setter - def syringe_pump_status(self, value): - self._syringe_pump_status = value + def syringe_pump_status(self, value: Union[int, DialinEnum]): + if isinstance(value, int): + self._syringe_pump_status = TDSyringePumpStates(value) + else: + self._syringe_pump_status = value @property def syringe_pump_encoder_status(self) -> int: """ - The current Syringe Pump encoder status + The Syringe Pump encoder status """ return self._syringe_pump_encoder_status @@ -215,7 +226,7 @@ @property def syringe_pump_adc_dac_status(self) -> int: """ - The current Syringe Pump ADC & DAC status + The Syringe Pump ADC & DAC status """ return self._syringe_pump_adc_dac_status @@ -227,7 +238,7 @@ @property def syringe_pump_adc_read_counter(self) -> int: """ - The current Syringe Pump ADC read counter + The Syringe Pump ADC read counter """ return self._syringe_pump_adc_read_counter