|
jAER project on SourceForge | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.thesycon.usbio.UsbIo
de.thesycon.usbio.UsbIoPipe
de.thesycon.usbio.UsbIoThread
de.thesycon.usbio.UsbIoReader
net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2.AEReader
ch.unizh.ini.jaer.chip.dvs320.DVS320HardwareInterface.RetinaAEReader
public class DVS320HardwareInterface.RetinaAEReader
This reader understands the format of raw USB data and translates to the AEPacketRaw
Field Summary |
---|
Fields inherited from class net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2.AEReader |
---|
CYPRESS_FIFO_SIZE, CYPRESS_NUM_BUFFERS, lastWrapAdd, MAX_NONMONOTONIC_TIME_EXCEPTIONS_TO_PRINT, MONITOR_PRIORITY, wrapAdd, wrappedBig |
Fields inherited from class de.thesycon.usbio.UsbIoThread |
---|
BufPool, MaxErrorCount, PendingList, T |
Fields inherited from class de.thesycon.usbio.UsbIo |
---|
Handle |
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 de.thesycon.usbio.UsbIoInterface |
---|
DevicePowerStateD0, DevicePowerStateD1, DevicePowerStateD2, DevicePowerStateD3, INFINITE, PipeTypeBulk, PipeTypeControl, PipeTypeInterrupt, PipeTypeIsochronous, RecipientDevice, RecipientEndpoint, RecipientInterface, RecipientOther, RequestTypeClass, RequestTypeVendor, USBIO_DEVICE_INFOFLAG_HIGH_SPEED, USBIO_ENABLE_REMOTE_WAKEUP, USBIO_INFOFLAG_CHECKED_BUILD, USBIO_INFOFLAG_DEMO_VERSION, USBIO_INFOFLAG_LIGHT_VERSION, USBIO_INFOFLAG_VS_LIGHT_VERSION, USBIO_RESET_DEVICE_ON_CLOSE, USBIO_SHORT_TRANSFER_OK, USBIO_START_TRANSFER_ASAP, USBIO_UNCONFIGURE_ON_CLOSE |
Fields inherited from interface de.thesycon.usbio.UsbSpec |
---|
AUDIO_CS_ENDPOINT_TYPE, AUDIO_CS_INTERFACE_TYPE, USB_CONFIGURATION_DESCRIPTOR_TYPE, USB_DEVICE_DESCRIPTOR_TYPE, USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE, USB_ENDPOINT_DESCRIPTOR_TYPE, USB_HID_DESCRIPTOR_TYPE, USB_INTERFACE_DESCRIPTOR_TYPE, USB_INTERFACE_POWER_DESCRIPTOR_TYPE, USB_OTHER_SPEED_CONFIGURATION_DESCRIPTOR_TYPE, USB_STRING_DESCRIPTOR_TYPE |
Constructor Summary | |
---|---|
DVS320HardwareInterface.RetinaAEReader(CypressFX2 cypress)
|
Method Summary | |
---|---|
protected void |
translateEvents(de.thesycon.usbio.UsbIoBuf b)
Method to translate the UsbIoBuffer for the DVS320 sensor which uses the 32 bit address space. |
Methods inherited from class net.sf.jaer.hardwareinterface.usb.cypressfx2.CypressFX2.AEReader |
---|
bufErrorHandler, getFifoSize, getNumBuffers, onThreadExit, processBuffer, processData, resetTimestamps, setFifoSize, setNumBuffers, startThread, toString |
Methods inherited from class de.thesycon.usbio.UsbIoReader |
---|
run |
Methods inherited from class de.thesycon.usbio.UsbIoThread |
---|
allocateBuffers, freeBuffers, shutdownThread |
Methods inherited from class de.thesycon.usbio.UsbIoPipe |
---|
abortPipe, bind, getPipeParameters, pipeControlTransferIn, pipeControlTransferOut, queryPipeStatistics, read, readSync, readSync, resetPipe, resetPipeStatistics, setPipeParameters, setupPipeStatistics, unbind, waitForCompletion, waitForCompletion, write, writeSync, writeSync |
Methods inherited from class de.thesycon.usbio.UsbIo |
---|
acquireDevice, classOrVendorInRequest, classOrVendorOutRequest, clearFeature, close, createDeviceList, cyclePort, destroyDeviceList, errorText, finalize, getBandwidthInfo, getConfiguration, getConfigurationDescriptor, getConfigurationInfo, getCurrentFrameNumber, getDescriptor, getDescriptor, getDeviceDescriptor, getDeviceInfo, getDeviceParameters, getDevicePowerState, getDriverInfo, getInterface, getStatus, getStringDescriptor, isCheckedBuild, isDemoVersion, isLightVersion, isOpen, isOperatingAtHighSpeed, open, releaseDevice, resetDevice, setConfiguration, setDescriptor, setDeviceParameters, setDevicePowerState, setFeature, setInterface, unconfigureDevice |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DVS320HardwareInterface.RetinaAEReader(CypressFX2 cypress) throws HardwareInterfaceException
HardwareInterfaceException
Method Detail |
---|
protected void translateEvents(de.thesycon.usbio.UsbIoBuf b)
It has a CPLD to timetamp events and uses the CypressFX2 in slave FIFO mode.
The DVS320 has a burst mode readout mechanism that outputs a row address, then all the latched column addresses. The columns are output left to right. A timestamp is only meaningful at the row addresses level. Therefore the board timestamps on row address, and then sends the data in the following sequence: row, timestamp, col, col, col,...., row,timestamp,col,col...
The bit encoding of the data is as follows
Therefore for a valid event only 15 bits of the 16 transmitted timestamp bits are valid, bit 15 is the status bit. overflow happens every 32 ms. This way, no roll overs go by undetected, and the problem of invalid wraps doesn't arise.
translateEvents
in class CypressFX2.AEReader
b
- the data buffertranslateEvents(de.thesycon.usbio.UsbIoBuf)
|
jAER project on SourceForge | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |