Index: leahi_dialin/dd/modules/valves.py =================================================================== diff -u -rc0bd3c89009d0faaf5cb51b3f7da5bdaee7908c8 -r2bfa4ffb03efe85b31affb7b60dea4e33d368777 --- leahi_dialin/dd/modules/valves.py (.../valves.py) (revision c0bd3c89009d0faaf5cb51b3f7da5bdaee7908c8) +++ leahi_dialin/dd/modules/valves.py (.../valves.py) (revision 2bfa4ffb03efe85b31affb7b60dea4e33d368777) @@ -361,7 +361,7 @@ can_interface = self.can_interface) - def cmd_bc_valves_override(self, bcv1: bool, bcv2: bool, bcv3: bool, bcv4: bool, bcv5: bool, bcv6: bool, bcv7: bool, bcv8: bool) -> int: + def cmd_bc_valves_override(self, bcv1: bool, bcv2: bool, bcv3: bool, bcv4: bool, bcv5: bool, bcv6: bool, bcv7: bool, bcv8: bool, reset: int = NO_RESET) -> int: """ Constructs and sends the balancing chamber valve states override command. Constraints: @@ -376,31 +376,34 @@ @param bcv6: bool - valve state for D20_VALV (true=open, false=closed) @param bcv7: bool - valve state for D26_VALV (true=open, false=closed) @param bcv8: bool - valve state for D22_VALV (true=open, false=closed) + @param reset: integer - 1 to reset a previous override, 0 to override @return: 1 if successful, zero otherwise """ + rst = integer_to_bytearray(reset) valve = 0 if bcv1: valve = valve | 0x1 if bcv2: valve = valve | 0x2 if bcv3: valve = valve | 0x4 - if bcv7: + if bcv4: valve = valve | 0x8 if bcv5: valve = valve | 0x10 if bcv6: valve = valve | 0x20 - if bcv4: + if bcv7: valve = valve | 0x40 if bcv8: valve = valve | 0x80 - payload = integer_to_bytearray(valve) + vlv = integer_to_bytearray(valve) + payload = rst + vlv return cmd_generic_override( payload = payload, - reset = NO_RESET, + reset = reset, channel_id = DenaliChannels.dialin_to_dd_ch_id, msg_id = MsgIds.MSG_ID_DD_BC_VALVE_STATES_OVERRIDE_REQUEST, entity_name = f'DD Balancing Chamber Valves state',