25 #ifndef LCTR_INT_ADV_SLAVE_AE_H 26 #define LCTR_INT_ADV_SLAVE_AE_H 46 #define LCTR_AUX_PTR_MAX_OFFSET 0x3FFF 49 #define LCTR_AUX_OFFS_USED_PHY_SHIFT 13 52 #define LCTR_EXT_ADVB_LEN(ehLen, dLen) (LL_ADV_HDR_LEN + ehLen + dLen) 55 #define LCTR_EXT_HDR_CMN_LEN 1 58 #define LCTR_EXT_HDR_FLAG_LEN 1 61 #define LCTR_COMP_EXT_ADV_DATA_MAX_LEN 251 64 #define LCTR_GET_EXT_ADV_INDEX(pAdvSet) (pAdvSet - &pLctrAdvSetTbl[0]) 67 #define LCTR_GET_PER_RM_HANDLE(pAdvSet) (LL_MAX_CONN + LCTR_GET_EXT_ADV_INDEX(pAdvSet)) 288 uint8_t lctrSlvExtAdvBuildOp(
lctrAdvSet_t *pAdvSet, uint32_t maxStartMs);
289 void lctrSlvAuxNonConnNonScanBuildOp(
lctrAdvSet_t *pAdvSet);
293 uint8_t lctrSlvPeriodicAdvBuildOp(
lctrAdvSet_t *pAdvSet);
300 void lctrSlvTxSetupExtAdvHandler(
BbOpDesc_t *pOp, uint32_t txTime);
301 uint32_t lctrSlvTxSetupAuxAdvDataHandler(
BbOpDesc_t *pOp, bool_t isChainInd);
302 uint32_t lctrSlvTxSetupAuxScanRspDataHandler(
BbOpDesc_t *pOp, bool_t isChainInd);
303 bool_t lctrSlvRxAuxScanReqHandler(
BbOpDesc_t *pOp,
const uint8_t *pReqBuf);
304 void lctrSlvRxAuxScanReqPostProcessHandler(
BbOpDesc_t *pOp,
const uint8_t *pReqBuf);
305 void lctrSlvRxLegacyScanReqPostProcessHandler(
BbOpDesc_t *pOp,
const uint8_t *pReqBuf);
306 bool_t lctrSlvRxAuxConnReqHandler(
BbOpDesc_t *pOp,
const uint8_t *pReqBuf);
307 bool_t lctrSlvRxLegacyReqHandler(
BbOpDesc_t *pOp,
const uint8_t *pReqBuf);
308 void lctrSlvRxLegacyReqPostProcessHandler(
BbOpDesc_t *pOp,
const uint8_t *pReqBuf);
309 uint32_t lctrSlvTxSetupPeriodicAdvDataHandler(
BbOpDesc_t *pOp, bool_t isChainInd);
317 void lctrSlvPeriodicAdvEndOp(
BbOpDesc_t *pOp);
318 void lctrSlvPeriodicAdvAbortOp(
BbOpDesc_t *pOp);
327 void lctrExtAdvActDisallowAdvCnf(
lctrAdvSet_t *pAdvSet);
332 void lctrExtAdvActDurationExpired(
lctrAdvSet_t *pAdvSet);
335 void lctrPeriodicAdvActDisallowAdvCnf(
lctrAdvSet_t *pAdvSet);
337 void lctrPeriodicAdvActResetTerm(
lctrAdvSet_t *pAdvSet);
339 void lctrSlvAcadActChanMapUpdateStart(
lctrAdvSet_t *pAdvSet);
340 void lctrSlvAcadActChanMapUpdateFinish(
lctrAdvSet_t *pAdvSet);
342 void lctrSlvAcadActBigTerminated(
lctrAdvSet_t *pAdvSet);
345 uint32_t lctrGetPerRefTime(uint8_t perHandle, uint32_t *pDurUsec);
348 void lctrSlvExtAdvExecuteSm(
lctrAdvSet_t *pAdvSet, uint8_t event);
349 void lctrSlvPeriodicAdvExecuteSm(
lctrAdvSet_t *pAdvSet, uint8_t event);
350 void lctrSlvAcadExecuteSm(
lctrAdvSet_t *pAdvSet, uint8_t event);
353 void lctrSendAdvSetMsg(
lctrAdvSet_t *pAdvSet, uint8_t event);
354 void lctrSendPeriodicAdvSetMsg(
lctrAdvSet_t *pAdvSet, uint8_t event);
lmgrChanParam_t perChanParam
Extended advertising common header file.
BLE baseband interface file.
void(* lctrAcadBigHdlr_t)(uint8_t advHandle)
Call signature for slave ACAD BIG related function.
Slave extended advertising state context.
Link layer controller message data.
Periodic Advertising message data.
Periodic advertising parameters.
lctrAdvDataBuf_t perAdvData
uint32_t priAdvInterMaxUsec
Link layer controller advertising channel packet interface file.
uint32_t connIndEndTsUsec
lctrPerAdvParam_t perParam
Bluetooth Low Energy protocol specific operation parameters.
lctrAcadBigHdlr_t bigCreated
Extended Advertising message data.
lctrRemoveHdlr_t removeCback
#define LCTR_COMP_EXT_ADV_DATA_MAX_LEN
Maximum size of a single complete advertising data buffer.
uint32_t priAdvTermCntDownUsec
uint32_t auxSkipInterUsec
Advertising channel PDU header.
lctrAdvDataBuf_t scanRspData
#define LL_EXT_ADV_HDR_MAX_LEN
lctrAcadBigHdlr_t bigTerminated
uint32_t priAdvInterMinUsec
Link layer controller extended advertising slave interface file.
Advertising data buffer descriptor.
Baseband operation descriptor (BOD).
void(* lctrRemoveHdlr_t)(uint8_t advHandle)
Call signature for AdvSet Remove event handler.
#define LCTR_EXT_ADVB_LEN(ehLen, dLen)
Extended Advertising packet length.
BLE baseband interface file.
Link layer manager advertising extension interface file.
Extended advertising parameters.
Internal link layer controller interface file.
lctrAdvbPduHdr_t rspPduHdr