code: def controlWrite(
              self, request_type, request, value, index, data, timeout=0):
          
          # pylint: disable=undefined-variable
          request_type = (request_type & ~ENDPOINT_DIR_MASK) | ENDPOINT_OUT
          # pylint: enable=undefined-variable
          data, _ = create_initialised_buffer(data)
          return self._controlTransfer(request_type, request, value, index, data,
                                       sizeof(data), timeout)
docs: Synchronous control write.
          request_type: request type bitmask (bmRequestType), see
            constants TYPE_* and RECIPIENT_*.
          request: request id (some values are standard).
          value, index, data: meaning is request-dependent.
          timeout: in milliseconds, how long to wait for device acknowledgement.
            Set to 0 to disable.
  
          To avoid memory copies, use an object implementing the writeable buffer
          interface (ex: bytearray) for the "data" parameter.
  
          Returns the number of bytes actually sent.