TI BLE5-Stack API Documentation  2.01.00.00
rtls_srv_api.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  @file rtls_srv_api.h
4 
5  @brief This file implements the RTLS Services APIs
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 RTLSSRVAPI_H
26 #define RTLSSRVAPI_H
27 
28 #ifdef __cplusplus
29 extern "C"
30 {
31 #endif
32 
33 /*-------------------------------------------------------------------
34  * INCLUDES
35  */
36 
37 #include "bcomdef.h"
38 #include <ti/drivers/PIN.h>
39 #include "ble_user_config.h"
40 #include "ll.h"
41 
42 /*-------------------------------------------------------------------
43  * CONSTANTS
44  */
45 
56 #define RTLSSRV_CTE_SAMPLING_NOT_INIT LL_CTE_SAMPLING_NOT_INIT
58 #define RTLSSRV_CTE_SAMPLING_ENABLE LL_CTE_SAMPLING_ENABLE
59 #define RTLSSRV_CTE_SAMPLING_DISABLE LL_CTE_SAMPLING_DISABLE
60 
61 #define RTLSSRV_CTE_SAMPLE_SLOT_1US LL_CTE_SAMPLE_SLOT_1US
63 #define RTLSSRV_CTE_SAMPLE_SLOT_2US LL_CTE_SAMPLE_SLOT_2US
64 
65 #define RTLSSRV_CTE_SAMPLE_RATE_1US_AOD_TX LL_CTE_SAMPLE_RATE_1US_AOD_TX
67 #define RTLSSRV_CTE_SAMPLE_RATE_1US_AOD_RX LL_CTE_SAMPLE_RATE_1US_AOD_RX
68 #define RTLSSRV_CTE_SAMPLE_RATE_1US_AOA_RX LL_CTE_SAMPLE_RATE_1US_AOA_RX
69 
70 #define RTLSSRV_CTE_TYPE_AOA LL_CTE_TYPE_AOA
72 
73 #define RTLSSRV_CTE_SAMPLE_RATE_1MHZ CTE_SAMPLING_CONFIG_1MHZ
75 #define RTLSSRV_CTE_SAMPLE_RATE_2MHZ CTE_SAMPLING_CONFIG_2MHZ
76 #define RTLSSRV_CTE_SAMPLE_RATE_3MHZ CTE_SAMPLING_CONFIG_3MHZ
77 #define RTLSSRV_CTE_SAMPLE_RATE_4MHZ CTE_SAMPLING_CONFIG_4MHZ
78 
79 #define RTLSSRV_CTE_SAMPLE_SIZE_8BITS LL_CTE_SAMPLE_SIZE_8BITS
81 #define RTLSSRV_CTE_SAMPLE_SIZE_16BITS LL_CTE_SAMPLE_SIZE_16BITS
82 
83 #define RTLSSRV_CTE_SAMPLE_CONTROL_RF_DEFAULT_FILTERING CTE_SAMPLING_CONTROL_DEFAULT_FILTERING
85 #define RTLSSRV_CTE_SAMPLE_CONTROL_RF_RAW_NO_FILTERING CTE_SAMPLING_CONTROL_RF_RAW_NO_FILTERING
86 
102 #define RTLSSRV_CONNECTION_CTE_IQ_REPORT_EVT 1
103 
108 #define RTLSSRV_ANTENNA_INFORMATION_EVT 2
109 
113 #define RTLSSRV_CTE_REQUEST_FAILED_EVT 3
114 
118 #define RTLSSRV_ERROR_EVT 4
119 
132 #define RTLSSRV_CONN_HANDLE_INVALID 0x02
133 #define RTLSSRV_OUT_OF_MEMORY 0x07
134 #define RTLSSRV_COMMAND_DISALLOWED 0x0C
135 #define RTLSSRV_FEATURE_NOT_SUPPORTED 0x11
136 #define RTLSSRV_REMOTE_FEATURE_NOT_SUPPORTED 0x1A
137 
138 
149 #define RTLSSRV_SET_CONNECTION_CTE_RECEIVE_PARAMS 0x2054
150 #define RTLSSRV_SET_CONNECTION_CTE_TRANSMIT_PARAMS 0x2055
151 #define RTLSSRV_SET_CONNECTION_CTE_REQUEST_ENABLE 0x2056
152 #define RTLSSRV_SET_CONNECTION_CTE_RESPONSE_ENABLE 0x2057
153 
154 
156 /*-------------------------------------------------------------------
157  * TYPEDEFS
158  */
159 
160 
166 typedef struct
168 {
169  uint16_t connHandle;
170  uint8_t phy;
171  uint8_t dataChIndex;
172  uint16_t rssi;
173  uint8_t rssiAntenna;
174  uint8_t cteType;
175  uint8_t slotDuration;
176  uint8_t status;
177  uint16_t connEvent;
178  uint16_t sampleCount;
179  uint8_t sampleRate;
180  uint8_t sampleSize;
181  uint8_t sampleCtrl;
182  uint8_t numAnt;
183  int8_t *iSamples;
184  int8_t *qSamples;
186 
188 typedef struct
189 {
190  uint8_t sampleRates;
193  uint8_t maxCteLen;
195 
197 typedef struct
198 {
199  uint8_t status;
200  uint16_t connHandle;
202 
204 typedef struct
205 {
206  uint16_t connHandle;
207  uint16_t errSrc;
208  uint16_t errCause;
210 
221 typedef struct
223 {
224  uint8_t evtType;
225  uint16_t evtSize;
226  uint8_t *evtData;
227 } rtlsSrv_evt_t;
228 
238 typedef void (*pfnAppEventHandlerCB_t)(rtlsSrv_evt_t *pEvt);
239 
243 /*-------------------------------------------------------------------
244  * API's
245  */
246 
254 extern bStatus_t RTLSSrv_init(uint8_t numOfRTLSConns);
255 
264 
279 extern bStatus_t RTLSSrv_setConnCteReceiveParams(uint16_t connHandle,
280  uint8_t samplingEnable,
281  uint8_t slotDurations,
282  uint8_t numAnt,
283  uint8_t antArray[]);
284 
298 extern bStatus_t RTLSSrv_setConnCteTransmitParams(uint16_t connHandle,
299  uint8_t types,
300  uint8_t length,
301  uint8_t antArray[]);
302 
315 extern bStatus_t RTLSSrv_setConnCteRequestEnableCmd(uint16_t connHandle,
316  uint8_t enable,
317  uint16_t interval,
318  uint8_t length,
319  uint8_t type);
320 
329 extern bStatus_t RTLSSrv_setConnCteResponseEnableCmd(uint16_t connHandle,
330  uint8_t enable);
331 
338 
356 extern bStatus_t RTLSSrv_setCteSampleAccuracy(uint16_t connHandle,
357  uint8_t sampleRate1M,
358  uint8_t sampleSize1M,
359  uint8_t sampleRate2M,
360  uint8_t sampleSize2M,
361  uint8_t sampleCtrl);
371 extern PIN_Handle RTLSSrv_initAntArray(uint8_t antArray[], uint8_t antArrLen);
372 
385 extern bStatus_t RTLSSrv_processHciEvent(uint16_t hciEvt, uint16_t hciEvtSz, uint8_t *pEvtData);
386 
387 #ifdef __cplusplus
388 }
389 #endif
390 
391 #endif /* RTLSSRVAPI_H */
392 
uint16_t sampleCount
number of samples
Definition: rtls_srv_api.h:178
uint8_t slotDuration
sampling slot 1us or 2us
Definition: rtls_srv_api.h:175
LE CTE Antenna Information Event RTLSSRV_ANTENNA_INFORMATION_EVT.
Definition: rtls_srv_api.h:188
uint16_t errCause
subEvt RTLS Services error codes
Definition: rtls_srv_api.h:208
uint8_t maxCteLen
maximum cte length supported by the controller
Definition: rtls_srv_api.h:193
uint8_t cteType
cte type
Definition: rtls_srv_api.h:174
uint8_t status
packet status (success or CRC error)
Definition: rtls_srv_api.h:176
uint8_t numAnt
number of antennas we are using
Definition: rtls_srv_api.h:182
uint8_t phy
current phy
Definition: rtls_srv_api.h:170
uint8_t maxSwitchPatternLen
maximum size of switch pattern supported by the controller
Definition: rtls_srv_api.h:192
bStatus_t RTLSSrv_setConnCteRequestEnableCmd(uint16_t connHandle, uint8_t enable, uint16_t interval, uint8_t length, uint8_t type)
uint16_t connHandle
connection handle
Definition: rtls_srv_api.h:200
uint16_t evtSize
Size.
Definition: rtls_srv_api.h:225
bStatus_t RTLSSrv_setCteSampleAccuracy(uint16_t connHandle, uint8_t sampleRate1M, uint8_t sampleSize1M, uint8_t sampleRate2M, uint8_t sampleSize2M, uint8_t sampleCtrl)
uint16_t connEvent
connection event
Definition: rtls_srv_api.h:177
bStatus_t RTLSSrv_register(pfnAppEventHandlerCB_t pCB)
uint16_t connHandle
connection handle
Definition: rtls_srv_api.h:206
PIN_Handle RTLSSrv_initAntArray(uint8_t antArray[], uint8_t antArrLen)
uint8_t sampleCtrl
default filtering or RAW_RF
Definition: rtls_srv_api.h:181
bStatus_t RTLSSrv_readAntennaInformationCmd(void)
uint16_t connHandle
connection handle
Definition: rtls_srv_api.h:169
bStatus_t RTLSSrv_processHciEvent(uint16_t hciEvt, uint16_t hciEvtSz, uint8_t *pEvtData)
RTLS Services error structure RTLSSRV_ERROR_EVT.
Definition: rtls_srv_api.h:204
void(* pfnAppEventHandlerCB_t)(rtlsSrv_evt_t *pEvt)
Definition: rtls_srv_api.h:238
uint8_t sampleRates
sample rates supported by the contoller
Definition: rtls_srv_api.h:190
Type definitions and macros for BLE stack.
uint16_t rssi
current rssi
Definition: rtls_srv_api.h:172
uint8_t maxNumOfAntennas
maximum number of antennas supported by the controller
Definition: rtls_srv_api.h:191
int8_t * iSamples
list of I samples
Definition: rtls_srv_api.h:183
bStatus_t RTLSSrv_setConnCteTransmitParams(uint16_t connHandle, uint8_t types, uint8_t length, uint8_t antArray[])
CTE Connection IQ Report Event RTLSSRV_CONNECTION_CTE_IQ_REPORT_EVT.
Definition: rtls_srv_api.h:167
LE CTE Request Failed Event RTLSSRV_CTE_REQUEST_FAILED_EVT.
Definition: rtls_srv_api.h:197
RTLS Services passes messages in this format.
Definition: rtls_srv_api.h:222
uint8_t status
status
Definition: rtls_srv_api.h:199
bStatus_t RTLSSrv_init(uint8_t numOfRTLSConns)
Status_t bStatus_t
BLE Generic Status return.
Definition: bcomdef.h:246
uint8_t dataChIndex
index of data channel
Definition: rtls_srv_api.h:171
bStatus_t RTLSSrv_setConnCteResponseEnableCmd(uint16_t connHandle, uint8_t enable)
uint16_t errSrc
the command that caused the error
Definition: rtls_srv_api.h:207
uint8_t sampleRate
sample rate of frontend: 1Mhz, 2Mhz, 3Mhz, 4Mhz
Definition: rtls_srv_api.h:179
uint8_t sampleSize
sample size: 8 or 16 bit samples
Definition: rtls_srv_api.h:180
uint8_t evtType
Type.
Definition: rtls_srv_api.h:224
uint8_t rssiAntenna
antenna ID
Definition: rtls_srv_api.h:173
int8_t * qSamples
list of Q samples
Definition: rtls_srv_api.h:184
bStatus_t RTLSSrv_setConnCteReceiveParams(uint16_t connHandle, uint8_t samplingEnable, uint8_t slotDurations, uint8_t numAnt, uint8_t antArray[])
uint8_t * evtData
Pointer to Event Data.
Definition: rtls_srv_api.h:226
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale