Internal BLE baseband interface file. More...
#include "bb_ble_api.h"
#include "bb_ble_api_op.h"
#include "pal_bb_ble.h"
#include "pal_bb.h"
#include "ll_defs.h"
#include "wsf_assert.h"
#include "wsf_math.h"
#include "cfg_mac_ble.h"
Go to the source code of this file.
Data Structures | |
struct | bbBleCtrlBlk_t |
BB control block. More... | |
Macros | |
#define | BB_ADVB_MAX_LEN WSF_MAX(BB_FIXED_ADVB_PKT_LEN, LL_ADVB_MAX_LEN) |
Maximum length of an advertising packet. More... | |
#define | BB_ISR_START() bbIsrStartTime = PalBbGetCurrentTime() |
Mark the start of an ISR. More... | |
#define | BB_ISR_MARK(x) x = WSF_MAX(x, PalBbGetCurrentTime() - bbIsrStartTime) |
Mark the ISR duration, recording the high watermark. More... | |
Typedefs | |
typedef void(* | bbBleExecOpFn_t) (BbOpDesc_t *pBod, BbBleData_t *pBle) |
Execution operation function. More... | |
Enumerations |
Functions | |
void | bbBleRegisterOp (uint8_t opType, bbBleExecOpFn_t execOpCback, bbBleExecOpFn_t cancelOpCback) |
Register operation handlers. More... | |
static void | bbBleClrIfs (void) |
Clear IFS in operation. More... | |
static void | bbBleSetTifs (void) |
Set TIFS in operation. More... | |
static void | bbBleSetAbsIfs (uint32_t ifsTime, PalBbBleChan_t *pIfsChan) |
Set absolute time IFS in operation. More... | |
Internal BLE baseband interface file.
Copyright (c) 2013-2019 Arm Ltd. All Rights Reserved.
Copyright (c) 2019-2020 Packetcraft, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Definition in file bb_ble_int.h.
#define BB_ADVB_MAX_LEN WSF_MAX(BB_FIXED_ADVB_PKT_LEN, LL_ADVB_MAX_LEN) |
Maximum length of an advertising packet.
Definition at line 46 of file bb_ble_int.h.
#define BB_ISR_MARK | ( | x | ) | x = WSF_MAX(x, PalBbGetCurrentTime() - bbIsrStartTime) |
Mark the ISR duration, recording the high watermark.
Definition at line 52 of file bb_ble_int.h.
#define BB_ISR_START | ( | ) | bbIsrStartTime = PalBbGetCurrentTime() |
Mark the start of an ISR.
Definition at line 49 of file bb_ble_int.h.
typedef void(* bbBleExecOpFn_t) (BbOpDesc_t *pBod, BbBleData_t *pBle) |
Execution operation function.
Definition at line 77 of file bb_ble_int.h.
anonymous enum |
Event states for advertising operations.
Definition at line 55 of file bb_ble_int.h.
anonymous enum |
Event states for scanning operations.
Definition at line 64 of file bb_ble_int.h.
|
static |
Clear IFS in operation.
The BB may choose not to enable IFS after the next Tx or Rx.
Definition at line 135 of file bb_ble_int.h.
void bbBleRegisterOp | ( | uint8_t | opType, |
bbBleExecOpFn_t | execOpCback, | ||
bbBleExecOpFn_t | cancelOpCback | ||
) |
Register operation handlers.
opType | Operation type. |
execOpCback | Execute operation callback. |
cancelOpCback | Cancel operation callback. |
|
static |
Set absolute time IFS in operation.
ifsTime | Due time of the next PDU. |
pIfsChan | Channel of the next PDU. |
The BB must enable IFS with absolute time after the next Tx or Rx.
Definition at line 165 of file bb_ble_int.h.
|
static |
Set TIFS in operation.
The BB must enable TIFS after the next Tx or Rx.
Definition at line 149 of file bb_ble_int.h.