This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OPT9221: Inquiry regarding USBIO error

Part Number: OPT9221
Other Parts Discussed in Thread: OPT8241,

Follow-on to Case CS0572069.

A few weeks back, TI answered inquiries I had in trying to troubleshoot an issue with a design using the OPT8241 and OPT9221 that is based on the OPT8241-CDK-EVM. (That was Case CS0572069).

At the time, the OPT9221 and OPT8241 were not communicating with each other during SW2 ON configuration, which resulted in the TFC chipset LED illuminating dim red vs the expected bright blue. That issue has now been resolved.

However, now when VoxelViewer tries to connect to the device, it repeatedly complains “ERROR: USBIO: Could not transfer ‘0’ bytes” with interspersed “WARNING: USBBulkStreamer: Resetting bulk endpoint at ...” and never returns imagery.

Below is a segment of a typical log file. The three ERROR: USBIO and one WARNING messages repeat until it fails in 100 attempts.

INFO: ParameterDMLParser: Found register map with name 'OPT9221' (vPG1P0)
INFO: HardwareSerializer: Received 43221 bytes from hardware in 1.94762 s
INFO: Data2DCodec: Original number of 8-bit offsets = 566
INFO: Data2DCodec: Number of invalid pixels in original data = 0
INFO: Data2DCodec: Current number of 8-bit offsets = 566
INFO: DepthCamera: Setting parameter 'op_clk_freq'
INFO: DepthCamera: Setting parameter 'unambiguous_range'
INFO: DepthCamera: Setting parameter 'sub_frame_cnt_max'
INFO: DepthCamera: Setting parameter 'quad_cnt_max'
INFO: DepthCamera: Setting parameter 'intg_duty_cycle'
INFO: DepthCamera: Setting parameter 'illum_power_percentage'
INFO: DepthCamera: Setting parameter 'delay_fb_corr_mode'
INFO: DepthCamera: Setting parameter 'delay_fb_dc_corr_mode'
INFO: CameraSystem: Successfully refreshed parameters for TintinCDKCamera(0::0451:9105::12017411199895).
INFO: ToFCameraBase: Starting with 320x240@30.0001fps
ERROR: USBIO: Could not transfer '0' bytes
ERROR: USBIO: Could not transfer '0' bytes
ERROR: USBIO: Could not transfer '0' bytes
WARNING: USBBulkStreamer: Resetting bulk endpoint at 1628685032390169
:
ERROR: USBBulkStreamer: Did not get a frame in 100 attempts

I have tried different settings, MetrilusLongRange, Short Range, No Calibration, and Lens Only.
They all essentially exhibit the same behavior, with the same ERRORs and WARNINGs.

The OPT8241-CDK-EVM was factory calibrated. This new design has not been calibrated.
1) Could the lack of calibration be the reason it is complaining of USBIO errors and not returning imagery?

I tried using the Factory Calibration Wizard utility to perform a lens calibration, clicking the ADD+ button in an attempt to acquire and save the first calibration image, but it seemed to freeze without completing that action. No imagery was ever displayed in any of the three image windows (phase, amplitude, or point cloud). I presume it failed because of the USBIO ERROR, but wanted to be sure there’s not some simple procedural step that I’ve overlooked.

2) Is there some simple procedural step that I’ve overlooked?

3) Is it correct to assume that when the OPT8241-CDK-EVM was factory calibrated, its calibration parameters were stored on the device somewhere?

a. in the OPT9221 (SB:U8) registers?
or
b. in the EEPROM that supports it (SB:U6)?

4) Any suggestions for what might be causing the USBIO error?

Thank you.