ztex
Class ZtexUsbWriter

java.lang.Object
  extended by ztex.ZtexUsbWriter

public class ZtexUsbWriter
extends java.lang.Object

A helper class to implement asynchronous bulk and interrupt write transfers.


Constructor Summary
ZtexUsbWriter(org.usb4java.DeviceHandle p_handle, int p_ep, boolean p_isInt, int p_bufNum, int p_bufSize)
          Creates the writer for a given USB device and endpoint number.
ZtexUsbWriter(Ztex1 ztex, int p_ep, boolean p_isInt, int p_bufNum, int p_bufSize)
          Creates the writer from a given ZTEX device and endpoint number.
ZtexUsbWriter(Ztex1v1 ztex, int p_bufNum, int p_bufSize)
          Creates the writer for the input endpoint of the default interface of a ZTEX device.
 
Method Summary
 int bufSize()
          Return the buffer size.
 long byteCount()
          Return the number of bytes transmitted.
 void cancel()
          Cancels all pending transfers, also see cancelWait(int).
 boolean cancelWait(int timeout)
          Cancels all pending transfers and waits until transfers are canceled.
 int transmitBuffer(byte[] buf, int timeout)
          Transmit the next buffer.
 int transmitBuffer(byte[] buf, int maxLen, int timeout)
          Transmit the next buffer.
 boolean wait(int timeout)
          Waits until all pending transfers are finished or canceled.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ZtexUsbWriter

public ZtexUsbWriter(org.usb4java.DeviceHandle p_handle,
                     int p_ep,
                     boolean p_isInt,
                     int p_bufNum,
                     int p_bufSize)
Creates the writer for a given USB device and endpoint number.

Parameters:
p_handle - The device handle used for communication (must be opened).
p_ep - The input endpoint.
p_isInt - True if it is an interrupt transfer.
p_bufSize - size of each buffer. Typical values are 64KByte to 512KByte
p_bufNum - number of buffer. Recommended queue size are 2MByte to 8MByte.

ZtexUsbWriter

public ZtexUsbWriter(Ztex1 ztex,
                     int p_ep,
                     boolean p_isInt,
                     int p_bufNum,
                     int p_bufSize)
Creates the writer from a given ZTEX device and endpoint number.

Parameters:
ztex - The ZTEX device.
p_ep - The number of the input endpoint
p_isInt - True if it is an interrupt transfer.
p_bufSize - size of each buffer. Typical values are 64KByte to 512KByte
p_bufNum - number of buffer. Recommended queue size is 2MByte to 8MByte.

ZtexUsbWriter

public ZtexUsbWriter(Ztex1v1 ztex,
                     int p_bufNum,
                     int p_bufSize)
              throws InvalidFirmwareException,
                     UsbException,
                     CapabilityException
Creates the writer for the input endpoint of the default interface of a ZTEX device.

Parameters:
ztex - The ZTEX device.
p_bufSize - size of each buffer. Typical values are 64KByte to 512KByte
p_bufNum - number of buffer. Recommended queue size is 2MByte to 8MByte.
Throws:
InvalidFirmwareException
UsbException
CapabilityException
Method Detail

transmitBuffer

public int transmitBuffer(byte[] buf,
                          int maxLen,
                          int timeout)
                   throws UsbException
Transmit the next buffer.

Parameters:
buf - The byte array which contains the data.
maxLen - Maximum amount of data to transmit. If it is larger than the buffer size the last bytes are ignored.
timeout - Timeout in ms. If timeout occurs the function returns -1.
Returns:
The number of bytes transmitted or -1 if timeout occurs.
Throws:
UsbExecption - if an error occurred.
UsbException

transmitBuffer

public int transmitBuffer(byte[] buf,
                          int timeout)
                   throws UsbException
Transmit the next buffer.

Parameters:
buf - The byte array which contains the data. If the array is larger than the buffer size the last bytes are ignored.
timeout - Timeout in ms. If timeout occurs the function returns -1.
Returns:
The number of bytes transmitted or -1 if timeout occurs.
Throws:
UsbExecption - if an error occurred.
UsbException

byteCount

public long byteCount()
Return the number of bytes transmitted.

Returns:
The number of bytes transmitted.

bufSize

public int bufSize()
Return the buffer size.

Returns:
The buffer size.

cancel

public void cancel()
            throws UsbException
Cancels all pending transfers, also see cancelWait(int).

Throws:
UsbExecption - if an error occurred.
UsbException

wait

public boolean wait(int timeout)
             throws UsbException
Waits until all pending transfers are finished or canceled.

Throws:
UsbExecption - if an error occurred.
UsbException

cancelWait

public boolean cancelWait(int timeout)
                   throws UsbException
Cancels all pending transfers and waits until transfers are canceled.

Throws:
UsbExecption - if an error occurred.
UsbException