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.

CC2640R2F: BLE AoA, How to change antenna switch times to 50 and shorten the interval to 2us?

Part Number: CC2640R2F


Hi,

BLE AoA.

We want to increase antenna switch times from original 32 to 50. 

Besides, shorten the switch interval from 4us to 2us.

Here is our code after changed, could you help double check it? Thanks a lot.

Antenna switch times:

static void receiverInitHw(AoA_Handle handle)

 

    ClockP_FreqHz freq;

    ClockP_getCpuFreq(&freq); 

    GPTimerCC26XX_Value loadVal = freq.lo / 500000 - 1; // Change from 250K to 500K

    GPTimerCC26XX_setLoadValue(handle->hTimer, loadVal);

 

Antenna switch times:

AoA_Pattern antennaPattern_A1 = {

    .numPatterns = 50, // Change 32 to be 50

    .initialPattern = AOA_A1_SEL | AOA_Ax_ANT2,

    .toggles =

    {

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 1

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 2

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 3

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 4

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 5

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 6

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 7

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 8

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 9

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 10

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

      //Add antenna switch times

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 11

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 12

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 13

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 14

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 15

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT1, // A1.1

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2 16

     AOA_A1_SEL | AOA_Ax_ANT3, // A1.3

 

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2

     AOA_A1_SEL | AOA_Ax_ANT2, // A1.2

    }

};