TI BLE5-Stack API Documentation  1.01.04.00
gap_advertiser.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  Group: WCS, BTS
4  $Target Device: DEVICES $
5 
6  ******************************************************************************
7  $License: TISD 2009 $
8  ******************************************************************************
9  $Release Name: PACKAGE NAME $
10  $Release Date: PACKAGE RELEASE DATE $
11  *****************************************************************************/
12 
22 #ifndef GAP_ADVERTISER_H
23 #define GAP_ADVERTISER_H
24 
25 #ifdef __cplusplus
26 extern "C"
27 {
28 #endif
29 
30 /*-------------------------------------------------------------------
31  * INCLUDES
32  */
33 #include "bcomdef.h"
34 #include "osal.h"
35 #include "gap.h"
36 
37 /*-------------------------------------------------------------------
38  * MACROS
39  */
40 
47 #define GAPADV_PARAMS_LEGACY_SCANN_CONN { \
49  .eventProps = GAP_ADV_PROP_CONNECTABLE | GAP_ADV_PROP_SCANNABLE | \
50  GAP_ADV_PROP_LEGACY, \
51  .primIntMin = 160, \
52  .primIntMax = 160, \
53  .primChanMap = GAP_ADV_CHAN_ALL, \
54  .peerAddrType = PEER_ADDRTYPE_PUBLIC_OR_PUBLIC_ID, \
55  .peerAddr = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa }, \
56  .filterPolicy = GAP_ADV_WL_POLICY_ANY_REQ, \
57  .txPower = GAP_ADV_TX_POWER_NO_PREFERENCE, \
58  .primPhy = GAP_ADV_PRIM_PHY_1_MBPS, \
59  .secPhy = GAP_ADV_SEC_PHY_1_MBPS, \
60  .sid = 0 \
61 }
62 
64 #define GAPADV_PARAMS_AE_LONG_RANGE_CONN { \
65  .eventProps = GAP_ADV_PROP_CONNECTABLE, \
66  .primIntMin = 160, \
67  .primIntMax = 160, \
68  .primChanMap = GAP_ADV_CHAN_ALL, \
69  .peerAddrType = PEER_ADDRTYPE_PUBLIC_OR_PUBLIC_ID, \
70  .peerAddr = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa }, \
71  .filterPolicy = GAP_ADV_WL_POLICY_ANY_REQ, \
72  .txPower = GAP_ADV_TX_POWER_NO_PREFERENCE, \
73  .primPhy = GAP_ADV_PRIM_PHY_CODED_S2, \
74  .secPhy = GAP_ADV_SEC_PHY_CODED_S2, \
75  .sid = 0 \
76 }
77 
80 /*-------------------------------------------------------------------
81  * CONSTANTS
82  */
83 
137 typedef enum
138 {
147 
158 
172 
184 
193 
202 
211 
227 
239 
251 
265 
267  GAP_ADV_PARAM_COUNT
277 #define GAP_ADV_INVALID_HANDLE 0xFF
279 
282 {
290 };
292 
294 typedef enum
295 {
299 
301 typedef enum
302 {
306 
311 
313 typedef enum
314 {
329 
331 typedef enum
332 {
333  GAP_ADV_CHAN_37 = BV(0),
334  GAP_ADV_CHAN_38 = BV(1),
335  GAP_ADV_CHAN_39 = BV(2),
340 
342 typedef enum
343 {
364 
366 #define GAP_ADV_TX_POWER_NO_PREFERENCE 127
367 
369 typedef enum
370 {
375 
377 typedef enum
378 {
384 
392 typedef enum
393 {
397  GAP_ADV_EVT_MASK_SCAN_REQ_NOTI = AE_NOTIFY_ENABLE_SCAN_REQUEST,
405  GAP_ADV_EVT_MASK_START_AFTER_ENABLE = AE_NOTIFY_ENABLE_ADV_SET_START,
409  GAP_ADV_EVT_MASK_START = AE_NOTIFY_ENABLE_ADV_START,
413  GAP_ADV_EVT_MASK_END = AE_NOTIFY_ENABLE_ADV_END,
417  GAP_ADV_EVT_MASK_END_AFTER_DISABLE = AE_NOTIFY_ENABLE_ADV_SET_END,
428 
431  GAP_ADV_EVT_MASK_RESERVED = BV(15)
434 
437 /*-------------------------------------------------------------------
438  * Structures
439  */
440 
453 typedef struct
454 {
455  uint16_t eventProps;
456  uint32_t primIntMin;
457  uint32_t primIntMax;
460  uint8_t peerAddr[B_ADDR_LEN];
461  GapAdv_filterPolicy_t filterPolicy;
462  int8_t txPower;
465  uint8_t sid;
467 
468 
470 typedef struct
471 {
472  uint8 handle;
473  uint8 status;
474  uint16 connHandle;
477 
479 typedef struct
480 {
481  uint8 handle;
482  uint8 scanAddrType;
483  uint8 scanAddr[B_ADDR_LEN];
484  uint8 channel;
485  int8 rssi;
487 
489 typedef struct
490 {
491  uint8 handle;
493 
496  uint16 advDataLen;
498 
501 /*-------------------------------------------------------------------
502  * FUNCTIONS - Advertising
503  */
504 
531 extern bStatus_t GapAdv_create(pfnGapCB_t *cb, GapAdv_params_t *advParam,
532  uint8 *advHandle);
533 
554 extern bStatus_t GapAdv_destroy(uint8 handle,
555  GapAdv_freeBufferOptions_t freeOptions);
556 
591 extern bStatus_t GapAdv_enable(uint8 handle,
592  GapAdv_enableOptions_t enableOptions,
593  uint16 durationOrMaxEvents);
594 
612 extern bStatus_t GapAdv_disable(uint8 handle);
613 
630 extern bStatus_t GapAdv_setEventMask(uint8 handle, GapAdv_eventMaskFlags_t mask);
631 
650 extern bStatus_t GapAdv_setParam(uint8 handle, GapAdv_ParamId_t paramID,
651  void *pValue);
652 
672 extern bStatus_t GapAdv_getParam(uint8 handle, GapAdv_ParamId_t paramID,
673  void *pValue, uint8_t *pLen);
674 
692 extern bStatus_t GapAdv_getBuffer(uint8 handle, GapAdv_dataTypes_t dataType,
693  uint16 *pLen, uint8 **ppBuf);
694 
754  GapAdv_freeBufferOptions_t freeOptions);
755 
800 bStatus_t GapAdv_loadByHandle(uint8 handle, GapAdv_dataTypes_t dataType,
801  uint16 len, uint8 *pBuf);
802 
841 extern bStatus_t GapAdv_prepareLoadByBuffer(uint8 *pBuf, bool freeOldData);
842 
873 extern bStatus_t GapAdv_loadByBuffer(uint16 len, uint8 *pBuf);
874 
883 extern bStatus_t GapAdv_abortLoad(void);
884 
885 /*-------------------------------------------------------------------
886 -------------------------------------------------------------------*/
887 
888 #ifdef __cplusplus
889 }
890 #endif
891 
892 #endif /* GAP_ADVERTISER_H */
893 
Omit advertiser's address from PDU's.
Definition: gap_advertiser.h:288
uint32_t primIntMax
GAP_ADV_PARAM_PRIMARY_INTERVAL_MAX
Definition: gap_advertiser.h:457
This API allows the software components in the Z-Stack to be written independently of the specifics o...
All Channels.
Definition: gap_advertiser.h:336
GAP_Peer_Addr_Types_t
Address types used for specifying peer address type.
Definition: gap.h:588
coded-s2
Definition: gap_advertiser.h:373
bStatus_t GapAdv_setParam(uint8 handle, GapAdv_ParamId_t paramID, void *pValue)
bStatus_t GapAdv_getParam(uint8 handle, GapAdv_ParamId_t paramID, void *pValue, uint8_t *pLen)
Definition: gap_advertiser.h:264
uint32_t primIntMin
GAP_ADV_PARAM_PRIMARY_INTERVAL_MIN
Definition: gap_advertiser.h:456
bStatus_t GapAdv_prepareLoadByHandle(uint8 handle, GapAdv_freeBufferOptions_t freeOptions)
GapAdv_freeBufferOptions_t
Possible free options for Gap Advertiser API's.
Definition: gap_advertiser.h:301
Definition: gap_advertiser.h:421
1 mbps
Definition: gap_advertiser.h:371
Definition: gap_advertiser.h:201
bStatus_t GapAdv_loadByHandle(uint8 handle, GapAdv_dataTypes_t dataType, uint16 len, uint8 *pBuf)
Definition: gap_advertiser.h:289
Directed advertising.
Definition: gap_advertiser.h:285
bStatus_t GapAdv_abortLoad(void)
Definition: gap_advertiser.h:409
bStatus_t GapAdv_enable(uint8 handle, GapAdv_enableOptions_t enableOptions, uint16 durationOrMaxEvents)
Data type returned with GAP_EVT_ADV_DATA_TRUNCATED event.
Definition: gap_advertiser.h:489
int8 rssi
RSSI of the scan req.
Definition: gap_advertiser.h:485
Scannable advertising.
Definition: gap_advertiser.h:284
uint16_t eventProps
GAP_ADV_PARAM_PROPS
Definition: gap_advertiser.h:455
Free the scan response data.
Definition: gap_advertiser.h:305
uint8 channel
Channel when the scan req was received.
Definition: gap_advertiser.h:484
GapAdv_enableOptions_t
Enable options for GapAdv_enable.
Definition: gap_advertiser.h:313
Definition: gap_advertiser.h:397
GapAdv_ParamId_t
Definition: gap_advertiser.h:137
Definition: gap_advertiser.h:348
1 mbps
Definition: gap_advertiser.h:379
uint8 handle
Advertising handle.
Definition: gap_advertiser.h:472
Don't free anything.
Definition: gap_advertiser.h:303
Definition: gap_advertiser.h:250
bStatus_t GapAdv_disable(uint8 handle)
Disable an active advertising set.
void(* pfnGapCB_t)(uint32_t event, void *pBuf, uintptr_t arg)
Definition: gap.h:1170
uint8 handle
Advertising handle.
Definition: gap_advertiser.h:491
Definition: gap_advertiser.h:210
GapAdv_secondaryPHY_t secPhy
GAP_ADV_PARAM_SECONDARY_PHY
Definition: gap_advertiser.h:464
2 mbps
Definition: gap_advertiser.h:380
Scan response data.
Definition: gap_advertiser.h:297
bStatus_t GapAdv_setEventMask(uint8 handle, GapAdv_eventMaskFlags_t mask)
GapAdv_secondaryPHY_t
Gap Advertiser Options for advertising on the secondary PHY.
Definition: gap_advertiser.h:377
bStatus_t GapAdv_create(pfnGapCB_t *cb, GapAdv_params_t *advParam, uint8 *advHandle)
Definition: gap_advertiser.h:417
Definition: gap_advertiser.h:309
Definition: gap_advertiser.h:226
GapAdv_advChannels_t
GAP Advertiser Defines for Advertiser Channels.
Definition: gap_advertiser.h:331
Definition: gap_advertiser.h:171
GAP_Peer_Addr_Types_t peerAddrType
GAP_ADV_PARAM_PEER_ADDRESS_TYPE
Definition: gap_advertiser.h:459
GapAdv_eventMaskFlags_t
Definition: gap_advertiser.h:392
Advertising data.
Definition: gap_advertiser.h:296
GapAdv_primaryPHY_t
Gap Advertiser Options for advertising on the primary PHY.
Definition: gap_advertiser.h:369
Definition: gap_advertiser.h:327
Type definitions and macros for BLE stack.
Channel 37.
Definition: gap_advertiser.h:333
Definition: gap_advertiser.h:157
Connectable advertising.
Definition: gap_advertiser.h:283
Free the advertising data.
Definition: gap_advertiser.h:304
Definition: gap_advertiser.h:323
bStatus_t GapAdv_getBuffer(uint8 handle, GapAdv_dataTypes_t dataType, uint16 *pLen, uint8 **ppBuf)
coded-s2
Definition: gap_advertiser.h:382
Definition: gap_advertiser.h:238
Definition: gap_advertiser.h:358
Definition: gap_advertiser.h:405
uint16 connHandle
Connection handle that ended advertising.
Definition: gap_advertiser.h:474
GAP layer interface.
Definition: gap_advertiser.h:401
coded-s8
Definition: gap_advertiser.h:381
GapAdv_filterPolicy_t filterPolicy
GAP_ADV_PARAM_FILTER_POLICY
Definition: gap_advertiser.h:461
GapAdv_advChannels_t primChanMap
GAP_ADV_PARAM_PRIMARY_CHANNEL_MAP
Definition: gap_advertiser.h:458
Use legacy advertising PDU's.
Definition: gap_advertiser.h:287
GapAdv_dataTypes_t
Gap Advertising Data Types.
Definition: gap_advertiser.h:294
Definition: gap_advertiser.h:319
uint8 scanAddrType
Address type of scanning device.
Definition: gap_advertiser.h:482
uint16 advDataLen
Definition: gap_advertiser.h:496
int8_t txPower
NOT CURRENTLY IMPLEMENTED.
Definition: gap_advertiser.h:462
Data type returned with GAP_EVT_ADV_SET_TERMINATED event.
Definition: gap_advertiser.h:470
#define B_ADDR_LEN
Default Public and Random Address Length.
Definition: bcomdef.h:115
Definition: gap_advertiser.h:146
Definition: gap_advertiser.h:453
Definition: gap_advertiser.h:413
High Duty Cycle Directed Advertising.
Definition: gap_advertiser.h:286
Definition: gap_advertiser.h:353
Status_t bStatus_t
BLE Generic Status return.
Definition: bcomdef.h:242
Definition: gap_advertiser.h:362
Definition: gap_advertiser.h:192
GapAdv_filterPolicy_t
GAP Advertiser White List Policy.
Definition: gap_advertiser.h:342
bStatus_t GapAdv_prepareLoadByBuffer(uint8 *pBuf, bool freeOldData)
bStatus_t GapAdv_loadByBuffer(uint16 len, uint8 *pBuf)
Channel 39.
Definition: gap_advertiser.h:335
bStatus_t GapAdv_destroy(uint8 handle, GapAdv_freeBufferOptions_t freeOptions)
uint8 handle
Advertising handle.
Definition: gap_advertiser.h:481
GapAdv_eventProps_t
GAP Advertising Event Param Properties.
Definition: gap_advertiser.h:281
coded-s8
Definition: gap_advertiser.h:372
Data type returned with GAP_EVT_SCAN_REQ_RECEIVED event.
Definition: gap_advertiser.h:479
Channel 38.
Definition: gap_advertiser.h:334
GapAdv_primaryPHY_t primPhy
GAP_ADV_PARAM_PRIMARY_PHY
Definition: gap_advertiser.h:463
uint8_t sid
GAP_ADV_PARAM_SID
Definition: gap_advertiser.h:465
uint8 status
TODO.
Definition: gap_advertiser.h:473
uint8 numCompAdvEvts
Number of completed advertising events.
Definition: gap_advertiser.h:475
Definition: gap_advertiser.h:183
uint8 availAdvDataLen
How many bytes of the advertising data were sent.
Definition: gap_advertiser.h:492
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale