"""Implementation of all enumerations used in the application""" from enum import Enum, unique class RootEnum(Enum): @classmethod def has_value(cls, value): return value in cls._value2member_map_ @classmethod def mapped_int_value(cls, value): try: return cls._value2member_map_[value] except: return None @classmethod def mapped_str_value(cls, value): try: return cls._value2member_map_[int(value)] except: return None @unique class HDOpModes(RootEnum): MODE_FAUL = 0 # Fault mode MODE_SERV = 1 # Service mode MODE_INIT = 2 # Initialization & POST mode MODE_STAN = 3 # Standby mode MODE_TPAR = 4 # Treatment Parameters mode MODE_PRET = 5 # Pre-Treatment mode MODE_TREA = 6 # Treatment mode MODE_POST = 7 # Post-Treatment mode NUM_OF_MODES = 8 # Number of HD operation modes @unique class HDOpSubModes(RootEnum): SUBMODE_START = 0 SUBMODE_WAIT_FOR_TREATMENT = 1 SUBMODE_WAIT_FOR_DISINFECT = 2 SUBMODE_DG_FLUSH_IN_PROGRESS = 3 SUBMODE_DG_HEAT_DISINFECT_IN_PROGRESS = 4 SUBMODE_DG_CHEMICAL_DISINFECT_IN_PROGRESS = 5 NUM_OF_MODES = 6 @unique class DeviceStates(RootEnum): INACTIVE_NOT_OK = 1 INACTIVE_OK = 2 ACTIVE_OK = 3 ACTIVE_READY = 4 ACTIVE_IN_TREATMENT = 5 ACTIVE_NOT_READY = 6 ACTIVE_NOT_OK = 7 DECOMMISSIONED = 8 UNKNOWN_STATE = 9 @unique class InboundMessageIDs(RootEnum): # REGISTRATION UI2CS_REQ_REGISTRATION = 1001 UI2CS_SEND_DEVICE_INFO = 1002 UI2CS_SEND_CREDENTIALS_SAVED = 1003 UI2CS_SEND_CREDENTIALS = 1004 UI2CS_SEND_FACTORY_RESET_CONFIRMATION = 1005 # OPERATION UI2CS_SEND_DEVICE_STATE = 1006 UI2CS_SEND_TREATMENT_REPORT = 1007 # INCOMING ERROR UI2CS_ERROR = 1999 @unique class OutboundMessageIDs(RootEnum): # REGISTRATION CS2UI_REQ_DEVICE_INFO = 2002 CS2UI_REQ_SAVE_CREDENTIALS = 2003 CS2UI_REQ_CREDENTIALS = 2004 CS2UI_REQ_FACTORY_RESET = 2005 # OPERATION CS2UI_REQ_DEVICE_STATE = 2006 CS2UI_REQ_TX_CODE_DISPLAY = 2008 # OUTGOING ERROR CS2UI_ERROR = 2999 @unique class NetworkRequestType(RootEnum): MFT2CS_REQ_SET_CREDENTIALS = 4 MFT2CS_REQ_INIT_CONNECTIVITY_TEST = 5 MFT2CS_REQ_FACTORY_RESET = 13 CS2MFT_REQ_REGISTRATION = 101 CS2DCS_REQ_SET_DEVICE_STATE = 201 CS2DCS_REQ_SEND_TREATMENT_REPORT = 202 @unique class ErrorIDs(RootEnum): GENERIC_ERROR = 900 CS_REQ_REGISTRATION_ERROR = 901 CS_SEND_DEVICE_STATE_ERROR = 906 CS_SEND_TREATMENT_REPORT_ERROR = 907 CS_BAD_CRC_ERROR = 910 CS_DEVICE_VALIDATION_RESULT_ERROR = 920 CS_SET_PATIENT_DEVICE_ASSOCIATION_ERROR = 921 CS_GET_NEW_TOKEN_WITH_CERT_ERROR = 922 CS_VERIFY_TOKEN_ERROR = 923 CS_VALIDATE_DEVICE_ERROR = 924 CS_CHECK_IF_PATIENT_WITH_EMR_ID_EXISTS_ERROR = 925 CS_CREATE_TEMPORARY_PATIENT_ERROR = 926 CS_SAVE_CREDENTIALS_ERROR = 927 CS_UNKNOWN_DEVICE_STATE_ERROR = 928 CS_SAVE_CONFIG_ERROR = 929