Index: leahi_dialin/td/modules/air_trap.py =================================================================== diff -u -rfc99e89f17c6c06ee5b783d92eabf405de39abf9 -rb4e77cdb95bebe6ba3fc49c2389d7e6127a81e9c --- leahi_dialin/td/modules/air_trap.py (.../air_trap.py) (revision fc99e89f17c6c06ee5b783d92eabf405de39abf9) +++ leahi_dialin/td/modules/air_trap.py (.../air_trap.py) (revision b4e77cdb95bebe6ba3fc49c2389d7e6127a81e9c) @@ -26,7 +26,8 @@ class AirTrapValves(DialinEnum): - VBT = 0 + H13_VALV = 0 # Air trap intake valve + H20_VALV = 1 # Air trap outlet valve @unique class AirTrapState(DialinEnum): @@ -41,8 +42,8 @@ """ # Air trap level sensor IDs - LOWER_LEVEL_SENSOR = 0 - UPPER_LEVEL_SENSOR = 1 + H17_LOWER_LEVEL_SENSOR = 0 + H16_UPPER_LEVEL_SENSOR = 1 # Air trap level sensor levels AIR_DETECTED_AT_LEVEL = 0 @@ -63,17 +64,19 @@ self.can_interface.register_receiving_publication_function(channel_id, msg_id, self._handler_air_trap_sync) - self.lower_level = self.AIR_DETECTED_AT_LEVEL - 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.h17_lower_level = self.AIR_DETECTED_AT_LEVEL + self.h16_upper_level = self.AIR_DETECTED_AT_LEVEL + self.h17_lower_level_raw = self.AIR_DETECTED_AT_LEVEL + self.h16_upper_level_raw = self.AIR_DETECTED_AT_LEVEL + self.h13_valve_state = 0 + self.h20_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", - "valve_state","air_control"]) + @publish(["td_air_trap_timestamp", "h17_lower_level", "h16_upper_level", + "h17_lower_level_raw", "h16_upper_level_raw", + "h13_valve_state","h20_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 @@ -91,16 +94,19 @@ 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( + h13_vlv_st = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5])) - controlling = struct.unpack('i', bytearray( + h20_vlv_st = struct.unpack('i', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6])) + controlling = struct.unpack('i', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7])) - 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.h17_lower_level = lower[0] + self.h16_upper_level = upper[0] + self.h17_lower_level_raw = raw_lower[0] + self.h16_upper_level_raw = raw_upper[0] + self.h13_valve_state = h13_vlv_st[0] + self.h20_valve_state = h20_vlv_st[0] self.air_control = controlling[0] self.td_air_trap_timestamp = timestamp @@ -109,16 +115,12 @@ Constructs and sends the air trap level sensor override command Constraints: Must be logged into TD. - Given sensor must be one of the sensors listed below. @param sensor: unsigned int - sensor ID - @param detected: unsigned int - detected (0=air, 1=fluid) to override sensor with + @param detected: unsigned int - detected to override sensor with @param reset: integer - 1 to reset a previous override, 0 to override @return: 1 if successful, zero otherwise - Air trap sensor IDs: \n - 0 = Lower level \n - 1 = Upper level \n """ rst = integer_to_bytearray(reset) @@ -148,16 +150,12 @@ Constructs and sends the raw air trap level sensor override command Constraints: Must be logged into TD. - Given sensor must be one of the sensors listed below. @param sensor: unsigned int - sensor ID @param detected: unsigned int - detected (0=air, 1=fluid) to override sensor with @param reset: integer - 1 to reset a previous override, 0 to override @return: 1 if successful, zero otherwise - Air trap sensor IDs: \n - 0 = Lower level \n - 1 = Upper level \n """ rst = integer_to_bytearray(reset) @@ -224,12 +222,12 @@ self.logger.debug("Timeout!!!!") return False - def cmd_set_td_air_trap_valve(self, valve: int = AirTrapValves.VBT.value, + def cmd_set_td_air_trap_valve(self, valve: int = AirTrapValves.H13_VALV.value, valve_state: int = AirTrapState.STATE_CLOSED.value) -> int: """ - Constructs and sends an open/close command to the TD air trap valve + Constructs and sends an open/close command to the TD air trap valves. - @param valve: air trap valve ID ( VBT = 0 ) + @param valve: air trap valve ID @param valve_state: air trap valve state (open or close) @returns 1 if successful, zero otherwise """ @@ -246,9 +244,8 @@ # If there is content... if received_message is not None: - self.logger.debug("Opening air trap valve") # response payload is OK or not OK return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: - self.logger.debug("Opening air trap valve timeout!!") + self.logger.debug("timeout!!") return False