Other Parts Discussed in Thread: OPT8241, , INA226
We have recently produced a 2nd version of a ToF board that is based on TI reference design (OPT8241/OPT9221) and we got the following problem:
Using voxel-sdk (VoxelCLI), we are able to completely configure the controller (OPT9221) / sensor (OPT8241) using I2C registers but when we start the acquisition, we get this error :
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 1559249261720459
...
And there is no frame returned
The 1st version of the board was working well. In this 2nd version, we have removed some I2C devices (0x4B main_current, 0x4E illum_current, 0x54 comp_vref, illum_power) that forced us to take care of them in voxel-sdk to permit the complete configuration of the system.
We have tried different versions of the OPT9221 firmware (0.26, 0.31) and the original (0.17) and a customized version of the FX2 firmware with no effect on the USBIO error.
We have also tried to use a programmed pattern (phy_test_enable and mac_test_enable) but got the same USBIO error.
Are the fixed pattern generated by the controller only (it does not come from the sensor)? If it is the case, it means we should focus on the link between the OPT9221 and the FX2.
Could you suggest any lead that would help us pinpoint the problem? Right now, the I2C seems working but we cannot say if the problem is located between the sensor and the controller or between the controller and the FX2.
Thanks for your help.
Pierre Cottin