nrfxlib API 2.8.99
Loading...
Searching...
No Matches
SoftDevice Controller HCI Interface

Topics

 SoftDevice Controller HCI Interface for Controller & Baseband commands
 
 SoftDevice Controller HCI Interface for Informational parameters
 
 SoftDevice Controller HCI Interface for LE Controller commands
 
 SoftDevice Controller HCI Interface for Link Control commands
 
 SoftDevice Controller HCI Interface for Status parameters
 
 SoftDevice Controller HCI events
 

Macros

#define HCI_CMD_HEADER_SIZE   (3)
 The size of a command packet header.
 
#define HCI_DATA_HEADER_SIZE   (4)
 The size of a data packet header.
 
#define HCI_EVENT_HEADER_SIZE   (2)
 The size of an event packet header.
 
#define HCI_CMD_MAX_SIZE   (255)
 The maximum size of a command.
 
#define HCI_DATA_MAX_SIZE   (251)
 The maximum size of data.
 
#define HCI_EVENT_MAX_SIZE   (255)
 The maximum size of an event.
 
#define HCI_CMD_PACKET_MAX_SIZE   (HCI_CMD_MAX_SIZE + HCI_CMD_HEADER_SIZE)
 The maximum size of an HCI command packet.
 
#define HCI_DATA_PACKET_MAX_SIZE   (HCI_DATA_MAX_SIZE + HCI_DATA_HEADER_SIZE)
 The maximum size of an HCI data packet.
 
#define HCI_EVENT_PACKET_MAX_SIZE   (HCI_EVENT_MAX_SIZE + HCI_EVENT_HEADER_SIZE)
 The maximum size of an HCI event packet.
 
#define HCI_MSG_BUFFER_MAX_SIZE   HCI_CMD_PACKET_MAX_SIZE
 The maximum size of an HCI packet.
 
#define HCI_ISO_TX_SDU_ARRIVAL_MARGIN_US   1000
 The arrival margin in microseconds the controller needs to receive an ISO SDU before it can be sent on air.
 

Enumerations

enum  sdc_hci_msg_type_t { SDC_HCI_MSG_TYPE_DATA = 0x02 , SDC_HCI_MSG_TYPE_EVT = 0x04 , SDC_HCI_MSG_TYPE_ISO = 0x08 }
 

Functions

int32_t sdc_hci_data_put (uint8_t const *p_data_in)
 Send an HCI data packet to the SoftDevice Controller.
 
int32_t sdc_hci_iso_data_put (uint8_t const *p_data_in)
 Send an HCI ISO data packet to the SoftDevice Controller.
 
int32_t sdc_hci_get (uint8_t *p_packet_out, uint8_t *p_msg_type_out)
 Retrieve an HCI packet from the SoftDevice Controller.
 

Detailed Description

The SoftDevice Controller HCI APIs are used to send HCI commands/data and receive events/data to and from the SoftDevice Controller. The HCI packet format is described in the Bluetooth Core Specification, i.e. in Core v5. Vol 2, Part E. All APIs in this header file are expected to be called from the same execution priority as mpsl_low_priority_process. Not doing so will lead to undefined behavior.