Index: leahi_dialin/fp/modules/valves.py =================================================================== diff -u -r70ede35f42770305f04b251b3372ef42a9cecbf5 -r9f947930678d5b13aa8f788f4e3d58cd1370a541 --- leahi_dialin/fp/modules/valves.py (.../valves.py) (revision 70ede35f42770305f04b251b3372ef42a9cecbf5) +++ leahi_dialin/fp/modules/valves.py (.../valves.py) (revision 9f947930678d5b13aa8f788f4e3d58cd1370a541) @@ -70,10 +70,11 @@ self.p6_valv = {"id": fp_enum_repository.FPValveNames.P6_VALV.value, "state": DEENERGIZED} #: The P6 valve's value #: States of all the vales in list format - self.valve_states_enum = [0 for _ in range(fp_enum_repository.FPValveNames.NUM_OF_FP_VALVES.value - 1)] - - for valve in fp_enum_repository.FPValveNames.__members__: - self.valves_sensed_states[valve] = '' + self.valve_states_enum = {} + for i in range(0, fp_enum_repository.FPValveNames.NUM_OF_FP_VALVES.value): + valve_name = fp_enum_repository.FPValveNames(i).name.split('_')[0] + self.valve_states_enum[valve_name] = 0 + self.valves_sensed_states[valve_name] = '' @staticmethod @@ -144,15 +145,14 @@ self.valve_states_all += fp_valves[0] << 8 # Updating Valve_states_enum - for i in range(0, fp_enum_repository.FPValveNames.NUM_OF_FP_VALVES.value - 1): - self.valve_states_enum[i] = eval(f'self.{fp_enum_repository.FPValveNames(i).name.lower()}["state"]') + for i in range(0, fp_enum_repository.FPValveNames.NUM_OF_FP_VALVES.value): + valve_name = fp_enum_repository.FPValveNames(i).name.split('_')[0] + self.valve_states_enum[valve_name] = eval(f'self.{fp_enum_repository.FPValveNames(i).name.lower()}["state"]') # Extract each valve sensed state from U08 valves states using bit-masking start = self.END_FP_VALVES_STATES end = start + 1 for valve_id in self.valves_sensed_states: - if valve_id.lower().startswith('num'): - continue self.valves_sensed_states[valve_id] = struct.unpack('B', bytearray(message['message'][start:end]))[0] start = end end += 1