Index: leahi_dialin/td/modules/air_trap.py =================================================================== diff -u -r2138d06d100fdcf23f2e9069f35ee2fdee62008f -rafe332fec54d9d0432dfc0d54aef1debaa92b066 --- leahi_dialin/td/modules/air_trap.py (.../air_trap.py) (revision 2138d06d100fdcf23f2e9069f35ee2fdee62008f) +++ leahi_dialin/td/modules/air_trap.py (.../air_trap.py) (revision afe332fec54d9d0432dfc0d54aef1debaa92b066) @@ -17,7 +17,7 @@ from logging import Logger from enum import unique -from leahi_dialin.td.constants import RESET, NO_RESET +from .constants import RESET, NO_RESET from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions from leahi_dialin.protocols.CAN import DenaliMessage, DenaliChannels from leahi_dialin.utils.base import AbstractSubSystem, publish, DialinEnum @@ -67,9 +67,13 @@ self.upper_level = self.AIR_DETECTED_AT_LEVEL self.lower_level_raw = self.AIR_DETECTED_AT_LEVEL self.upper_level_raw = self.AIR_DETECTED_AT_LEVEL + self.valve_state = 0 + self.air_control = 0 self.td_air_trap_timestamp = 0.0 - @publish(["td_air_trap_timestamp", "lower_level", "upper_level", "lower_level_raw", "upper_level_raw"]) + @publish(["td_air_trap_timestamp", "lower_level", "upper_level", + "lower_level_raw", "upper_level_raw", + "valve_state","air_control"]) def _handler_air_trap_sync(self, message, timestamp=0.0): """ Handles published air trap data messages. Air trap data are captured @@ -87,11 +91,17 @@ message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3])) raw_upper = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4])) + vlv_st = struct.unpack('i', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5])) + controlling = struct.unpack('i', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6])) self.lower_level = lower[0] self.upper_level = upper[0] self.lower_level_raw = raw_lower[0] self.upper_level_raw = raw_upper[0] + self.valve_state = vlv_st[0] + self.air_control = controlling[0] self.td_air_trap_timestamp = timestamp def cmd_air_trap_level_sensor_override(self, sensor: int, detected: int, reset: int = NO_RESET) -> int: