This class implements an interface for objects that have a name (which can be used e.g. in log message)
This class represents the configuration data space of ZTEX FPGA Boards that support it.
Provides methods for uploading firmware to Cypress EZ-USB devices.
FX3 runtime error strings
A class representing a firmware image.
Creates an input stream from a regular file or a system resource file (i.e. a file from the current jar file).
This class provides simple logging functionality.
This class implements the interface-independent part of the communication protocol for the interaction with the ZTEX firmware.
This class implements the communication protocol of the interface version 1 for the interaction with the ZTEX firmware.
This class manages an USB context.
A class representing an EZ-USB device that supports the ZTEX descriptor 1 or an unconfigured EZ-USB device.
This class defines an event handler thread which can be used in asynchronous mode.
Represents a firmware image with ZTEX descriptor 1.
A class for scanning the USB for EZ-USB devices.
A helper class to implement asynchronous bulk and interrupt read transfers.
A helper class to implement asynchronous bulk and interrupt write transfers.
Thrown if the FPGA is already configured.
Signals that an error occurred while attempting to read a bitstream.
Signals that an error occurred while attempting to upload the bitstream.
Thrown is a required capability is not available.
Thrown if a device went lost after renumeration.
Thrown if a device is not supported, i.e. has the wrong USB ID's.
Signals that an error occurred while attempting to upload the firmware.
Signals that a firmware image is corrupt.
Signals that an error occurred while attempting to decode the firmware file.
Thrown while attempting to overwrite an existing firmware with an incompatible one.
Thrown if a device runs with no or the wrong firmware, i.e. if the ZTEX descriptor is not found or damaged.
Signals an USB error.
An exception generated by an object that has a name (for better logging).
This API implements access to all ZTEX FPGA Board specific functions from host side. It uses usb4java, a Java wrapper for libusb 1.0.
The communication protocol defines how the functions provided by the firmware (see main features above)
can be accessed. Currently there is only one protocol implemented, the so called interface 1.
A description of the interface is given in
The most important classes for the interaction with the EZ-USB device / firmware are
|Represents an EZ-USB device that supports ZTEX descriptor 1. These devices can be found using
|Implementation of interface-independent part of the communication protocol, e.g. uploading the firmware to the EZ-USB and renumeration management.
|Implementation of the Interface 1, i.e. the interface dependent part of the communication protocol.
Java host software built with the SDK usually consists in a single jar archive which contains
On Linux this jar archive has no additional software requirements. The usb4java/libusb-1.0 library communicates directly with the EZ-USB device using kernel routines.
On Windows a libusb-1.0 driver must be installed and assigned to the device, see the Tutorial on the Wiki. The usb4java library communicates with the EZ-USB device using that driver.