Skip to content

Commit

Permalink
softdevice_controller: rev a5ba558ed160a13765b356a47ba06f4c04d855e4
Browse files Browse the repository at this point in the history
CHANGELOG.rst contains the list of changes.

Signed-off-by: Rubin Ingwer Gerritsen <[email protected]>
  • Loading branch information
rugeGerritsen committed Nov 3, 2023
1 parent 2678d23 commit 46e4dc8
Show file tree
Hide file tree
Showing 17 changed files with 73 additions and 20 deletions.
9 changes: 9 additions & 0 deletions softdevice_controller/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,20 @@ All the notable changes to this project are documented on this page.
Main branch
***********

Added
=====

* Vendor-specific HCI command to read average RSSI calculated by LE Power Control.
See :c:func:`sdc_hci_cmd_vs_read_average_rssi` (DRGN-17355).
* Vendor-specific HCI command to set the time between anchor points of central ACL connections with identical connection intervals.
See :c:func:`sdc_hci_cmd_vs_central_acl_event_spacing_set` (DRGN-20796).

Changes
=======

* The controller now returns the error code ``0x12`` if the same subevent index is used multiple times in LE Set Periodic Advertising Subevent Data.
This conforms to erratas ES23466 and ES23424. (DRGN-20736)
* The vendor-specific Set event length for ACL connections HCI command no longer sets the time between anchor points of central ACL connections with identical connection intervals. (DRGN-20796)

Bug fixes
=========
Expand Down
56 changes: 48 additions & 8 deletions softdevice_controller/include/sdc_hci_vs.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ enum sdc_hci_opcode_vs
SDC_HCI_OPCODE_CMD_VS_SET_POWER_CONTROL_REQUEST_PARAMS = 0xfd10,
/** @brief See @ref sdc_hci_cmd_vs_read_average_rssi(). */
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 VS subevent Code values. */
Expand Down Expand Up @@ -162,6 +164,7 @@ typedef __PACKED_STRUCT
uint8_t qos_channel_survey_enable : 1;
uint8_t set_power_control_request_params : 1;
uint8_t read_average_rssi : 1;
uint8_t central_acl_event_spacing_set : 1;
} sdc_hci_vs_supported_vs_commands_t;

/** @brief Zephyr Static Address type. */
Expand Down Expand Up @@ -420,7 +423,7 @@ typedef __PACKED_STRUCT
uint8_t enable;
} sdc_hci_cmd_vs_qos_conn_event_report_enable_t;

/** @brief Set event length for connections command parameter(s). */
/** @brief Set event length for ACL connections command parameter(s). */
typedef __PACKED_STRUCT
{
/** @brief Allocated event length in microseconds. */
Expand Down Expand Up @@ -621,6 +624,13 @@ typedef __PACKED_STRUCT
int8_t avg_rssi;
} sdc_hci_cmd_vs_read_average_rssi_return_t;

/** @brief Set Central ACL event spacing command parameter(s). */
typedef __PACKED_STRUCT
{
/** @brief Central ACL event spacing in microseconds. */
uint32_t central_acl_event_spacing_us;
} sdc_hci_cmd_vs_central_acl_event_spacing_set_t;

/** @} end of HCI_COMMAND_PARAMETERS */

/**
Expand Down Expand Up @@ -939,19 +949,21 @@ uint8_t sdc_hci_cmd_vs_conn_event_extend(const sdc_hci_cmd_vs_conn_event_extend_
*/
uint8_t sdc_hci_cmd_vs_qos_conn_event_report_enable(const sdc_hci_cmd_vs_qos_conn_event_report_enable_t * p_params);

/** @brief Set event length for connections.
/** @brief Set event length for ACL connections.
*
* Set the event length for new connections. This API must be called before starting a connectable
* advertiser or starting an initiator for the event length to applied to the connection once
* established.
* Set the event length for new ACL connections. The event length is the time available for
* transmission and reception in a single connection event.
* The maximum data length capabilities will be set based upon this value.
*
* The SoftDevice Controller will ensure that the anchor points of master link connections are
* spaced
* event_length_us apart.
* This API must be called before issuing the command HCI LE Create Connection, HCI LE Extended
* Create Connection,
* or before starting a a connectable advertiser for the event length to applied to the connection
* once established.
*
* The default event length is 7500 us.
*
* See also @ref sdc_hci_cmd_vs_conn_event_extend().
* See also @ref sdc_hci_cmd_vs_central_acl_event_spacing_set().
*
* Event(s) generated (unless masked away):
* When the command has completed, an HCI_Command_Complete event shall be generated.
Expand Down Expand Up @@ -1245,6 +1257,34 @@ uint8_t sdc_hci_cmd_vs_set_power_control_request_params(const sdc_hci_cmd_vs_set
uint8_t sdc_hci_cmd_vs_read_average_rssi(const sdc_hci_cmd_vs_read_average_rssi_t * p_params,
sdc_hci_cmd_vs_read_average_rssi_return_t * p_return);

/** @brief Set Central ACL event spacing.
*
* On the central, sets the time ACL connections are spaced apart given that they are using the same
* connection interval.
*
* This API must be called before issuing the command HCI LE Create Connection or HCI LE Extended
* Create Connection
* for the event length to applied to the connection once established.
*
* The default event spacing is 7500 us.
* The configured value is retained after issuing a HCI Reset command.
*
* Note: The time available for transmission and reception is not configured using this API
*
* See also @ref sdc_hci_cmd_vs_event_length_set().
* See also @ref sdc_hci_cmd_vs_conn_event_extend().
*
* 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_central_acl_event_spacing_set(const sdc_hci_cmd_vs_central_acl_event_spacing_set_t * p_params);

/** @} end of HCI_VS_API */

/** @} */
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
description: SoftDevice Controller
git_revision: 19604147b499ce7477705663e8c0d4248e665eff
ll_subversion_number: '0x2111'
git_revision: a5ba558ed160a13765b356a47ba06f4c04d855e4
ll_subversion_number: '0x2114'
ll_version_number: '0x0D'
timestamp: '2023-10-31T10:03:10Z'
timestamp: '2023-11-03T12:10:25Z'
Binary file not shown.
Binary file not shown.
Binary file not shown.
6 changes: 3 additions & 3 deletions softdevice_controller/lib/cortex-m4/hard-float/manifest.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
description: SoftDevice Controller
git_revision: 19604147b499ce7477705663e8c0d4248e665eff
ll_subversion_number: '0x1111'
git_revision: a5ba558ed160a13765b356a47ba06f4c04d855e4
ll_subversion_number: '0x1114'
ll_version_number: '0x0D'
timestamp: '2023-10-31T10:00:30Z'
timestamp: '2023-11-03T12:07:45Z'
Binary file not shown.
Binary file not shown.
Binary file not shown.
6 changes: 3 additions & 3 deletions softdevice_controller/lib/cortex-m4/soft-float/manifest.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
description: SoftDevice Controller
git_revision: 19604147b499ce7477705663e8c0d4248e665eff
ll_subversion_number: '0x1111'
git_revision: a5ba558ed160a13765b356a47ba06f4c04d855e4
ll_subversion_number: '0x1114'
ll_version_number: '0x0D'
timestamp: '2023-10-31T10:00:30Z'
timestamp: '2023-11-03T12:07:45Z'
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
description: SoftDevice Controller
git_revision: 19604147b499ce7477705663e8c0d4248e665eff
ll_subversion_number: '0x1111'
git_revision: a5ba558ed160a13765b356a47ba06f4c04d855e4
ll_subversion_number: '0x1114'
ll_version_number: '0x0D'
timestamp: '2023-10-31T10:00:30Z'
timestamp: '2023-11-03T12:07:45Z'
4 changes: 4 additions & 0 deletions softdevice_controller/limitations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,7 @@ DRGN-15989: In some cases, the SDC can connect to the peer it is already connect

DRGN-17724: The AoA transmitter is not supported in LLPM-mode
The AoA transmitter can show unspecified behavior when being used in LLPM-mode.

DRGN-20655: ISO SDUs in Host to Controller direction should not be split into multiple HCI ISO Data packets
If the Host provides an SDU that has been split into multiple HCI ISO Data packets without a timestamp, the SDC can assign a wrong timestamp to it.
As a result, this SDU can be never transmitted.

0 comments on commit 46e4dc8

Please sign in to comment.