TI BLE5-Stack API Documentation  2.02.05.00
Data Structures | Macros | Typedefs | Enumerations | Functions
gap_scanner.h File Reference

Detailed Description

GAP Scanner layer interface.

Go to the source code of this file.

Data Structures

struct  GapScan_Evt_AdvRpt_t
 Event for advertising report. More...
 
struct  GapScan_Evt_End_t
 Event for scanning end. More...
 
struct  GapScan_Evt_PeriodicAdvRpt_t
 Periodic advertising report event structure. More...
 
struct  GapScan_Evt_PeriodicAdvSyncEst_t
 Periodic advertising sync establish event structure. More...
 
struct  GapScan_PeriodicAdvCreateSyncParams_t
 Periodic advertising create sync parameters structure. More...
 
struct  GapScan_PeriodicAdvEvt_t
 Command status and command complete event structure. More...
 
struct  GapScan_PeriodicAdvSyncLostEvt_t
 Sync Lost event struct. More...
 
struct  GapScan_ReadAdvSizeListEvt_t
 Read Advertisers list command complete structure. More...
 

Macros

#define SCAN_FLT_RSSI_ALL   SCAN_RSSI_MIN
 -128 dBm meaning 'accept all'
 
#define SCAN_FLT_RSSI_NONE   SCAN_RSSI_MAX
 127 dBm meaning 'don't accept any'
 
#define SCAN_PARAM_DFLT_FLT_DISC   SCAN_FLT_DISC_DISABLE
 Default setting for discoverable mode filter.
 
#define SCAN_PARAM_DFLT_FLT_DUP   SCAN_FLT_DUP_ENABLE
 Default setting for duplicate filter.
 
#define SCAN_PARAM_DFLT_FLT_PDU   SCAN_FLT_PDU_COMPLETE_ONLY
 Default setting for PDU type filter.
 
#define SCAN_PARAM_DFLT_FLT_POLICY   SCAN_FLT_POLICY_ALL
 Default filter policy.
 
#define SCAN_PARAM_DFLT_FLT_RSSI   SCAN_FLT_RSSI_ALL
 Default setting for minimum RSSI filter.
 
#define SCAN_PARAM_DFLT_INTERVAL   800
 Default scan interval (in 625 us ticks)
 
#define SCAN_PARAM_DFLT_NUM_ADV_RPT   0
 Default advertising report list size.
 
#define SCAN_PARAM_DFLT_PHYS   SCAN_PRIM_PHY_1M
 Default phys.
 
#define SCAN_PARAM_DFLT_RPT_FIELDS
 Default adv report fields to record. More...
 
#define SCAN_PARAM_DFLT_TYPE   SCAN_TYPE_PASSIVE
 Default scan type.
 
#define SCAN_PARAM_DFLT_WINDOW   800
 Default scan window (in 625 us ticks)
 
#define SCAN_PERIODIC_CTE_TYPE_ALL   0
 Sync with any CTE type.
 
#define SCAN_PERIODIC_DO_NOT_SYNC_AOA_CTE   1
 Do not sync to packets with AoA.
 
#define SCAN_PERIODIC_DO_NOT_SYNC_AOD_CTE_1US   2
 Do not sync to packets with 1us AoD.
 
#define SCAN_PERIODIC_DO_NOT_SYNC_AOD_CTE_2US   4
 Do not sync to packets with 2us AoD.
 
#define SCAN_PERIODIC_DO_NOT_USE_PERIODIC_ADV_LIST   (0 << 0)
 Scanner's option - Do not use periodic advertisers list.
 
#define SCAN_PERIODIC_MAX_ADV_SID   0x0F
 Maximum SID value.
 
#define SCAN_PERIODIC_REPORTING_INITIALLY_DISABLED   (1 << 1)
 Scanner's option - Periodic advertising reports initially disabled.
 
#define SCAN_PERIODIC_REPORTING_INITIALLY_ENABLED   (0 << 1)
 Scanner's option - Periodic advertising reports initially enabled.
 
#define SCAN_PERIODIC_SKIP_MAX   0x01F3
 Maximum skip value.
 
#define SCAN_PERIODIC_SYNC_ONLY_WITH_CTE   16
 Do not sync to packets without CTE.
 
#define SCAN_PERIODIC_SYNC_OPTIONS_MAX   0x03
 Maximum allowed in option field.
 
#define SCAN_PERIODIC_TIMEOUT_MAX   0x4000
 Maximum Synchronization timeout.
 
#define SCAN_PERIODIC_TIMEOUT_MIN   0x000A
 Minimum Synchronization timeout.
 
#define SCAN_PERIODIC_USE_PERIODIC_ADV_LIST   (1 << 0)
 Scanner's option - Use periodic advertisers list.
 
#define SCAN_RSSI_MAX   127
 Maximum RSSI value. 127 dBm.
 
#define SCAN_RSSI_MIN   -128
 Minimum RSSI value. -128 dBm.
 

Typedefs

typedef uint32_t GapScan_EventMask_t
 Event Mask.
 

Enumerations

enum  GapScan_AdvRptField_t {
  SCAN_ADVRPT_FLD_EVENTTYPE = BV( 0), SCAN_ADVRPT_FLD_ADDRTYPE = BV( 1), SCAN_ADVRPT_FLD_ADDRESS = BV( 2), SCAN_ADVRPT_FLD_PRIMPHY = BV( 3),
  SCAN_ADVRPT_FLD_SECPHY = BV( 4), SCAN_ADVRPT_FLD_ADVSID = BV( 5), SCAN_ADVRPT_FLD_TXPOWER = BV( 6), SCAN_ADVRPT_FLD_RSSI = BV( 7),
  SCAN_ADVRPT_FLD_DIRADDRTYPE = BV( 8), SCAN_ADVRPT_FLD_DIRADDRESS = BV( 9), SCAN_ADVRPT_FLD_PRDADVINTERVAL = BV(10), SCAN_ADVRPT_FLD_DATALEN = BV(11)
}
 Fields of Adv Report. More...
 
enum  GapScan_AdvRptTypeNStatus_t {
  ADV_RPT_EVT_TYPE_CONNECTABLE = AE_EVT_TYPE_CONN_ADV, ADV_RPT_EVT_TYPE_SCANNABLE = AE_EVT_TYPE_SCAN_ADV, ADV_RPT_EVT_TYPE_DIRECTED = AE_EVT_TYPE_DIR_ADV, ADV_RPT_EVT_TYPE_SCAN_RSP = AE_EVT_TYPE_SCAN_RSP,
  ADV_RPT_EVT_TYPE_LEGACY = AE_EVT_TYPE_LEGACY, ADV_RPT_EVT_STATUS_COMPLETE = AE_EVT_TYPE_COMPLETE, ADV_RPT_EVT_STATUS_MORE_DATA = AE_EVT_TYPE_INCOMPLETE_MORE_TO_COME, ADV_RPT_EVT_STATUS_TRUNCATED = AE_EVT_TYPE_INCOMPLETE_NO_MORE_TO_COME,
  ADV_RPT_EVT_STATUS_RFU = AE_EVT_TYPE_RFU
}
 Advertising report event types. More...
 
enum  GapScan_EndReason_t { SCAN_END_REASON_USR_REQ = 0, SCAN_END_REASON_DUR_EXP }
 Reason for GapScan_Evt_End_t. More...
 
enum  GapScan_FilterDiscMode_t {
  SCAN_FLT_DISC_NONE = 0, SCAN_FLT_DISC_GENERAL = 1, SCAN_FLT_DISC_LIMITED = 2, SCAN_FLT_DISC_ALL = 3,
  SCAN_FLT_DISC_DISABLE = 4
}
 Choices for GAP Scanner Discoverable Mode Filter. More...
 
enum  GapScan_FilterDuplicate_t { SCAN_FLT_DUP_DISABLE = 0, SCAN_FLT_DUP_ENABLE = 1, SCAN_FLT_DUP_RESET = 2 }
 Choices for GAP Scanner Duplicate Filter. More...
 
enum  GapScan_FilterPduType_t {
  SCAN_FLT_PDU_NONCONNECTABLE_ONLY = ADV_RPT_EVT_TYPE_CONNECTABLE, SCAN_FLT_PDU_CONNECTABLE_ONLY = ADV_RPT_EVT_TYPE_CONNECTABLE << 1, SCAN_FLT_PDU_NONSCANNABLE_ONLY = ADV_RPT_EVT_TYPE_SCANNABLE << 1, SCAN_FLT_PDU_SCANNABLE_ONLY = ADV_RPT_EVT_TYPE_SCANNABLE << 2,
  SCAN_FLT_PDU_UNDIRECTED_ONLY = ADV_RPT_EVT_TYPE_DIRECTED << 2, SCAN_FLT_PDU_DIRECTED_ONLY = ADV_RPT_EVT_TYPE_DIRECTED << 3, SCAN_FLT_PDU_ADV_ONLY = ADV_RPT_EVT_TYPE_SCAN_RSP << 3, SCAN_FLT_PDU_SCANRSP_ONLY = ADV_RPT_EVT_TYPE_SCAN_RSP << 4,
  SCAN_FLT_PDU_EXTENDED_ONLY = ADV_RPT_EVT_TYPE_LEGACY << 4, SCAN_FLT_PDU_LEGACY_ONLY = ADV_RPT_EVT_TYPE_LEGACY << 5, SCAN_FLT_PDU_TRUNCATED_ONLY = BV(10), SCAN_FLT_PDU_COMPLETE_ONLY = BV(11)
}
 PDU Types for PDU Type Filter. More...
 
enum  GapScan_FilterPolicy_t { SCAN_FLT_POLICY_ALL = 0, SCAN_FLT_POLICY_WL = 1, SCAN_FLT_POLICY_ALL_RPA = 2, SCAN_FLT_POLICY_WL_RPA = 3 }
 GAP Scanner Filter Policy. More...
 
enum  GapScan_ParamId_t {
  SCAN_PARAM_RPT_FIELDS, SCAN_PARAM_PRIM_PHYS, SCAN_PARAM_FLT_POLICY, SCAN_PARAM_FLT_PDU_TYPE,
  SCAN_PARAM_FLT_MIN_RSSI, SCAN_PARAM_FLT_DISC_MODE, SCAN_PARAM_FLT_DUP, SCAN_PARAM_NUM_ADV_RPT = SCAN_NUM_RW_PARAM
}
 
enum  GapScan_PrimPhy_t { SCAN_PRIM_PHY_1M = LL_PHY_1_MBPS, SCAN_PRIM_PHY_CODED = LL_PHY_CODED }
 GAP Scanner Primary PHY. More...
 
enum  GapScan_ScannedPhy_t { SCANNED_PHY_NONE = 0, SCANNED_PHY_1M = AE_PHY_1_MBPS, SCANNED_PHY_2M = AE_PHY_2_MBPS, SCANNED_PHY_CODED = AE_PHY_CODED }
 Scanned PHY. More...
 
enum  GapScan_ScanType_t { SCAN_TYPE_PASSIVE = LL_SCAN_PASSIVE, SCAN_TYPE_ACTIVE = LL_SCAN_ACTIVE }
 GAP Scanner Scan Type. More...
 

Functions

bStatus_t GapScan_AddDeviceToPeriodicAdvList (uint8 advAddrType, uint8 advAddress[6], uint8 advSID)
 
bStatus_t GapScan_ClearPeriodicAdvList (void)
 
status_t GapScan_disable (void)
 
status_t GapScan_discardAdvReportList (void)
 
status_t GapScan_enable (uint16_t period, uint16_t duration, uint8_t maxNumReport)
 
status_t GapScan_getAdvReport (uint8_t rptIdx, GapScan_Evt_AdvRpt_t *pAdvRpt)
 
status_t GapScan_getParam (GapScan_ParamId_t paramId, void *pValue, uint8_t *pLen)
 
status_t GapScan_getPhyParams (uint8_t primPhy, GapScan_ScanType_t *pType, uint16_t *pInterval, uint16_t *pWindow)
 
uint8_t GapScan_PeriodicAdvCreateSync (uint8 advSID, GapScan_PeriodicAdvCreateSyncParams_t *createSyncParams)
 
bStatus_t GapScan_PeriodicAdvCreateSyncCancel (void)
 
bStatus_t GapScan_PeriodicAdvTerminateSync (uint16 syncHandle)
 
hciStatus_t GapScan_ReadPeriodicAdvListSize (void)
 
status_t GapScan_registerCb (pfnGapCB_t cb, uintptr_t arg)
 
bStatus_t GapScan_RemoveDeviceFromPeriodicAdvList (uint8 advAddrType, uint8 advAddress[6], uint8 advSID)
 
void GapScan_setEventMask (GapScan_EventMask_t eventMask)
 
status_t GapScan_setParam (GapScan_ParamId_t paramId, void *pValue)
 
bStatus_t GapScan_SetPeriodicAdvReceiveEnable (uint16 syncHandle, uint8 enable)
 
status_t GapScan_setPhyParams (uint8_t primPhys, GapScan_ScanType_t type, uint16_t interval, uint16_t window)
 
© Copyright 1995-2022, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale