jAER project on SourceForge

ch.unizh.ini.jaer.projects.opticalflow.usbinterface
Class SiLabsC8051F320_OpticalFlowHardwareInterface.MotionReader

java.lang.Object
  extended by de.thesycon.usbio.UsbIo
      extended by de.thesycon.usbio.UsbIoPipe
          extended by de.thesycon.usbio.UsbIoThread
              extended by de.thesycon.usbio.UsbIoReader
                  extended by ch.unizh.ini.jaer.projects.opticalflow.usbinterface.SiLabsC8051F320_OpticalFlowHardwareInterface.MotionReader
All Implemented Interfaces:
de.thesycon.usbio.UsbIoErrorCodes, de.thesycon.usbio.UsbIoInterface, de.thesycon.usbio.UsbSpec, java.lang.Runnable
Enclosing class:
SiLabsC8051F320_OpticalFlowHardwareInterface

protected class SiLabsC8051F320_OpticalFlowHardwareInterface.MotionReader
extends de.thesycon.usbio.UsbIoReader
implements de.thesycon.usbio.UsbIoErrorCodes

This reader reads data from the motion chip


Field Summary
 
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
SiLabsC8051F320_OpticalFlowHardwareInterface.MotionReader()
           
 
Method Summary
 void bufErrorHandler(de.thesycon.usbio.UsbIoBuf usbIoBuf)
           
 void onThreadExit()
           
 void processBuffer(de.thesycon.usbio.UsbIoBuf usbIoBuf)
          called to prepare buffer for capture
 void processData(de.thesycon.usbio.UsbIoBuf usbIoBuf)
          called when xfer is finished
 void startThread(int i)
          Starts the thread running with some tolerated error count and sends a vendor request to start streaming data
 
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, toString, wait, wait, wait
 

Constructor Detail

SiLabsC8051F320_OpticalFlowHardwareInterface.MotionReader

public SiLabsC8051F320_OpticalFlowHardwareInterface.MotionReader()
                                                          throws HardwareInterfaceException
Throws:
HardwareInterfaceException
Method Detail

startThread

public void startThread(int i)
Starts the thread running with some tolerated error count and sends a vendor request to start streaming data

Overrides:
startThread in class de.thesycon.usbio.UsbIoThread
Parameters:
i - the number of errors before throwing exception

processBuffer

public void processBuffer(de.thesycon.usbio.UsbIoBuf usbIoBuf)
called to prepare buffer for capture

Specified by:
processBuffer in class de.thesycon.usbio.UsbIoThread

processData

public void processData(de.thesycon.usbio.UsbIoBuf usbIoBuf)
called when xfer is finished

Overrides:
processData in class de.thesycon.usbio.UsbIoThread

bufErrorHandler

public void bufErrorHandler(de.thesycon.usbio.UsbIoBuf usbIoBuf)
Specified by:
bufErrorHandler in class de.thesycon.usbio.UsbIoThread

onThreadExit

public void onThreadExit()
Specified by:
onThreadExit in class de.thesycon.usbio.UsbIoThread

jAER project on SourceForge