Index: leahi_dialin/fp/modules/boost_pump.py =================================================================== diff -u -rcf5e82faaf502b2828ffb6e43c2a64b71f6e31f2 -r956757fac807b52aec078e84127089db5dff069f --- leahi_dialin/fp/modules/boost_pump.py (.../boost_pump.py) (revision cf5e82faaf502b2828ffb6e43c2a64b71f6e31f2) +++ leahi_dialin/fp/modules/boost_pump.py (.../boost_pump.py) (revision 956757fac807b52aec078e84127089db5dff069f) @@ -21,6 +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 BoostPumpNames, FPPumpAttributes 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 @@ -45,19 +46,21 @@ self.can_interface.register_receiving_publication_function(channel_id, msg_id, self._handler_pump_sync) self.boost_pump_timestamp = 0.0 - self.p40_pump_state = 0 - self.p40_pump_duty_cycle = 0 - self.p40_pump_fb_duty_cycle = 0 - self.p40_pump_speed = 0.0 - self.p40_target_pressure = 0.0 - self.p40_target_flow = 0.0 - self.p40_target_duty_cycle = 0.0 - self.p40_pump_duty_cycle_pct = 0.0 - self.p40_pump_fb_duty_cycle_pct = 0.0 + self.boost_pump = { + BoostPumpNames.P40_PUMP.name: { + FPPumpAttributes.STATE.name: 0, + FPPumpAttributes.DUTY_CYCLE.name: 0, + FPPumpAttributes.FB_DUTY_CYCLE.name: 0, + FPPumpAttributes.SPEED: 0.0, + FPPumpAttributes.TARGET_PRESSURE: 0.0, + FPPumpAttributes.TARGET_FLOW: 0.0, + FPPumpAttributes.TARGET_DUTY_CYCLE: 0.0, + FPPumpAttributes.DUTY_CYCLE_PCT: 0.0, + FPPumpAttributes.FB_DUTY_CYCLE_PCT: 0.0 + } + } - @publish(["ro_pump_timestamp", "p40_pump_state", "p40_pump_duty_cycle", "p40_pump_fb_duty_cycle", - "p40_pump_speed", "p40_target_pressure", "p40_target_flow", "p40_target_duty_cycle", - "p40_pump_duty_cycle_pct", "p40_pump_fb_duty_cycle_pct" ]) + @publish(["boost_pump_timestamp", "boost_pump" ]) def _handler_pump_sync(self, message, timestamp=0.0): """ Handles published FP ro pump data messages. FP ro pump data is captured @@ -67,23 +70,23 @@ @return: none """ - self.p40_pump_state = struct.unpack('i', bytearray( + self.boost_pump[BoostPumpNames.P40_PUMP.name][FPPumpAttributes.STATE.name] = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - self.p40_pump_duty_cycle = struct.unpack('i', bytearray( + self.boost_pump[BoostPumpNames.P40_PUMP.name][FPPumpAttributes.DUTY_CYCLE.name] = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.p40_pump_fb_duty_cycle = struct.unpack('i', bytearray( + self.boost_pump[BoostPumpNames.P40_PUMP.name][FPPumpAttributes.FB_DUTY_CYCLE.name] = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - self.p40_pump_speed = struct.unpack('f', bytearray( + self.boost_pump[BoostPumpNames.P40_PUMP.name][FPPumpAttributes.SPEED.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] - self.p40_target_pressure = struct.unpack('f', bytearray( + self.boost_pump[BoostPumpNames.P40_PUMP.name][FPPumpAttributes.TARGET_PRESSURE.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5]))[0] - self.p40_target_flow = struct.unpack('f', bytearray( + self.boost_pump[BoostPumpNames.P40_PUMP.name][FPPumpAttributes.TARGET_FLOW.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6]))[0] - self.p40_target_duty_cycle = struct.unpack('f', bytearray( + self.boost_pump[BoostPumpNames.P40_PUMP.name][FPPumpAttributes.TARGET_DUTY_CYCLE.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7]))[0] - self.p40_pump_duty_cycle_pct = struct.unpack('f', bytearray( + self.boost_pump[BoostPumpNames.P40_PUMP.name][FPPumpAttributes.DUTY_CYCLE_PCT.name] = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8]))[0] - self.p40_pump_fb_duty_cycle_pct = struct.unpack('f', bytearray( + self.boost_pump[BoostPumpNames.P40_PUMP.name][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