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.

AWR1843AOPEVM: Error #1965 cannot open source files

Part Number: AWR1843AOPEVM

Hello, I'm attempting to create a program that detects people and to do this I want to use the mmwavelib.h file from the mmwave SDK. So, when adding the code line: #include <mmwavelib.h> at the beginning of my main.c file i run into the error "fatal error #1965: cannot open source file 'mmwavelib.h'" When seeing this, I attempted to copy and paste the entire file path of the header file and that would then prompt me with this error, "Line 131: fatal error #1965: cannot open source file 'vect.h'". When opening the mmwavelib header file within Codeblocks I see that vect.h is another header file within the mmwavelib header file that is typed as "#include <vect.h>. I had also spoke with Ti's tech support who had told me to try and put the packages folder from the mmwave SDK in the include options of the CCS project. I had done that and still have encountered the same error and tried to solve this by including other folders into the include options. I have included the error files mentioned and I have also added a screenshot of all of my include options as well as the general project configurations. I'm not sure what more I can try here, so any help would be much appreciated thank you. 

  • Hi,

    If you are trying to create a standalone CCS project that uses some of the mmwavelib functions I recommend that you copy all required files locally in the CCS workspace.

    Thank you

    Cesar

  • If I understood correctly, for every source file error like above I am to find said file, copy paste it to the workspace and then rebuild. I have done this until I arrive at the same error but now with the file c6x.h and when attempting the same method of copy pasting I then receive a multitude of errors. The first error is the same kind just with another file named mmwavelib_fft.h however everything after that are when the IDE attempts to build other C files that cannot be built because there are multiple identifier errors centere aruond "__int40_t" being undefined I will include a screenshot of the errors. I'm not sure what other header or source file I would have to include as looking through c6x.h I only see one include file being vect.h which is already included in the workspace and adjusted accordingly in c6x.h. Is there anything else I should try or if I even have to include all of these files before beginning my code? 

    P.S. I have also included a screenshot of my workspace with the files (and folder) that I have included thus far. 

     

  • Hi,

    What is the mmwavelib function you try to use? I don't see src code for mmwavelib function included

    Thank you

    Cesar

  • Hello, I'd like to apologize for the late response to this. I have copy and pasted the entire code of what I was working on before this error had popped up on CCS 7. 

    #include <stdint.h>
    #include <stdio.h>
    #include <math.h>
    #include <C:\ti\ccs1210\ccs\tools\compiler\ti-cgt-c6000_8.3.12\include\vect.h>
    #include <C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\alg\mmwavelib\vect.h>
    #include <C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\alg\mmwavelib\mmwavelib.h>
    #include <C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\drivers\soc\soc.h>
    #include <C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\common\mmwave_error.h>


    /**
    * main.c
    */

    MMWave_InitCfg initCfg;
    MMWave_CtrlCfg ctrlcfg;
    MMWave_OpenCfg openCfg;


    void FFT_CT(double *x, double *y, int N){
    int k, n, j;
    double real, imaginary, w_real, w_imaginary, temp_real, temp_imaginary;

    for (k = 0; k < N; k++){
    n = bit_reverse(k, log2(N));
    if(n > k){
    temp_real = x[2*k];
    temp_imaginary = x[2*k+1];
    x[2*k] = x[2*n];
    x[2*k+1] = x[2*n+1];
    x[2*n] = temp_real;
    x[2*n+1] = temp_imaginary;
    }
    }

    for (k = 1; k < N; k = k << 1){
    for (n = 0; n < N; n += 2*k){
    for(int j = 0; j < k; j++){
    real = x[2*(n+j)];
    imaginary = x[2*(n+j)+1];
    w_real = cos(2*PI*j/(2*k));
    w_imaginary = sin(2*PI*j/(2*k));
    temp_real = real * w_real - imaginary * w_imaginary;
    temp_imaginary = re * w_imaginary + imaginary * w_real;
    x[2*(n+j)] = real + temp_real;
    x[2*(n+j)+1] = imaginary + temp_imaginary;
    y[2*(n+j+k)] = real + temp_real;
    y[2*(n+j+k)+1] = imaginary - temp_imaginary;
    }
    }
    }
    }


    double rangeResolution = 0.3;
    void Forward(double *y, int N){
    int i, j;
    double rangeDistance, frequency;
    double weight, OSample;

    FFT_CT(x, y, N);

    for(i = 0; i < N; i++){
    for(j = 0; j < N; j++){
    range = i * range
    }
    }
    }

    int main(void)
    {
    N = 256;
    MMWave_init(&initCfg);

    ctrlCfg.dfeDataOutputMode = MMWave_DFEDataOutputMode_ADVANCED_FRAME;
    ctrlCfg.frequencyLimitLow = 76.0;
    ctrlCfg.frequencyLimitHigh = 81.0;
    ctrlCfg.chirpStartIdx = 0;
    ctrlCfg.chirpEndIdx = 31;
    ctrlCfg.numLoops = 1;
    ctrlCfg.numFrames = 20;
    ctrlCfg.framePeriodicity = 33;
    ctrlCfg.triggerSelect = MMWave_TriggerSelect_Software;
    ctrlCfg.frameTriggerDelay = 0;

    MMWave_config(&ctrlCfg);

    openCfg.dfeDataOutputMode = MMWave_DFEDataOutputMode_ADVANCED_FRAME;
    openCfg.chirpThreshold = 1;
    MMWave_start();


    MMWave_start();
    while (1){
    if(MMWave_isMMWaveCtrlOpen() == true){
    break;
    }
    }
    MMWave_stop();
    MMWave_close();
    return 0;
    }

  • Hi,

    Thank you for the additional information.

    Here is what I recommend.

    1) Start with an existing test available in

    C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\alg\mmwavelib\test

    2) Rebuild the test using provided makefile and information in the SDK User Guide

    C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\alg\mmwavelib\makefile

    3) Modify one of existing tests (or create a new one - in this case you will need to update the makefile as well)

    4) Build updated test with makefile

    After these steps, we can create a ccs projectspec for this test

    5) Create ccs projectspec for this test

    The following thread could be useful. It provides information on how to create a ccs projectspec for spi driver.

    https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/686601/ccs-awr1642-how-to-create-a-new-ccs-project

    Thank you

    Cesafr