TI BLE5-Stack API Documentation  2.00.04.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 
40 /*-------------------------------------------------------------------
41  * CONSTANTS
42  */
43 
54 #define RTLSSRV_CTE_SAMPLING_NOT_INIT 0
56 #define RTLSSRV_CTE_SAMPLING_ENABLE 1
57 #define RTLSSRV_CTE_SAMPLING_DISABLE 2
58 
59 #define RTLSSRV_CTE_SAMPLE_SLOT_1US 1
61 #define RTLSSRV_CTE_SAMPLE_SLOT_2US 2
62 
63 #define RTLSSRV_CTE_SAMPLE_RATE_1US_AOD_TX 0
65 #define RTLSSRV_CTE_SAMPLE_RATE_1US_AOD_RX 1
66 #define RTLSSRV_CTE_SAMPLE_RATE_1US_AOA_RX 2
67 
68 #define RTLSSRV_CTE_TYPE_AOA 0
70 
71 #define RTLSSRV_CTE_SAMPLE_RATE_1MHZ 1
73 #define RTLSSRV_CTE_SAMPLE_RATE_2MHZ 2
74 #define RTLSSRV_CTE_SAMPLE_RATE_3MHZ 3
75 #define RTLSSRV_CTE_SAMPLE_RATE_4MHZ 4
76 
77 #define RTLSSRV_CTE_SAMPLE_SIZE_8BITS 1
79 #define RTLSSRV_CTE_SAMPLE_SIZE_16BITS 2
80 
81 
96 #define RTLSSRV_CONNECTION_CTE_IQ_REPORT_EVT 1
97 
102 #define RTLSSRV_ANTENNA_INFORMATION_EVT 2
103 
107 #define RTLSSRV_CTE_REQUEST_FAILED_EVT 3
108 
112 #define RTLSSRV_ERROR_EVT 4
113 
126 #define RTLSSRV_CONN_HANDLE_INVALID 0x02
127 #define RTLSSRV_OUT_OF_MEMORY 0x07
128 #define RTLSSRV_COMMAND_DISALLOWED 0x0C
129 #define RTLSSRV_FEATURE_NOT_SUPPORTED 0x11
130 #define RTLSSRV_REMOTE_FEATURE_NOT_SUPPORTED 0x1A
131 
132 
143 #define RTLSSRV_SET_CONNECTION_CTE_RECEIVE_PARAMS 0x2054
144 #define RTLSSRV_SET_CONNECTION_CTE_TRANSMIT_PARAMS 0x2055
145 #define RTLSSRV_SET_CONNECTION_CTE_REQUEST_ENABLE 0x2056
146 #define RTLSSRV_SET_CONNECTION_CTE_RESPONSE_ENABLE 0x2057
147 
148 
150 /*-------------------------------------------------------------------
151  * TYPEDEFS
152  */
153 
154 
160 typedef struct
162 {
163  uint16_t connHandle;
164  uint8_t phy;
165  uint8_t dataChIndex;
166  uint16_t rssi;
167  uint8_t rssiAntenna;
168  uint8_t cteType;
169  uint8_t slotDuration;
170  uint8_t status;
171  uint16_t connEvent;
172  uint16_t sampleCount;
173  uint8_t sampleRate;
174  uint8_t sampleSize;
175  uint8_t numAnt;
176  int8_t *iSamples;
177  int8_t *qSamples;
179 
181 typedef struct
182 {
183  uint8_t sampleRates;
186  uint8_t maxCteLen;
188 
190 typedef struct
191 {
192  uint8_t status;
193  uint16_t connHandle;
195 
197 typedef struct
198 {
199  uint16_t connHandle;
200  uint16_t errSrc;
201  uint16_t errCause;
203 
214 typedef struct
216 {
217  uint8_t evtType;
218  uint16_t evtSize;
219  uint8_t *evtData;
220 } rtlsSrv_evt_t;
221 
231 typedef void (*pfnAppEventHandlerCB_t)(rtlsSrv_evt_t *pEvt);
232 
236 /*-------------------------------------------------------------------
237  * API's
238  */
239 
247 extern bStatus_t RTLSSrv_init(uint8_t numOfRTLSConns);
248 
257 
272 extern bStatus_t RTLSSrv_setConnCteReceiveParams(uint16_t connHandle,
273  uint8_t samplingEnable,
274  uint8_t slotDurations,
275  uint8_t numAnt,
276  uint8_t antArray[]);
277 
291 extern bStatus_t RTLSSrv_setConnCteTransmitParams(uint16_t connHandle,
292  uint8_t types,
293  uint8_t length,
294  uint8_t antArray[]);
295 
308 extern bStatus_t RTLSSrv_setConnCteRequestEnableCmd(uint16_t connHandle,
309  uint8_t enable,
310  uint16_t interval,
311  uint8_t length,
312  uint8_t type);
313 
322 extern bStatus_t RTLSSrv_setConnCteResponseEnableCmd(uint16_t connHandle,
323  uint8_t enable);
324 
331 
347 extern bStatus_t RTLSSrv_setCteSampleAccuracy(uint16_t connHandle,
348  uint8_t sampleRate1M,
349  uint8_t sampleSize1M,
350  uint8_t sampleRate2M,
351  uint8_t sampleSize2M);
361 extern PIN_Handle RTLSSrv_initAntArray(uint8_t antArray[], uint8_t antArrLen);
362 
375 extern bStatus_t RTLSSrv_processHciEvent(uint16_t hciEvt, uint16_t hciEvtSz, uint8_t *pEvtData);
376 
377 #ifdef __cplusplus
378 }
379 #endif
380 
381 #endif /* RTLSSRVAPI_H */
382 
uint16_t sampleCount
number of samples
Definition: rtls_srv_api.h:172
uint8_t slotDuration
sampling slot 1us or 2us
Definition: rtls_srv_api.h:169
LE CTE Antenna Information Event RTLSSRV_ANTENNA_INFORMATION_EVT.
Definition: rtls_srv_api.h:181
uint16_t errCause
subEvt RTLS Services error codes
Definition: rtls_srv_api.h:201
uint8_t maxCteLen
maximum cte length supported by the controller
Definition: rtls_srv_api.h:186
uint8_t cteType
cte type
Definition: rtls_srv_api.h:168
uint8_t status
packet status (success or CRC error)
Definition: rtls_srv_api.h:170
uint8_t numAnt
number of antennas we are using
Definition: rtls_srv_api.h:175
uint8_t phy
current phy
Definition: rtls_srv_api.h:164
uint8_t maxSwitchPatternLen
maximum size of switch pattern supported by the controller
Definition: rtls_srv_api.h:185
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:193
uint16_t evtSize
Size.
Definition: rtls_srv_api.h:218
uint16_t connEvent
connection event
Definition: rtls_srv_api.h:171
bStatus_t RTLSSrv_register(pfnAppEventHandlerCB_t pCB)
uint16_t connHandle
connection handle
Definition: rtls_srv_api.h:199
PIN_Handle RTLSSrv_initAntArray(uint8_t antArray[], uint8_t antArrLen)
bStatus_t RTLSSrv_readAntennaInformationCmd(void)
uint16_t connHandle
connection handle
Definition: rtls_srv_api.h:163
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:197
void(* pfnAppEventHandlerCB_t)(rtlsSrv_evt_t *pEvt)
Definition: rtls_srv_api.h:231
uint8_t sampleRates
sample rates supported by the contoller
Definition: rtls_srv_api.h:183
Type definitions and macros for BLE stack.
uint16_t rssi
current rssi
Definition: rtls_srv_api.h:166
uint8_t maxNumOfAntennas
maximum number of antennas supported by the controller
Definition: rtls_srv_api.h:184
int8_t * iSamples
list of I samples
Definition: rtls_srv_api.h:176
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:161
LE CTE Request Failed Event RTLSSRV_CTE_REQUEST_FAILED_EVT.
Definition: rtls_srv_api.h:190
RTLS Services passes messages in this format.
Definition: rtls_srv_api.h:215
uint8_t status
status
Definition: rtls_srv_api.h:192
bStatus_t RTLSSrv_init(uint8_t numOfRTLSConns)
Status_t bStatus_t
BLE Generic Status return.
Definition: bcomdef.h:238
uint8_t dataChIndex
index of data channel
Definition: rtls_srv_api.h:165
bStatus_t RTLSSrv_setConnCteResponseEnableCmd(uint16_t connHandle, uint8_t enable)
uint16_t errSrc
the command that caused the error
Definition: rtls_srv_api.h:200
uint8_t sampleRate
sample rate of frontend: 1Mhz, 2Mhz, 3Mhz, 4Mhz
Definition: rtls_srv_api.h:173
bStatus_t RTLSSrv_setCteSampleAccuracy(uint16_t connHandle, uint8_t sampleRate1M, uint8_t sampleSize1M, uint8_t sampleRate2M, uint8_t sampleSize2M)
uint8_t sampleSize
sample size: 8 or 16 bit samples
Definition: rtls_srv_api.h:174
uint8_t evtType
Type.
Definition: rtls_srv_api.h:217
uint8_t rssiAntenna
antenna ID
Definition: rtls_srv_api.h:167
int8_t * qSamples
list of Q samples
Definition: rtls_srv_api.h:177
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:219
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale