'USB device send data to HID device with hardware endpoints, Xcode Swift, MacOS

func upload(value:UInt16, length:UInt16) throws -> [UInt8] {
        guard let deviceInterface = DFUDevice.sharedInstance.deviceInterfacePtrPtr?.pointee?.pointee else {
            throw DFUDeviceError.DeviceInterfaceNotFound
        }
        var kr:Int32 = 0
        var requestPtr:[UInt8] = [UInt8](repeating: 0, count: Int(length))

        var request = IOUSBDevRequest(bmRequestType: 161,
                                      bRequest: DFUREQUEST.UPLOAD.rawValue,
                                      wValue: value,
                                      wIndex: 0,
                                      wLength: length,
                                      pData: &requestPtr,
                                      wLenDone: 255)

        kr = deviceInterface.DeviceRequest(DFUDevice.sharedInstance.deviceInterfacePtrPtr, &request)

        if (kr != kIOReturnSuccess) {
            throw DFUDeviceError.RequestError(desc: "Upload request error: \(kr), request data: \(request)")
        }

        return requestPtr
    }

Getting error in sending data to device in hardware mode:

Upload request error: -536854449, request data: IOUSBDevRequest(bmRequestType: 161, bRequest: 2, wValue: 184, wIndex: 0, wLength: 9, pData: Optional(0x000060000228a690), wLenDone: 0)

found above code from this link: USB device send/receive data it is detecting device, but not able to send data



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source