Index: leahi_dialin/dd/modules/valves.py =================================================================== diff -u -r6caa49d072aceb2655d605de5d2eea52ab1a8911 -rec873d3a16603e9fbf636d471ca75473fb590bd8 --- leahi_dialin/dd/modules/valves.py (.../valves.py) (revision 6caa49d072aceb2655d605de5d2eea52ab1a8911) +++ leahi_dialin/dd/modules/valves.py (.../valves.py) (revision ec873d3a16603e9fbf636d471ca75473fb590bd8) @@ -17,7 +17,6 @@ # Module imports from collections import OrderedDict from logging import Logger -import struct import time # Project imports @@ -187,10 +186,6 @@ @param message: published DD valves states message @return: none """ - start = time.perf_counter() - 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') @@ -203,40 +198,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):