TI BLE5-Stack API Documentation  2.02.02.00
AOA.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  @file AOA.h
4 
5  @brief This file contains typedefs and API functions of AOA.c
6  Group: WCS, BTS
7  $Target Device: DEVICES $
8 
9  ******************************************************************************
10  $License: BSD3 2018 $
11  ******************************************************************************
12  $Release Name: PACKAGE NAME $
13  $Release Date: PACKAGE RELEASE DATE $
14  *****************************************************************************/
15 
25 #ifndef AOA_H_
26 #define AOA_H_
27 
28 #ifdef __cplusplus
29 extern "C"
30 {
31 #endif
32 
33 /*******************************************************************************
34  * INCLUDES
35  */
36 
37 #include <stdint.h>
38 #include <driverlib/ioc.h>
39 #include "ant_array2_config_boostxl_rev1v1.h"
40 
41 /*********************************************************************
42  * CONSTANTS
43  */
44 
46 #define AOA_RES_MAX_SIZE 512
47 #define AOA_RES_MAX_CTE_TIME 20
48 
49 /*********************************************************************
50  * MACROS
51  */
52 
54 #define AOA_PIN(x) (1 << (x&0xff))
55 
56 // Antenna configuration for BOOSTXL-AOA
57 #define ANT_ARRAY (27)
58 #define ANT1 (28)
59 #define ANT2 (29)
60 #define ANT3 (30)
61 
62 /*********************************************************************
63  * TYPEDEFS
64  */
65 
70 typedef enum
72 {
76 } AoA_Role_t;
77 
79 typedef struct
80 {
81  // Note that Passive takes the samples directly from RF core RAM
82  // Hence the format is different than the Master
83 #ifdef RTLS_PASSIVE
84  int16_t q;
85  int16_t i;
86 #else
87  int16_t i;
88  int16_t q;
89 #endif
91 
93 typedef struct
94 {
95  int8_t i;
96  int8_t q;
98 
101 typedef enum
103 {
104  SAMPLES_NOT_READY,
105  SAMPLES_NOT_VALID,
106  SAMPLES_READY
108 
109 /*********************************************************************
110  * EXTERNAL VARIABLES
111  */
112 
120 void AOA_init(uint8_t startAntenna);
121 
133 void AOA_cteCapEnable(uint8_t cteTime, uint8_t cteScanOvs, uint8_t cteOffset);
134 
148 uint16_t AOA_calcNumOfCteSamples(uint8_t cteTime, uint8_t cteScanOvs, uint8_t cteOffset);
149 
160 void AOA_postProcess(int8_t rssi, uint8_t channel, AoA_IQSample_Ext_t *samplesBuff);
161 
162 #ifdef RTLS_PASSIVE
163 
168 AoA_IQSample_Ext_t *AOA_getRawSamples(void);
169 #endif
170 
175 uint8_t AOA_getActiveAnt(void);
176 
182 AoA_IQSampleState_t AOA_getSampleState(void);
183 /*********************************************************************
184 *********************************************************************/
185 
186 #ifdef __cplusplus
187 }
188 #endif
189 
190 #endif /* AOA_H_ */
191 
uint16_t AOA_calcNumOfCteSamples(uint8_t cteTime, uint8_t cteScanOvs, uint8_t cteOffset)
This function calculate the number of IQ samples based on the cte parameters from the CTEInfo header ...
AoA_IQSampleState_t
IQ Sample state - relevant for Passive.
Definition: AOA.h:102
void AOA_cteCapEnable(uint8_t cteTime, uint8_t cteScanOvs, uint8_t cteOffset)
This function enables the CTE capture in the rf core.
Transmitter Role.
Definition: AOA.h:73
void AOA_postProcess(int8_t rssi, uint8_t channel, AoA_IQSample_Ext_t *samplesBuff)
This function will update the final result report with rssi and channel For RTLS Passive it will also...
int8_t i
I - In-phase.
Definition: AOA.h:95
Receiver Role.
Definition: AOA.h:74
Passive Role.
Definition: AOA.h:75
32 bit IQ Sample structure
Definition: AOA.h:79
void AOA_init(uint8_t startAntenna)
Initialize AoA for the defined role.
int8_t q
Q - Quadrature.
Definition: AOA.h:96
IQ Sample structure.
Definition: AOA.h:93
int16_t i
I - In-phase.
Definition: AOA.h:87
uint8_t AOA_getActiveAnt(void)
Returns active antenna id.
int16_t q
Q - Quadrature.
Definition: AOA.h:88
AoA_Role_t
AoA Device Role.
Definition: AOA.h:71
AoA_IQSampleState_t AOA_getSampleState(void)
Returns active antenna id.
© Copyright 1995-2021, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale