Index: leahi_dialin/fp/modules/valves.py =================================================================== diff -u -rf03c9a32180573f2430105ad69eb91d9f597a96b -r34b64ff2d8a64f4b7b60b80bb7cf4c36845e5943 --- leahi_dialin/fp/modules/valves.py (.../valves.py) (revision f03c9a32180573f2430105ad69eb91d9f597a96b) +++ leahi_dialin/fp/modules/valves.py (.../valves.py) (revision 34b64ff2d8a64f4b7b60b80bb7cf4c36845e5943) @@ -8,18 +8,21 @@ # @file valves.py # # @author (last) Zoltan Miskolci -# @date (last) 09-Jan-2026 +# @date (last) 05-May-2026 # @author (original) Peman Montazemi # @date (original) 19-May-2020 # ############################################################################ +# Module imports import struct from logging import Logger from collections import OrderedDict +# Project imports from leahi_dialin.common.constants import NO_RESET from leahi_dialin.common import fp_enum_repository +from leahi_dialin.common.generic_defs import DataTypes from leahi_dialin.common.fp_defs import BETA_IOFP_VALVE_OFFSET from leahi_dialin.common.msg_defs import MsgIds from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override, cmd_generic_override @@ -54,9 +57,9 @@ self.logger = logger if self.can_interface is not None: - channel_id = DenaliChannels.fp_sync_broadcast_ch_id - self.msg_id_fp_valves_states_data = MsgIds.MSG_ID_FP_VALVES_STATES_DATA.value - self.can_interface.register_receiving_publication_function(channel_id, self.msg_id_fp_valves_states_data, self._handler_valves_sync) + self.can_interface.register_receiving_publication_function(channel_id = DenaliChannels.fp_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_FP_VALVES_STATES_DATA.value, + function = self._handler_valves_sync) self.fp_valves_states_timestamp = 0.0 #: The timestamp of the last message self.valve_states_all = 0x0000 #: States of all the vales in binary format @@ -130,13 +133,13 @@ @return: none """ # Extract each valve state from U08 valves states using bit-masking - io_valves = struct.unpack('B', bytearray(message['message'][self.START_IO_VALVES_STATES:self.END_IO_VALVES_STATES])) + io_valves = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray(message['message'][self.START_IO_VALVES_STATES:self.END_IO_VALVES_STATES])) self.m4_valv["state"] = self._binary_to_valve_state(io_valves[0] & 1) self.m12_valv["state"] = self._binary_to_valve_state(io_valves[0] & 2) self.valve_states_all = io_valves[0] # Extract each valve state from U08 valves states using bit-masking - fp_valves = struct.unpack('B', bytearray(message['message'][self.START_FP_VALVES_STATES:self.END_FP_VALVES_STATES])) + fp_valves = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray(message['message'][self.START_FP_VALVES_STATES:self.END_FP_VALVES_STATES])) self.p11_valv["state"] = self._binary_to_valve_state(fp_valves[0] & 1) self.p33_valv["state"] = self._binary_to_valve_state(fp_valves[0] & 2) self.p34_valv["state"] = self._binary_to_valve_state(fp_valves[0] & 4) @@ -154,7 +157,7 @@ start = self.END_FP_VALVES_STATES end = start + 1 for valve_id in self.valves_sensed_states: - self.valves_sensed_states[valve_id] = struct.unpack('B', bytearray(message['message'][start:end]))[0] + self.valves_sensed_states[valve_id] = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray(message['message'][start:end]))[0] start = end end += 1 self.fp_valves_states_timestamp = timestamp