Index: leahi_dialin/common/fp_defs.py =================================================================== diff -u -ra2aad87f17d5f85922b458ca2b73d20fb4f49c3a -r9eeeeb3a8bc94c59e506254b088493fd69c3b1e1 --- leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision a2aad87f17d5f85922b458ca2b73d20fb4f49c3a) +++ leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision 9eeeeb3a8bc94c59e506254b088493fd69c3b1e1) @@ -195,15 +195,17 @@ VALVE_STATE_CLOSED = 0 # Valve Closed State VALVE_STATE_OPEN = 1 # Valve Open State +BETA_IOFP_VALVE_OFFSET = 31 # 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 Index: leahi_dialin/fp/modules/valves.py =================================================================== diff -u -ra407ca3aee42efe94cf8d2fe41ef2804175b992b -r9eeeeb3a8bc94c59e506254b088493fd69c3b1e1 --- leahi_dialin/fp/modules/valves.py (.../valves.py) (revision a407ca3aee42efe94cf8d2fe41ef2804175b992b) +++ leahi_dialin/fp/modules/valves.py (.../valves.py) (revision 9eeeeb3a8bc94c59e506254b088493fd69c3b1e1) @@ -20,7 +20,7 @@ from collections import OrderedDict from .constants import NO_RESET -from leahi_dialin.common.fp_defs import FPValveStates, FPValveNames +from leahi_dialin.common.fp_defs import FPValveStates, FPValveNames, BETA_IOFP_VALVE_OFFSET from leahi_dialin.common.msg_defs import MsgIds from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish, DialinEnum @@ -61,12 +61,12 @@ self.valve_states_all = 0x0000 self.m4_valv = {"id": FPValveNames.M4_VALV.value, "state": DEENERGIZED} + self.m12_valv = {"id": FPValveNames.M12_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.p39_valv = {"id": FPValveNames.P39_VALV.value, "state": DEENERGIZED} - self.p43_valv = {"id": FPValveNames.P43_VALV.value, "state": DEENERGIZED} self.p6_valv = {"id": FPValveNames.P6_VALV.value, "state": DEENERGIZED} # NOTE: The len function counts the enums with the same number only once. @@ -83,12 +83,12 @@ """ return [ self.m4_valv.get("state"), + self.m12_valv.get("state"), self.p11_valv.get("state"), self.p33_valv.get("state"), self.p34_valv.get("state"), self.p37_valv.get("state"), self.p39_valv.get("state"), - self.p43_valv.get("state"), self.p6_valv.get("state") ] @@ -126,12 +126,12 @@ "msg_id_fp_valves_states_data", "valve_states_all", "m4_valv", + "m12_valv", "p11_valv", "p33_valv", "p34_valv", "p37_valv", "p39_valv", - "p43_valv", "p6_valv", "valve_states_enum", "fp_valves_states_timestamp" @@ -148,12 +148,12 @@ self.valve_states_all = vst[0] # Extract each valve state from U16 valves states using bit-masking self.m4_valv["state"] = self._binary_to_valve_state(vst[0] & 1) - self.p11_valv["state"] = self._binary_to_valve_state(vst[0] & 2) - self.p33_valv["state"] = self._binary_to_valve_state(vst[0] & 4) - self.p34_valv["state"] = self._binary_to_valve_state(vst[0] & 8) - self.p37_valv["state"] = self._binary_to_valve_state(vst[0] & 16) - self.p39_valv["state"] = self._binary_to_valve_state(vst[0] & 32) - self.p43_valv["state"] = self._binary_to_valve_state(vst[0] & 64) + self.m12_valv["state"] = self._binary_to_valve_state(vst[0] & 2) + self.p11_valv["state"] = self._binary_to_valve_state(vst[0] & 4) + self.p33_valv["state"] = self._binary_to_valve_state(vst[0] & 8) + self.p34_valv["state"] = self._binary_to_valve_state(vst[0] & 16) + self.p37_valv["state"] = self._binary_to_valve_state(vst[0] & 32) + self.p39_valv["state"] = self._binary_to_valve_state(vst[0] & 64) self.p6_valv["state"] = self._binary_to_valve_state(vst[0] & 128) start = self.END_POS_VALVES_STATES @@ -215,8 +215,8 @@ """ rst = integer_to_bytearray(reset) - ste = integer_to_bytearray(state) - vlv = integer_to_bytearray(valve) + ste = integer_to_bytearray(int(state)) + vlv = integer_to_bytearray(valve + BETA_IOFP_VALVE_OFFSET) payload = rst + ste + vlv message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_fp_ch_id,