Index: dialin/common/msg_defs.py =================================================================== diff -u -r98864b0156fd40696751c32e98415067c736f475 -rcf56d42c5946ec79502d636db26f19fa4a1fdb64 --- dialin/common/msg_defs.py (.../msg_defs.py) (revision 98864b0156fd40696751c32e98415067c736f475) +++ dialin/common/msg_defs.py (.../msg_defs.py) (revision cf56d42c5946ec79502d636db26f19fa4a1fdb64) @@ -13,12 +13,12 @@ # @date (original) 07-Aug-2020 # ############################################################################ - +from enum import unique from ..protocols.CAN import DenaliMessage -from enum import Enum, unique +from ..utils.base import DialinEnum @unique -class MsgIds(Enum): +class MsgIds(DialinEnum): MSG_ID_UNUSED = 0 # Zero is an undefined (un-used) message ID) MSG_ID_OFF_BUTTON_PRESS = 1 # HD/UI off button interactions MSG_ID_ALARM_STATUS = 2 # HD broadcast of system alarm state information @@ -187,7 +187,7 @@ MSG_ID_HEAT_DISINFECT_RSRVR2_TO_RSRVR1_DURATION_MINS = 0xA01F # Heat disinfection reservoir 2 to reservoir 1 duration in minutes MSG_ID_HEAT_DISINFECT_NO_OF_CYCLES_TO_RUN = 0xA020 # Heat disinfection number of cycles to run MSG_ID_HEAT_DISINFECT_PUBLISH_INTERVAL_OVERRIDE = 0xA021 # Heat disinfection data publish interval override request - MSG_ID_PRIMING_STATUS = 0x0037 # The priming status + MSG_ID_PRIMING_STATUS = 0x43 # The priming status MSG_ID_DG_SOFTWARE_RESET_REQUEST = 0xA022 # DG reset request MSG_ID_DG_OPERATION_MODE_REQUEST = 0xA023 # DG change operation mode request MSG_ID_CONCENTRATE_PUMP_TARGET_SPEED_OVERRIDE = 0xA024 # Concentrate pump target speed override request @@ -198,13 +198,8 @@ END_OF_MSG_IDS = 0xFFF3 # End of system message IDs - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ - - @unique -class RequestRejectReasons(Enum): +class RequestRejectReasons(DialinEnum): REQUEST_REJECT_REASON_NONE = 0 REQUEST_REJECT_REASON_NOT_ALLOWED_IN_CURRENT_MODE = 1 REQUEST_REJECT_REASON_TIMEOUT_WAITING_FOR_USER_CONFIRM = 2 @@ -230,11 +225,8 @@ REQUEST_REJECT_REASON_SALINE_BOLUS_NOT_IN_PROGRESS = 22 NUM_OF_REQUEST_REJECT_REASONS = 23 - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ -class MsgFldPositions(): +class MsgFldPositions: # Generic response msg field byte positions (where 32-bit data fields are used) START_POS_FIELD_1 = DenaliMessage.PAYLOAD_START_INDEX END_POS_FIELD_1 = START_POS_FIELD_1 + 4 Index: dialin/hd/valves.py =================================================================== diff -u -rd531ce09d0240e0ae542ea33cf8ebe4b8169825b -rcf56d42c5946ec79502d636db26f19fa4a1fdb64 --- dialin/hd/valves.py (.../valves.py) (revision d531ce09d0240e0ae542ea33cf8ebe4b8169825b) +++ dialin/hd/valves.py (.../valves.py) (revision cf56d42c5946ec79502d636db26f19fa4a1fdb64) @@ -7,29 +7,24 @@ from ..utils.base import _AbstractSubSystem, _publish from ..common import MsgIds from logging import Logger -import enum +from ..utils.base import DialinEnum -class ValvesEnum(enum.Enum): + +class ValvesEnum(DialinEnum): VDI = 0 VDO = 1 VBA = 2 VBV = 3 - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ -class ValvesPositions(enum.Enum): +class ValvesPositions(DialinEnum): VALVE_POSITION_NOT_IN_POSITION = 0 VALVE_POSITION_A_INSERT_EJECT = 1 VALVE_POSITION_B_OPEN = 2 VALVE_POSITION_C_CLOSE = 3 - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ -class ValvesStates(enum.Enum): +class ValvesStates(DialinEnum): VALVE_STATE_WAIT_FOR_POST = 0 VALVE_STATE_HOMING_NOT_STARTED = 1 VALVE_STATE_HOMING_FIND_ENERGIZED_EDGE = 2 @@ -38,17 +33,11 @@ VALVE_STATE_IN_TRANSITION = 5 VALVE_STATE_IN_BYPASS_MODE = 6 - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ -class AirTrapState(enum.Enum): +class AirTrapState(DialinEnum): STATE_CLOSED = 0 STATE_OPEN = 1 - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ class HDValves(_AbstractSubSystem): """