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.

DS90UB953-Q1: set DS90UB953-Q1 register values using C++ or Python

Part Number: DS90UB953-Q1
Other Parts Discussed in Thread: ALP, USB2ANY

Hi,

I’m trying to create {video pattern} using DS90UB953-Q1. I can use [Analog LaunchPAD] and change the registers values using python code similar to the following:

 

#Patgen RGB888 1920x1080p30 Fixed 8 Colorbar

import DS90UB953_ENG_Lib.py

UB953 = 0x18 #953 SER Alias ID, check 0x5C on 954 for confirmation

WriteI2C(UB953,0xB0,0x00) # Indirect Pattern Gen Registers

WriteI2C(UB953,0xB1,0x01) # PGEN_CTL

WriteI2C(UB953,0xB2,0x01)

WriteI2C(UB953,0xB1,0x02) # PGEN_CFG

WriteI2C(UB953,0xB2,0x33)

…..

 

 

But I need to automate this, i.e. write my own code to do the same functions (changing register values) using C++ (or  Python )

 

After installing [Analog LaunchPAD] , I found examples in : [C:\Program Files (x86)\Texas Instruments\Analog LaunchPAD v1.57.0010\Examples] . The examples show that the definition of [WriteI2C] function is available in the device profile file [DS90UB953_ENG.py] file and that file require to import the following modules:

 

import os

import sys

import NanoALP

from array import array

from ALPExtensionModule import ALPExtensionModule

 

but the problem is the python code for [NanoALP] not available , instead,I have the library file [NanoALP.lib] and when I run my pattern generation python script , I got the following error:

 

import NanoALP

ImportError: Module use of python24.dll conflicts with this version of Python.

 

I’m using Python 2.5.4. And I need more information about [NanoALP] , how to use it ,with which python version?  Is there DLL we need to install?  Any working example? Can we use C++ instead of python?

 

 

Thank you for your help

Aziz

  • Hello Aziz,

    Unfortunately, these modules are not public. They are designed only for use from within ALP or from the python scripting window of ALP. Also, they are all very interconnected and really not designed for stand alone use separate from ALP.

    Best way for what you are trying to do would be to use Aardvark and directly control the I2C pins of the device for read/write access.

    Thanks,
    Vishy
  • Hello Vishy,

    Thank you very much for your answer.
    Although, in my project, I have 16 TI Card and purchasing 16 Aardvark device will be expensive. Unless we can assign different address for each TI card and connect all of them together with one Aardvark device.
    Other solution is to get a device which repeat or copy the same i2c message to all boards .All boards will have the address in this case (in my project, the same program or same register values set for all boards) .
    Does TI have such solution?

    Thank you,
    Aziz
  • Aziz,

    Sorry this is something you have to develop. We don't have ready solution. Some suggestions to check
    a) Download and try the DRV10xxx Software mentioned in the following link

    e2e.ti.com/.../2432565

    Looks like USB2ANY SDK is available in the installation of this GUI. Note there is no TI support available for USB2ANY SDK. Therefore it is something you evaluate and prototype and check if you want to go this route.

    b) Otherwise TI USB Stack is available here
    www.ti.com/.../MSP430USBDEVPACK

    You can download the stack and build your own MSP430 firmware to communicate with your C++ code and control the multiple 953 boards. USB2ANY board is available for (development/debug purpose) on Mouser

    Thanks,
    Vishy
  • Vishy,

    Thank you very much for your prompt reply. Your suggested solutions is exactly what I need.

    Thank you,
    Aziz