Index: leahi_dialin/fp/filtration_purification.py =================================================================== diff -u -r980f71407af011d966bf2c995f04d6cc5ead45c8 -r20c821bd230fc7689a0275a2918981669ff5cc19 --- leahi_dialin/fp/filtration_purification.py (.../filtration_purification.py) (revision 980f71407af011d966bf2c995f04d6cc5ead45c8) +++ leahi_dialin/fp/filtration_purification.py (.../filtration_purification.py) (revision 20c821bd230fc7689a0275a2918981669ff5cc19) @@ -33,7 +33,7 @@ from .proxies.dd_proxy import DDProxy from ..common.constants import NO_RESET -from ..common.fp_defs import fp_enum_repository +from ..common import fp_enum_repository from ..common.msg_defs import MsgIds, MsgFieldPositions, MsgFieldPositionsFWVersions from ..common.override_templates import cmd_generic_broadcast_interval_override, cmd_generic_override from ..protocols.CAN import DenaliMessage, DenaliCanMessenger, DenaliChannels @@ -99,38 +99,49 @@ self.cmd_log_in_to_fp() # create properties - self.fp_defeatured = False - self.fp_defeatured_timestamp = 0.0 - self.fp_op_mode_timestamp = 0.0 - self.fp_debug_events_timestamp = 0.0 - self.fp_version_response_timestamp = 0.0 - self.fp_operation_mode = fp_enum_repository.FPOpModes.MODE_INIT.value - self.fp_operation_sub_mode = 0 - self.fp_logged_in = False + self.fp_defeatured = False #: The FP is defeaturized or not + self.fp_defeatured_timestamp = 0.0 #: The timestamp of the latest defeatured message + self.fp_op_mode_timestamp = 0.0 #: The timestamp of the latest operation mode message + self.fp_debug_events_timestamp = 0.0 #: The timestamp of the latest events message + self.fp_version_response_timestamp = 0.0 #: The timestamp of the latest FP version info message + self.fp_operation_mode = fp_enum_repository.FPOpModes.MODE_INIT.value #: The Operation Mode's value + self.fp_operation_sub_mode = 0 #: The Operation Sub-Mode's value + self.fp_logged_in = False #: The value showing if the user is logged in or not self.fp_set_logged_in_status(False) - self.fp_version = None - self.fp_fpga_version = None - self.fp_debug_events = [''] * self._FP_DEBUG_EVENT_LIST_COUNT - self.fp_debug_event_index = 0 - self.fp_last_debug_event = '' + self.fp_version = None #: The FP's version value + self.fp_fpga_version = None #: The FP's FPGA version value + self.fp_debug_events = [''] * self._FP_DEBUG_EVENT_LIST_COUNT #: The Debug Event's list + self.fp_debug_event_index = 0 #: The index of the last Event + self.fp_last_debug_event = '' #: The name of the last Event # Create command groups - self.alarms = FPAlarms(self.can_interface, self.logger) - self.boost_pump = FPBoostPump(self.can_interface, self.logger) - self.conductivity = FPConductivitySensors(self.can_interface, self.logger) - self.events = FPEvents(self.can_interface, self.logger) - self.flows = FPFlowSensors(self.can_interface, self.logger) - self.fluid_pumps = FPPumps(self.can_interface, self.logger) - self.levels = FPLevels(self.can_interface, self.logger) - self.permeate_tank = FPPermeateTank(self.can_interface, self.logger) - self.pressures = FPPressureSensors(self.can_interface, self.logger) - self.ro_pump = FPROPump(self.can_interface, self.logger) - self.temperatures = FPTemperatureSensors(self.can_interface, self.logger) - self.test_configs = FPTestConfig(self.can_interface, self.logger) - self.valves = FPValves(self.can_interface, self.logger) - self.dd_proxy = DDProxy(self.can_interface, self.logger, fp = self) + self.alarms = FPAlarms(self.can_interface, self.logger) #: The Alarms module + self.boost_pump = FPBoostPump(self.can_interface, self.logger) #: The Boost Pump module + self.conductivity = FPConductivitySensors(self.can_interface, self.logger) #: The Conductivity Sensors module + self.events = FPEvents(self.can_interface, self.logger) #: The Events module + self.flows = FPFlowSensors(self.can_interface, self.logger) #: The Flows module + self.fluid_pumps = FPPumps(self.can_interface, self.logger) #: The Fluid Pumps module + self.levels = FPLevels(self.can_interface, self.logger) #: The Levels module + self.permeate_tank = FPPermeateTank(self.can_interface, self.logger) #: The Permeate Tank module + self.pressures = FPPressureSensors(self.can_interface, self.logger) #: The Pressure Sensors module + self.ro_pump = FPROPump(self.can_interface, self.logger) #: The RO Pump module + self.temperatures = FPTemperatureSensors(self.can_interface, self.logger) #: The Temperature Sensors module + self.test_configs = FPTestConfig(self.can_interface, self.logger) #: The Test Configs module + self.valves = FPValves(self.can_interface, self.logger) #: The Valves module + self.dd_proxy = DDProxy(self.can_interface, self.logger, fp = self) #: The DD Proxy module (imitates commands sent by DD) + + def fp_set_logged_in_status(self, logged_in: bool = False): + """ + Callback for fp logged in status change. + + @param logged_in: Logged in status for FP + @return: None + """ + self.fp_logged_in = logged_in + + @publish(["msg_id_fp_debug_event", "fp_debug_events_timestamp","fp_debug_events"]) def _handler_fp_debug_event_sync(self, message, timestamp = 0.0): """ @@ -159,16 +170,6 @@ self.fp_debug_event_index = 0 - @publish(["fp_logged_in"]) - def fp_set_logged_in_status(self, logged_in: bool = False): - """ - Callback for fp logged in status change. - @param logged_in boolean logged in status for FP - @return: none - """ - self.fp_logged_in = logged_in - - @publish(["msg_id_fp_version_response", "fp_version, fp_fpga_version"]) def _handler_fp_version_response_sync(self,message, timestamp = 0.0): """