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.

ADS42JB69: Automation Dll or Automation API to automate the changes to ADS42JB69 using a python script.

Part Number: ADS42JB69
Other Parts Discussed in Thread: LMX2594, , TRF371109

Hi team,

Is there anyway to automate the ADS42JB69E just like HSDC pro automation dll or automation API using python script or just like LMX2594 by binding the tics pro .tlb file to python and automate?

I want to either automate the ADS42JB69E GUI or directly change the values on the ADS42JB69 Board(hardware),either way is fine.

The complete idea is to automate the complete process what we do manually, my setup consist of 4 parts

1.ADS42JB69E 16bit and its gui

2. TRF371109 IQ demodulator,

3. LMX2594 and its gui(TICS pro) and,

4. TSW14J50 Data capture and its gui HSDC pro.

On all this parts i am manually making changes through there GUI(HSDC pro GUI,TICS pro GUI,TRF3711 GUI,ADS42 GUI), All these changes I want to Automate using the python script.

One i already found for HSDC pro using the automation dll files , similarly i am looking to automate rest 3 GUI part number devices as mentioned above, please do suggest if there is anyway to do that ?

Automation scripts for HSDCPRO are available in the following location:

C:\Program Files (x86)\Texas Instruments\High Speed Data Converter Pro\HSDCPro Automation DLL\Manual and Examples

For any clarification on the above details plz do let me know ?

Thank-you in advance 

Rakesh Chahar.

  • Rakesh,

    The ADS42JB69 GUI is very old and has no easy way to be setup for automation. This is something you will have to do on your own. I think this goes for the TRF371109 as well. You could probably create something for the TSW14J50 using the examples provided by the HSDC Pro GUI.

    Regards,

    Jim

  • Hello jim,

    Thank-you for your reply.

    I have found solution for TSW14J50 (HSDC pro) i.e by using the automation dll provided i can achieve automation for TSW14J50 and for LMX2594 (TICS pro) i have got the .tlb file from which i am able to generate python bindings and achieve automation with python script.

    -->path for HSDC pro automation dll is as follows:

    C:\Program Files (x86)\Texas Instruments\High Speed Data Converter Pro\HSDCPro Automation DLL\Manual and Examples

    -->Command for forming python binding from .tlb file is as follows(For TICS Pro(LMX2594).

    c:\python37-32\python -m win32com.client.makepy -o TICSPro_api.py "C:\Program Files (x86)\Texas Instruments\TICS Pro\ActiveXTICSPro.tlb"

    Looking for similar solution for ADS42JB69 and TRF371109. Because i want to automate all this 4 part(ADS42JB69,TSW14J50,TRF371109, LMX2594) together using python script.

    Anyways Thank-you so much for your support.

    Regard,

    Rakesh Chahar

  • Rakesh,

    This is good news. Unfortunately, since the other two GUI's are much older and were created with different software, I do not think you will be able to find any automation software for them.

    Regards,

    Jim 

  • Hi Jim,

    There is one last request can i get access to ADS42JB69 .dll file functionalities. i.e I want to have a look on the .dll file internal functions(to get to know function names and function implementations), as i am not able to de-compile the ADS42JB69 dll file (Ivanlys.dll and FTDI_Pattern_genterator.dll).

    Once if i get to know that then i can import the dll and try to do the workaround for automation by making changes directly on the EVM board with the help of those functions of dll file.

    Thank-you so much  for your continues support.

    --Rakesh Chahar

  • Rakesh,

    See attached document and example.

    Regards,

    Jim

    FTDI Pattern Generator API.doc

    // FTDI_PatternGenerator_Example.cpp : Defines the entry point for the console application.
    //
    #include "stdafx.h"
    #include "FTDIPattern.h"
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int Error_Status,i=0;
    
    	int EVMIndex;
    	int DeviceIndex;
    	
    	
    	//********************************************************************************//
    	//******************************* Configurations *********************************//
    	//********************************************************************************//
    	
    	char *devDesc = "ADC12J4000_A0 B"; //Device description
    	unsigned long BaudRate = 19200; //Baud Rate
    
    	char *PatterFilePath = "C:\\LM95233.txt"; //Pattern file path
    
    	unsigned long WriteAddr = 0x03; //Address to be written
    	unsigned long WriteData = 0; //Data to be written
    
    	unsigned long ReadAddr = 0xFF; // Address to read
    	unsigned long ReadData = 0; 
    
    
    	//********************************************************************************//
    	//********** The actual call to the function contained in the dll ****************//
    	//********************************************************************************//
    
    	printf("\nOpen USB");
    	Error_Status = openUSBPort(devDesc,BaudRate,&EVMIndex);
    	printf("\nError Status : %d",Error_Status);
    	printf("\nPress enter to continue\n");
    	getch();
    
    	printf("\nInitialize...");
    	Error_Status = initializeDevice(PatterFilePath,EVMIndex, &DeviceIndex);
    	printf("\nError Status : %d",Error_Status);
    	printf("\nPress enter to continue\n");
    	getch();
    
    
    	printf("\nWrite to register");
    	Error_Status = writeRegister(EVMIndex,DeviceIndex,WriteAddr,WriteData);
    	printf("\nError Status : %d",Error_Status);
    	printf("\nPress enter to continue\n");
    	getch();
    
    
    	printf("\nRead from register");
    	Error_Status = readRegister(EVMIndex,DeviceIndex,ReadAddr, &ReadData);
    	printf("\nRead Data = %d",ReadData);
    	printf("\nError Status : %d",Error_Status);
    	printf("\nPress enter to continue\n");
    	getch();
    
    
    	printf("\nClosing Ports");
    	Error_Status = closeAllPorts();
    	printf("\nError Status : %d",Error_Status);
    	printf("\nPress enter to exit");
    	getch();
    
    }