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.

TSW14J56EVM: HSDC Pro Automation DLL

Part Number: TSW14J56EVM

Hello, 

I hope this finds you well,

I found the DAC Trigger option function call in the  HSDC Pro Automation DLL manual, but when i use it in my mat ab code, it gives me an error says that this method was not found. 

I am using HSDC Pro v4.90.

Thank you,

I really appreciate it.

Abdurrahman

  • Hi,

    We are looking at your question and will get back you soon.

    Regards,
    Neeraj
  • Abdurrahman,

    I do not think this function is available in the HSDCProAutomationHeader.m so it will not be available in MATLAB.

    Are you able to work around by selecting the option manually?

    Regards,

    Brian

  • Thank you Brian,

    Not yet. 

    Since I am writing a GUI that talks to the HSDC Pro, I am trying to automate the process by just pushing a button in my GUI. 

    Is there any other languages that has that function DAC_Trigger_Option ? or what do you suggest me to do ?

    Thanks in advance,

    Best regards,

    Abdurrahman

  • Abdurrahman, I understand, that is preferable to control this way from a GUI.

    It looks as though DAC_Trigger_Option is available as a C call. I think the MATLAB just sets up a wrapper function for the C call. Have you attempted to import the function in MATLAB (editing the HSDCProAutomationHeader.m to add the function) ?

    Regards,
    Brian
  • Not yet, I did not find the HSDCProAutomationHeader.m file. Could you please provide that for me ?

    I really appreciate your help,
    Best regards,

    Abdurrahman
  • The header file should have been part of the HSDC install
    C:\Program Files (x86)\Texas Instruments\High Speed Data Converter Pro\HSDCPro Automation DLL\Manual and Examples\Automation DLL Matlab Example\32Bit Matlab

    (or 64Bit Matlab)

    Regards,
    Brian
  • Thank    you so much for your help, Brian,

    I have tried to add (DAC_Write_DDR_Memory) by add the following code in the HSDCProAutomationHeader.m file.

    fcns.thunkname{fcnNum}='int32int32Thunk';
    fcns.name{fcnNum}='DAC_Write_DDR_Memory';
    fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32';
    fcns.RHS{fcnNum}={'int32'};
    fcnNum=fcnNum+1;

    but it still gives me an error that the method is not found.

    Best regards,

    Abdurraman

  • Abdurraman,
    I am reviewing this code snippet with the team. It looks like it should work. I will get back with you when we figure something out.

    The DAC_Write_DDR_Memory cannot be called without following the sequence in the code (the C automation example), as it requires some initialization (dependency).

    Regards,
    Brian
  • Abdurraman,
    We have confirmed your issue. We will look into it and see what is the problem.

    Can you confirm if you are using MATLAB 64bit?
    Do you have LabVIEW 2014 64bit runtime engine installed?

    Regards,
    Brian
  • Thank you Brian for your response,

    Yes, I have both of them. 

    Also DAC_Trigger_Option call, DAC_Scaling_Factor call , and DAC_Generate_Software_Trigger call exist in the HSDCProAutomation_64Bit.h file , but not in the matlab header file, so I could not call them as well. 

    Now, I am trying to add them to matlab header file. 

    do I need to add them any where else before being able to call them from my matlab code? 

    Thank you so much Brian,

    Best regards,

    Abdurrahman

  • Hi Brian,

    I hope this finds you well,

    Did you find a way to add those functions to the matlab header file ?

    Thank you,
    Best regards,

    Abdurrahman
  • Abdurrahman,

    I think this might be some code sequence error where we must define the function before making statements.

    (meaning if the function is defined at the end of the header file it might not work).

    We have tested the attached header and it worked in MATLAB 64.

    Regards,

    Brian

    The file had to be uploaded with a .c extension.  After you download it change the extension to .m

    HSDCProAutomationHeader.c
    function [methodinfo,structs,enuminfo,ThunkLibName]=HSDCProAutomationHeader
    %HSDCPROAUTOMATIONHEADER Create structures to define interfaces found in 'HSDCProAutomation_64Bit'.
    
    %This function was generated by loadlibrary.m parser version 1.1.6.37 on Mon Aug 12 15:19:53 2013
    %perl options:'HSDCProAutomation_64Bit.i -outfile=HSDCProAutomationHeader.m -thunkfile=HSDCProAutomation_64Bit_thunk_pcwin64.c -header=HSDCProAutomation_64Bit.h extcode.h fundtypes.h hosttype.h ILVDataInterface.h ILVTypeInterface.h lv_epilog.h lv_prolog.h platdefines.h'
    ival={cell(1,0)}; % change 0 to the actual number of functions to preallocate the data.
    structs=[];enuminfo=[];fcnNum=1;
    fcns=struct('name',ival,'calltype',ival,'LHS',ival,'RHS',ival,'alias',ival,'thunkname', ival);
    MfilePath=fileparts(mfilename('fullpath'));
    ThunkLibName=fullfile(MfilePath,'HSDCProAutomation_64Bit_thunk_pcwin64');
    % int32_t __cdecl Pass_ADC_Output_Data_Rate ( double ADCOutputDataRate , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32doubleint32Thunk';fcns.name{fcnNum}='Pass_ADC_Output_Data_Rate'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'double', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Set_ADC_Input_Target_Frequency ( double ADCInputTargetFrequency , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32doubleint32Thunk';fcns.name{fcnNum}='Set_ADC_Input_Target_Frequency'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'double', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Set_Number_of_Samples ( uint64_t NumberOfSamplesPerChannel , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32uint64int32Thunk';fcns.name{fcnNum}='Set_Number_of_Samples'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'uint64', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Trigger_Option ( int32_t TriggerModeEnable , int32_t SoftwareTriggerEnable , int32_t ArmOnNextCaptureButtonPress , uint8_t TriggerCLKDelays , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32int32int32uint8int32Thunk';fcns.name{fcnNum}='Trigger_Option'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32', 'int32', 'int32', 'uint8', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Pass_Capture_Event ( int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32Thunk';fcns.name{fcnNum}='Pass_Capture_Event'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Generate_Software_Trigger ( int32_t WaitToCheckTrigger , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32int32Thunk';fcns.name{fcnNum}='Generate_Software_Trigger'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Read_DDR_Memory ( int32_t WaitToCheckTrigger , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32int32Thunk';fcns.name{fcnNum}='Read_DDR_Memory'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl HSDC_Ready ( int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32Thunk';fcns.name{fcnNum}='HSDC_Ready'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Save_Raw_Data_As_CSV ( char CSVFilePathWithName [], int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32cstringint32Thunk';fcns.name{fcnNum}='Save_Raw_Data_As_CSV'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl ADC_Test_Selection ( uint16_t TestSelection , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32uint16int32Thunk';fcns.name{fcnNum}='ADC_Test_Selection'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'uint16', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl ADC_Plot_Type ( uint16_t PlotType , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32uint16int32Thunk';fcns.name{fcnNum}='ADC_Plot_Type'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'uint16', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl FFT_Window ( uint16_t FFTWindowType , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32uint16int32Thunk';fcns.name{fcnNum}='FFT_Window'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'uint16', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Select_ADC_Channel ( uint16_t ChannelIndex , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32uint16int32Thunk';fcns.name{fcnNum}='Select_ADC_Channel'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'uint16', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl FFT_Window_Notching ( uint16_t FFTSettingsType , uint32_t NumberOfHarmonics , uint32_t NoOfBinsToRemoveEitherSideOfHarmonics , uint32_t NoOfBinsToRemoveAfterDC , uint32_t NoOfBinsToRemoveEitherSideOfFundamental , double CustomNotchFrequencies [], uint32_t NoOfBinsToRemoveOnEitherSideOfCustomFrequencies [], uint32_t NumberOfCustomFreq , int32_t EnableFsby2MinusFinNotching , uint32_t BinsToRemoveOnEitherSideOfFsby2MinusFin , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32uint16uint32uint32uint32uint32voidPtrvoidPtruint32int32uint32int32Thunk';fcns.name{fcnNum}='FFT_Window_Notching'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'uint16', 'uint32', 'uint32', 'uint32', 'uint32', 'doublePtr', 'uint32Ptr', 'uint32', 'int32', 'uint32', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Get_FFT_Data ( int32_t TimeoutInMs , double * f0 , double * df , double ActiveChannelFFT [], int32_t * FFTArrayLength ); 
    fcns.thunkname{fcnNum}='int32int32voidPtrvoidPtrvoidPtrvoidPtrThunk';fcns.name{fcnNum}='Get_FFT_Data'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32', 'doublePtr', 'doublePtr', 'doublePtr', 'int32Ptr'};fcnNum=fcnNum+1;
    % int32_t __cdecl Save_FFT_As_PNG ( uint16_t ChannelIndex , char PNGFilePathWithName [], int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32uint16cstringint32Thunk';fcns.name{fcnNum}='Save_FFT_As_PNG'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'uint16', 'cstring', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Single_Tone_Parameters ( char ParametersIn [], int32_t dBFs , int32_t TimeoutInMs , double ParameterValues [], int32_t ParameterValuesLength ); 
    fcns.thunkname{fcnNum}='int32cstringint32int32voidPtrint32Thunk';fcns.name{fcnNum}='Single_Tone_Parameters'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring', 'int32', 'int32', 'doublePtr', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Get_Error_Status ( int32_t StringLengthIn , int32_t TimeoutInMs , char ErrorString []); 
    fcns.thunkname{fcnNum}='int32int32int32cstringThunk';fcns.name{fcnNum}='Get_Error_Status'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32', 'int32', 'cstring'};fcnNum=fcnNum+1;
    % double __cdecl Automation_DLL_Version ( void ); 
    fcns.thunkname{fcnNum}='doublevoidThunk';fcns.name{fcnNum}='Automation_DLL_Version'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='double'; fcns.RHS{fcnNum}=[];fcnNum=fcnNum+1;
    % int32_t __cdecl DAC_Preamble ( double DACPreamble , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32doubleint32Thunk';fcns.name{fcnNum}='DAC_Preamble'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'double', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl DAC_Data_Rate ( double DACDataRate , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32doubleint32Thunk';fcns.name{fcnNum}='DAC_Data_Rate'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'double', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl DAC_Option ( uint16_t DACOption , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32uint16int32Thunk';fcns.name{fcnNum}='DAC_Option'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'uint16', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl DAC_Active_Channel ( int32_t ActiveChannelIndex , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32int32Thunk';fcns.name{fcnNum}='DAC_Active_Channel'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl DAC_Channel_Enable_Settings ( int32_t ChannelEnableSettings [], int32_t NumberOfChannels , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32voidPtrint32int32Thunk';fcns.name{fcnNum}='DAC_Channel_Enable_Settings'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32Ptr', 'int32', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl DAC_Load_File ( char DACFilePath [], int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32cstringint32Thunk';fcns.name{fcnNum}='DAC_Load_File'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl DAC_Tone_Generation ( double ToneBandwidth , int32_t NumberOfTones , double ToneCenter , int32_t NumberOfSamples , uint16_t ToneSelection , double ScalingFactor , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32doubleint32doubleint32uint16doubleint32Thunk';fcns.name{fcnNum}='DAC_Tone_Generation'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'double', 'int32', 'double', 'int32', 'uint16', 'double', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl DAC_Send ( int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32Thunk';fcns.name{fcnNum}='DAC_Send'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Connect_Board ( char BoardSerialNumber [], int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32cstringint32Thunk';fcns.name{fcnNum}='Connect_Board'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Disconnect_Board ( int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32Thunk';fcns.name{fcnNum}='Disconnect_Board'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Download_Firmware ( char FirmwareFilePath [], int32_t WaitToCheck , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32cstringint32int32Thunk';fcns.name{fcnNum}='Download_Firmware'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring', 'int32', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Select_ADC_Device ( char ADCDevice [], int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32cstringint32Thunk';fcns.name{fcnNum}='Select_ADC_Device'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Select_DAC_Device ( char DACDevice [], int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32cstringint32Thunk';fcns.name{fcnNum}='Select_DAC_Device'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl ADC_Analysis_Window_Length ( uint32_t NumberOfSamplesForAnalysis , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32uint32int32Thunk';fcns.name{fcnNum}='ADC_Analysis_Window_Length'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'uint32', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Get_ADC_Device ( int32_t StringLengthAllocated , int32_t TimeoutInMs , char CurrentADCDevice []); 
    fcns.thunkname{fcnNum}='int32int32int32cstringThunk';fcns.name{fcnNum}='Get_ADC_Device'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32', 'int32', 'cstring'};fcnNum=fcnNum+1;
    % int32_t __cdecl Get_DAC_Device ( int32_t StringLengthAllocated , int32_t TimeoutInMs , char CurrentDACDevice []); 
    fcns.thunkname{fcnNum}='int32int32int32cstringThunk';fcns.name{fcnNum}='Get_DAC_Device'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32', 'int32', 'cstring'};fcnNum=fcnNum+1;
    % int32_t __cdecl Read_Registers ( int32_t RegisterAddress [], int32_t NumberOfRegisters , int32_t TimeoutInMs , int32_t RegisterValues []); 
    fcns.thunkname{fcnNum}='int32voidPtrint32int32voidPtrThunk';fcns.name{fcnNum}='Read_Registers'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32Ptr', 'int32', 'int32', 'int32Ptr'};fcnNum=fcnNum+1;
    % int32_t __cdecl Write_Registers ( int32_t RegisterAddress [], int32_t NumberOfRegisters , uint8_t RegisterValues [], int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32voidPtrint32voidPtrint32Thunk';fcns.name{fcnNum}='Write_Registers'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32Ptr', 'int32', 'uint8Ptr', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl ADC_Average_Settings ( int32_t AverageFFTOn , int32_t NumberOfAverages , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32int32int32Thunk';fcns.name{fcnNum}='ADC_Average_Settings'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32', 'int32', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Reset_Board ( int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32Thunk';fcns.name{fcnNum}='Reset_Board'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl Set_ADC_BIM ( int32_t EnableBIM , double BIM0 , double BIM1 , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32doubledoubleint32Thunk';fcns.name{fcnNum}='Set_ADC_BIM'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32', 'double', 'double', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl ADC_Channel_Power_Settings ( double ADCCenterFrequency , int32_t NumberOfChannels , double SignalWidth , double ChannelSeparation , int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32doubleint32doubledoubleint32Thunk';fcns.name{fcnNum}='ADC_Channel_Power_Settings'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'double', 'int32', 'double', 'double', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl ADC_Channel_Power_Parameters ( char ParametersIn [], int32_t TimeoutInMs , double ParameterValues [], int32_t NumberOfParameters ); 
    fcns.thunkname{fcnNum}='int32cstringint32voidPtrint32Thunk';fcns.name{fcnNum}='ADC_Channel_Power_Parameters'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring', 'int32', 'doublePtr', 'int32'};fcnNum=fcnNum+1;
    % long __cdecl LVDLLStatus ( char * errStr , int errStrLen , void * module ); 
    fcns.thunkname{fcnNum}='longcstringint32voidPtrThunk';fcns.name{fcnNum}='LVDLLStatus'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='long'; fcns.RHS{fcnNum}={'cstring', 'int32', 'voidPtr'};fcnNum=fcnNum+1;
    % Adding additional functions which were not added
    % int32_t __cdecl ADC_Save_Raw_Data_As_Binary_File(char BinaryFilePathWithName[], int32_t TimeoutInMs);
    fcns.thunkname{fcnNum}='int32cstringint32Thunk';fcns.name{fcnNum}='ADC_Save_Raw_Data_As_Binary_File'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'cstring', 'int32'};fcnNum=fcnNum+1;
    % int32_t __cdecl DAC_Write_DDR_Memory ( int32_t TimeoutInMs ); 
    fcns.thunkname{fcnNum}='int32int32Thunk';fcns.name{fcnNum}='DAC_Write_DDR_Memory'; fcns.calltype{fcnNum}='Thunk'; fcns.LHS{fcnNum}='int32'; fcns.RHS{fcnNum}={'int32'};fcnNum=fcnNum+1;
    structs.floatExt.packing=2;
    structs.floatExt.members=struct('mlo', 'long', 'mhi', 'long', 'e', 'int16');
    structs.cmplx64.members=struct('re', 'single', 'im', 'single');
    structs.cmplx128.members=struct('re', 'double', 'im', 'double');
    structs.cmplxExt.members=struct('re', 'floatExt', 'im', 'floatExt');
    structs.CPStr.members=struct('cnt', 'long', 'str', 'uint8#1');
    structs.LStr.members=struct('cnt', 'long', 'str', 'uint8#1');
    structs.PATHREF.members=struct('');
    structs.ATIME128.members=struct('');
    structs.LVVARIANT.members=struct('');
    structs.IWaveform.members=struct('');
    structs.IWaves.members=struct('');
    structs.DateRec.members=struct('sec', 'long', 'min', 'long', 'hour', 'long', 'mday', 'long', 'mon', 'long', 'year', 'long', 'wday', 'long', 'yday', 'long', 'isdst', 'long');
    structs.MemStatRec.members=struct('totFreeSize', 'long', 'maxFreeSize', 'long', 'nFreeBlocks', 'long', 'totAllocSize', 'uint64', 'maxAllocSize', 'uint64', 'nPointers', 'long', 'nUnlockedHdls', 'long', 'nLockedHdls', 'long', 'reserved', 'long#4');
    structs.File_t.members=struct('p', 'voidPtr');
    structs.FMListDetails.members=struct('flags', 'long', 'type', 'e_FMFileType');
    structs.VInfoRec.members=struct('size', 'ulong', 'used', 'ulong', 'free', 'ulong');
    enuminfo.NumType=struct('iB',1,'iW',2,'iL',3,'iQ',4,'uB',5,'uW',6,'uL',7,'uQ',8,'fS',9,'fD',10,'fX',11,'cS',12,'cD',13,'cX',14);
    enuminfo.FMFileCreator=struct('kInvalidCreator',0);
    enuminfo.e_FMFileType=struct('kInvalidType',0);
    methodinfo=fcns;