diff --git a/softdevice_controller/CHANGELOG.rst b/softdevice_controller/CHANGELOG.rst index b377754886..e995e95bbb 100644 --- a/softdevice_controller/CHANGELOG.rst +++ b/softdevice_controller/CHANGELOG.rst @@ -9,6 +9,14 @@ Changelog All the notable changes to this project are documented on this page. +Main branch +*********** + +Changes +======= + +* The CIS or BIS sink now generate lost SDUs immediately when scheduling conflicts occur instead of after receiving the next valid SDU. (DRGN-24062) + nRF Connect SDK v2.9.0 ********************** @@ -16,6 +24,18 @@ Added ===== * Production support for scanning and initiating at the same time. (DRGN-23824) +* :ref:`Experimental ` support for Channel Sounding step mode-3. +* :ref:`Experimental ` support for Channel Sounding multiple antenna elements. +* :ref:`Experimental ` support for the following Channel Sounding HCI commands: + + * LE CS Write Cached Remote Supported Capabilities + * LE CS Write Cached Remote FAE Table + * LE CS Remove Config + +Changes +======= + +* The vendor-specific Set Connection Event Trigger HCI command has been removed. (DRGN-23981) Bug fixes ========= @@ -25,6 +45,7 @@ Bug fixes The issue would only happen when the scanner received a long extended advertising packet that did not fit into a single advertising report and the scanning was stopped explicitly or through a timeout. (DRGN-23966) * Fixed an issue where the CIS TX Power was set according to the LE Power Control state of the previous CIS in a CIG. (DRGN-21721) * Fixed an issue where the BIS receiver running with FEM could enable the radio at the wrong time, causing the receiver to drop packets and lose sync. (DRGN-23891) +* Fixed an issue where the controller would raise Number Of Completed Packets events for a disconnected CIS. (DRGN-23869) nRF Connect SDK v2.8.0 ********************** diff --git a/softdevice_controller/doc/channel_sounding.rst b/softdevice_controller/doc/channel_sounding.rst index 20cdb2c358..b96f2b0ed1 100644 --- a/softdevice_controller/doc/channel_sounding.rst +++ b/softdevice_controller/doc/channel_sounding.rst @@ -11,37 +11,128 @@ LE Channel Sounding (CS) is a feature defined in the `Bluetooth Core Specificati CS allows two devices in a connection to perform measurements of their communication channel, both the round trip time (RTT), and the phase and magnitude (as in-phase and quadrature (IQ) values) can be measured. The RTT and IQ values can then be sent to an application to calculate the distance between devices. +Support status +************** + Channel Sounding currently has :ref:`Experimental ` support in the |controller| for the nRF54L15 SoC. CS can be enabled by building with the :kconfig:option:`CONFIG_BT_CTLR_CHANNEL_SOUNDING` Kconfig option enabled. -Developing with CS -****************** - -Currently, the :zephyr:code-sample:`bluetooth_hci_uart` sample is recommended to get started with Channel Sounding. -Build the sample with the following command to enable the CS feature: +Command support +--------------- -.. code-block:: console - - west build -b nrf54l15dk/nrf54l15/cpuapp --pristine -- -DCONFIG_BT_CTLR_CHANNEL_SOUNDING=y - -You can use the sample to run the following supported HCI commands over UART: +The following LE CS commands are supported: * LE CS Read Local Supported Capabilities * LE CS Read Remote Supported Capabilities + * LE CS Write Cached Remote Supported Capabilities * LE CS Security Enable * LE CS Set Default Settings * LE CS Read Remote FAE Table + * LE CS Write Cached Remote FAE Table * LE CS Create Config + * LE CS Remove Config * LE CS Set Channel Classification * LE CS Set Procedure Parameters * LE CS Procedure Enable * LE CS Test * LE CS Test End -Experimental Limitations -************************ +Supported capabilities +---------------------- + +The |controller| currently has the following supported capabilities: + + * One CS Configuration per ACL connection. + * Indefinite Procedure Repeats. + * Four Antennas and Four Antenna Paths. + * CS Reflector and CS Initiator Roles. + * Step modes 1, 2, and 3. + * 150 ns time-of-flight precision + * RTT with AA-only and 32, 64, 96, and 128 bits random payloads + * 1M and 2M CS Sync Phy + * No Transmitter Frequency Actuation Error + +The supported timing values for the |controller| are as follows: + + * A T_IP1 of 60 µs or greater. + * A T_IP2 of 30 µs or greater. + * A T_FCS of 60 µs or greater. + * A T_PM of 10 µs or greater. + * A T_SW of 10 µs. + +Multiple antennas support +------------------------- + +Currently, the |controller| supports multiple antennas with a fixed pinout for the multi-antenna switch. +In order to use the |controller| with multiple antennas, an external GPIO controlled multi-antenna switch needs to be set up with the following truth table: + +.. list-table:: Antenna control for multi-antenna switching. + :widths: 30 5 5 5 5 + :header-rows: 1 + + * - Active Antenna: + - **P1.11** + - **P1.12** + - **P1.13** + - **P1.14** + * - Antenna 1 + - 1 + - 0 + - 0 + - 0 + * - Antenna 2 + - 0 + - 1 + - 0 + - 0 + * - Antenna 3 + - 0 + - 0 + - 1 + - 0 + * - Antenna 4 + - 0 + - 0 + - 0 + - 1 + +.. note:: + Currently, the |controller| needs a maximum of 4 µs to trigger an antenna switch within the T_SW period. + This means that any multi-antenna switch with the correct pinout must switch within 6 µs to maintain 10 µs T_SW. + +Experimental limitations +------------------------ Currently, the following limitations apply to the :ref:`Experimental ` support of Channel Sounding: * :ref:`radio coexistence ` and :ref:`front-end modules ` are not supported. * Only one subevent per event is supported in CS. + +Developing with CS +****************** + +The following samples are recommended for getting started with Channel Sounding: + +1. Using the Ranging Service samples: + + * :ref:`Bluetooth: Channel Sounding Initiator with Ranging Requestor `. + * :ref:`Bluetooth: Channel Sounding Reflector with Ranging Responder `. + +2. Using the :zephyr:code-sample:`bluetooth_hci_uart` sample and running HCI commands over UART. + +.. note:: + To build the :zephyr:code-sample:`bluetooth_hci_uart` sample with Channel Sounding enabled, set :kconfig:option:`CONFIG_BT_CTLR_CHANNEL_SOUNDING` to ``y``. + + .. code-block:: console + + west build -b nrf54l15dk/nrf54l15/cpuapp --pristine -- -DCONFIG_BT_CTLR_CHANNEL_SOUNDING=y + +Optional CS Kconfigs +-------------------- + +Use the following Kconfig options to enable the desired optional CS features: + + * Set :kconfig:option:`BT_CTLR_SDC_CS_STEP_MODE3` to ``y`` to enable Channel Sounding step mode-3 support. + + * Set :kconfig:option:`BT_CTLR_SDC_CS_MAX_ANTENNA_PATHS` to a value between ``2`` and ``4`` to enable Channel Sounding multiple antenna paths support. + * Set :kconfig:option:`BT_CTLR_SDC_CS_NUM_ANTENNAS` to a value between ``2`` and :kconfig:option:`BT_CTLR_SDC_CS_MAX_ANTENNA_PATHS` to enable Channel Sounding multiple antennas support. diff --git a/softdevice_controller/include/sdc.h b/softdevice_controller/include/sdc.h index d5bd6de362..886f1da921 100644 --- a/softdevice_controller/include/sdc.h +++ b/softdevice_controller/include/sdc.h @@ -160,8 +160,8 @@ extern "C" { */ /** @brief Auxiliary defines, not to be used outside of this file. */ -#define __MEM_MINIMAL_CENTRAL_LINK_SIZE 811 -#define __MEM_MINIMAL_PERIPHERAL_LINK_SIZE 915 +#define __MEM_MINIMAL_CENTRAL_LINK_SIZE 795 +#define __MEM_MINIMAL_PERIPHERAL_LINK_SIZE 891 #define __MEM_TX_BUFFER_OVERHEAD_SIZE 14 #define __MEM_RX_BUFFER_OVERHEAD_SIZE 14 @@ -194,7 +194,7 @@ extern "C" { __MEM_ADDITIONAL_LINK_SIZE(tx_size, rx_size, tx_count, rx_count)) /** Maximum shared memory required for central links. */ -#define SDC_MEM_CENTRAL_LINKS_SHARED 17 +#define SDC_MEM_CENTRAL_LINKS_SHARED 21 /** Maximum shared memory required for peripheral links. */ #define SDC_MEM_PERIPHERAL_LINKS_SHARED 17 @@ -209,7 +209,7 @@ extern "C" { * * @param[in] num_links Total number of peripheral and central links supported. */ -#define SDC_MEM_SUBRATING(num_links) (11 + (num_links) * 19) +#define SDC_MEM_SUBRATING(num_links) ((num_links) > 0 ? (12 + (num_links) * 20) : 0) /** @brief Maximum memory required when supporting periodic advertising sync transfer. * @@ -285,7 +285,6 @@ extern "C" { #define __MEM_MINIMAL_PERIODIC_ADV_RSP_SET_SIZE_WITHOUT_RX (166) #define __MEM_FOR_PERIODIC_ADV_RSP_FAILURE_REPORTING (224) #define __MEM_PER_ISO_PDU_POOL(count) ((count) > 0 ? (16 + (count) * 288) : 0) -#define __MEM_PER_ISO_TX_HCI_BUFFER(count) ((count) > 0 ? (12 + (count) * 300) : 0) /** Memory required per periodic advertising with responses set. * @@ -307,7 +306,7 @@ extern "C" { #define SDC_MEM_PER_CIG(count) ((count) > 0 ? (13 + (count) * 123) : 0) /** @brief Maximum memory required per CIS. Buffer and CIG memory comes in addition. */ -#define SDC_MEM_PER_CIS(count) ((count) > 0 ? (13 + (count) * 548) : 0) +#define SDC_MEM_PER_CIS(count) ((count) > 0 ? (13 + (count) * 556) : 0) /** @brief Maximum memory required per BIG. */ #define SDC_MEM_PER_BIG(count) ((count) > 0 ? (13 + (count) * 284) : 0) @@ -352,7 +351,7 @@ extern "C" { * * @param[in] count Total number of links (central + peripheral). */ -#define SDC_MEM_CS_SETUP_PHASE_LINKS(count) ((count) > 0 ? (11 + (count)*339) : 0) +#define SDC_MEM_CS_SETUP_PHASE_LINKS(count) ((count) > 0 ? (11 + (count) * 359) : 0) /** @} end of sdc_mem_defines */ @@ -561,6 +560,7 @@ typedef struct bool step_mode3_supported; } sdc_cfg_cs_cfg_t; + /** @brief SoftDevice Controller configuration. */ typedef union { diff --git a/softdevice_controller/include/sdc_hci_cmd_le.h b/softdevice_controller/include/sdc_hci_cmd_le.h index b4ee0dd5ad..f09195da7e 100644 --- a/softdevice_controller/include/sdc_hci_cmd_le.h +++ b/softdevice_controller/include/sdc_hci_cmd_le.h @@ -249,6 +249,8 @@ enum sdc_hci_opcode_le SDC_HCI_OPCODE_CMD_LE_SET_DEFAULT_SUBRATE = 0x207d, /** @brief See @ref sdc_hci_cmd_le_subrate_request(). */ SDC_HCI_OPCODE_CMD_LE_SUBRATE_REQUEST = 0x207e, + /** @brief See @ref sdc_hci_cmd_le_set_ext_adv_params_v2(). */ + SDC_HCI_OPCODE_CMD_LE_SET_EXT_ADV_PARAMS_V2 = 0x207f, /** @brief See @ref sdc_hci_cmd_le_set_periodic_adv_subevent_data(). */ SDC_HCI_OPCODE_CMD_LE_SET_PERIODIC_ADV_SUBEVENT_DATA = 0x2082, /** @brief See @ref sdc_hci_cmd_le_set_periodic_adv_response_data(). */ @@ -298,8 +300,12 @@ enum sdc_hci_subevent_le SDC_HCI_SUBEVENT_LE_DIRECTED_ADV_REPORT = 0x0b, /** @brief See @ref sdc_hci_subevent_le_ext_adv_report_t. */ SDC_HCI_SUBEVENT_LE_EXT_ADV_REPORT = 0x0d, + /** @brief See @ref sdc_hci_subevent_le_cis_established_t. */ + SDC_HCI_SUBEVENT_LE_CIS_ESTABLISHED = 0x19, /** @brief See @ref sdc_hci_subevent_le_subrate_change_t. */ SDC_HCI_SUBEVENT_LE_SUBRATE_CHANGE = 0x23, + /** @brief See @ref sdc_hci_subevent_le_cis_established_v2_t. */ + SDC_HCI_SUBEVENT_LE_CIS_ESTABLISHED_V2 = 0x2a, /** @brief See @ref sdc_hci_subevent_le_cs_read_remote_supported_capabilities_complete_t. */ SDC_HCI_SUBEVENT_LE_CS_READ_REMOTE_SUPPORTED_CAPABILITIES_COMPLETE = 0x2c, /** @brief See @ref sdc_hci_subevent_le_cs_read_remote_fae_table_complete_t. */ @@ -823,6 +829,60 @@ typedef struct __PACKED __ALIGN(1) uint8_t reports[]; } sdc_hci_subevent_le_ext_adv_report_t; +/** @brief LE CIS Established. + * + * The description below is extracted from Core_v6.0, + * Vol 4, Part E, Section 7.7.65.25 + * + * The HCI_LE_CIS_Established event indicates that a CIS has been established, + * was considered lost before being established, or—on the Central—was rejected + * by the Peripheral. It is generated by the Controller in the Central and Peripheral. + * The Connection_Handle parameter shall be set to the value provided in the + * HCI_LE_Create_CIS command on the Central and in the HCI_LE_CIS_Request event + * on the Peripheral. + * + * The CIG_Sync_Delay parameter is the maximum time, in microseconds, for + * transmission of PDUs of all CISes in a CIG event (see [Vol 6] Part B, Section 4.5.14.1). + * + * The CIS_Sync_Delay parameter is the maximum time, in microseconds, for + * transmission of PDUs of the specified CIS in a CIG event (see [Vol 6] Part B, + * Section 4.5.14.1). + * + * The Transport_Latency_C_To_P and Transport_Latency_P_To_C parameters are the + * actual transport latencies, in microseconds, as described in [Vol 6] Part G, Section 3.2.1 + * and [Vol 6] Part G, Section 3.2.2. + * + * The PHY_C_To_P parameter indicates the PHY selected for packets from the Central to + * Peripheral. + * The PHY_P_To_C parameter indicates the PHY selected for packets from the + * Peripheral to Central. + * + * The remaining parameters are the corresponding parameters of the CIS (see [Vol 6] + * Part B, Section 4.5.13.1). + * + * If this event is generated on the Peripheral with a non-zero status, the Controller shall + * delete the Connection_Handle and any associated ISO data paths. + */ +typedef struct __PACKED __ALIGN(1) +{ + uint8_t status; + uint16_t conn_handle; + uint32_t cig_sync_delay : 24; + uint32_t cis_sync_delay : 24; + uint32_t transport_latency_c_to_p : 24; + uint32_t transport_latency_p_to_c : 24; + uint8_t phy_c_to_p; + uint8_t phy_p_to_c; + uint8_t nse; + uint8_t bn_c_to_p; + uint8_t bn_p_to_c; + uint8_t ft_c_to_p; + uint8_t ft_p_to_c; + uint16_t max_pdu_c_to_p; + uint16_t max_pdu_p_to_c; + uint16_t iso_interval; +} sdc_hci_subevent_le_cis_established_t; + /** @brief LE Subrate Change. * * The description below is extracted from Core_v6.0, @@ -848,6 +908,66 @@ typedef struct __PACKED __ALIGN(1) uint16_t supervision_timeout; } sdc_hci_subevent_le_subrate_change_t; +/** @brief LE CIS Established v2. + * + * The description below is extracted from Core_v6.0, + * Vol 4, Part E, Section 7.7.65.25 + * + * The HCI_LE_CIS_Established event indicates that a CIS has been established, + * was considered lost before being established, or—on the Central—was rejected + * by the Peripheral. It is generated by the Controller in the Central and Peripheral. + * The Connection_Handle parameter shall be set to the value provided in the + * HCI_LE_Create_CIS command on the Central and in the HCI_LE_CIS_Request event + * on the Peripheral. + * + * The CIG_Sync_Delay parameter is the maximum time, in microseconds, for + * transmission of PDUs of all CISes in a CIG event (see [Vol 6] Part B, Section 4.5.14.1). + * + * The CIS_Sync_Delay parameter is the maximum time, in microseconds, for + * transmission of PDUs of the specified CIS in a CIG event (see [Vol 6] Part B, + * Section 4.5.14.1). + * + * The Transport_Latency_C_To_P and Transport_Latency_P_To_C parameters are the + * actual transport latencies, in microseconds, as described in [Vol 6] Part G, Section 3.2.1 + * and [Vol 6] Part G, Section 3.2.2. + * + * The PHY_C_To_P parameter indicates the PHY selected for packets from the Central to + * Peripheral. + * The PHY_P_To_C parameter indicates the PHY selected for packets from the + * Peripheral to Central. + * + * The remaining parameters are the corresponding parameters of the CIS (see [Vol 6] + * Part B, Section 4.5.13.1). + * + * If this event is generated on the Peripheral with a non-zero status, the Controller shall + * delete the Connection_Handle and any associated ISO data paths. + */ +typedef struct __PACKED __ALIGN(1) +{ + uint8_t status; + uint16_t conn_handle; + uint32_t cig_sync_delay : 24; + uint32_t cis_sync_delay : 24; + uint32_t transport_latency_c_to_p : 24; + uint32_t transport_latency_p_to_c : 24; + uint8_t phy_c_to_p; + uint8_t phy_p_to_c; + uint8_t nse; + uint8_t bn_c_to_p; + uint8_t bn_p_to_c; + uint8_t ft_c_to_p; + uint8_t ft_p_to_c; + uint16_t max_pdu_c_to_p; + uint16_t max_pdu_p_to_c; + uint16_t iso_interval; + uint32_t sub_interval : 24; + uint16_t max_sdu_c_to_p; + uint16_t max_sdu_p_to_c; + uint32_t sdu_interval_c_to_p : 24; + uint32_t sdu_interval_p_to_c : 24; + uint8_t framing; +} sdc_hci_subevent_le_cis_established_v2_t; + /** @brief LE CS Read Remote Supported Capabilities Complete. * * The description below is extracted from Core_v6.0, @@ -2283,6 +2403,37 @@ typedef struct __PACKED __ALIGN(1) uint16_t supervision_timeout; } sdc_hci_cmd_le_subrate_request_t; +/** @brief LE Set Extended Advertising Parameters [v2] command parameter(s). */ +typedef struct __PACKED __ALIGN(1) +{ + uint8_t adv_handle; + union __PACKED __ALIGN(1) { + sdc_hci_le_adv_event_properties_params_t params; + uint8_t raw[2]; + } adv_event_properties; + uint32_t primary_adv_interval_min : 24; + uint32_t primary_adv_interval_max : 24; + uint8_t primary_adv_channel_map; + uint8_t own_address_type; + uint8_t peer_address_type; + uint8_t peer_address[6]; + uint8_t adv_filter_policy; + int8_t adv_tx_power; + uint8_t primary_adv_phy; + uint8_t secondary_adv_max_skip; + uint8_t secondary_adv_phy; + uint8_t adv_sid; + uint8_t scan_request_notification_enable; + uint8_t primary_adv_phy_options; + uint8_t secondary_adv_phy_options; +} sdc_hci_cmd_le_set_ext_adv_params_v2_t; + +/** @brief LE Set Extended Advertising Parameters [v2] return parameter(s). */ +typedef struct __PACKED __ALIGN(1) +{ + int8_t selected_tx_power; +} sdc_hci_cmd_le_set_ext_adv_params_v2_return_t; + /** @brief LE Set Periodic Advertising Subevent Data command parameter(s). */ typedef struct __PACKED __ALIGN(1) { @@ -7866,6 +8017,193 @@ uint8_t sdc_hci_cmd_le_set_default_subrate(const sdc_hci_cmd_le_set_default_subr */ uint8_t sdc_hci_cmd_le_subrate_request(const sdc_hci_cmd_le_subrate_request_t * p_params); +/** @brief LE Set Extended Advertising Parameters [v2]. + * + * The description below is extracted from Core_v6.0, + * Vol 4, Part E, Section 7.8.53 + * + * The HCI_LE_Set_Extended_Advertising_Parameters command is used by the Host to + * set the advertising parameters. + * The Advertising_Handle parameter identifies the advertising set whose parameters are + * being configured. + * + * The Advertising_Event_Properties parameter describes the type of advertising event + * that is being configured and its basic properties. The type shall be one supported by the + * Controller. In particular, the following restrictions apply to this parameter: + * + * • If legacy advertising PDU types are being used, then the parameter value shall be + * one of those specified in Table 7.3. If the advertising set already contains data, the + * type shall be one that supports advertising data and the amount of data shall not + * exceed 31 octets. + * + * Advertising + * Event Advertising + * Event Type PDU Type Properties Data + * + * Connectable and scannable ADV_IND 0b00010011 Supported + * undirected + * + * Connectable directed ADV_DIRECT_IND 0b00010101 Not allowed + * (low duty cycle) + * + * Connectable directed ADV_DIRECT_IND 0b00011101 Not allowed + * (high duty cycle) + * + * Scannable undirected ADV_SCAN_IND 0b00010010 Supported + * + * Non-connectable and non- ADV_NONCONN_IND 0b00010000 Supported + * scannable undirected + * + * Table 7.3: Advertising_Event_Properties values for legacy PDUs + * + * • If extended advertising PDU types are being used (bit 4 = 0), then the advertisement + * shall not be both connectable and scannable (bits 0 and 1 must not both be set to 1) + * and high duty cycle directed connectable advertising (≤ 3.75 ms advertising interval) + * shall not be used (bit 3 = 0). + * + * If the Advertising_Event_Properties parameter does not describe an event type + * supported by the Controller, contains an invalid bit combination, or specifies a type + * that does not support advertising data when the advertising set already contains some, + * the Controller shall return the error code Invalid HCI Command Parameters (0x12). + * + * The Own_Address_Type parameter shall be ignored for undirected anonymous + * advertising (bit 2 = 0 and bit 5 = 1). + * + * If Directed advertising is selected, the Peer_Address_Type and Peer_Address shall be + * valid and the Advertising_Filter_Policy parameter shall be ignored. + * + * The Primary_Advertising_Interval_Min parameter shall be less than or equal to the + * Primary_Advertising_Interval_Max parameter. The Primary_Advertising_Interval_Min + * and Primary_Advertising_Interval_Max parameters should not be the same value so + * that the Controller can choose the best advertising interval given other activities. + * + * For high duty cycle connectable directed advertising event type (ADV_DIRECT_IND), + * the Primary_Advertising_Interval_Min and Primary_Advertising_Interval_Max + * parameters are not used and shall be ignored. + * + * If the primary advertising interval range provided by the Host + * (Primary_Advertising_Interval_Min, Primary_Advertising_Interval_Max) does not + * overlap with the advertising interval range supported by the Controller, then the + * Controller shall return the error code Unsupported Feature or Parameter Value (0x11). + * + * The Primary_Advertising_Channel_Map is a bit field that indicates the advertising + * channel indices that shall be used when transmitting advertising packets. At least one + * channel bit shall be set in the Primary_Advertising_Channel_Map parameter. + * + * The Own_Address_Type parameter specifies the type of address being used in + * the advertising packets. For random addresses, the address is specified by the + * HCI_LE_Set_Advertising_Set_Random_Address command. + * + * If Own_Address_Type equals 0x02 or 0x03, the Peer_Address parameter contains + * the peer’s Identity Address and the Peer_Address_Type parameter contains the + * peer’s Identity Type (i.e., 0x00 or 0x01). These parameters are used to locate the + * corresponding local IRK in the resolving list; this IRK is used to generate their own + * address used in the advertisement. + * + * The Advertising_TX_Power parameter indicates the maximum power level at which the + * advertising packets are to be transmitted on the advertising physical channels. The + * Controller shall choose a power level lower than or equal to the one specified by the + * Host. + * + * The Primary_Advertising_PHY parameter indicates the PHY on which the advertising + * packets are transmitted on the primary advertising physical channel. If legacy + * advertising PDUs are being used, the Primary_Advertising_PHY shall indicate the LE + * 1M PHY. The Secondary_Advertising_PHY parameter indicates the PHY on which the + * advertising packets are be transmitted on the secondary advertising physical channel. + * If the Host specifies a PHY that is not supported by the Controller, including a value + * that is reserved for future use, it should return the error code Unsupported Feature or + * Parameter Value (0x11). If Constant Tone Extensions are enabled for the advertising set + * and Secondary_Advertising_PHY specifies a PHY that does not allow Constant Tone + * Extensions, the Controller shall return the error code Command Disallowed (0x0C). + * + * If the Primary_Advertising_PHY indicates the LE Coded PHY, then the + * Primary_Advertising_PHY_Options shall indicate the Host's preference or requirement + * concerning coding scheme. Otherwise, Primary_Advertising_PHY_Options shall + * be ignored. If the Secondary_Advertising_PHY indicates the LE Coded PHY, + * then the Secondary_Advertising_PHY_Options shall indicate the Host's preference + * or requirement concerning coding scheme (including for periodic advertising). + * Otherwise, Secondary_Advertising_PHY_Options shall be ignored. If the Host + * specifies that it requires a specific coding (i.e., value 0x03 or 0x04) in the + * Primary_Advertising_PHY_Options or Secondary_Advertising_PHY_Options and the + * Controller supports the LE Feature (Advertising Coding Selection) but is currently + * unable to provide all the required settings, then the Controller shall return the error + * code Command Disallowed (0x0C). + * + * The Secondary_Advertising_Max_Skip parameter is the maximum number of + * advertising events that can be skipped before the AUX_ADV_IND can be sent. + * + * The Advertising_SID parameter specifies the value to be transmitted in the Advertising + * SID subfield of the ADI field of the Extended Header of those advertising physical + * channel PDUs that have an ADI field. If the advertising set only uses PDUs that do not + * contain an ADI field, Advertising_SID shall be ignored. + * + * The Scan_Request_Notification_Enable parameter indicates whether the Controller + * shall send notifications upon the receipt of a scan request PDU that is in response + * to an advertisement from the specified advertising set that contains its device address + * and is from a scanner that is allowed by the advertising filter policy. + * + * The Controller shall set the Selected_TX_Power parameter to the transmit power that + * it will use for transmitting the advertising packets for the specified advertising set. The + * Controller shall only change this value if requested by the Host. If the radiated power + * level will vary between packets (e.g., because of frequency-dependent properties of the + * transmitter) then the value should be the best estimate of the maximum power used. + * + * If the Host issues this command when advertising is enabled for the specified + * advertising set, the Controller shall return the error code Command Disallowed (0x0C). + * + * If the Host issues this command when periodic advertising is enabled for the specified + * advertising set and connectable, scannable, legacy, or anonymous advertising is + * specified, the Controller shall return the error code Invalid HCI Command Parameters + * (0x12). + * + * If periodic advertising is enabled for the advertising set and the + * Secondary_Advertising_PHY parameter does not specify the PHY currently being + * used for the periodic advertising, the Controller shall return the error code Command + * Disallowed (0x0C). + * + * If the Advertising_Handle does not identify an existing advertising set and the Controller + * is unable to support a new advertising set at present, the Controller shall return the error + * code Memory Capacity Exceeded (0x07). + * + * If the advertising set already contains advertising data or scan response data, extended + * advertising is being used, and the length of the data is greater than the maximum that + * the Controller can transmit within the longest possible auxiliary advertising segment + * consistent with the parameters, the Controller shall return the error code Packet Too + * Long (0x45). If advertising on the LE Coded PHY, the S=8 coding shall be assumed + * unless the current advertising parameters require the use of S=2 for an advertising + * physical channel, in which case the S=2 coding shall be assumed for that advertising + * physical channel. + * + * If the Controller does not support the LE Feature (Advertising Coding + * Selection) and the Host does not set both Primary_Advertising_PHY_Options and + * Secondary_Advertising_PHY_Options to zero, the Controller shall return the error code + * Unsupported Feature or Parameter Value (0x11). + * + * Missing parameters: + * + * When a version of this command is issued that does not include all the + * parameters, the following values shall be used: + * + * Parameter Value + * + * Primary_Advertising_PHY_Options 0x00 + * + * Secondary_Advertising_PHY_Options 0x00 + * + * Event(s) generated (unless masked away): + * When the HCI_LE_Set_Extended_Advertising_Parameters command has + * completed, an HCI_Command_Complete event shall be generated. + * + * @param[in] p_params Input parameters. + * @param[out] p_return Extra return parameters. + * + * @retval 0 if success. + * @return Returns value between 0x01-0xFF in case of error. + * See Vol 2, Part D, Error for a list of error codes and descriptions. + */ +uint8_t sdc_hci_cmd_le_set_ext_adv_params_v2(const sdc_hci_cmd_le_set_ext_adv_params_v2_t * p_params, + sdc_hci_cmd_le_set_ext_adv_params_v2_return_t * p_return); + /** @brief LE Set Periodic Advertising Subevent Data. * * The description below is extracted from Core_v6.0, diff --git a/softdevice_controller/include/sdc_hci_vs.h b/softdevice_controller/include/sdc_hci_vs.h index f3fc347ac1..9d69988680 100644 --- a/softdevice_controller/include/sdc_hci_vs.h +++ b/softdevice_controller/include/sdc_hci_vs.h @@ -83,8 +83,6 @@ enum sdc_hci_opcode_vs SDC_HCI_OPCODE_CMD_VS_READ_AVERAGE_RSSI = 0xfd11, /** @brief See @ref sdc_hci_cmd_vs_central_acl_event_spacing_set(). */ SDC_HCI_OPCODE_CMD_VS_CENTRAL_ACL_EVENT_SPACING_SET = 0xfd12, - /** @brief See @ref sdc_hci_cmd_vs_set_conn_event_trigger(). */ - SDC_HCI_OPCODE_CMD_VS_SET_CONN_EVENT_TRIGGER = 0xfd13, /** @brief See @ref sdc_hci_cmd_vs_get_next_conn_event_counter(). */ SDC_HCI_OPCODE_CMD_VS_GET_NEXT_CONN_EVENT_COUNTER = 0xfd14, /** @brief See @ref sdc_hci_cmd_vs_allow_parallel_connection_establishments(). */ @@ -122,21 +120,6 @@ enum sdc_hci_subevent_vs SDC_HCI_SUBEVENT_VS_CONN_ANCHOR_POINT_UPDATE_REPORT = 0x82, }; -/** @brief Connection Event Trigger Role Selection. */ -enum sdc_hci_vs_conn_event_trigger_role -{ - /** @brief Unused. */ - SDC_HCI_VS_CONN_EVENT_TRIGGER_ROLE_UNUSED = 0x00, - /** @brief Connection event trigger for the Scanner. */ - SDC_HCI_VS_CONN_EVENT_TRIGGER_ROLE_SCAN = 0x01, - /** @brief Connection event trigger for the Initiator. */ - SDC_HCI_VS_CONN_EVENT_TRIGGER_ROLE_INIT = 0x02, - /** @brief Connection event trigger for connections (Central or Peripheral). */ - SDC_HCI_VS_CONN_EVENT_TRIGGER_ROLE_CONN = 0x03, - /** @brief Connection event trigger for the Advertiser. */ - SDC_HCI_VS_CONN_EVENT_TRIGGER_ROLE_ADV = 0x04, -}; - /** @brief Peripheral latency disable/enable modes. */ enum sdc_hci_vs_peripheral_latency_mode { @@ -628,30 +611,6 @@ typedef struct __PACKED __ALIGN(1) uint32_t central_acl_event_spacing_us; } sdc_hci_cmd_vs_central_acl_event_spacing_set_t; -/** @brief Set Connection Event Trigger command parameter(s). */ -typedef struct __PACKED __ALIGN(1) -{ - /** @brief Connection handle to set up trigger for. In case @ref - * sdc_hci_vs_conn_event_trigger_role specifies the Scanner or Initiator, this parameter - * is ignored. - */ - uint16_t conn_handle; - /** @brief Selected role to set triggers for. See @ref sdc_hci_vs_conn_event_trigger_role. */ - uint8_t role; - /** @brief (D)PPI channel to use. This channel should be regarded as reserved until the - * connection event (D)PPI task triggering is stopped. - */ - uint8_t ppi_ch_id; - /** @brief Task Endpoint to trigger. If this is 0, then the connection event triggering feature - * is disabled. - */ - uint32_t task_endpoint; - /** @brief Connection event counter when the task end point triggering should start. */ - uint16_t conn_evt_counter_start; - /** @brief The period in events between triggering of the task end point. */ - uint16_t period_in_events; -} sdc_hci_cmd_vs_set_conn_event_trigger_t; - /** @brief Get Next Connection Event Counter command parameter(s). */ typedef struct __PACKED __ALIGN(1) { @@ -1374,56 +1333,6 @@ uint8_t sdc_hci_cmd_vs_read_average_rssi(const sdc_hci_cmd_vs_read_average_rssi_ */ uint8_t sdc_hci_cmd_vs_central_acl_event_spacing_set(const sdc_hci_cmd_vs_central_acl_event_spacing_set_t * p_params); -/** @brief Set Connection Event Trigger. - * - * Start triggering a given task on radio event start. - * - * When enabled, this feature will trigger a (D)PPI task at the start of radio events. - * - * When used for connections, the connection event trigger can be configured to trigger - * every N connection events starting from a given connection event counter. - * - * Disabling scanning, removing the advertising set, or disconnecting the connection will reset the - * connection event trigger configuration. - * - * If the selected (D)PPI channel is reserved by the controller, the controller will - * return the error code Invalid HCI Command Parameters (0x12). - * - * If enabling/disabling the connection event trigger and the trigger is already - * enabled/disabled, the controller will return the error code Command Disallowed (0x0C). - * - * If the role is 0x1, 0x2, or 0x4, and the role is not currently active, - * the controller will return the error code Command Disallowed (0x0C). - * - * If the role is 0x3 and conn_handle does not refer to an active connection, the controller - * will return the error code Unknown Connection Identifier (0x02). - * - * If the role is 0x4 and legacy advertising is used, conn_handle must be set to 0. - * If extended advertising is used, conn_handle must refer to an active advertising set. - * Otherwise, the controller will return the error code Unknown Advertising Identifier (0x42). - * - * If the role is 0x3 and conn_evt_counter_start has already passed, the controller will return - * the error code Command Disallowed (0x0C). - * - * If the role is 0x3 and period_in_events is zero, the controller will return the error code - * Invalid HCI Command Parameters (0x12). - * - * If the role is 0x1, 0x2, or 0x4 and conn_evt_counter_start or period_in_events is non-zero, - * the controller will return the error code Invalid HCI Command Parameters (0x12). - * - * After HCI Reset, this feature is disabled. - * - * Event(s) generated (unless masked away): - * When the command has completed, an HCI_Command_Complete event shall be generated. - * - * @param[in] p_params Input parameters. - * - * @retval 0 if success. - * @return Returns value between 0x01-0xFF in case of error. - * See Vol 2, Part D, Error for a list of error codes and descriptions. - */ -uint8_t sdc_hci_cmd_vs_set_conn_event_trigger(const sdc_hci_cmd_vs_set_conn_event_trigger_t * p_params); - /** @brief Get Next Connection Event Counter. * * This command can be used to fetch the upcoming connection event counter value for Centrals or diff --git a/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_central.a b/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_central.a index 0471fc82db..8f9b00d291 100644 Binary files a/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_central.a and b/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_central.a differ diff --git a/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_multirole.a index bdc8b6d331..8eb9ac0357 100644 Binary files a/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_peripheral.a b/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_peripheral.a index 718a32fe1c..930a3d8d3e 100644 Binary files a/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_peripheral.a and b/softdevice_controller/lib/nrf52/hard-float/libsoftdevice_controller_peripheral.a differ diff --git a/softdevice_controller/lib/nrf52/hard-float/manifest.yaml b/softdevice_controller/lib/nrf52/hard-float/manifest.yaml index d0ccd8f433..ccc438f931 100644 --- a/softdevice_controller/lib/nrf52/hard-float/manifest.yaml +++ b/softdevice_controller/lib/nrf52/hard-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x1063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x1071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:38:50Z' +timestamp: '2024-12-18T09:35:32Z' diff --git a/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_central.a b/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_central.a index 835d23d259..49be784113 100644 Binary files a/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_central.a and b/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_central.a differ diff --git a/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_multirole.a index 81656c78e6..0b1a75f23a 100644 Binary files a/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_peripheral.a b/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_peripheral.a index 23a8d886a0..6dc09abdc5 100644 Binary files a/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_peripheral.a and b/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_peripheral.a differ diff --git a/softdevice_controller/lib/nrf52/soft-float/manifest.yaml b/softdevice_controller/lib/nrf52/soft-float/manifest.yaml index d0ccd8f433..ccc438f931 100644 --- a/softdevice_controller/lib/nrf52/soft-float/manifest.yaml +++ b/softdevice_controller/lib/nrf52/soft-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x1063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x1071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:38:50Z' +timestamp: '2024-12-18T09:35:32Z' diff --git a/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_central.a b/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_central.a index 40d66e1583..05e5a8eda1 100644 Binary files a/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_central.a and b/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_central.a differ diff --git a/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_multirole.a index 9fa663c937..4e1223ea3f 100644 Binary files a/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_peripheral.a b/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_peripheral.a index 181175534f..6470d22730 100644 Binary files a/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_peripheral.a and b/softdevice_controller/lib/nrf52/softfp-float/libsoftdevice_controller_peripheral.a differ diff --git a/softdevice_controller/lib/nrf52/softfp-float/manifest.yaml b/softdevice_controller/lib/nrf52/softfp-float/manifest.yaml index d0ccd8f433..ccc438f931 100644 --- a/softdevice_controller/lib/nrf52/softfp-float/manifest.yaml +++ b/softdevice_controller/lib/nrf52/softfp-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x1063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x1071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:38:50Z' +timestamp: '2024-12-18T09:35:32Z' diff --git a/softdevice_controller/lib/nrf53/soft-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf53/soft-float/libsoftdevice_controller_multirole.a index cf6acd1554..bad78d1194 100644 Binary files a/softdevice_controller/lib/nrf53/soft-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf53/soft-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf53/soft-float/manifest.yaml b/softdevice_controller/lib/nrf53/soft-float/manifest.yaml index 88a8b4de7f..b871ac7099 100644 --- a/softdevice_controller/lib/nrf53/soft-float/manifest.yaml +++ b/softdevice_controller/lib/nrf53/soft-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x2063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x2071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:40:03Z' +timestamp: '2024-12-18T09:36:35Z' diff --git a/softdevice_controller/lib/nrf54h/hard-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf54h/hard-float/libsoftdevice_controller_multirole.a index 1ef3e588f0..319cb374b1 100644 Binary files a/softdevice_controller/lib/nrf54h/hard-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf54h/hard-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf54h/hard-float/manifest.yaml b/softdevice_controller/lib/nrf54h/hard-float/manifest.yaml index 8807b3eb9b..39f3362644 100644 --- a/softdevice_controller/lib/nrf54h/hard-float/manifest.yaml +++ b/softdevice_controller/lib/nrf54h/hard-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x4063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x4071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:41:19Z' +timestamp: '2024-12-18T09:37:50Z' diff --git a/softdevice_controller/lib/nrf54h/soft-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf54h/soft-float/libsoftdevice_controller_multirole.a index 894c87ee13..ef88728d90 100644 Binary files a/softdevice_controller/lib/nrf54h/soft-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf54h/soft-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf54h/soft-float/manifest.yaml b/softdevice_controller/lib/nrf54h/soft-float/manifest.yaml index 8807b3eb9b..39f3362644 100644 --- a/softdevice_controller/lib/nrf54h/soft-float/manifest.yaml +++ b/softdevice_controller/lib/nrf54h/soft-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x4063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x4071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:41:19Z' +timestamp: '2024-12-18T09:37:50Z' diff --git a/softdevice_controller/lib/nrf54h/softfp-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf54h/softfp-float/libsoftdevice_controller_multirole.a index 9bfb53f7e5..c948f9299d 100644 Binary files a/softdevice_controller/lib/nrf54h/softfp-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf54h/softfp-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf54h/softfp-float/manifest.yaml b/softdevice_controller/lib/nrf54h/softfp-float/manifest.yaml index 8807b3eb9b..39f3362644 100644 --- a/softdevice_controller/lib/nrf54h/softfp-float/manifest.yaml +++ b/softdevice_controller/lib/nrf54h/softfp-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x4063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x4071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:41:19Z' +timestamp: '2024-12-18T09:37:50Z' diff --git a/softdevice_controller/lib/nrf54l/hard-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf54l/hard-float/libsoftdevice_controller_multirole.a index d7bd7d8ec3..a2ab3bb8c2 100644 Binary files a/softdevice_controller/lib/nrf54l/hard-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf54l/hard-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf54l/hard-float/manifest.yaml b/softdevice_controller/lib/nrf54l/hard-float/manifest.yaml index c0b595c494..f77f987e2b 100644 --- a/softdevice_controller/lib/nrf54l/hard-float/manifest.yaml +++ b/softdevice_controller/lib/nrf54l/hard-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x3063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x3071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:42:39Z' +timestamp: '2024-12-18T09:38:59Z' diff --git a/softdevice_controller/lib/nrf54l/soft-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf54l/soft-float/libsoftdevice_controller_multirole.a index 83c818c131..1856161787 100644 Binary files a/softdevice_controller/lib/nrf54l/soft-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf54l/soft-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf54l/soft-float/manifest.yaml b/softdevice_controller/lib/nrf54l/soft-float/manifest.yaml index c0b595c494..f77f987e2b 100644 --- a/softdevice_controller/lib/nrf54l/soft-float/manifest.yaml +++ b/softdevice_controller/lib/nrf54l/soft-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x3063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x3071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:42:39Z' +timestamp: '2024-12-18T09:38:59Z' diff --git a/softdevice_controller/lib/nrf54l/softfp-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf54l/softfp-float/libsoftdevice_controller_multirole.a index e370e38bda..c80b71c4ac 100644 Binary files a/softdevice_controller/lib/nrf54l/softfp-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf54l/softfp-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf54l/softfp-float/manifest.yaml b/softdevice_controller/lib/nrf54l/softfp-float/manifest.yaml index c0b595c494..f77f987e2b 100644 --- a/softdevice_controller/lib/nrf54l/softfp-float/manifest.yaml +++ b/softdevice_controller/lib/nrf54l/softfp-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x3063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x3071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:42:39Z' +timestamp: '2024-12-18T09:38:59Z' diff --git a/softdevice_controller/lib/nrf54l_ns/hard-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf54l_ns/hard-float/libsoftdevice_controller_multirole.a index a1918200da..0fb22cbdbb 100644 Binary files a/softdevice_controller/lib/nrf54l_ns/hard-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf54l_ns/hard-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf54l_ns/hard-float/manifest.yaml b/softdevice_controller/lib/nrf54l_ns/hard-float/manifest.yaml index a846b7f4e1..11605053d4 100644 --- a/softdevice_controller/lib/nrf54l_ns/hard-float/manifest.yaml +++ b/softdevice_controller/lib/nrf54l_ns/hard-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x3063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x3071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:43:48Z' +timestamp: '2024-12-18T09:40:05Z' diff --git a/softdevice_controller/lib/nrf54l_ns/soft-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf54l_ns/soft-float/libsoftdevice_controller_multirole.a index 51e8ddc9a9..6675978bae 100644 Binary files a/softdevice_controller/lib/nrf54l_ns/soft-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf54l_ns/soft-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf54l_ns/soft-float/manifest.yaml b/softdevice_controller/lib/nrf54l_ns/soft-float/manifest.yaml index a846b7f4e1..11605053d4 100644 --- a/softdevice_controller/lib/nrf54l_ns/soft-float/manifest.yaml +++ b/softdevice_controller/lib/nrf54l_ns/soft-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x3063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x3071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:43:48Z' +timestamp: '2024-12-18T09:40:05Z' diff --git a/softdevice_controller/lib/nrf54l_ns/softfp-float/libsoftdevice_controller_multirole.a b/softdevice_controller/lib/nrf54l_ns/softfp-float/libsoftdevice_controller_multirole.a index 57a4134975..9231afe0f3 100644 Binary files a/softdevice_controller/lib/nrf54l_ns/softfp-float/libsoftdevice_controller_multirole.a and b/softdevice_controller/lib/nrf54l_ns/softfp-float/libsoftdevice_controller_multirole.a differ diff --git a/softdevice_controller/lib/nrf54l_ns/softfp-float/manifest.yaml b/softdevice_controller/lib/nrf54l_ns/softfp-float/manifest.yaml index a846b7f4e1..11605053d4 100644 --- a/softdevice_controller/lib/nrf54l_ns/softfp-float/manifest.yaml +++ b/softdevice_controller/lib/nrf54l_ns/softfp-float/manifest.yaml @@ -1,5 +1,5 @@ description: SoftDevice Controller -git_revision: 5e894059db09d7b704e6678dc1e38ccc0ce19cd3 -ll_subversion_number: '0x3063' +git_revision: 11f5e5d895cf2408403e58341e8c07f0baa5b4ef +ll_subversion_number: '0x3071' ll_version_number: '0x0E' -timestamp: '2024-12-04T15:43:48Z' +timestamp: '2024-12-18T09:40:05Z'