Examples of USBPacket


Examples of net.sf.myway.gps.garmin.usb.jni.USBPacket

    }
    catch (final InterruptedException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
    }
    USBPacket response = null;
    for (;;) {
      if (_stopped) {
        _log.info(hashCode() + " stopped receiving messages");
        return;
      }
      response = null;
      if (!_paused)
        response = _usb.getPacket();
      if (response == null) {
        try {
          Thread.sleep(100);
        }
        catch (final InterruptedException e) {
          _log.info(hashCode() + " interrupted");
        }
        continue;
      }
      final GarminUSBMessage gm =
        new GarminUSBMessage(response.getPacketId(), response.getData());
      _log.debug("recv: " + gm);
      if (_listener != null)
        _listener.messageReceived(gm);
    }
  }
View Full Code Here

Examples of net.sf.myway.gps.garmin.usb.jni.USBPacket

   * @see net.sf.myway.gps.garmin.unit.GarminUploadHandler#sendMessage(net.sf.myway.gps.garmin.unit.GarminSerialMessage)
   */
  @Override
  public void sendMessage(final GarminMessage message) {
    final byte[] data = message.getMessage();
    final USBPacket packet =
      new USBPacket(USBPacketType.APPLICATION_LAYER.getCode(), (short) message.getId(),
        data == null ? 0 : data.length, data);
    sendPacket(packet);
  }
View Full Code Here

Examples of net.sf.myway.gps.garmin.usb.jni.USBPacket

  /**
   * @see net.sf.myway.gps.garmin.unit.GarminUploadHandler#sendMessage(net.sf.myway.gps.garmin.protocol.LinkProtocol.PacketType)
   */
  @Override
  public void sendMessage(final PacketType type) {
    final USBPacket packet =
      new USBPacket(USBPacketType.APPLICATION_LAYER.getCode(), (short) type.getId(), 0, null);
    sendPacket(packet);
  }
View Full Code Here

Examples of net.sf.myway.gps.garmin.usb.jni.USBPacket

  @Override
  public void sendMessage(final PacketType type, final GarminData gdata) {
    if (type.getId() == 6)
      return;
    final byte[] data = gdata == null ? null : gdata.getData();
    final USBPacket packet =
      new USBPacket(USBPacketType.APPLICATION_LAYER.getCode(), (short) type.getId(),
        data == null ? 0 : data.length, data == null ? null : data);
    sendPacket(packet);
  }
View Full Code Here

Examples of org.jnode.driver.bus.usb.USBPacket

     * @throws USBException
     */
    public void getMaxLun(USBDevice usbDev) throws USBException {
        log.info("*** Get max lun ***");
        final USBControlPipe pipe = usbDev.getDefaultControlPipe();
        final USBPacket packet = new USBPacket(1);
        final USBRequest req = pipe.createRequest(new SetupPacket(USB_DIR_IN
            | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 0xFE, 0, 0, 1), packet);
        pipe.syncSubmit(req, GET_TIMEOUT);
        log.debug("*** Request data     : " + req.toString());
        log.debug("*** Request status   : 0x" + NumberUtils.hex(req.getStatus(), 4));
        if (req.getStatus() == USBREQ_ST_COMPLETED) {
            storageDeviceData.setMaxLun(packet.getData()[0]);
        } else if (req.getStatus() == USBREQ_ST_STALLED) {
            storageDeviceData.setMaxLun((byte) 0);
        } else {
            throw new USBException("Request status   : 0x" + NumberUtils.hex(req.getStatus(), 4));
        }
View Full Code Here

Examples of org.jnode.driver.bus.usb.USBPacket

        intPipe = (USBDataPipe) UsbBtDevice.getIntrInEndpoint().getPipe();
        intPipe.addListener(this);
        try {
            intPipe.open();
            intData =
                    new USBPacket(UsbBtDevice.getIntrInEndpoint().getDescriptor()
                            .getMaxPacketSize());
            final USBRequest req = intPipe.createRequest(intData);
            intPipe.asyncSubmit(req);
        } catch (USBException e1) {
            log.debug("*** USB exception occurs.");
View Full Code Here

Examples of org.jnode.driver.bus.usb.USBPacket

            //
            log.debug("Interval " + ep.getDescriptor().getInterval());

            // Create the interrupt request
            old = new byte[8];
            intData = new USBPacket(ep.getDescriptor().getMaxPacketSize());
            intPipe = (USBDataPipe) ep.getPipe();
            intPipe.addListener(this);
            intPipe.open();
            final USBRequest req = intPipe.createRequest(intData);
            intPipe.asyncSubmit(req);
View Full Code Here

Examples of org.jnode.driver.bus.usb.USBPacket

            // Create the interrupt request
            intPipe = (USBDataPipe) ep.getPipe();
            intPipe.addListener(this);
            intPipe.open();
            intData = new USBPacket(ep.getDescriptor().getMaxPacketSize());
            final USBRequest req = intPipe.createRequest(intData);
            intPipe.asyncSubmit(req);

            // Register the PointerAPI
            dev.registerAPI(PointerAPI.class, apiAdapter);
View Full Code Here

Examples of org.jnode.driver.bus.usb.USBPacket

        // The setup TD
        setupTD = pipe.createTD(USB_PID_SETUP, true, setupPacket.getData(), 0, setupPacket.getSize(), false);
        //log.debug("setupTD: " + setupTD + ", ls=" + ls);

        // Add the data TD's
        final USBPacket dataPacket = getDataPacket();
        final int transferLength = setupPacket.getLength();
        int length = transferLength;
        int offset = 0;
        final int dataPid = (setupPacket.isDirIn() ? USB_PID_IN : USB_PID_OUT);
        boolean dataToggle = false; // Start with DATA1
        final int maxPacketSize = pipe.getMaxPacketSize();
        if (maxPacketSize <= 0) {
            throw new USBException("Invalid maximum packet size " + maxPacketSize);
        }
        while (length > 0) {

            // Create the TD for this part of the data packet
            final TransferDescriptor dataTD;
            final int curlen = Math.min(length, maxPacketSize);
            dataTD = pipe.createTD(dataPid, dataToggle, dataPacket.getData(), offset, curlen, false);
            // Add the TD to the list
            setupTD.append(dataTD, false);

            // Update fields
            dataToggle = !dataToggle;
View Full Code Here

Examples of org.jnode.driver.bus.usb.USBPacket

    public UHCIDataRequest(USBPacket dataPacket) {
        super(dataPacket);
    }

    public void createTDs(UHCIPipe pipe) {
        final USBPacket dataPacket = getDataPacket();
        int offset = 0;
        int length = dataPacket.getSize();
        final USBEndPoint ep = pipe.getEndPoint();
        final int dataPid = (ep.getDescriptor().isDirIn() ? USB_PID_IN : USB_PID_OUT);
        final int maxPacketSize = pipe.getMaxPacketSize();
        TransferDescriptor firstTD = null;

        while (length > 0) {

            // Create the TD for this part of the data packet
            final int curlen = Math.min(length, maxPacketSize);
            final TransferDescriptor dataTD;
            final boolean ioc = (curlen == length);
            dataTD = pipe.createTD(dataPid, ep.getDataToggle(), dataPacket.getData(), offset, curlen, ioc);
            // Add the TD to the list
            if (firstTD == null) {
                firstTD = dataTD;
            } else {
                firstTD.append(dataTD, false);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.