Index: leahi_dialin.egg-info/PKG-INFO =================================================================== diff -u -r7a827f82f5866f5780a0a679920b1e7b75280efd -ra86c438ad4724d63a8aef56f5ae4e9cecab1718c --- leahi_dialin.egg-info/PKG-INFO (.../PKG-INFO) (revision 7a827f82f5866f5780a0a679920b1e7b75280efd) +++ leahi_dialin.egg-info/PKG-INFO (.../PKG-INFO) (revision a86c438ad4724d63a8aef56f5ae4e9cecab1718c) @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: leahi-dialin -Version: 1.0.0+develop.9bec057 +Version: 1.0.0+develop.7a827f8 Summary: The Diality Dialin API Home-page: UNKNOWN Author: Micheal Garthwaite Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -r78dd906694768fc1249bd7f96c8694126ce5bfbb -ra86c438ad4724d63a8aef56f5ae4e9cecab1718c --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 78dd906694768fc1249bd7f96c8694126ce5bfbb) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision a86c438ad4724d63a8aef56f5ae4e9cecab1718c) @@ -177,6 +177,7 @@ MSG_ID_DD_DIAL_DELIVERY_IN_PROGRESS_OVERRIDE_REQUEST = 0xA033 MSG_ID_DD_DIAL_DELIVERY_GOOD_TO_DELIVER_OVERRIDE_REQUEST = 0xA034 MSG_ID_DD_HEATERS_TARGET_TEMPERATURE_OVERRIDE_REQUEST = 0xA035 + MSG_ID_DD_BC_VALVE_STATES_OVERRIDE_REQUEST = 0xA036 MSG_ID_FIRST_RO_TESTER_MESSAGE = 0xB000 MSG_ID_RO_SOFTWARE_RESET_REQUEST = 0xB001 Index: leahi_dialin/dd/modules/valves.py =================================================================== diff -u -r7a827f82f5866f5780a0a679920b1e7b75280efd -ra86c438ad4724d63a8aef56f5ae4e9cecab1718c --- leahi_dialin/dd/modules/valves.py (.../valves.py) (revision 7a827f82f5866f5780a0a679920b1e7b75280efd) +++ leahi_dialin/dd/modules/valves.py (.../valves.py) (revision a86c438ad4724d63a8aef56f5ae4e9cecab1718c) @@ -366,6 +366,61 @@ self.logger.debug("Timeout!!!!") return False + def cmd_bc_valves_override(self, bcv1: bool, bcv2: bool, bcv3: bool, bcv4: bool, bcv5: bool, bcv6: bool, bcv7: bool, bcv8: bool) -> int: + """ + Constructs and sends the balancing chamber valve states override command. + Constraints: + Must be logged into DG. + Given valve ID must be one of the valve IDs listed below. + + @param bcv1: bool - valve state for BCV1 (true=open, false=closed) + @param bcv2: bool - valve state for BCV2 (true=open, false=closed) + @param bcv3: bool - valve state for BCV3 (true=open, false=closed) + @param bcv4: bool - valve state for BCV4 (true=open, false=closed) + @param bcv5: bool - valve state for BCV5 (true=open, false=closed) + @param bcv6: bool - valve state for BCV6 (true=open, false=closed) + @param bcv7: bool - valve state for BCV7 (true=open, false=closed) + @param bcv8: bool - valve state for BCV8 (true=open, false=closed) + @return: 1 if successful, zero otherwise + """ + + valve = 0 + if bcv1: + valve = valve | 0x1 + if bcv2: + valve = valve | 0x2 + if bcv3: + valve = valve | 0x4 + if bcv7: + valve = valve | 0x8 + if bcv5: + valve = valve | 0x10 + if bcv6: + valve = valve | 0x20 + if bcv4: + valve = valve | 0x40 + if bcv8: + valve = valve | 0x80 + + payload = integer_to_bytearray(valve) + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dd_ch_id, + message_id=MsgIds.MSG_ID_DD_BC_VALVE_STATES_OVERRIDE_REQUEST.value, + payload=payload) + + self.logger.debug("Override balancing chamber valve states") + + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + # response payload is OK or not OK + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.debug("Timeout!!!!") + return False + def cmd_valve_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends the valve state override command.