Index: leahi_dialin/dd/modules/valves.py =================================================================== diff -u -rba415df9f8e76d6b0f21e8f69ba99346e42f7b09 -r38da5065a6cbe169b433d7430bb5a3739517db0e --- leahi_dialin/dd/modules/valves.py (.../valves.py) (revision ba415df9f8e76d6b0f21e8f69ba99346e42f7b09) +++ leahi_dialin/dd/modules/valves.py (.../valves.py) (revision 38da5065a6cbe169b433d7430bb5a3739517db0e) @@ -17,7 +17,6 @@ # Module imports from collections import OrderedDict from logging import Logger -import struct # Project imports from leahi_dialin.common.constants import NO_RESET @@ -185,9 +184,6 @@ @param message: published DD valves states message @return: none """ - vsa = struct.unpack(DataTypes.U32.unpack_attrib(), bytearray(message['message'][self.START_POS_VALVES_STATES:self.END_POS_ALL_VALVES])) - self.valve_states_all = vsa[0] - valves = LocalVars('valves') bc_valves = LocalVars('bc_valves') spare_valves = LocalVars('spare_valves') @@ -200,40 +196,40 @@ self.process_into_vars(decoder_list = msg_list, message = message) # Extract each valve state from U16 valves states using bit-masking - self.d14_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 1) - self.d52_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 2) - self.d8_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 4) - self.d54_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 8) - self.d53_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 16) - self.d34_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 32) - self.d64_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 64) - self.d31_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 128) - self.d65_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 256) - self.d35_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 512) - self.d40_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 1024) - self.d47_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 2048) - self.d3_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 4096) - self.d80_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 8192) - self.d81_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 16384) - self.d85_valv["state"] = dd_enum_repository.DDValveStates(valves.value & 32768) + self.d14_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 0) & 1) + self.d52_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 1) & 1) + self.d8_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 2) & 1) + self.d54_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 3) & 1) + self.d53_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 4) & 1) + self.d34_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 5) & 1) + self.d64_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 6) & 1) + self.d31_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 7) & 1) + self.d65_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 8) & 1) + self.d35_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 9) & 1) + self.d40_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 10) & 1) + self.d47_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 11) & 1) + self.d3_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 12) & 1) + self.d80_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 13) & 1) + self.d81_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 14) & 1) + self.d85_valv["state"] = dd_enum_repository.DDValveStates((valves.value >> 15) & 1) - self.d23_valv["state"] = dd_enum_repository.DDValveStates(bc_valves.value & 1) - self.d19_valv["state"] = dd_enum_repository.DDValveStates(bc_valves.value & 2) - self.d25_valv["state"] = dd_enum_repository.DDValveStates(bc_valves.value & 4) - self.d21_valv["state"] = dd_enum_repository.DDValveStates(bc_valves.value & 8) - self.d24_valv["state"] = dd_enum_repository.DDValveStates(bc_valves.value & 16) - self.d20_valv["state"] = dd_enum_repository.DDValveStates(bc_valves.value & 32) - self.d26_valv["state"] = dd_enum_repository.DDValveStates(bc_valves.value & 64) - self.d22_valv["state"] = dd_enum_repository.DDValveStates(bc_valves.value & 128) + self.d23_valv["state"] = dd_enum_repository.DDValveStates((bc_valves.value >> 0) & 1) + self.d19_valv["state"] = dd_enum_repository.DDValveStates((bc_valves.value >> 1) & 1) + self.d25_valv["state"] = dd_enum_repository.DDValveStates((bc_valves.value >> 2) & 1) + self.d21_valv["state"] = dd_enum_repository.DDValveStates((bc_valves.value >> 3) & 1) + self.d24_valv["state"] = dd_enum_repository.DDValveStates((bc_valves.value >> 4) & 1) + self.d20_valv["state"] = dd_enum_repository.DDValveStates((bc_valves.value >> 5) & 1) + self.d26_valv["state"] = dd_enum_repository.DDValveStates((bc_valves.value >> 6) & 1) + self.d22_valv["state"] = dd_enum_repository.DDValveStates((bc_valves.value >> 7) & 1) - self.d88_d79_valv["state"] = dd_enum_repository.DDValveStates(spare_valves.value & 1) - self.d83_valv["state"] = dd_enum_repository.DDValveStates(spare_valves.value & 2) - self.d91_valv["state"] = dd_enum_repository.DDValveStates(spare_valves.value & 4) - self.d104_valv["state"] = dd_enum_repository.DDValveStates(spare_valves.value & 8) - self.d95_valv["state"] = dd_enum_repository.DDValveStates(spare_valves.value & 16) - self.spare5_valv["state"] = dd_enum_repository.DDValveStates(spare_valves.value & 32) - self.d100_valv["state"] = dd_enum_repository.DDValveStates(spare_valves.value & 64) - self.spare7_valv["state"] = dd_enum_repository.DDValveStates(spare_valves.value & 128) + self.d88_d79_valv["state"] = dd_enum_repository.DDValveStates((spare_valves.value >> 0) & 1) + self.d83_valv["state"] = dd_enum_repository.DDValveStates((spare_valves.value >> 1) & 1) + self.d91_valv["state"] = dd_enum_repository.DDValveStates((spare_valves.value >> 2) & 1) + self.d104_valv["state"] = dd_enum_repository.DDValveStates((spare_valves.value >> 3) & 1) + self.d95_valv["state"] = dd_enum_repository.DDValveStates((spare_valves.value >> 4) & 1) + self.spare5_valv["state"] = dd_enum_repository.DDValveStates((spare_valves.value >> 5) & 1) + self.d100_valv["state"] = dd_enum_repository.DDValveStates((spare_valves.value >> 6) & 1) + self.spare7_valv["state"] = dd_enum_repository.DDValveStates((spare_valves.value >> 7) & 1) # Updating Valve_states_enum for i in range(0, dd_enum_repository.DDValveNames.NUM_OF_DD_VALVES.value): Index: leahi_dialin/fp/modules/valves.py =================================================================== diff -u -rd0dedd8e720be5de357176ffb095484ec082c830 -r38da5065a6cbe169b433d7430bb5a3739517db0e --- leahi_dialin/fp/modules/valves.py (.../valves.py) (revision d0dedd8e720be5de357176ffb095484ec082c830) +++ leahi_dialin/fp/modules/valves.py (.../valves.py) (revision 38da5065a6cbe169b433d7430bb5a3739517db0e) @@ -120,17 +120,17 @@ self.process_into_vars(decoder_list = msg_list, message = message) # Extract each valve state from U08 valves states using bit-masking - self.m4_valv["state"] = fp_enum_repository.FPValveStates(io_valves.value & 1) - self.m12_valv["state"] = fp_enum_repository.FPValveStates(io_valves.value & 2) + self.m4_valv["state"] = fp_enum_repository.FPValveStates((io_valves.value >> 0) & 1) + self.m12_valv["state"] = fp_enum_repository.FPValveStates((io_valves.value >> 1) & 1) self.valve_states_all = io_valves[0] # Extract each valve state from U08 valves states using bit-masking - self.p11_valv["state"] = fp_enum_repository.FPValveStates(fp_valves.value & 1) - self.p33_valv["state"] = fp_enum_repository.FPValveStates(fp_valves.value & 2) - self.p34_valv["state"] = fp_enum_repository.FPValveStates(fp_valves.value & 4) - self.p37_valv["state"] = fp_enum_repository.FPValveStates(fp_valves.value & 8) - self.p39_valv["state"] = fp_enum_repository.FPValveStates(fp_valves.value & 16) - self.p6_valv["state"] = fp_enum_repository.FPValveStates(fp_valves.value & 32) + self.p11_valv["state"] = fp_enum_repository.FPValveStates((fp_valves.value >> 0) & 1) + self.p33_valv["state"] = fp_enum_repository.FPValveStates((fp_valves.value >> 1) & 1) + self.p34_valv["state"] = fp_enum_repository.FPValveStates((fp_valves.value >> 2) & 1) + self.p37_valv["state"] = fp_enum_repository.FPValveStates((fp_valves.value >> 3) & 1) + self.p39_valv["state"] = fp_enum_repository.FPValveStates((fp_valves.value >> 4) & 1) + self.p6_valv["state"] = fp_enum_repository.FPValveStates((fp_valves.value >> 5) & 1) self.valve_states_all += fp_valves[0] << 8 # Updating Valve_states_enum