Index: leahi_dialin/common/fp_defs.py =================================================================== diff -u -r894abd4d8e62d20ba65ca78e443ffb5ea00c07ea -re60ad12bcc58d5905d7268bbeaae139d8233e023 --- leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision 894abd4d8e62d20ba65ca78e443ffb5ea00c07ea) +++ leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision e60ad12bcc58d5905d7268bbeaae139d8233e023) @@ -45,10 +45,7 @@ FPFlowSensorNames: DialinEnum FPFloaterLevelSensorNames: DialinEnum FPPressureSensorNames: DialinEnum - ROPumpNames: DialinEnum - ROPumpNames: DialinEnum - ROPumpNames: DialinEnum - ROPumpNames: DialinEnum + FPROPumpNames: DialinEnum FPTemperatureSensorNames: DialinEnum FPValveNames: DialinEnum FPAllPumpNames: DialinEnum @@ -81,7 +78,7 @@ 'FPFlowSensorNames': '_create_fp_flow_sensor_names', 'FPFloaterLevelSensorNames': '_create_fp_floater_sensor_names', 'FPPressureSensorNames': '_create_fp_pressure_sensor_names', - 'ROPumpNames': '_create_fp_ro_pump_names', + 'FPROPumpNames': '_create_fp_ro_pump_names', 'FPValveNames': '_create_fp_valve_names', 'FPAllPumpNames': '_create_fp_all_pump_names', 'FPTemperatureSensorNames': '_create_fp_temperature_sensor_names', @@ -401,9 +398,9 @@ } # Create the enum - ROPumpNames = DialinEnum('ROPumpNames', members) + FPROPumpNames = DialinEnum('FPROPumpNames', members) - return ROPumpNames + return FPROPumpNames def _create_fp_temperature_sensor_names(self): Index: leahi_dialin/fp/modules/alarms.py =================================================================== diff -u -rec8a2600b9e8cf6fe7e02c200a1c24221ca86863 -re60ad12bcc58d5905d7268bbeaae139d8233e023 --- leahi_dialin/fp/modules/alarms.py (.../alarms.py) (revision ec8a2600b9e8cf6fe7e02c200a1c24221ca86863) +++ leahi_dialin/fp/modules/alarms.py (.../alarms.py) (revision e60ad12bcc58d5905d7268bbeaae139d8233e023) @@ -17,7 +17,7 @@ from logging import Logger from .constants import RESET, NO_RESET -from leahi_dialin.common.fp_defs import FPEventDataType +from leahi_dialin.common.fp_defs import fp_enum_repository from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish, DialinEnum @@ -67,8 +67,8 @@ self.alarm_data_type = dict() # Loop through the list of the event data type enum and update the dictionary - for data_type in FPEventDataType: - event_data_type = FPEventDataType(data_type).name + for data_type in fp_enum_repository.FPEventDataTypes: + event_data_type = fp_enum_repository.FPEventDataTypes(data_type).name struct_unpack_type = None # If U32 is in the data type enum (i.e. EVENT_DATA_TYPE_U32), then the key is the enum and the value is @@ -97,13 +97,13 @@ data_typ_1 = struct.unpack('i', bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2])) # Get the corresponding structure format - struct_data_type_1 = self.alarm_data_type[FPEventDataType(data_typ_1[0]).name] + struct_data_type_1 = self.alarm_data_type[fp_enum_repository.FPEventDataTypes(data_typ_1[0]).name] # Get the data value by unpacking the data type data_1 = struct.unpack(struct_data_type_1, bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3])) data_typ_2 = struct.unpack('i', bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4])) # Get the corresponding structure format - struct_data_type_2 = self.alarm_data_type[FPEventDataType(data_typ_2[0]).name] + struct_data_type_2 = self.alarm_data_type[fp_enum_repository.FPEventDataTypes(data_typ_2[0]).name] # Get the data value by unpacking the data type data_2 = struct.unpack(struct_data_type_2, bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5])) Index: leahi_dialin/fp/modules/boost_pump.py =================================================================== diff -u -rec8a2600b9e8cf6fe7e02c200a1c24221ca86863 -re60ad12bcc58d5905d7268bbeaae139d8233e023 --- leahi_dialin/fp/modules/boost_pump.py (.../boost_pump.py) (revision ec8a2600b9e8cf6fe7e02c200a1c24221ca86863) +++ leahi_dialin/fp/modules/boost_pump.py (.../boost_pump.py) (revision e60ad12bcc58d5905d7268bbeaae139d8233e023) @@ -21,7 +21,7 @@ from leahi_dialin.utils.base import DialinEnum from .constants import RESET, NO_RESET from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions -from leahi_dialin.common.fp_defs import FPBoostPumpNames, FPPumpAttributes +from leahi_dialin.common.fp_defs import fp_enum_repository from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish, DialinEnum from leahi_dialin.utils.checks import check_broadcast_interval_override_ms @@ -47,16 +47,16 @@ self._handler_pump_sync) self.boost_pump_timestamp = 0.0 self.boost_pump = { - FPBoostPumpNames.P40_PUMP.name: { - FPPumpAttributes.STATE.name: 0, - FPPumpAttributes.DUTY_CYCLE.name: 0, - FPPumpAttributes.FB_DUTY_CYCLE.name: 0, - FPPumpAttributes.SPEED.name: 0.0, - FPPumpAttributes.TARGET_PRES.name: 0.0, - FPPumpAttributes.TARGET_FLOW.name: 0.0, - FPPumpAttributes.TARGET_DUTY_CYCLE.name: 0.0, - FPPumpAttributes.DUTY_CYCLE_PCT.name: 0.0, - FPPumpAttributes.FB_DUTY_CYCLE_PCT.name: 0.0 + fp_enum_repository.FPBoostPumpNames.P40_PUMP.name: { + fp_enum_repository.FPPumpAttributes.STATE.name: 0, + fp_enum_repository.FPPumpAttributes.DUTY_CYCLE.name: 0, + fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE.name: 0, + fp_enum_repository.FPPumpAttributes.SPEED.name: 0.0, + fp_enum_repository.FPPumpAttributes.TARGET_PRES.name: 0.0, + fp_enum_repository.FPPumpAttributes.TARGET_FLOW.name: 0.0, + fp_enum_repository.FPPumpAttributes.TARGET_DUTY_CYCLE.name: 0.0, + fp_enum_repository.FPPumpAttributes.DUTY_CYCLE_PCT.name: 0.0, + fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE_PCT.name: 0.0 } } @@ -70,23 +70,23 @@ @return: none """ - self.boost_pump[FPBoostPumpNames.P40_PUMP.name][FPPumpAttributes.STATE.name] = struct.unpack('i', bytearray( + self.boost_pump[fp_enum_repository.FPBoostPumpNames.P40_PUMP.name][fp_enum_repository.FPPumpAttributes.STATE.name] = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - self.boost_pump[FPBoostPumpNames.P40_PUMP.name][FPPumpAttributes.DUTY_CYCLE.name] = struct.unpack('i', bytearray( + self.boost_pump[fp_enum_repository.FPBoostPumpNames.P40_PUMP.name][fp_enum_repository.FPPumpAttributes.DUTY_CYCLE.name] = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.boost_pump[FPBoostPumpNames.P40_PUMP.name][FPPumpAttributes.FB_DUTY_CYCLE.name] = struct.unpack('i', bytearray( + self.boost_pump[fp_enum_repository.FPBoostPumpNames.P40_PUMP.name][fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE.name] = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - self.boost_pump[FPBoostPumpNames.P40_PUMP.name][FPPumpAttributes.SPEED.name] = struct.unpack('f', bytearray( + self.boost_pump[fp_enum_repository.FPBoostPumpNames.P40_PUMP.name][fp_enum_repository.FPPumpAttributes.SPEED.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] - self.boost_pump[FPBoostPumpNames.P40_PUMP.name][FPPumpAttributes.TARGET_PRESSURE.name] = struct.unpack('f', bytearray( + self.boost_pump[fp_enum_repository.FPBoostPumpNames.P40_PUMP.name][fp_enum_repository.FPPumpAttributes.TARGET_PRESSURE.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5]))[0] - self.boost_pump[FPBoostPumpNames.P40_PUMP.name][FPPumpAttributes.TARGET_FLOW.name] = struct.unpack('f', bytearray( + self.boost_pump[fp_enum_repository.FPBoostPumpNames.P40_PUMP.name][fp_enum_repository.FPPumpAttributes.TARGET_FLOW.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] - self.boost_pump[FPBoostPumpNames.P40_PUMP.name][FPPumpAttributes.TARGET_DUTY_CYCLE.name] = struct.unpack('f', bytearray( + self.boost_pump[fp_enum_repository.FPBoostPumpNames.P40_PUMP.name][fp_enum_repository.FPPumpAttributes.TARGET_DUTY_CYCLE.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7]))[0] - self.boost_pump[FPBoostPumpNames.P40_PUMP.name][FPPumpAttributes.DUTY_CYCLE_PCT.name] = struct.unpack('f', bytearray( + self.boost_pump[fp_enum_repository.FPBoostPumpNames.P40_PUMP.name][fp_enum_repository.FPPumpAttributes.DUTY_CYCLE_PCT.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8]))[0] - self.boost_pump[FPBoostPumpNames.P40_PUMP.name][FPPumpAttributes.FB_DUTY_CYCLE_PCT.name] = struct.unpack('f', bytearray( + self.boost_pump[fp_enum_repository.FPBoostPumpNames.P40_PUMP.name][fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE_PCT.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9]))[0] self.boost_pump_timestamp = timestamp Index: leahi_dialin/fp/modules/conductivity_sensors.py =================================================================== diff -u -r1f6d8db8a800b32a70eb1176fcbd5263550a7180 -re60ad12bcc58d5905d7268bbeaae139d8233e023 --- leahi_dialin/fp/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision 1f6d8db8a800b32a70eb1176fcbd5263550a7180) +++ leahi_dialin/fp/modules/conductivity_sensors.py (.../conductivity_sensors.py) (revision e60ad12bcc58d5905d7268bbeaae139d8233e023) @@ -18,7 +18,7 @@ from .constants import RESET, NO_RESET from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions -from leahi_dialin.common.fp_defs import FPConductivitySensorsEnum, FPRORejectionRatioEnum +from leahi_dialin.common.fp_defs import fp_enum_repository from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish @@ -51,16 +51,16 @@ self.ro_rejection_ratio_timestamp = 0.0 self.fp_conductivity = { - FPConductivitySensorsEnum.P9_COND.name: 0.0, - FPConductivitySensorsEnum.P18_COND.name: 0.0 + fp_enum_repository.FPConductivitySensorNames.P9_COND.name: 0.0, + fp_enum_repository.FPConductivitySensorNames.P18_COND.name: 0.0 } self.ro_rejection_ratio = { - FPRORejectionRatioEnum.RAW_RO_REJECTION_RATIO.name: 0.0, - FPRORejectionRatioEnum.RAW_RO_REJECTION_RATIO_TANK_FILL.name: 0.0, - FPRORejectionRatioEnum.AVG_RO_REJECTION_RATIO.name: 0.0, - FPRORejectionRatioEnum.AVG_RO_REJECTION_RATIO_TANK_FILL.name: 0.0, - FPRORejectionRatioEnum.GEN_PERMEATE_STATE.name: 0 + fp_enum_repository.FPRORejectionRatioNames.RAW_RO_REJECTION_RATIO.name: 0.0, + fp_enum_repository.FPRORejectionRatioNames.RAW_RO_REJECTION_RATIO_TANK_FILL.name: 0.0, + fp_enum_repository.FPRORejectionRatioNames.AVG_RO_REJECTION_RATIO.name: 0.0, + fp_enum_repository.FPRORejectionRatioNames.AVG_RO_REJECTION_RATIO_TANK_FILL.name: 0.0, + fp_enum_repository.FPRORejectionRatioNames.GEN_PERMEATE_STATE.name: 0 } @@ -74,9 +74,9 @@ @return: None """ - self.fp_conductivity[FPConductivitySensorsEnum.P9_COND.name] = struct.unpack('f', bytearray( + self.fp_conductivity[fp_enum_repository.FPConductivitySensorNames.P9_COND.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - self.fp_conductivity[FPConductivitySensorsEnum.P18_COND.name] = struct.unpack('f', bytearray( + self.fp_conductivity[fp_enum_repository.FPConductivitySensorNames.P18_COND.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] self.fp_conductivity_timestamp = timestamp @@ -92,15 +92,15 @@ @return: None """ - self.ro_rejection_ratio[FPRORejectionRatioEnum.RAW_RO_REJECTION_RATIO.name] = struct.unpack('f', bytearray( + self.ro_rejection_ratio[fp_enum_repository.FPRORejectionRatioNames.RAW_RO_REJECTION_RATIO.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - self.ro_rejection_ratio[FPRORejectionRatioEnum.RAW_RO_REJECTION_RATIO_TANK_FILL.name] = struct.unpack('f', bytearray( + self.ro_rejection_ratio[fp_enum_repository.FPRORejectionRatioNames.RAW_RO_REJECTION_RATIO_TANK_FILL.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.ro_rejection_ratio[FPRORejectionRatioEnum.AVG_RO_REJECTION_RATIO.name] = struct.unpack('f', bytearray( + self.ro_rejection_ratio[fp_enum_repository.FPRORejectionRatioNames.AVG_RO_REJECTION_RATIO.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - self.ro_rejection_ratio[FPRORejectionRatioEnum.AVG_RO_REJECTION_RATIO_TANK_FILL.name] = struct.unpack('f', bytearray( + self.ro_rejection_ratio[fp_enum_repository.FPRORejectionRatioNames.AVG_RO_REJECTION_RATIO_TANK_FILL.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] - self.ro_rejection_ratio[FPRORejectionRatioEnum.GEN_PERMEATE_STATE.name] = struct.unpack('i', bytearray( + self.ro_rejection_ratio[fp_enum_repository.FPRORejectionRatioNames.GEN_PERMEATE_STATE.name] = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5]))[0] self.ro_rejection_ratio_timestamp = timestamp Index: leahi_dialin/fp/modules/events.py =================================================================== diff -u -r7d9d004527efeccb91958b440abdff08c2c52648 -re60ad12bcc58d5905d7268bbeaae139d8233e023 --- leahi_dialin/fp/modules/events.py (.../events.py) (revision 7d9d004527efeccb91958b440abdff08c2c52648) +++ leahi_dialin/fp/modules/events.py (.../events.py) (revision e60ad12bcc58d5905d7268bbeaae139d8233e023) @@ -16,7 +16,7 @@ import struct from logging import Logger -from leahi_dialin.common import * +from leahi_dialin.common.fp_defs import fp_enum_repository from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions from leahi_dialin.protocols.CAN import DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish @@ -59,24 +59,24 @@ self._fp_event_data_type = dict() # Dictionary of the mode as key and the sub mode states enum class as the value - self._fp_op_mode_2_sub_mode = {FPOpModes.MODE_FAUL.name: FPFaultStates, - FPOpModes.MODE_SERV.name: FPServiceStates, - FPOpModes.MODE_INIT.name: FPPostStates, - FPOpModes.MODE_STAN.name: FPStandbyStates, - FPOpModes.MODE_PRE_GENP.name: FPPreGenPermeateStates, - FPOpModes.MODE_GENP.name: FPGenPermeateStates, - FPOpModes.MODE_DPGP.name: FPPreGenPDefStates, - FPOpModes.MODE_DEGP.name: FPGenPermeateDefStates, - FPOpModes.MODE_NLEG.name: FPNotLegalStates} + self._fp_op_mode_2_sub_mode = {fp_enum_repository.FPOpModes.MODE_FAUL.name: fp_enum_repository.FPFaultStates, + fp_enum_repository.FPOpModes.MODE_SERV.name: fp_enum_repository.FPServiceStates, + fp_enum_repository.FPOpModes.MODE_INIT.name: fp_enum_repository.FPPostStates, + fp_enum_repository.FPOpModes.MODE_STAN.name: fp_enum_repository.FPStandbyStates, + fp_enum_repository.FPOpModes.MODE_PRE_GENP.name: fp_enum_repository.FPPreGenPermeateStates, + fp_enum_repository.FPOpModes.MODE_GENP.name: fp_enum_repository.FPGenPermeateStates, + fp_enum_repository.FPOpModes.MODE_DPGP.name: fp_enum_repository.FPPreGenPDefStates, + fp_enum_repository.FPOpModes.MODE_DEGP.name: fp_enum_repository.FPGenPermeateDefStates, + fp_enum_repository.FPOpModes.MODE_NLEG.name: fp_enum_repository.FPNotLegalStates} # Loop through the list of the FP events enums and initial the event dictionary. Each event is a key in the # dictionary and the value is a list. - for event in FPEventList: - self._fp_event_dictionary[FPEventList(event).name] = [] + for event in fp_enum_repository.FPEventList: + self._fp_event_dictionary[fp_enum_repository.FPEventList(event).name] = [] # Loop through the list of the event data type enum and update the dictionary - for data_type in FPEventDataType: - event_data_type = FPEventDataType(data_type).name + for data_type in fp_enum_repository.FPEventDataTypes: + event_data_type = fp_enum_repository.FPEventDataTypes(data_type).name struct_unpack_type = None # If U32 is in the data type enum (i.e. EVENT_DATA_TYPE_U32), then the key is the enum and the value is @@ -99,14 +99,14 @@ @returns the requested FP event number """ - list_length = len(self._fp_event_dictionary[FPEventList(event_id).name]) + list_length = len(self._fp_event_dictionary[fp_enum_repository.FPEventList(event_id).name]) if list_length == 0: event = [] elif event_number > list_length: - event = self._fp_event_dictionary[FPEventList(event_id).name][list_length - 1] + event = self._fp_event_dictionary[fp_enum_repository.FPEventList(event_id).name][list_length - 1] else: - event = self._fp_event_dictionary[FPEventList(event_id).name][list_length - event_number - 1] + event = self._fp_event_dictionary[fp_enum_repository.FPEventList(event_id).name][list_length - event_number - 1] return event @@ -131,18 +131,18 @@ list_of_events = [] # If there are not enough event lists send all the events that are available - if len(self._fp_event_dictionary[FPEventList(event_id).name]) <= number_of_events: - list_of_events = self._fp_event_dictionary[FPEventList(event_id).name] + if len(self._fp_event_dictionary[fp_enum_repository.FPEventList(event_id).name]) <= number_of_events: + list_of_events = self._fp_event_dictionary[fp_enum_repository.FPEventList(event_id).name] else: # Get the all the events - complete_list = self._fp_event_dictionary[FPEventList(event_id).name] + complete_list = self._fp_event_dictionary[fp_enum_repository.FPEventList(event_id).name] # Since the last are located at the end of the list, iterate backwards for the defined # event messages for i in range(len(complete_list) - 1, len(complete_list) - number_of_events - 1, -1): list_of_events.append(complete_list[i]) if number_of_events == 0: - list_of_events = self._fp_event_dictionary[FPEventList(event_id).name] + list_of_events = self._fp_event_dictionary[fp_enum_repository.FPEventList(event_id).name] return list_of_events @@ -164,11 +164,11 @@ event_id = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - if event_id == FPEventList.FP_EVENT_OPERATION_STATUS.value: + if event_id == fp_enum_repository.FPEventList.FP_EVENT_OPERATION_STATUS.value: # Get the data type event_data_type_1 = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - struct_data_type = self._fp_event_data_type[FPEventDataType(event_data_type_1).name] + struct_data_type = self._fp_event_data_type[fp_enum_repository.FPEventDataType(event_data_type_1).name] op_mode = struct.unpack('