Index: leahi_dialin/fp/modules/valves.py =================================================================== diff -u -redc0210a1d529761e244dfb05ce9267cdbcbeb53 -raa57954b051832ccde447e46463baf87487c316b --- leahi_dialin/fp/modules/valves.py (.../valves.py) (revision edc0210a1d529761e244dfb05ce9267cdbcbeb53) +++ leahi_dialin/fp/modules/valves.py (.../valves.py) (revision aa57954b051832ccde447e46463baf87487c316b) @@ -46,8 +46,10 @@ P33_VALV = 4 # Valve (P33 VCr) P34_VALV = 5 # Valve (P34 VCb) P37_VALV = 6 # Valve (P37 VCd) - M7_VALV = 7 # Valve (M7 VFB) - P20_VALV = 8 # Valve (P20 SPP) + M7_VALV = 7 # Valve (M7) + P20_VALV = 8 # Valve (P20) + P43_VALV = 9 # Valve (P43) + NUM_OF_VALVES = 10 # Number of valves class FPValves(AbstractSubSystem): """ @@ -72,22 +74,22 @@ if self.can_interface is not None: channel_id = DenaliChannels.fp_sync_broadcast_ch_id - msg_id = MsgIds.MSG_ID_RO_VALVES_STATES_DATA.value + msg_id = MsgIds.MSG_ID_FP_VALVES_STATES_DATA.value self.can_interface.register_receiving_publication_function(channel_id, msg_id, self._handler_valves_sync) self.valve_states_all = 0x0000 self.m4_valv = {"id": FPValveNames.M4_VALV.value, "state": DEENERGIZED} - self.p39_valv = {"id": FPValveNames.P39_VALV.value, "state": DEENERGIZED} + self.m7_valv = {"id": FPValveNames.M7_VALV.value, "state": DEENERGIZED} self.p6_valv = {"id": FPValveNames.P6_VALV.value, "state": DEENERGIZED} self.p11_valv = {"id": FPValveNames.P11_VALV.value, "state": DEENERGIZED} self.p33_valv = {"id": FPValveNames.P33_VALV.value, "state": DEENERGIZED} self.p34_valv = {"id": FPValveNames.P34_VALV.value, "state": DEENERGIZED} self.p37_valv = {"id": FPValveNames.P37_VALV.value, "state": DEENERGIZED} - self.m7_valv = {"id": FPValveNames.M7_VALV.value, "state": DEENERGIZED} + self.p39_valv = {"id": FPValveNames.P39_VALV.value, "state": DEENERGIZED} self.p20_valv = {"id": FPValveNames.P20_VALV.value, "state": DEENERGIZED} + self.p43_valv = {"id": FPValveNames.P43_VALV.value, "state": DEENERGIZED} - # NOTE: The len function counts the enums with the same number only once. This is not the case in the DG valves - # class because each valve must have a unique ID. + # NOTE: The len function counts the enums with the same number only once. self.valve_states_enum = [0 for _ in range(len(FPValveNames))] for valve in FPValveNames.__members__: @@ -108,7 +110,8 @@ self.p34_valv.get("state"), self.p37_valv.get("state"), self.m7_valv.get("state"), - self.p20_valv.get("state") + self.p20_valv.get("state"), + self.p43_valv.get("state") ] @staticmethod @@ -145,14 +148,15 @@ "fp_valves_states_timestamp", "valve_states_all", "m4_valv", - "p39_valv", + "m7_valv", "p6_valv", "p11_valv", "p33_valv", "p34_valv", "p37_valv", - "m7_valv", + "p39_valv", "p20_valv", + "p43_valv", "valve_states_enum" ]) def _handler_valves_sync(self, message, timestamp=0.0): @@ -175,7 +179,9 @@ self.p37_valv["state"] = self._binary_to_valve_state(vst[0] & 64) self.m7_valv["state"] = self._binary_to_valve_state(vst[0] & 128) self.p20_valv["state"] = self._binary_to_valve_state(vst[0] & 256) + self.p43_valv["state"] = self._binary_to_valve_state(vst[0] & 512) + start = self.END_POS_VALVES_STATES end = start + 1 for valve_id in self.valves_sensed_states: @@ -205,7 +211,7 @@ payload = rst + ste + vlv message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_fp_ch_id, - message_id=MsgIds.MSG_ID_RO_VALVE_SENSED_STATE_OVERRIDE_REQUEST.value, + message_id=MsgIds.MSG_ID_FP_VALVE_SENSED_STATE_OVERRIDE_REQUEST.value, payload=payload) self.logger.debug("Override valve sensed state") @@ -240,7 +246,7 @@ payload = rst + ste + vlv message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_fp_ch_id, - message_id=MsgIds.MSG_ID_RO_VALVE_CMD_STATE_OVERRIDE_REQUEST.value, + message_id=MsgIds.MSG_ID_FP_VALVE_CMD_STATE_OVERRIDE_REQUEST.value, payload=payload) self.logger.debug("Override valve state") @@ -277,7 +283,7 @@ payload = rst + ivl message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_fp_ch_id, - message_id=MsgIds.MSG_ID_RO_VALVE_PUBLISH_INTERVAL_OVERRIDE_REQUEST.value, + message_id=MsgIds.MSG_ID_FP_VALVE_PUBLISH_INTERVAL_OVERRIDE_REQUEST.value, payload=payload) self.logger.debug("override FP valves states publish interval")