Index: leahi_dialin/common/fp_defs.py =================================================================== diff -u -r35e8d930cb1a45457de87d93728fe60c7cb10ab5 -ra6c8026470fbbead9a90b727be257d3076397670 --- leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision 35e8d930cb1a45457de87d93728fe60c7cb10ab5) +++ leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision a6c8026470fbbead9a90b727be257d3076397670) @@ -24,10 +24,16 @@ MODE_STAN = 3 # Standby mode MODE_PRE_GENP = 4 # Pre Generate Permeate Mode MODE_GENP = 5 # Generate Permeate Mode - MODE_NLEG = 6 # Not legal - an illegal mode transition occurred - NUM_OF_FP_MODES = 7 # Number of TD operation modes - + MODE_DPGP = 6 # Defeatured Pre-Generate Permeate Mode + MODE_DEGP = 7 # Defeatured Generate Permeate Mode + MODE_NLEG = 8 # Not legal - an illegal mode transition occurred + NUM_OF_FP_MODES = 9 # Number of TD operation modes + @unique +class FPServiceStates(DialinEnum): + NUM_OF_FP_SERV_STATES = 0 # TODO populate with FP service states + +@unique class FPPostStates(DialinEnum): FP_POST_STATE_START = 0 # Start initialize & POST mode state FP_POST_STATE_FW_INTEGRITY = 1 # Run firmware integrity test state @@ -40,13 +46,65 @@ FP_POST_STATE_COMPLETED = 8 # POST self-tests completed state FP_POST_STATE_FAILED = 9 # POST self-tests failed state NUM_OF_FP_POST_STATES = 10 # Number of initialize & POST mode states - + @unique +class FPFaultStates(DialinEnum): + FP_FAULT_STATE_START = 0 # FP Fault Start State + FP_FAULT_DEENERGIZED_STATE = 1 # FP Fault De-energized State + FP_FAULT_ENERGIZED_STATE = 2 # FP Fault Energized State + NUM_OF_FP_FAULT_STATES = 3 # Number of Fault Mode State + +@unique +class FPStandbyStates(DialinEnum): + FP_STANDBY_MODE_STATE_IDLE = 0 # Idle standby mode state + NUM_OF_FP_STANDBY_MODE_STATES = 1 # Number of standby mode states + +@unique +class FPPreGenPermeateStates(DialinEnum): + FP_PRE_GENP_INLET_PRES_CHECK = 0 # FP Pre Gen Permeate Inlet Pressure Check State + FP_PRE_GENP_FILTER_FLUSH = 1 # FP Pre Gen Permeate Filter Flush State + FP_PRE_GENP_PERMEATE_FLUSH = 2 # FP Pre Gen Permeate Permeate Flush State + FP_PRE_GENP_CONCENTRATE_FLUSH = 3 # FP Pre Gen Permeate Concentrate Flush State + FP_PRE_GENP_VERIFY_WATER = 4 # FP Pre Gen Permeate Verify Water State + FP_PRE_GENP_PAUSED = 5 # FP Pre Gen Permeate Paused State + NUM_OF_FP_PRE_GENP_MODE_STATES = 6 # Number of Pre-Gen Permeate mode states + +@unique +class FPPreGenPDefStates(DialinEnum): + FP_PRE_GENP_DEF_FLUSH = 0 # Pre Gen Permeate Defeatured Flush state + FP_PRE_GENP_DEF_INLET_WATER_CHECK = 1 # Pre Gen Permeate Defeatured Inlet Water Check state + FP_PRE_GENP_DEF_PAUSED = 2 # Defeatured Pre Gen Permeate Paused state + NUM_OF_FP_PRE_GENP_DEF_MODE_STATES = 3 # Number of Defeatured Pre Gen Permeate states + +@unique +class FPGenPermeateStates(DialinEnum): + FP_GENP_TANK_FILL_STATE = 0 # Gen Permeate Tank Fill low state + FP_GENP_TANK_FULL_STATE = 1 # Gen Permeate Tank Full state + NUM_OF_FP_GENP_MODE_STATES = 2 # Number of Gen permeate states + +@unique +class FPGenPermeateDefStates(DialinEnum): + FP_GENP_DEF_SUPPLY_WATER = 0 # Gen Permeate Defeatured Supply Water state + FP_GENP_DEF_PAUSED = 1 # Gen Permeate Defeatured Paused state + NUM_OF_FP_GENP_DEF_MODE_STATES = 2 # Number of gen Permeate states + +@unique +class FPNotLegalStates(DialinEnum): + NUM_OF_NOT_LEGAL_STATES = 0 # TODO: populate with Not Legal states + +@unique class FPEventList(DialinEnum): FP_EVENT_STARTUP = 0 # FP startup event FP_EVENT_OP_MODE_CHANGE = 1 # FP Op mode change event FP_EVENT_SUB_MODE_CHANGE = 2 # FP Op sub-mode change event - NUM_OF_FP_EVENT_IDS = 3 # Total number of FP events + FP_EVENT_PRE_GEN_RO_SET_PWM = 3 # FP gen permeate ro set pwm event + FP_EVENT_GENP_BOOST_SET_PWM = 4 # FP gen permeate boost set pwm event + FP_EVENT_GENP_CHANGE = 5 # FP gen permeate state change + FP_EVENT_PRE_GEN_CHANGE = 6 # FP pre gen state change + FP_EVENT_PRE_GEN_DEF_CHANGE = 7 # FP defeatured pre gen state change + FP_EVENT_GENP_DEF_CHANGE = 8 # FP defeatured pre gen state change + FP_EVENT_FAULT_ALARM_TRIGGER = 9 # FP event for alarms that would trigger + NUM_OF_FP_EVENT_IDS = 10 # Total number of FP events @unique class FPEventDataType(DialinEnum): @@ -89,11 +147,11 @@ @unique class FPPressureSensorNames(DialinEnum): - M1_PRES = 0 # Water inlet pressure before regulator - M3_PRES = 1 # Water inlet pressure after regulator - P8_PRES = 2 # Water inlet pressure before the conductivity sensor - P13_PRES = 3 # Pressure before the RO filter - P17_PRES = 4 # Pressure after the RO filter + M3_PRES = 0 # Water inlet pressure before regulator + P8_PRES = 1 # Water inlet pressure after regulator + P13_PRES = 2 # Water inlet pressure before the conductivity sensor + P17_PRES = 3 # Pressure before the RO filter + P46_PRES = 4 # Pressure after the RO filter NUM_OF_FP_PRES_SENSORS = 5 # Number of Pressure Sensors @unique @@ -121,31 +179,33 @@ @unique class FPTemperaturesNames(DialinEnum): - M1_TEMP = 0 # Temperature before pressure regulator (M1) - M3_TEMP = 1 # Temperature after pressure regulator (M3) - P10_TEMP = 2 # P10 temperature from inlet conductivity sensor. - P19_TEMP = 3 # P19 temperature from outlet conductivity sensor. - P8_TEMP = 4 # Temperature before inlet conductivity sensor (P8) - P13_TEMP = 5 # Temperature before RO filter (P13) - P17_TEMP = 6 # Temperature after RO filter (P17) - P7_TEMP = 7 # Temperature at p7 flow meter - P16_TEMP = 8 # Temperature at p16 flow meter - NUM_OF_TEMPERATURE_SENSORS = 9 # Number of Temperature Sensors + M3_TEMP = 0 # Temperature after pressure regulator (M3) + P10_TEMP = 1 # P10 temperature from inlet conductivity sensor. + P19_TEMP = 2 # P19 temperature from outlet conductivity sensor. + P8_TEMP = 3 # Temperature before inlet conductivity sensor (P8) + P13_TEMP = 4 # Temperature before RO filter (P13) + P17_TEMP = 5 # Temperature after RO filter (P17) + P7_TEMP = 6 # Temperature at p7 flow meter + P16_TEMP = 7 # Temperature at p16 flow meter + P46_TEMP = 8 # Temperature after sediment filter (P46) + NUM_OF_TEMPERATURE_SENSORS = 9 # Number of Temperature Sensors @unique class FPValveStates(DialinEnum): VALVE_STATE_CLOSED = 0 # Valve Closed State VALVE_STATE_OPEN = 1 # Valve Open State +BETA_IOFP_VALVE_OFFSET = 32 # Offset to translate Dialin FPValveNames to DD firmware DD_Valves + @unique class FPValveNames(DialinEnum): M4_VALV = 0 # Valve (M4 VWi) - P11_VALV = 1 # Valve (P11 VPi) - P33_VALV = 2 # Valve (P33 VCr) - P34_VALV = 3 # Valve (P34 VCb) - P37_VALV = 4 # Valve (P37 VCd) - P39_VALV = 5 # Valve (P39 VROd) - P43_VALV = 6 # Valve (P43) + M12_VALV = 1 # Valve (M12) + P11_VALV = 2 # Valve (P11 VPi) + P33_VALV = 3 # Valve (P33 VCr) + P34_VALV = 4 # Valve (P34 VCb) + P37_VALV = 5 # Valve (P37 VCd) + P39_VALV = 6 # Valve (P39 VROd) P6_VALV = 7 # Valve (P6 VFF) NUM_OF_FP_VALVES = 8 # Number of valves