code: def gpio_set(self, pins, states):
          
          if len(pins) != len(states):
              raise ValueError('Length mismatch between pins and states.')
  
          size = len(pins)
          indices = (ctypes.c_uint8 * size)(*pins)
          states = (ctypes.c_uint8 * size)(*states)
          result_states = (ctypes.c_uint8 * size)()
          result = self._dll.JLINK_EMU_GPIO_SetState(ctypes.byref(indices),
                                                     ctypes.byref(states),
                                                     ctypes.byref(result_states),
                                                     size)
          if result < 0:
              raise errors.JLinkException(result)
  
          return list(result_states)
docs: Sets the state for one or more user-controllable GPIOs.
  
          For each of the given pins, sets the the corresponding state based on
          the index.
  
          Args:
            self (JLink): the ``JLink`` instance
            pins (list): list of GPIO indices
            states (list): list of states to set
  
          Returns:
            A list of updated states.
  
          Raises:
            JLinkException: on error.
            ValueError: if ``len(pins) != len(states)``