Hi there,

I've a doubt related to a scanner device I'm accessing to through the
javax-usb API. To send to device the bytes that order it starts image
scanning works fine. I use syncSubmit in its OUT PIPE and the scanner
works fine!!
The matter is that, when retrieving the image, I use different UsbIrps
(one per image chunk I retrieve), but the problem is that I have NO way to
know when to stop requesting bytes. Is there any way to resolve when the
device has no data to send? Is it correct to assume that an UsbIrp with
actualLenght set as zero would mean that there's nothing else to send?

Is this piece of code correct?

        do {
            //IN PIPE (device to host)
            UsbIrp usbIrp = inPipe.createUsbIrp();
            usbIrp.setAcceptShortPacket( true );
            usbIrp.setLength( 1024 );
            usbIrp.setOffset( 0 );
            usbIrp.setData  ( new byte[ 1024 ] );

            try {
                //SYNC REQUEST: Locked till device response!!
                inPipe.syncSubmit( usbIrp );
            } catch ( Exception e ) {
                printStackTrace( e );
            }
            //Storing image data for later use!!
            buffer.append ( usbIrp.getData() );
       } while (  usbIrp.getActualLength () != 0);


Thanks in advance





=================================================

Francisco Fernandez Velasco
Nayade Group Solutions, S.L.
Tfno: (+34) 651.398.697
E-mail: [EMAIL PROTECTED]
C/ Carranque, 34
http://www.nayade-group.com

=================================================


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
javax-usb-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/javax-usb-devel

Reply via email to