TI BLE5-Stack API Documentation  2.00.04.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 
40 /*********************************************************************
41  * CONSTANTS
42  */
43 
45 #define AOA_RES_MAX_SIZE 512
46 #define AOA_RES_MAX_CTE_TIME 20
47 #define AOA_NUM_ANTENNAS 3
48 
49 /*********************************************************************
50  * MACROS
51  */
52 
54 #define AOA_PIN(x) (1 << (x&0xff))
55 
56 // Antenna array ID's
57 #define ANT_ARRAY_1 1
58 #define ANT_ARRAY_2 2
59 
60 // Passive antenna configuration
61 #define ANT_ARRAY (27)
62 #define ANT1 (28)
63 #define ANT2 (29)
64 #define ANT3 (30)
65 
66 /*********************************************************************
67  * TYPEDEFS
68  */
69 
74 typedef enum
76 {
80 } AoA_Role;
81 
83 typedef struct
84 {
85  uint32_t *signalStrength;
86  int16_t *pairAngle;
87  int8_t *channelOffset;
88  int8_t rssi;
89  uint8_t ch;
90  uint8_t updated;
92 
94 typedef struct
95 {
99 
101 typedef struct
102 {
103  uint8_t a ;
104  uint8_t b ;
105  float d;
106  int8_t sign;
107  int8_t offset;
108  float gain;
110 
112 typedef struct
113 {
114  uint8_t numAntennas;
115  uint8_t numPairs;
118 
120 typedef struct
121 {
122  int16_t q;
123  int16_t i;
124 } AoA_IQSample;
127 typedef enum
129 {
130  SAMPLES_NOT_READY,
131  SAMPLES_NOT_VALID,
132  SAMPLES_READY
134 
135 /*********************************************************************
136  * EXTERNAL VARIABLES
137  */
138 
141 
144 
145 #ifdef RTLS_PASSIVE
146 
152 void AOA_getPairAngles(void);
153 #elif RTLS_MASTER
154 
165 void AOA_getPairAngles(uint16_t numIqSamples, uint8_t sampleRate, uint8_t numAnt, uint16_t *pI, uint16_t *pQ);
166 #endif
167 
172 void AOA_cteCapDisable(void);
173 
181 void AOA_setupNextRun(uint8_t antArraySwitchIo);
182 
190 void AOA_init(AoA_Results_t *aoaResults);
191 
203 void AOA_cteCapEnable(uint8_t cteTime, uint8_t cteScanOvs, uint8_t cteOffset);
204 
218 uint16_t AOA_calcNumOfCteSamples(uint8_t cteTime, uint8_t cteScanOvs, uint8_t cteOffset);
219 
230 void AOA_postProcess(int8_t rssi, uint8_t channel, AoA_IQSample *samplesBuff);
231 
238 
244 uint8_t AOA_getActiveAnt(void);
245 
251 AoA_IQSampleState AOA_getSampleState(void);
252 /*********************************************************************
253 *********************************************************************/
254 
255 #ifdef __cplusplus
256 }
257 #endif
258 
259 #endif /* AOA_H_ */
260 
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_Role
AoA Device Role.
Definition: AOA.h:75
void AOA_cteCapEnable(uint8_t cteTime, uint8_t cteScanOvs, uint8_t cteOffset)
This function enables the CTE capture in the rf core.
int16_t i
I- In-phase.
Definition: AOA.h:123
Passive Role.
Definition: AOA.h:79
void AOA_postProcess(int8_t rssi, uint8_t channel, AoA_IQSample *samplesBuff)
This function will update the final result report with rssi and channel For RTLS Passive it will also...
uint8_t numPairs
Number of antenna pairs.
Definition: AOA.h:115
float gain
Measurement gain compensation.
Definition: AOA.h:108
int8_t sign
Sign for the result.
Definition: AOA.h:106
uint8_t b
Second antenna in pair.
Definition: AOA.h:104
uint8_t ch
Channel.
Definition: AOA.h:89
uint8_t updated
True if structure has been updated.
Definition: AOA.h:90
void AOA_setupNextRun(uint8_t antArraySwitchIo)
Sets up the next AOA run.
AoA_IQSample * AOA_getRawSamples(void)
Returns pointer to raw I/Q samples.
int8_t * channelOffset
RF Channel offset.
Definition: AOA.h:87
AoA_AntennaResult BOOSTXL_AoA_Result_ArrayA2
results included from second antenna array
AoA_AntennaResult * antA1Result
results from first antenna array
Definition: AOA.h:96
int16_t q
Q - Quadrature.
Definition: AOA.h:122
int16_t * pairAngle
Antenna pair angle.
Definition: AOA.h:86
void AOA_init(AoA_Results_t *aoaResults)
Initialize AoA for the defined role.
Antenna Configurations structure.
Definition: AOA.h:112
AoA_AntennaResult BOOSTXL_AoA_Result_ArrayA1
results included from first antenna array
Transmitter Role.
Definition: AOA.h:77
int8_t rssi
Last Rx rssi.
Definition: AOA.h:88
AoA_IQSampleState AOA_getSampleState(void)
Returns active antenna id.
AoA_AntennaConfig BOOSTXL_AoA_Config_ArrayA2
Configurations included from second antenna array.
uint8_t a
First antenna in pair.
Definition: AOA.h:103
IQ Sample structure.
Definition: AOA.h:120
AoA_AntennaConfig BOOSTXL_AoA_Config_ArrayA1
Configurations included from first antenna array.
int8_t offset
Measurement offset compensation.
Definition: AOA.h:107
uint32_t * signalStrength
Amplitude.
Definition: AOA.h:85
AoA_AntennaResult * antA2Result
results from second antenna array
Definition: AOA.h:97
uint8_t AOA_getActiveAnt(void)
Returns active antenna id.
void AOA_cteCapDisable(void)
This function disables the CTE capture in the rf core.
Antenna Pair Structure.
Definition: AOA.h:101
float d
Variable used in antenna pairs.
Definition: AOA.h:105
AoA_IQSampleState
IQ Sample state - relevant for Passive.
Definition: AOA.h:128
Receiver Role.
Definition: AOA.h:78
AoA result per antenna array.
Definition: AOA.h:83
AoA_AntennaPair * pairs
antenna pair information array
Definition: AOA.h:116
Combined results from both antenna arrays.
Definition: AOA.h:94
uint8_t numAntennas
Number of antennas.
Definition: AOA.h:114
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale