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,