当前位置: 首页>>代码示例>>Java>>正文


Java UsbEndpoint.getUsbPipe方法代码示例

本文整理汇总了Java中javax.usb.UsbEndpoint.getUsbPipe方法的典型用法代码示例。如果您正苦于以下问题:Java UsbEndpoint.getUsbPipe方法的具体用法?Java UsbEndpoint.getUsbPipe怎么用?Java UsbEndpoint.getUsbPipe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.usb.UsbEndpoint的用法示例。


在下文中一共展示了UsbEndpoint.getUsbPipe方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: initialize

import javax.usb.UsbEndpoint; //导入方法依赖的package包/类
protected void initialize() throws SecurityException, UsbException {
	UsbServices services = UsbHostManager.getUsbServices();
	UsbHub usbHub = services.getRootUsbHub();

	UsbDevice theDevice = findDevice(usbHub, targetVendor, targetProduct);

	if (theDevice == null) {
		logger.warn("Could not find the device. The driver is not operable.");
		return;
	}
	
	for (Object i : theDevice.getActiveUsbConfiguration().getUsbInterfaces()) {
		UsbInterface intf = (UsbInterface) i;
		for (Object e : intf.getUsbEndpoints()) {
			UsbEndpoint endp = (UsbEndpoint) e;
			if (endp.getDirection() == UsbConst.ENDPOINT_DIRECTION_IN) {
				this.pipe = endp.getUsbPipe();
			}
		}
	}
}
 
开发者ID:yadarts,项目名称:yadarts,代码行数:22,代码来源:SimplifiedEmprexUSBDriver.java

示例2: sendMessage

import javax.usb.UsbEndpoint; //导入方法依赖的package包/类
/**
 * Sends an ADB Message.
 * 
 * @param message
 *            The message to send.
 * @throws UsbException
 *             When USB communication failed.
 */
public void sendMessage(Message message) throws UsbException
{
    UsbEndpoint outEndpoint =
        this.iface.getUsbEndpoint(this.outEndpoint);
    UsbPipe outPipe = outEndpoint.getUsbPipe();
    MessageHeader header = message.getHeader();
    outPipe.open();
    try
    {
        int sent = outPipe.syncSubmit(header.getBytes());
        if (sent != MessageHeader.SIZE)
            throw new InvalidMessageException(
                "Invalid ADB message header size sent: " + sent);
        sent = outPipe.syncSubmit(message.getData());
        if (sent != header.getDataLength())
            throw new InvalidMessageException(
                "Data size mismatch in sent ADB message. Should be "
                    + header.getDataLength() + " but is " + sent);
    }
    finally
    {
        outPipe.close();
    }
}
 
开发者ID:usb4java,项目名称:usb4java-javax-examples,代码行数:33,代码来源:AdbDevice.java

示例3: sendBulkTransfer

import javax.usb.UsbEndpoint; //导入方法依赖的package包/类
private int sendBulkTransfer(UsbEndpoint usbEndpoint, byte[] data) throws UsbException{
        int returnCode = -1;

        if(UsbConst.ENDPOINT_DIRECTION_OUT == usbEndpoint.getDirection()){
            mLogger.debug("sendBulkTransfer - direction: OUT,  byteString: {}", getByteString(data));
        }

        UsbPipe usbPipe = usbEndpoint.getUsbPipe();
        if (usbPipe != null) {
            if(!usbPipe.isOpen()){
                usbPipe.open();
            }
            if (usbPipe.isOpen()) {
                UsbIrp usbIrp = usbPipe.createUsbIrp();
                usbIrp.setData(data);
                //TODO: data length does not need to be set explicitly
//                int dataLength = (data == null) ? 0 : data.length;
//                usbIrp.setLength(dataLength);
                usbPipe.syncSubmit(usbIrp);
                if (!usbIrp.isUsbException()) {
                    returnCode = usbIrp.getActualLength();
                } else {
                    // throw usbControlIrp.getUsbException();
                    usbIrp.getUsbException().printStackTrace();
                }
            } else {
            	mLogger.error("usbPipe open ERROR");
            }
        } else {
        	mLogger.error("usbPipe is NULL");
        }

        if(UsbConst.ENDPOINT_DIRECTION_IN == usbEndpoint.getDirection()){
        	//TODO: show type of packet in debug log
            mLogger.debug("sendBulkTransfer - direction: IN,  byteString: {}", getByteString(data));
        }

        return returnCode;
    }
 
开发者ID:fredg02,项目名称:se.bitcraze.crazyflie.lib,代码行数:40,代码来源:UsbLinkJava.java

示例4: receiveMessage

import javax.usb.UsbEndpoint; //导入方法依赖的package包/类
/**
 * Receives an ADB message.
 * 
 * @return The received ADB message.
 * @throws UsbException
 *             When USB communication failed.
 */
public Message receiveMessage() throws UsbException
{
    UsbEndpoint inEndpoint =
        this.iface.getUsbEndpoint(this.inEndpoint);
    UsbPipe inPipe = inEndpoint.getUsbPipe();
    inPipe.open();
    try
    {
        byte[] headerBytes = new byte[MessageHeader.SIZE];
        int received = inPipe.syncSubmit(headerBytes);
        if (received != MessageHeader.SIZE)
            throw new InvalidMessageException(
                "Invalid ADB message header size: " + received);
        MessageHeader header = new MessageHeader(headerBytes);
        if (!header.isValid())
            throw new InvalidMessageException(
                "ADB message header checksum failure");
        byte[] data = new byte[header.getDataLength()];
        received = inPipe.syncSubmit(data);
        if (received != header.getDataLength())
            throw new InvalidMessageException(
                "ADB message data size mismatch. Should be "
                    + header.getDataLength() + " but is " + received);
        Message message = Message.create(header, data);
        if (!message.isValid())
            throw new InvalidMessageException(
                "ADB message data checksum failure");
        return message;
    }
    finally
    {
        inPipe.close();
    }
}
 
开发者ID:usb4java,项目名称:usb4java-javax-examples,代码行数:42,代码来源:AdbDevice.java


注:本文中的javax.usb.UsbEndpoint.getUsbPipe方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。