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.

OPT8241-CDK-EVM: TFC Firmware Update Problem

Part Number: OPT8241-CDK-EVM

I recently received an OPT841-CDK-EVM and had it working.  In looking at some of the recommendations, I updated the TFC firmware using the OPT9221_0v26.tie file from the TI website.  Now I can connect to the board but the imaging is not working and the TFC LED does not illuminate.  The Master LED is bright green.  When connecting with Voxel Viewer v0.9.6, I get the following messages in the log:

Voxel Viewer v0.9.6

Texas Instruments Inc.

INFO: TintinCDKCamera: Board revision = 2.0

INFO: ParameterDMLParser: Found register map with name 'OPT9221' (vPG1P0)

INFO: HardwareSerializer: Received 45755 bytes from hardware in 2.06034 s

INFO: Data2DCodec: Original number of 8-bit offsets = 3101

INFO: Data2DCodec: Number of invalid pixels in original data = 0

INFO: Data2DCodec: Current number of 8-bit offsets = 3101

ERROR: DepthCamera: Could not set the camera profile to '111'

ERROR: DepthCamera:Could not get value for parameter TintinCDKCamera(0::0451:9105::10408871039087).vco_freq1

ERROR: DepthCamera: Failed to update value for parameter 'mod_freq1'

ERROR: DepthCamera:Could not get value for parameter TintinCDKCamera(0::0451:9105::10408871039087).vco_freq2

ERROR: DepthCamera: Failed to update value for parameter 'mod_freq2'

ERROR: DepthCamera: Failed to update value for parameter 'sysclk_in_freq'

ERROR: DepthCamera: Failed to update value for parameter 'quad_cnt_max'

ERROR: DepthCamera: Failed to update value for parameter 'vco_freq2'

ERROR: DepthCamera: Failed to update value for parameter 'vco_freq1'

ERROR: DepthCamera:Could not get value for parameter TintinCDKCamera(0::0451:9105::10408871039087).vco_freq1

ERROR: DepthCamera: Failed to update value for parameter 'mod_freq1'

ERROR: DepthCamera:Could not get value for parameter TintinCDKCamera(0::0451:9105::10408871039087).vco_freq2

ERROR: DepthCamera: Failed to update value for parameter 'mod_freq2'

ERROR: DepthCamera: Failed to update value for parameter 'sysclk_in_freq'

ERROR: DepthCamera: Failed to update value for parameter 'quad_cnt_max'

ERROR: DepthCamera: Failed to update value for parameter 'pixel_data_size'

ERROR: DepthCamera: Failed to update value for parameter 'output_mode'

ERROR: DepthCamera: Failed to update value for parameter 'vco_freq2'

ERROR: DepthCamera: Failed to update value for parameter 'vco_freq1'

ERROR: CameraSystem: Could not refresh parameters for TintinCDKCamera(0::0451:9105::10408871039087).

ERROR: DepthCamera:Could not get value for parameter TintinCDKCamera(0::0451:9105::10408871039087).vco_freq1Traceback (most recent call last):

File "C:\Anand\Work\Code\voxel-viewer\build\VoxelViewer\out00-PYZ.pyz\PyVoxelViewer.docks.FrequentlyUsedParametersDockWidget", line 93, in updateView

File "C:\Anand\Work\Code\voxel-viewer\build\VoxelViewer\out00-PYZ.pyz\PyVoxelViewer.docks.FrequentlyUsedParametersDockWidget", line 46, in showParam

File "C:\Anand\Work\Code\voxel-viewer\build\VoxelViewer\out00-PYZ.pyz\PyVoxelViewer.views.ParameterHandlerROI", line 127, in __init__

File "C:\Anand\Work\Code\voxel-viewer\build\VoxelViewer\out00-PYZ.pyz\PyVoxelViewer.views.ParameterHandlerROI", line 259, in init

File "C:\Anand\Work\Code\voxel-viewer\build\VoxelViewer\out00-PYZ.pyz\PyVoxelViewer.views.XYSpinBox", line 35, in setRange

OverflowError

CalibrationStatus: Calibration invalid for - Temperature.

ERROR: ToFCameraBase: Could not get current frame rate

INFO: ToFCameraBase: Starting with 456x456@0fps

ERROR: TintinCDKCamera: Could not get current frame rate

  • When programming the EEPROM, I get the following messages:

    INFO: TintinEEPROMDownloader: EEPROM JEDEC ID = 0xef6013
    INFO: TintinEEPROMDownloader: EEPROM Status = 0x0
    INFO: First 64 bytes = 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x56 0xef 0xef 0xef 0xaf 0xef 0xef 0xcf 0xdf 0xcf 0x9f 0xdf 0x9f 0x8f 0x9f 0x9f 0xbf 0x9f 0x9f 0xff 0xbf 0xff 0x9f 0x9f 0xdf 0xdf 0xff 0xff 0xbf 0x9f 0xbf 0x9f
    INFO: TintinEEPROMDownloader: Write enable, EEPROM Status = 0x2
    INFO: TintinEEPROMDownloader: Erase, EEPROM Status = 0x3
    INFO: TintinEEPROMDownloader: Waiting for erase...
    INFO: TintinEEPROMDownloader: Erase done, EEPROM Status = 0x0
    INFO: First 64 bytes = 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
    INFO: TintinEEPROMDownloader: Starting EEPROM write...
    INFO: TintinEEPROMDownloader: Pending 524288 bytes...
    INFO: TintinEEPROMDownloader: EEPROM writes finished...
    INFO: First 64 bytes = 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x56 0xef 0xef 0xef 0xaf 0xef 0xef 0xcf 0xdf 0xcf 0x9f 0xdf 0x9f 0x8f 0x9f 0x9f 0xbf 0x9f 0x9f 0xff 0xbf 0xff 0x9f 0x9f 0xdf 0xdf 0xff 0xff 0xbf 0x9f 0xbf 0x9f
    INFO: TintinEEPROMDownloader: Done!

    The programming seems repeatable but the sequence doesn't seem to be the same as in the file OPT9221_0v26.tie. From a binary view of the file it seem like it should be:
    0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
    0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
    0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
    0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
    0x6a 0xf7 0xf7 0xf7 0xf5 0xf7 0xf7 0xf3
    0xfb 0xf3 0xf9 0xfb 0xf9 0xf1 0xf9 0xf9
    0xfd 0xf9 0xf9 0xff 0xfd 0xff 0xf9 0xf9
    0xfb 0xfb 0xff 0xff 0xfd 0xf9 0xfd 0xf9

    Using a scope, the OP9221 does read data from the SPI flash but does not reach the done state.
  • Looking through the VoxelSDK source, the input file is bit reversed before programming to the EEPROM so the correct data seems to be programmed to the EEPROM (or at least the first 64 bytes).
  • Hi Steve,

    Could you please contact Bernard at bhurtault@ti.com and request for an RMA. Point to this thread as reference.

    We will send you a replacement.

    Best Regards,
    Anand
  • Has there been any progress on the firmware update issue? The board was returned through the supplier and they indicated that TI replaced some stock related to this date/lot code. There have also been other emails indicating this may be a Windows 10 issue. I have another board but have been reluctant to update the firmware.
  • Hi Steve,

    We are still looking into the issue with firmware updates failing on Windows 10 - this has been hard for us to replicate.

    If you have a Windows 7 PC, it should be okay to update to the latest firmware version 0.29. If not, I would advise holding off for a while longer till we figure out the root cause of the upgrade failures.

    Best Regards,
    Anand