nrfxlib API 3.3.99
Loading...
Searching...
No Matches
SoftDevice Controller API

Topics

 Integer values for errno
 
 Memory requirement defines
 
 SoftDevice Controller HCI Interface
 
 SoftDevice Controller SoC Interface
 
 SoftDevice Controller Vendor Specific HCI Interface
 

Data Structures

struct  sdc_cfg_role_count_t
 Role count. More...
 
struct  sdc_cfg_buffer_cfg_t
 Buffer configuration. More...
 
struct  sdc_cfg_buffer_count_t
 Buffer count configuration. More...
 
struct  sdc_cfg_adv_buffer_cfg_t
 
struct  sdc_cfg_periodic_adv_rsp_buffer_cfg_t
 
struct  sdc_cfg_iso_buffer_cfg_t
 
struct  sdc_cfg_cs_cfg_t
 
union  sdc_cfg_t
 SoftDevice Controller configuration.
More...
 

Macros

#define SDC_DEFAULT_RESOURCE_CFG_TAG   0
 Default resource configuration tag.
 
#define SDC_DEFAULT_ADV_COUNT   1
 Default maximum number of concurrent advertisers.
 
#define SDC_DEFAULT_PERIODIC_ADV_COUNT   0
 Default maximum number of concurrent periodic advertisers.
 
#define SDC_DEFAULT_PERIODIC_SYNC_COUNT   0
 Default maximum number of concurrent synchronizations to periodic advertisers.
 
#define SDC_DEFAULT_PERIODIC_ADV_RSP_COUNT   0
 Default maximum number of concurrent periodic advertisers with responses.
 
#define SDC_DEFAULT_PERIODIC_ADV_RSP_TX_BUFFER_COUNT   1
 Default number of buffers for subevent data.
 
#define SDC_DEFAULT_PERIODIC_ADV_RSP_MAX_TX_DATA   73
 Default maximum data size for subevent data.
 
#define SDC_DEFAULT_PERIODIC_ADV_RSP_RX_BUFFER_COUNT   0
 Default number of buffers for response reports.
 
#define SDC_DEFAULT_PERIODIC_SYNC_RSP_TX_BUFFER_COUNT   1
 Default number of buffers for response data.
 
#define SDC_DEFAULT_PERIPHERAL_COUNT   1
 Default maximum number of concurrent peripheral links.
 
#define SDC_DEFAULT_CENTRAL_COUNT   1
 Default maximum number of concurrent central links.
 
#define SDC_DEFAULT_TX_PACKET_SIZE   27
 Default maximum Link Layer TX packet size.
 
#define SDC_DEFAULT_RX_PACKET_SIZE   27
 Default maximum Link Layer RX packet size.
 
#define SDC_DEFAULT_TX_PACKET_COUNT   3
 Default maximum Link Layer TX packet count per connection.
 
#define SDC_DEFAULT_RX_PACKET_COUNT   2
 Default maximum Link Layer RX packet count per connection.
 
#define SDC_DEFAULT_FAL_SIZE   8
 Default maximum size of the Filter Accept List.
 
#define SDC_DEFAULT_SCAN_BUFFER_COUNT   3
 Default maximum number of advertising reports available in the scanner.
 
#define SDC_DEFAULT_PERIODIC_SYNC_BUFFER_COUNT   2
 Default maximum number of periodic advertising reports available.
 
#define SDC_DEFAULT_ADV_BUF_SIZE   31
 Default advertising data size when legacy advertising is supported.
 
#define SDC_DEFAULT_PERIODIC_ADV_LIST_SIZE   0
 Default number of devices that can be added to the periodic advertiser list.
 
#define SDC_DEFAULT_CIG_COUNT   0
 Default maximum number of concurrent Connected Isochronous Groups.
 
#define SDC_DEFAULT_CIS_COUNT   0
 Default maximum number of concurrent Connected Isochronous Streams.
 
#define SDC_DEFAULT_BIG_COUNT   0
 Default maximum number of concurrent Broadcast Isochronous Groups.
 
#define SDC_DEFAULT_BIS_SINK_COUNT   0
 Default maximum number of concurrent Sink Broadcast Isochronous Streams.
 
#define SDC_DEFAULT_BIS_SOURCE_COUNT   0
 Default maximum number of concurrent Source Broadcast Isochronous Streams.
 
#define SDC_DEFAULT_ISO_RX_PDU_BUFFER_PER_STREAM_COUNT   0
 Default ISO RX PDU buffer per stream count.
 
#define SDC_DEFAULT_ISO_RX_SDU_BUFFER_COUNT   0
 Default ISO RX SDU buffer count.
 
#define SDC_DEFAULT_ISO_RX_SDU_BUFFER_SIZE   251
 Default ISO RX SDU buffer size.
 
#define SDC_DEFAULT_ISO_TX_SDU_BUFFER_COUNT   0
 Default ISO SDU TX buffer count.
 
#define SDC_DEFAULT_ISO_TX_SDU_BUFFER_SIZE   247
 Default ISO SDU TX buffer size.
 
#define SDC_DEFAULT_ISO_TX_PDU_BUFFER_PER_STREAM_COUNT   0
 Default ISO TX PDU buffer per stream count.
 
#define SDC_DEFAULT_CS_COUNT   0
 Default maximum number of concurrent connections supporting Channel Sounding procedure.
 
#define SDC_DEFAULT_CS_MAX_ANTENNA_PATHS_SUPPORTED   1
 Default maximum number of antenna paths supported in Channel Sounding.
 
#define SDC_DEFAULT_CS_NUM_ANTENNAS_SUPPORTED   1
 Default number of antennas supported by the local device in Channel Sounding.
 
#define SDC_DEFAULT_EXTENDED_FEATURE_PAGE_COUNT   10
 Default number of extended feature pages that can be stored in the controller.
 
#define SDC_BUILD_REVISION_SIZE   20
 Size of build revision array in bytes.
 

Typedefs

typedef void(* sdc_fault_handler_t) (const char *file, const uint32_t line)
 Function prototype for the assertion handler.
 
typedef void(* sdc_callback_t) (void)
 Function prototype for the SoftDevice Controller callback.
 
typedef void(* sdc_cs_antenna_switch_callback_t) (uint8_t antenna_index)
 Function prototype for antenna switching callback in Channel Sounding.
 

Enumerations

enum  sdc_cfg_type {
  SDC_CFG_TYPE_NONE = 0 , SDC_CFG_TYPE_CENTRAL_COUNT , SDC_CFG_TYPE_PERIPHERAL_COUNT , SDC_CFG_TYPE_BUFFER_CFG ,
  SDC_CFG_TYPE_ADV_COUNT , SDC_CFG_TYPE_SCAN_BUFFER_CFG , SDC_CFG_TYPE_ADV_BUFFER_CFG , SDC_CFG_TYPE_FAL_SIZE ,
  SDC_CFG_TYPE_PERIODIC_ADV_COUNT , SDC_CFG_TYPE_PERIODIC_SYNC_COUNT , SDC_CFG_TYPE_PERIODIC_SYNC_BUFFER_CFG , SDC_CFG_TYPE_PERIODIC_ADV_LIST_SIZE ,
  SDC_CFG_TYPE_PERIODIC_ADV_RSP_COUNT , SDC_CFG_TYPE_PERIODIC_ADV_RSP_BUFFER_CFG , SDC_CFG_TYPE_PERIODIC_ADV_RSP_FAILURE_REPORTING_CFG , SDC_CFG_TYPE_PERIODIC_SYNC_RSP_TX_BUFFER_CFG ,
  SDC_CFG_TYPE_CIG_COUNT , SDC_CFG_TYPE_CIS_COUNT , SDC_CFG_TYPE_BIG_COUNT , SDC_CFG_TYPE_BIS_SINK_COUNT ,
  SDC_CFG_TYPE_BIS_SOURCE_COUNT , SDC_CFG_TYPE_ISO_BUFFER_CFG , SDC_CFG_TYPE_CS_COUNT , SDC_CFG_TYPE_CS_CFG ,
  SDC_CFG_TYPE_EXTENDED_FEATURE_PAGE_COUNT
}
 

Functions

int32_t sdc_init (sdc_fault_handler_t fault_handler)
 Initialize the SoftDevice Controller.
 
int32_t sdc_cfg_set (uint8_t config_tag, uint8_t config_type, sdc_cfg_t const *p_resource_cfg)
 Change or add a SoftDevice Controller configuration.
 
int32_t sdc_enable (sdc_callback_t callback, uint8_t *p_mem)
 Enable the SoftDevice Controller.
 
int32_t sdc_disable (void)
 Disable the SoftDevice Controller.
 
int32_t sdc_build_revision_get (uint8_t *p_build_revision)
 Obtain build revision string.
 
void sdc_iso_host_timestamps_ignore (bool ignore)
 Configure the controller to ignore HCI ISO data timestamps from the host.
 
int32_t sdc_default_tx_power_set (int8_t requested_power_level)
 Support for setting the default radio TX power level.
 
void sdc_cs_antenna_switch_callback_set (sdc_cs_antenna_switch_callback_t antenna_switch_cb)
 Set antenna switch callback used by Channel Sounding.
 
void sdc_use_global_channel_map_on_connection (void)
 Use global channel map during connection setup.
 
int32_t sdc_support_helper (void(*sdc_support_func)(void))
 Helper function that can be used for sdc_support_* APIs call.
 
void sdc_support_adv (void)
 Support Advertising State.
 
void sdc_support_ext_adv (void)
 Support extended advertising.
 
void sdc_support_peripheral (void)
 Support Peripheral role.
 
void sdc_support_scan (void)
 Support Scanning state.
 
void sdc_support_ext_scan (void)
 Support scanning for extended advertising PDUs.
 
void sdc_support_central (void)
 Support Scanner, Initiator, and Central role.
 
void sdc_support_ext_central (void)
 Support Extended Scanner, Extended Initiator, and Central role.
 
void sdc_support_parallel_scanning_and_initiating (void)
 Support for scanning and initiating at the same time.
 
void sdc_support_le_power_class_1 (void)
 Support LE Power Class 1.
 
void sdc_support_dle_central (void)
 Support Data Length Extensions for a central device.
 
void sdc_support_dle_peripheral (void)
 Support Data Length Extensions for a peripheral device.
 
void sdc_support_le_2m_phy (void)
 Support LE 2M PHY.
 
void sdc_support_le_coded_phy (void)
 Support LE Coded PHY.
 
void sdc_support_phy_update_central (void)
 Support PHY Update Procedure for central role.
 
void sdc_support_phy_update_peripheral (void)
 Support LE Coded PHY for peripheral role.
 
void sdc_support_le_periodic_adv (void)
 Support LE Periodic Advertising in the Advertising state.
 
void sdc_support_le_periodic_sync (void)
 Support LE Periodic Advertising in the Synchronization state.
 
void sdc_support_le_periodic_adv_with_rsp (void)
 Support LE Periodic Advertising with Responses in the Advertising state.
 
void sdc_support_le_periodic_sync_with_rsp (void)
 Support LE Periodic Advertising with Responses in the Synchronization state.
 
void sdc_support_le_power_control_central (void)
 Support LE Power Control for central role.
 
void sdc_support_le_power_control_peripheral (void)
 Support LE Power Control for peripheral role.
 
void sdc_support_le_path_loss_monitoring (void)
 Support LE Path Loss Monitoring.
 
void sdc_support_sca_central (void)
 Support Sleep Clock Accuracy (SCA) Update procedure for central role.
 
void sdc_support_sca_peripheral (void)
 Support Sleep Clock Accuracy (SCA) Update procedure for peripheral role.
 
void sdc_support_le_conn_cte_rsp_central (void)
 Support LE Connection CTE response for central role.
 
void sdc_support_le_conn_cte_rsp_peripheral (void)
 Support LE Connection CTE response for peripheral role.
 
void sdc_support_le_connectionless_cte_transmitter (void)
 Support LE Connectionless CTE Transmitter.
 
void sdc_support_le_privacy (void)
 Support LE Privacy.
 
void sdc_support_periodic_adv_sync_transfer_sender_central (void)
 Support for sending periodic advertising sync transfers as central role.
 
void sdc_support_periodic_adv_sync_transfer_sender_peripheral (void)
 Support for sending periodic advertising sync transfers as peripheral role.
 
void sdc_support_periodic_adv_sync_transfer_receiver_central (void)
 Support for receiving periodic advertising sync transfers as central role.
 
void sdc_support_periodic_adv_sync_transfer_receiver_peripheral (void)
 Support for receiving periodic advertising sync transfers as peripheral role.
 
void sdc_support_cis_peripheral (void)
 Support Connected Isochronous streams in the peripheral role.
 
void sdc_support_cis_central (void)
 Support Connected Isochronous streams in the central role.
 
void sdc_support_bis_source (void)
 Support Broadcast Isochronous streams as a source.
 
void sdc_support_bis_sink (void)
 Support Broadcast Isochronous streams as a sink.
 
void sdc_support_qos_channel_survey (void)
 Support for Quality of Service (QoS) channel survey module.
 
void sdc_support_connection_subrating_central (void)
 Support Connection Subrating for central role.
 
void sdc_support_connection_subrating_peripheral (void)
 Support Connection Subrating for peripheral role.
 
void sdc_support_extended_feature_set (void)
 Support Extended Feature Set.
 
void sdc_support_extended_feature_set_central (void)
 Support Extended Feature Set as Central.
 
void sdc_support_extended_feature_set_peripheral (void)
 Support Extended Feature Set as Peripheral.
 
void sdc_support_frame_space_update_central (void)
 Support Frame Space Update for central role.
 
void sdc_support_frame_space_update_peripheral (void)
 Support Frame Space Update for peripheral role.
 
void sdc_support_lowest_frame_space (void)
 Enable support for the lowest frame space possible for ACL connections.
 
void sdc_support_shorter_connection_intervals_central (void)
 Support Shorter Connection Intervals for central role.
 
void sdc_support_shorter_connection_intervals_peripheral (void)
 Support Shorter Connection Intervals for peripheral role.
 
void sdc_support_channel_sounding_test (void)
 Support Channel Sounding test command.
 
void sdc_support_channel_sounding_mode3 (void)
 Support Channel Sounding Step Mode 3.
 
void sdc_support_channel_sounding_initiator_role (void)
 Support Channel Sounding Initiator role.
 
void sdc_support_channel_sounding_initiator_role_central (void)
 Support Channel Sounding Initiator role as Central.
 
void sdc_support_channel_sounding_initiator_role_peripheral (void)
 Support Channel Sounding Initiator role as Peripheral.
 
void sdc_support_channel_sounding_reflector_role (void)
 Support Channel Sounding Reflector role.
 
void sdc_support_channel_sounding_reflector_role_central (void)
 Support Channel Sounding Reflector role as Central.
 
void sdc_support_channel_sounding_reflector_role_peripheral (void)
 Support Channel Sounding Reflector role as Peripheral.
 
void sdc_support_direct_test_mode (void)
 Support Direct Test Mode.
 
void sdc_support_flushable_acl_data (void)
 Support Flushable ACL Data.
 

Detailed Description

The main APIs needed to configure, enable, and use the SoftDevice Controller.