Index: leahi_dialin/common/td_defs.py =================================================================== diff -u -re7d16bd6881619e5fc2a0bc1a7fd578a9978498e -r956757fac807b52aec078e84127089db5dff069f --- leahi_dialin/common/td_defs.py (.../td_defs.py) (revision e7d16bd6881619e5fc2a0bc1a7fd578a9978498e) +++ leahi_dialin/common/td_defs.py (.../td_defs.py) (revision 956757fac807b52aec078e84127089db5dff069f) @@ -172,43 +172,163 @@ @unique class TDEventDataType(DialinEnum): - EVENT_DATA_TYPE_NONE = 0 - EVENT_DATA_TYPE_U32 = 1 - EVENT_DATA_TYPE_S32 = 2 - EVENT_DATA_TYPE_F32 = 3 - EVENT_DATA_TYPE_BOOL = 4 - NUM_OF_EVENT_DATA_TYPES = 5 + EVENT_DATA_TYPE_NONE = 0 # No Event Data Type + EVENT_DATA_TYPE_U32 = 1 # Unsigned 32bit Event Data Type + EVENT_DATA_TYPE_S32 = 2 # Signed 32bit Event Data Type + EVENT_DATA_TYPE_F32 = 3 # Float 32bit Event Data Type + EVENT_DATA_TYPE_BOOL = 4 # Boolean Event Data Type + NUM_OF_EVENT_DATA_TYPES = 5 # Number of Event Data Types @unique class TDAirPumpNames(DialinEnum): - H12_AIR_PUMP = 0 - NUM_OF_AIR_PUMPS = 1 + H12_AIR_PUMP = 0 # TD Air Pump + NUM_OF_AIR_PUMPS = 1 # Number of TD Air pumps @unique class TDAirPumpAttributes(DialinEnum): - STATE = 0 - POWER = 1 - NUM_OF_AIR_PUMP_ATTRIBUTES = 2 + STATE = 0 # TD Air Pump State to command attribute + POWER = 1 # TD Air Pump Power attribute + NUM_OF_AIR_PUMP_ATTRIBUTES = 2 # Number of Air Pump attributes @unique class AirTrapValves(DialinEnum): - H13_VALV = 0 # Air trap intake valve - H20_VALV = 1 # Air trap outlet valve - NUM_OF_AIR_TRAP_VALVES = 2 + H13_VALV = 0 # Air trap intake valve + H20_VALV = 1 # Air trap outlet valve + NUM_OF_AIR_TRAP_VALVES = 2 # Number of Air Trap Valves @unique class AirTrapLevelSensors(DialinEnum): - H17_LEVEL = 0 # Lower Level Sensor - H16_LEVEL = 1 # Upper Level Sensor - NUM_OF_AIR_TRAP_LEVEL_SENSORS = 2 + H17_LEVEL = 0 # Lower Level Sensor + H16_LEVEL = 1 # Upper Level Sensor + NUM_OF_AIR_TRAP_LEVEL_SENSORS = 2 # Number of TD Air Trap Level Sensors @unique class AirTrapLevelSensorsAttributes(DialinEnum): - LEVEL = 0 - RAW = 1 - NUM_OF_AIR_TRAP_LEVEL_SENSOR_ATTRIBUTES = 2 + LEVEL = 0 # Level attribute for Air Trap Level Sensor + RAW = 1 # Raw reading attribute for Air Trap Level Sensor + NUM_OF_AIR_TRAP_LEVEL_SENSOR_ATTRIBUTES = 2 # Number of Air Trap Level Sensor attributes @unique class AirTrapState(DialinEnum): - STATE_CLOSED = 0 - STATE_OPEN = 1 \ No newline at end of file + STATE_CLOSED = 0 # Closed state for Air Trap + STATE_OPEN = 1 # Open state for Air Trap + +@unique +class BloodFlowMotorAttributes(DialinEnum): + SET_BLOOD_FLOW_RATE = 0 # Set Blood Flow Rate for Blood Flow Motor + MEASURED_BLOOD_FLOW_RATE = 1 # Measured Blood Flow Rate for Blood Flow Motor + MEASURED_BLOOD_PUMP_ROTOR_SPEED = 2 # Measured Bloop Pump Rotor Speed for Blood Flow Motor + MEASURED_BLOOD_PUMP_SPEED = 3 # Measured Blood Pump Speed for Blood Flow Motor + MEASURED_BLOOD_PUMP_MOTOR_CURRENT = 4 # Measured Blood Pump Motor Current for Blood Flow Motor + SET_RPM = 5 # Set Revolutions per minute for Blood Flow Motor + ROTOR_COUNT = 6 # Rotor Count for Blood Flow Motor + PRES_BLOOD_FLOW_RATE = 7 # Pressure Blood Flow Rate for Blood Flow Motor + ROTOR_HALL_STATE = 8 # Rotor Hall State for Blood Flow Motor + NUM_OF_BLOOD_FLOW_MOTOR_ATTRIBUTES = 9 # Number of Blood Flow Motor Attributes + +@unique +class TDAirBubbleDetectorNames(DialinEnum): + H18_ADV = 0 # H18 Air Bubble Detector Venous + NUM_OF_AIR_BUBBLE_DETECTORS = 1 # Number of Air Bubble Detectors + +@unique +class TDAirBubbleDetectorAttributes(DialinEnum): + STATUS = 0 # Status of the Air Bubble Detector + STATE = 1 # State of the Air Bubble Detector + NUM_OF_AIR_BUBBLE_DETECTOR_ATTRIBUTES = 2 # Number of Air Bubble Detector Attributes + +@unique +class EjectorNames(DialinEnum): + H5_MOTOR = 0 # TD Ejector Motor + NUM_OF_EJECTOR_MOTORS = 1 # Number of Ejector Motors + +@unique +class EjectorAttributes(DialinEnum): + STATE = 0 # Ejector State to command + SET_SPEED = 1 # Ejector Set Speed + NUM_OF_EJECTOR_ATTRIBUTES = 2 # Number of Ejector Attributes + +@unique +class TDPressureSensorNames(DialinEnum): + H2_PRES = 0 # Arterial Pressure Sensor + H14_PRES = 1 # Venous Pressure Sensor + NUM_OF_PRESSURE_SENSORS = 2 # Number of Pressure Sensors + +@unique +class TDPressureSensorAttributes(DialinEnum): + PRES = 0 # Pressure attribute of pressure sensor + LONG_FILTERED_PRESSURE = 1 # Long Filtered Pressure attribute of pressure sensor + PRES_LIMIT_MIN = 2 # Pressure Minimum Limit attribute of pressure sensor + PRES_LIMIT_MAX = 3 # Pressure Maximum Limit attribute of pressure sensor + NUM_OF_PRESSURE_ATTRIBUTES = 4 # Number of Pressure Sensor Attributes + +@unique +class TDSwitchStatus(DialinEnum): + CLOSED = 0 # Closed State of the TD Switch + OPEN = 1 # Open State of the TD Switch + +@unique +class TDSwitchesNames(DialinEnum): + H9_FRONT_DOOR = 0 # Front Door Switch for TD + NUM_OF_DOORS_AND_SWITCHES = 1 # Number of Doors and Switches + +@unique +class TDTreatmentParameters(DialinEnum): + TREATMENT_PARAM_BLOOD_FLOW = 0 # Blood flow rate (in mL/min) + TREATMENT_PARAM_DIALYSATE_FLOW = 1 # Dialysate flow rate (in mL/min) + TREATMENT_PARAM_TREATMENT_DURATION = 2 # Treatment duration (in minutes) + TREATMENT_PARAM_SALINE_BOLUS_VOLUME = 3 # Saline bolus volume (in mL) + TREATMENT_PARAM_HEPARIN_STOP_TIME = 4 # Heparin stop time (in minutes) + TREATMENT_PARAM_HEPARIN_TYPE = 5 # Heparin type (enum) + TREATMENT_PARAM_ACID_CONCENTRATE = 6 # Acid concentrate type (enum) + TREATMENT_PARAM_BICARB_CONCENTRATE = 7 # Bicarbonate concentrate type (enum) + TREATMENT_PARAM_DIALYZER_TYPE = 8 # Dialysate type (enum) + TREATMENT_PARAM_BP_MEAS_INTERVAL = 9 # Blood pressure measurement interval (in minutes) + TREATMENT_PARAM_RINSEBACK_FLOW_RATE = 10 # Rinseback flow rate (in mL/min) + TREATMENT_PARAM_RINSEBACK_VOLUME = 11 # Rinseback volume (in mL) + TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW = 12 # Arterial pressure alarm limit window (in mmHg) + TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW = 13 # Venous pressure alarm limit window (in mmHg) + TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC = 14 # Venous pressure alarm limit asymmetric (in mmHg) + TREATMENT_PARAM_TMP_PRES_LIMIT_WINDOW = 15 # TMP alarm limit window (in mmHg) + TREATMENT_PARAM_DIALYSATE_TEMPERATURE = 16 # Dialysate temperature (in degC) + TREATMENT_PARAM_HEPARIN_DISPENSE_RATE = 17 # Heparin dispense rate (in mL/hr) + TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME = 18 # Heparin bolus volume (in mL) + TREATMENT_PARAM_UF_VOLUME = 19 # Ultrafiltration volume (in liters) - provided separately by UI + NUM_OF_TREATMENT_PARAMS = 20 # Total number of treatment parameters + +@unique +class ValvesEnum(DialinEnum): + H1_VALV = 0 # H1 Valve for TD + H19_VALV = 1 # H19 Valve for TD + +@unique +class ValvesPositions(DialinEnum): + VALVE_POSITION_NOT_IN_POSITION = 0 # Valve not in Position + VALVE_POSITION_A_INSERT_EJECT = 1 # Insert/Eject Valve Position + VALVE_POSITION_B_OPEN = 2 # Open Valve Position + VALVE_POSITION_C_CLOSE = 3 # Closed Valve Position + +@unique +class ValvesStates(DialinEnum): + VALVE_STATE_WAIT_FOR_POST = 0 # Waiting for POST Valve State + VALVE_STATE_HOMING_NOT_STARTED = 1 # Homing not started Valve State + VALVE_STATE_HOMING_FIND_ENERGIZED_EDGE = 2 # Homing Find Energized Edge Valve State + VALVE_STATE_HOMING_FIND_DEENERGIZED_EDGE = 3 # Homing Find De-energized Edge Valve State + VALVE_STATE_IDLE = 4 # Idle Valve State + VALVE_STATE_IN_TRANSITION = 5 # Valve state in transition + +# Monitored voltages +@unique +class TDMonitoredVoltages(DialinEnum): + MONITORED_LINE_1_2V = 0 # Processor voltage (1.2V) + MONITORED_LINE_3_3V = 1 # Logic voltage (3.3V) + MONITORED_LINE_5V_LOGIC = 2 # Logic voltage (5V) + MONITORED_LINE_5V_SENSORS = 3 # Sensors voltage (5V) + MONITORED_LINE_24V = 4 # Actuators voltage (24V) + MONITORED_LINE_24V_REGEN = 5 # Actuators regen voltage (24V) + MONITORED_LINE_FPGA_REF_V = 6 # FPGA ADC reference voltage (1V) + MONITORED_LINE_PBA_REF_V = 7 # PBA ADC reference voltage (3V) + MONITORED_LINE_FPGA_VCC_V = 8 # FPGA Vcc (3V) + MONITORED_LINE_FPGA_AUX_V = 9 # FPGA Vaux (3V) + MONITORED_LINE_FPGA_PVN_V = 10 # FPGA Vpvn (1V) + NUM_OF_MONITORED_VOLTAGE_LINES = 11 # Number of TD operation modes \ No newline at end of file