jAER project on SourceForge

net.sf.jaer.hardwareinterface.usb.cypressfx2
Class CypressFX2TmpdiffRetinaHardwareInterface

java.lang.Object
  extended by net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2
      extended by net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2Biasgen
          extended by net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2TmpdiffRetinaHardwareInterface
All Implemented Interfaces:
de.thesycon.usbio.PnPNotifyInterface, de.thesycon.usbio.UsbIoErrorCodes, AEMonitorInterface, BiasgenHardwareInterface, HardwareInterface, HasUpdatableFirmware, HasResettablePixelArray, ReaderBufferControl, USBInterface

public class CypressFX2TmpdiffRetinaHardwareInterface
extends CypressFX2Biasgen
implements HasUpdatableFirmware, HasResettablePixelArray

The hardware interface for the Tmpdiff128 (original) retina boards.

Author:
tobi/rapha

Nested Class Summary
 class CypressFX2TmpdiffRetinaHardwareInterface.RetinaAEReader
          This reader understands the format of raw USB data and translates to the AEPacketRaw
 
Nested classes/interfaces inherited from class net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2
CypressFX2.AEPacketRawPool, CypressFX2.AEReader, CypressFX2.AsyncStatusThread
 
Field Summary
 
Fields inherited from class net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2Biasgen
MAX_BYTES_PER_BIAS
 
Fields inherited from class net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2
AE_BUFFER_SIZE, aeBufferSize, aePacketRawPool, aeReader, arrayResetEnabled, asyncStatusThread, BufDesc, chip, deviceDescriptor, DID_STEREOBOARD, EEPROM_SIZE, eventCounter, FIRMWARE_FILENAME_COCHLEAAMS_BIX, FIRMWARE_FILENAME_DVS128_IIC, FIRMWARE_FILENAME_MAPPER_IIC, FIRMWARE_FILENAME_MONITOR_SEQUENCER, FIRMWARE_FILENAME_MONITOR_SEQUENCER_HEX, FIRMWARE_FILENAME_MONITOR_SEQUENCER_IIC, FIRMWARE_FILENAME_MONITOR_SEQUENCER_JTAG_IIC, FIRMWARE_FILENAME_STEREO_IIC, FIRMWARE_FILENAME_TCVS320_BIX, FIRMWARE_FILENAME_TCVS320_HEX, FIRMWARE_FILENAME_TMPDIFF128_BIX, FIRMWARE_FILENAME_TMPDIFF128_HEX, gDevList, GUID, gUsbIo, inEndpointEnabled, interfaceNumber, isOpened, lastEventsAcquired, log, MAX_CONTROL_XFER_SIZE, NEW_EVENTS_PROPERTY_CHANGE, NO_AE_REOPEN_TIMEOUT, numberOfStringDescriptors, PID_BLANK, PID_COCHLEAAMS, PID_DVS128_REV0, PID_TCVS320_RETINA, PID_TMPDIFF128_RETINA, PID_USB2AERmapper, PID_USBAERmini2, PID_USBAERmini2_without_firmware, prefs, stringDescriptor1, stringDescriptor2, stringDescriptor3, TICK_US, VENDOR_REQUEST_DO_ARRAY_RESET, VENDOR_REQUEST_EARLY_TRANFER, VENDOR_REQUEST_FIRMWARE, VENDOR_REQUEST_FLASH_BIASES, VENDOR_REQUEST_POWERDOWN, VENDOR_REQUEST_RESET_TIMESTAMPS, VENDOR_REQUEST_SEND_BIAS_BYTES, VENDOR_REQUEST_SET_ARRAY_RESET, VENDOR_REQUEST_SET_LED, VENDOR_REQUEST_START_TRANSFER, VENDOR_REQUEST_STOP_TRANSFER, VID, VID_BLANK, VR_DOWNLOAD_FIRMWARE, VR_EEPROM, VR_RAM, VR_SET_DEVICE_NAME
 
Fields inherited from interface de.thesycon.usbio.UsbIoErrorCodes
USBIO_ERR_ADDITIONAL_EVENT_SIGNALLED, USBIO_ERR_ALREADY_BOUND, USBIO_ERR_ALREADY_CONFIGURED, USBIO_ERR_BABBLE_DETECTED, USBIO_ERR_BAD_START_FRAME, USBIO_ERR_BTSTUFF, USBIO_ERR_BUFFER_OVERRUN, USBIO_ERR_BUFFER_UNDERRUN, USBIO_ERR_BULK_RESTRICTION, USBIO_ERR_CANCELED, USBIO_ERR_CONTROL_NOT_SUPPORTED, USBIO_ERR_CONTROL_RESTRICTION, USBIO_ERR_CRC, USBIO_ERR_DATA_BUFFER_ERROR, USBIO_ERR_DATA_OVERRUN, USBIO_ERR_DATA_TOGGLE_MISMATCH, USBIO_ERR_DATA_UNDERRUN, USBIO_ERR_DEMO_EXPIRED, USBIO_ERR_DEV_NOT_RESPONDING, USBIO_ERR_DEVICE_GONE, USBIO_ERR_DEVICE_NOT_FOUND, USBIO_ERR_DEVICE_NOT_OPEN, USBIO_ERR_DEVICE_NOT_PRESENT, USBIO_ERR_ENDPOINT_HALTED, USBIO_ERR_EP0_RESTRICTION, USBIO_ERR_ERROR_BUSY, USBIO_ERR_ERROR_SHORT_TRANSFER, USBIO_ERR_FAILED, USBIO_ERR_FIFO, USBIO_ERR_FRAME_CONTROL_NOT_OWNED, USBIO_ERR_FRAME_CONTROL_OWNED, USBIO_ERR_INSUFFICIENT_RESOURCES, USBIO_ERR_INTERFACE_NOT_FOUND, USBIO_ERR_INTERNAL_HC_ERROR, USBIO_ERR_INTERRUPT_RESTRICTION, USBIO_ERR_INVALID_CONFIGURATION_DESCRIPTOR, USBIO_ERR_INVALID_DEVICE_STATE, USBIO_ERR_INVALID_DIRECTION, USBIO_ERR_INVALID_FUNCTION_PARAM, USBIO_ERR_INVALID_INBUFFER, USBIO_ERR_INVALID_IOCTL, USBIO_ERR_INVALID_ISO_PACKET, USBIO_ERR_INVALID_OUTBUFFER, USBIO_ERR_INVALID_PARAM, USBIO_ERR_INVALID_PARAMETER, USBIO_ERR_INVALID_PIPE_FLAGS, USBIO_ERR_INVALID_PIPE_HANDLE, USBIO_ERR_INVALID_POWER_STATE, USBIO_ERR_INVALID_RECIPIENT, USBIO_ERR_INVALID_TYPE, USBIO_ERR_INVALID_URB_FUNCTION, USBIO_ERR_ISO_NA_LATE_USBPORT, USBIO_ERR_ISO_NOT_ACCESSED_BY_HW, USBIO_ERR_ISO_NOT_ACCESSED_LATE, USBIO_ERR_ISO_RESTRICTION, USBIO_ERR_ISO_TD_ERROR, USBIO_ERR_ISOCH_REQUEST_FAILED, USBIO_ERR_LOAD_SETUP_API_FAILED, USBIO_ERR_NO_BANDWIDTH, USBIO_ERR_NO_MEMORY, USBIO_ERR_NO_SUCH_DEVICE_INSTANCE, USBIO_ERR_NOT_ACCESSED, USBIO_ERR_NOT_BOUND, USBIO_ERR_NOT_CONFIGURED, USBIO_ERR_NOT_SUPPORTED, USBIO_ERR_OPEN_PIPES, USBIO_ERR_OUT_OF_ADDRESS_SPACE, USBIO_ERR_OUT_OF_MEMORY, USBIO_ERR_PENDING_REQUESTS, USBIO_ERR_PID_CHECK_FAILURE, USBIO_ERR_PIPE_NOT_FOUND, USBIO_ERR_PIPE_RESTRICTION, USBIO_ERR_PIPE_SIZE_RESTRICTION, USBIO_ERR_POOL_EMPTY, USBIO_ERR_POWER_DOWN, USBIO_ERR_REQUEST_FAILED, USBIO_ERR_RESERVED1, USBIO_ERR_RESERVED2, USBIO_ERR_SET_CONFIG_FAILED, USBIO_ERR_SET_CONFIGURATION_FAILED, USBIO_ERR_STALL_PID, USBIO_ERR_STATUS_NOT_MAPPED, USBIO_ERR_SUCCESS, USBIO_ERR_TIMEOUT, USBIO_ERR_TOO_MUCH_ISO_PACKETS, USBIO_ERR_UNEXPECTED_PID, USBIO_ERR_USBD_BUFFER_TOO_SMALL, USBIO_ERR_USBD_INTERFACE_NOT_FOUND, USBIO_ERR_USBD_TIMEOUT, USBIO_ERR_VERSION_MISMATCH, USBIO_ERR_VID_RESTRICTION, USBIO_ERR_XACT_ERROR
 
Fields inherited from interface net.sf.jaer.hardwareinterface.usb.USBInterface
PID_THESYCON_END, PID_THESYCON_START, VID_THESYCON
 
Constructor Summary
protected CypressFX2TmpdiffRetinaHardwareInterface(int devNumber)
          Creates a new instance of CypressFX2Biasgen
 
Method Summary
 boolean isArrayReset()
           
 void setArrayReset(boolean value)
          set the pixel array reset.
 void startAEReader()
          Starts reader buffer pool thread and enables in endpoints for AEs.
 void updateFirmware()
          Updates the firmware by downloading to the board's EEPROM
 
Methods inherited from class net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2Biasgen
flashConfiguration, formatConfigurationBytes, sendBiasBytes, sendConfiguration, setPowerDown
 
Methods inherited from class net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2
acquireAvailableEventsFromDriver, acquireDevice, addAEListener, allocateAEBuffers, close, cyclePort, download8051RAM, downloadFirmwareBinary, downloadFirmwareHex, eraseEEPROM, getAEBufferSize, getAeReader, getChip, getDefaultFirmwareBixFileForBlankDevice, getDID, getEstimatedEventRate, getEvents, getFifoSize, getFirmwareFilenameBinaryFromVIDPID, getFirmwareFilenameHexFromVIDPID, getMaxCapacity, getNumberOfStringDescriptors, getNumBuffers, getNumEventsAcquired, getPID, getStringDescriptors, getSupport, getTimestampTickUs, getTypeName, getVID, getVIDPID, hasStringIdentifier, isEventAcquisitionEnabled, isInEndpointEnabled, isOpen, loadBinaryFirmwareFile, loadBinaryFirmwareFileSystemFile, onAdd, onRemove, open, openUsbIo_minimal, openUsbIo, overrunOccurred, readEEPROM, releaseDevice, removeAEListener, requestEarlyTransfer, resetPixelArray, resetTimestamps, resetUSB, sendVendorRequest, sendVendorRequest, sendVendorRequest, sendVendorRequest, set8051Reset, setAEBufferSize, setAeReader, setAEReaderFifoSize, setAEReaderNumBuffers, setChip, setDefaultFirmwareBixFileForBlankDevice, setEventAcquisitionEnabled, setFifoSize, setInEndpointEnabled, setLed, setNumBuffers, setSerialNumber, showFirmwareFilenameDialog, stopAEReader, toString, unconfigureDevice, writeC2Load, writeCPLDfirmware, writeEEPROM, writeHexFileToEEPROM, writeVIDPIDDID
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sf.jaer.hardwareinterface.usb.cypressfx2.HasResettablePixelArray
resetPixelArray
 
Methods inherited from interface net.sf.jaer.hardwareinterface.HardwareInterface
close, getTypeName, isOpen, open
 

Constructor Detail

CypressFX2TmpdiffRetinaHardwareInterface

protected CypressFX2TmpdiffRetinaHardwareInterface(int devNumber)
Creates a new instance of CypressFX2Biasgen

Method Detail

startAEReader

public void startAEReader()
                   throws HardwareInterfaceException
Starts reader buffer pool thread and enables in endpoints for AEs. This method is overridden to construct our own reader with its translateEvents method

Overrides:
startAEReader in class CypressFX2
Throws:
HardwareInterfaceException

setArrayReset

public void setArrayReset(boolean value)
set the pixel array reset.

Specified by:
setArrayReset in interface HasResettablePixelArray
Parameters:
value - true to reset the pixels (hold them from spiking), false to let them run normally.

isArrayReset

public boolean isArrayReset()

updateFirmware

public void updateFirmware()
                    throws HardwareInterfaceException
Updates the firmware by downloading to the board's EEPROM

Specified by:
updateFirmware in interface HasUpdatableFirmware
Throws:
HardwareInterfaceException - if there is any error, including lack of support or missing firmware file. The exception should detail the error as much as possible.

jAER project on SourceForge