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.

CCS/LAUNCHXL-CC26X2R1: Use both array from BOOSTXL-AOA - RTLS demo project

Part Number: LAUNCHXL-CC26X2R1


Tool/software: Code Composer Studio

Hi,

We would like to use both antenna arrays fom the BOOSTXL-AOA product. We already read another thread on it, made modifications on the rtls project code and it didn't work.

We are using :

  • 2 x LAUNCHXL-CC26x2R1 (One as master and the other as slave)
  • 1x BOOSTXL-AOA (Plugged on the Master)

How can we do this properly, what are the required modifications, is there any issues using these products in that way ?

  • Hi,

    The link you are referring has been used by a few people I supported and they seem to successfully enabled both antenna array.

    Maybe you can list the modification you did and/or explain a bit more in detail what is not working?

    Thanks and regards,

  • Well, we modified many things and I think I'm a bit lost, We don't completely well understand the program, here is a list of the modifications.

    In the RTLSCtrl_initAoa function : Added a "else if" statement (in the original if block at line  to allow the case with sampleCtrl = 0x00, corresponding to using both array. Also added a new defined value for this test : "IS_AOA_CONFIG_BOTH_ANT(sampleCtrl)".

    In the rtls_ctrl_aoa.c file : Added a global variable (just to try before to do it properly) of type integer and called "selected_antenna_array" which takes value 1 when the antenna array 1 is used by the system and 2 in the other case.

    In the RTLSCtrl_estimateAngle function : Modified if statement with the comment "// Calculate AoA for each antenna array" above, using the global variable for the condition. 

    if (selected_antenna_array == 1 )
    {
    AoA_A1 =(*unchanged*);
    selectedAntenna = ANT_ARRAY_A1x;
    }
    else
    {
    AoA_A2 =(*unchanged*);
    selectedAntenna = ANT_ARRAY_A2x;

    In the RTLSCtrl_postProcessAoa function : Modified if statement using the global variable to set "antenna" variable value (if selected_antenna_array == 1 then antenna = ANT_ARRAY_A1x else antenna = ANT_ARRAY_A2x). Added some code to change the value of the pin driving antenna array switch :

    if (antenna == ANT_ARRAY_A1x)
    {
    PINC26XX_setOutputValue(ANT_ARRAY, 0);
    selected_antenna_array = 2;
    }
    else
    {
    PINCC26XX_setOuputValue(ANT_ARRAY, 1);
    selected_antenna_array = 1;
    }

    When we use the modified program with RTLS ui, results only come from one array (apparently), and values are worse (inaccurate) than with only one antenna.

    Python scripts gives us errors concerning inexistant key.

    Parameters for tests :

      • sample rate = 4
      • sample size = 2
      • CTE interval = 2
      • slot durations = 2
      • Sampling antennas = Both (0x00)
      • pattern length = 6
      • Antennas Pattern = [0, 1, 2, 3, 4, 5]

    Thanks and regards.

  • Hi,

    You seem to be on the right path :)

    If not already done, don't forget to "open" all the pins you are going to use. You might also want to verify if the pins are toggling as expected (note: I am referring to the pins allowing you to select the different antennas, a truth table showing which antenna is selected based on the status of the DIO27, DIO28, DIO29 and DIO30 pins is provided here).

    Kind regards,