Connection#
Connection.
The commands and events in this class are related to managing connection establishment, parameter setting, and disconnection procedures.
Modules#
Transmit Power Reporting Constants
sl_bt_evt_connection_parameters
sl_bt_evt_connection_set_parameters_failed
sl_bt_evt_connection_phy_status
sl_bt_evt_connection_get_remote_tx_power_completed
sl_bt_evt_connection_remote_tx_power
sl_bt_evt_connection_remote_used_features
sl_bt_evt_connection_data_length
sl_bt_evt_connection_statistics
Enumerations#
Types of device roles in a Bluetooth connection.
Indicate the Bluetooth Security Mode.
These values define transmit power reporting modes in LE power control.
This enum defines the flag values for a reported transmit power level.
Functions#
Macros#
Enumeration Documentation#
sl_bt_connection_role_t#
sl_bt_connection_role_t
Types of device roles in a Bluetooth connection.
Enumerator | |
---|---|
sl_bt_connection_role_peripheral | (0x0) The Peripheral role |
sl_bt_connection_role_central | (0x1) The Central role |
5427
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_security_t#
sl_bt_connection_security_t
Indicate the Bluetooth Security Mode.
Enumerator | |
---|---|
sl_bt_connection_mode1_level1 | (0x0) No security |
sl_bt_connection_mode1_level2 | (0x1) Unauthenticated pairing with encryption |
sl_bt_connection_mode1_level3 | (0x2) Authenticated pairing with encryption |
sl_bt_connection_mode1_level4 | (0x3) Authenticated Secure Connections pairing with encryption using a 128-bit strength encryption key |
5436
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_power_reporting_mode_t#
sl_bt_connection_power_reporting_mode_t
These values define transmit power reporting modes in LE power control.
Enumerator | |
---|---|
sl_bt_connection_power_reporting_disable | (0x0) Disable transmit power reporting |
sl_bt_connection_power_reporting_enable | (0x1) Enable transmit power reporting |
5453
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_tx_power_flag_t#
sl_bt_connection_tx_power_flag_t
This enum defines the flag values for a reported transmit power level.
Enumerator | |
---|---|
sl_bt_connection_tx_power_flag_none | (0x0) No flag is defined for the reported TX power level |
sl_bt_connection_tx_power_at_minimum | (0x1) Transmit power level is at minimum level. |
sl_bt_connection_tx_power_at_maximum | (0x2) Transmit power level is at maximum level. |
5464
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
Function Documentation#
sl_bt_connection_set_default_parameters#
sl_status_t sl_bt_connection_set_default_parameters (uint16_t min_interval, uint16_t max_interval, uint16_t latency, uint16_t timeout, uint16_t min_ce_length, uint16_t max_ce_length)
[in] | min_interval | Minimum value for the connection event interval. This must be set less than or equal to
|
[in] | max_interval | Maximum value for the connection event interval. This must be set greater than or equal to
|
[in] | latency | Peripheral latency, which defines how many connection intervals the peripheral can skip if it has no data to send
|
[in] | timeout | Supervision timeout, which defines the time that the connection is maintained although the devices can't communicate at the currently configured connection intervals.
Set the supervision timeout at a value which allows communication attempts over at least a few connection intervals.
|
[in] | min_ce_length | Minimum length of the connection event. It must be less than or equal to This value defines the minimum time that should be given to the connection event in a situation where other tasks need to run immediately after the connection event. When the value is very small, the connection event still has at least one TX/RX operation. If this value is increased, more time is reserved for the connection event so it can transmit and receive more packets in a connection interval. Use the default value if the application doesn't care about the connection event length or doesn't want to do fine tuning.
|
[in] | max_ce_length | Maximum length of the connection event. It must be greater than or equal to This value is used for limiting the connection event length so that a connection that has large amounts of data to transmit or receive doesn't block other tasks. Limiting the connection event is a hard stop. If there is no enough time to send or receive a packet, the connection event will be closed. If the value is set to 0, the connection event still has at least one TX/RX operation. This is useful to limit power consumption or leave more time to other tasks. Use the default value if the application doesn't care about the connection event length or doesn't want to do fine tuning.
|
Set default Bluetooth connection parameters. The values are valid for all subsequent connections initiated by this device.
min_ce_length
and max_ce_length
specify the preference of the connection event length so that the Link Layer can prioritize tasks accordingly in simultaneous connections, or scanning and so on. A connection event starts at an anchor point of a connection interval and lasts until the lesser of max_ce_length
and the actual connection interval. Packets that do not fit into the connection event will be sent in the next connection interval.
To change parameters of an already established connection, use the command sl_bt_connection_set_parameters.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6180
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_set_default_preferred_phy#
sl_status_t sl_bt_connection_set_default_preferred_phy (uint8_t preferred_phy, uint8_t accepted_phy)
[in] | preferred_phy | Preferred PHYs. This parameter is a bitfield and multiple PHYs can be set.
Default: 0xff (no preference) |
[in] | accepted_phy | Accepted PHYs in remotely-initiated PHY update request. This parameter is a bitfield and multiple PHYs can be set.
Default: 0xff (all PHYs accepted) |
Set default preferred and accepted PHYs. PHY settings will be used for all subsequent connections. Non-preferred PHY can also be set if the remote device does not accept any of the preferred PHYs.
The parameter accepted_phy
is used to specify PHYs that the stack can accept in a remotely-initiated PHY update request. A PHY update will not happen if none of the accepted PHYs are present in the request.
NOTE: 2M and Coded PHYs are not supported by all devices.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6222
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_set_default_data_length#
sl_status_t sl_bt_connection_set_default_data_length (uint16_t tx_data_len)
[in] | tx_data_len | Preferred maximum payload octets of a packet that the local Controller will send
|
Set the default preferred maximum TX payload length to be used for new connections.
When a connection is open, the maximum TX payload length is 27. Either device could initiate a data length update procedure and event sl_bt_evt_connection_data_length is generated when the data length has been changed on the connection.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6247
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_open#
sl_status_t sl_bt_connection_open (bd_addr address, uint8_t address_type, uint8_t initiating_phy, uint8_t * connection)
[in] | address | Address of the device to connect to |
[in] | address_type | Enum sl_bt_gap_address_type_t. Address type of the device to connect to. Values:
|
[in] | initiating_phy | Enum sl_bt_gap_phy_t. The initiating PHY. Values:
|
[out] | connection | Handle that will be assigned to the connection after the connection is established. This handle is valid only if the result code of this response is 0 (zero). |
Connect to an advertising device with the specified initiating PHY on which connectable advertisements on primary advertising channels are received. The Bluetooth stack will enter a state where it continuously scans for the connectable advertising packets from the remote device, which matches the Bluetooth address given as a parameter. Scan parameters set in sl_bt_scanner_set_parameters are used in this operation. Upon receiving the advertising packet, the module will send a connection request packet to the target device to initiate a Bluetooth connection. To cancel an ongoing connection process, use sl_bt_connection_close command with the handle received in response from this command.
A connection is opened in no-security mode. If the GATT client needs to read or write the attributes on GATT server requiring encryption or authentication, it must first encrypt the connection using an appropriate authentication method.
If a connection can't be established, for example, the remote device has gone out of range, has entered into deep sleep, or is not advertising, the stack will try to connect forever. In this case, the application will not get an event related to the connection request. To recover from this situation, the application can implement a timeout and call sl_bt_connection_close to cancel the connection request.
This command fails with the connection limit exceeded error if the number of connections attempted exceeds the configured MAX_CONNECTIONS value.
This command fails with the invalid parameter error if the initiating PHY value is invalid or the device does not support PHY.
Subsequent calls of this command have to wait for the ongoing command to complete. A received event sl_bt_evt_connection_opened indicates that the connection opened successfully and a received event sl_bt_evt_connection_closed indicates that connection failures have occurred.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_bt_evt_connection_opened - This event is triggered after the connection is opened and indicates whether the devices are already bonded and the role of the device in this connection.
sl_bt_evt_connection_parameters - This event indicates the connection parameters and security mode of the connection.
6316
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_open_with_accept_list#
sl_status_t sl_bt_connection_open_with_accept_list (uint8_t initiating_phy, uint8_t * connection)
[in] | initiating_phy | Enum sl_bt_gap_phy_t. The initiating PHY. Values:
|
[out] | connection | Handle that will be assigned to the connection after the connection is established. This handle is valid only if the result code of this response is 0 (zero). |
Connect to any device in the Filter Accept List, which enables the Auto Connection Establishment procedure on the local controller. The behavior of this command is the same as sl_bt_connection_open. The only difference is that sl_bt_connection_open opens a connection to a given peer device address.
See sl_bt_connection_open for more details.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_bt_evt_connection_opened - This event is triggered after the connection is opened and indicates whether the devices are already bonded and the role of the device in this connection.
sl_bt_evt_connection_parameters - This event indicates the connection parameters and security mode of the connection.
6349
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_set_parameters#
sl_status_t sl_bt_connection_set_parameters (uint8_t connection, uint16_t min_interval, uint16_t max_interval, uint16_t latency, uint16_t timeout, uint16_t min_ce_length, uint16_t max_ce_length)
[in] | connection | Connection Handle |
[in] | min_interval | Minimum value for the connection event interval. This must be set less than or equal to
|
[in] | max_interval | Maximum value for the connection event interval. This must be set greater than or equal to
|
[in] | latency | Peripheral latency, which defines how many connection intervals the peripheral can skip if it has no data to send
|
[in] | timeout | Supervision timeout, which defines the time that the connection is maintained although the devices can't communicate at the currently configured connection intervals.
Set the supervision timeout at a value which allows communication attempts over at least a few connection intervals. |
[in] | min_ce_length | Minimum length of the connection event. It must be less than or equal to This value defines the minimum time that should be given to the connection event in a situation where other tasks need to run immediately after the connection event. When the value is very small, the connection event still has at least one TX/RX operation. If this value is increased, more time is reserved for the connection event so it can transmit and receive more packets in a connection interval. Use value 0x0000 if the application doesn't care about the connection event length or doesn't want to do fine tuning.
|
[in] | max_ce_length | Maximum length of the connection event. It must be greater than or equal to This value is used for limiting the connection event length so that a connection that has large amounts of data to transmit or receive doesn't block other tasks. Limiting the connection event is a hard stop. If there is no enough time to send or receive a packet, the connection event will be closed. If the value is set to 0, the connection event still has at least one TX/RX operation. This is useful to limit power consumption or leave more time to other tasks. Use value 0xffff if the application doesn't care about the connection event length or doesn't want to do fine tuning.
|
Request a change in the connection parameters of a Bluetooth connection.
On the central device the HCI LE Connection Update command is used to update the parameters.
On the peripheral device an L2CAP connection parameter update request is sent to the peer device to update the parameters.
min_ce_length
and max_ce_length
specify the preference of the connection event length so that the Link Layer can prioritize tasks accordingly in simultaneous connections, or scanning and so on. A connection event starts at an anchor point of a connection interval and lasts until the lesser of max_ce_length
and the actual connection interval. Packets that do not fit into the connection event will be sent in the next connection interval.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_bt_evt_connection_parameters - Triggered after new connection parameters are applied on the connection.
sl_bt_evt_connection_set_parameters_failed - Triggered when the peer device rejected an L2CAP connection parameter update request.
6450
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_set_preferred_phy#
sl_status_t sl_bt_connection_set_preferred_phy (uint8_t connection, uint8_t preferred_phy, uint8_t accepted_phy)
[in] | connection | Connection handle |
[in] | preferred_phy | Preferred PHYs. This parameter is a bitfield and multiple PHYs can be set.
Default: 0xff (no preference) |
[in] | accepted_phy | Accepted PHYs in remotely-initiated PHY update requests. This parameter is a bitfield and multiple PHYs can be set.
Default: 0xff (all PHYs accepted) |
Set preferred and accepted PHYs for a given connection. Event sl_bt_evt_connection_phy_status is received when PHY update procedure is completed. Non-preferred PHY can also be set if remote device does not accept any of the preferred PHYs.
The parameter accepted_phy
is used for specifying the PHYs that the stack can accept in a remote initiated PHY update request. A PHY update will not occur if none of the accepted PHYs presents in the request.
NOTE: 2M and Coded PHYs are not supported by all devices.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
6498
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_disable_slave_latency#
sl_status_t sl_bt_connection_disable_slave_latency (uint8_t connection, uint8_t disable)
[in] | connection | Connection Handle |
[in] | disable | 0 enable, 1 disable peripheral latency. Default: 0 |
Temporarily enable or disable peripheral latency. Used only when Bluetooth device is acting as a peripheral. When peripheral latency is disabled, the peripheral latency connection parameter is not set to 0 but the device will wake up on every connection interval to receive and send packets.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6515
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_get_median_rssi#
sl_status_t sl_bt_connection_get_median_rssi (uint8_t connection, int8_t * rssi)
[in] | connection | Connection handle |
[out] | rssi | The median of the last seven measured RSSI values. Units: dBm.
|
Get the RSSI value measured on a connection.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6530
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_read_channel_map#
sl_status_t sl_bt_connection_read_channel_map (uint8_t connection, size_t max_channel_map_size, size_t * channel_map_len, uint8_t * channel_map)
[in] | connection | Connection Handle |
[in] | max_channel_map_size | Size of output buffer passed in |
[out] | channel_map_len | On return, set to the length of output data written to |
[out] | channel_map | This parameter is 5 bytes and contains 37 1-bit fields. The nth field (in the range 0 to 36) contains the value for the link layer channel index n.
The most significant bits are reserved for future use. |
Read channel map for a specified connection.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6556
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_set_power_reporting#
sl_status_t sl_bt_connection_set_power_reporting (uint8_t connection, uint8_t mode)
[in] | connection | Handle of the connection |
[in] | mode | Enum sl_bt_connection_power_reporting_mode_t. Transmit power reporting mode. Values:
|
Enable or disable the transmit power reporting for the local device on a connection. When transmit power reporting is enabled, event sl_bt_evt_connection_tx_power is generated when transmit power on the local device changes.
The command is a built-in feature in the stack and is supported regardless of whether the LE Power Control feature is used. By default, power reporting for local device is enabled.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
6586
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_set_remote_power_reporting#
sl_status_t sl_bt_connection_set_remote_power_reporting (uint8_t connection, uint8_t mode)
[in] | connection | Handle of the connection |
[in] | mode | Enum sl_bt_connection_power_reporting_mode_t. Transmit power reporting mode. Values:
|
Enable or disable reporting the transmit power change on the remote device. The application must include the LE Power Control feature (bluetooth_feature_power_control) in order to use this command.
When the remote transmit power reporting is enabled, event sl_bt_evt_connection_remote_tx_power is generated when transmit power on the remote device changes.
By default, power reporting for the remote device is disabled.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
6615
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_get_tx_power#
sl_status_t sl_bt_connection_get_tx_power (uint8_t connection, uint8_t phy, int8_t * current_level, int8_t * max_level)
[in] | connection | Handle of the connection |
[in] | phy | Enum sl_bt_gap_phy_coding_t. The PHY. Values:
|
[out] | current_level | The current transmit power level in dBm of the PHY on the connection. Values:
|
[out] | max_level | The maximum transmit power level in dBm of the PHY on the connection.
|
Get the transmit power of the local device on the given connection and PHY. The application must include the LE Power Control feature (bluetooth_feature_power_control) in order to use this command.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6645
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_get_remote_tx_power#
sl_status_t sl_bt_connection_get_remote_tx_power (uint8_t connection, uint8_t phy)
[in] | connection | Handle of the connection |
[in] | phy | Enum sl_bt_gap_phy_coding_t. The PHY. Values:
|
Get the transmit power of the remote device on the given connection and PHY. The application must include the LE Power Control feature (bluetooth_feature_power_control) in order to use this command. Transmit power levels are returned in event sl_bt_evt_connection_get_remote_tx_power_completed after the operation completed.
Returns
SL_STATUS_OK if the command is accepted. Error code otherwise.
Events
6672
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_set_tx_power#
sl_status_t sl_bt_connection_set_tx_power (uint8_t connection, int16_t tx_power, int16_t * tx_power_out)
[in] | connection | The connection handle |
[in] | tx_power | The requested TX power. Unit: 0.1 dBm |
[out] | tx_power_out | The selected TX power. Unit: 0.1 dBm |
Set the transmit power of a connection. The application must include component bluetooth_feature_user_power_control in order to use this command for controlling the transmit power of the connection at application level. This command is unavailable if the standard Bluetooth feature LE power control (component bluetooth_feature_power_control) is used by the application.
The actual selected power level is returned from this command. The value may be different than the requested one because of Bluetooth feature restrictions or radio characteristics.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6695
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_read_remote_used_features#
sl_status_t sl_bt_connection_read_remote_used_features (uint8_t connection)
[in] | connection | Connection Handle |
Read link layer features supported by the remote device.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
6711
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_get_security_status#
sl_status_t sl_bt_connection_get_security_status (uint8_t connection, uint8_t * security_mode, uint8_t * key_size, uint8_t * bonding_handle)
[in] | connection | Connection handle |
[out] | security_mode | Enum sl_bt_connection_security_t. Connection security mode. Values:
|
[out] | key_size | The size of encryption key |
[out] | bonding_handle | Bonding handle. Values:
|
Get the security status of the connection.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6736
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_set_data_length#
sl_status_t sl_bt_connection_set_data_length (uint8_t connection, uint16_t tx_data_len, uint16_t tx_time_us)
[in] | connection | Connection handle |
[in] | tx_data_len | Preferred maximum payload octets of a packet that the local Controller will send
|
[in] | tx_time_us | Preferred maximum TX time in microseconds that the local Controller will take to send a packet
|
Request to update the maximum TX payload length and maximum packet TX time of a Bluetooth connection.
Event sl_bt_evt_connection_data_length is generated when the data length has been changed on the connection.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
6769
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_read_statistics#
sl_status_t sl_bt_connection_read_statistics (uint8_t connection, uint8_t reset)
[in] | connection | The connection handle |
[in] | reset | Reset statistics if parameter value is not zero |
Read the statistic values collected on the specified connection. The application must include component bluetooth_feature_connection_statistics in order to use this command. If the component is not included in the application this command returns the error SL_STATUS_NOT_AVAILABLE. If this command is called before the connection has opened, the command returns the error SL_STATUS_NOT_READY.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_bt_evt_connection_statistics - Triggered to deliver the statistic values of the connection at the time the command was issued.
6792
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_get_scheduling_details#
sl_status_t sl_bt_connection_get_scheduling_details (uint8_t connection, uint32_t * access_address, uint8_t * role, uint32_t * crc_init, uint16_t * interval, uint16_t * supervision_timeout, uint8_t * central_clock_accuracy, uint8_t * central_phy, uint8_t * peripheral_phy, uint8_t * channel_selection_algorithm, uint8_t * hop, sl_bt_connection_channel_map_t * channel_map, uint8_t * channel, uint16_t * event_counter, uint32_t * start_time_us)
[in] | connection | Connection handle |
[out] | access_address | Access address of the connection |
[out] | role | Enum sl_bt_connection_role_t. The role the local device operates in the connection. Values:
|
[out] | crc_init | The CRC initialization value |
[out] | interval | The connection interval. Time = Value x 1.25 ms |
[out] | supervision_timeout | The connection supervision time. Time = Value x 10 ms |
[out] | central_clock_accuracy | The central device's clock accuracy index value |
[out] | central_phy | Enum sl_bt_gap_phy_t. The PHY that the Central device is transmitting on. Values:
|
[out] | peripheral_phy | Enum sl_bt_gap_phy_t. The PHY that the Peripheral device is transmitting on. Values:
|
[out] | channel_selection_algorithm | Enum sl_bt_gap_channel_selection_algorithm_t. The channel selection algorithm. Values:
|
[out] | hop | The hop increment when the channel selection algorithm #1 is used on the connection. Ignore if |
[out] | channel_map | 5 byte bit field in little endian format. Only the first 37 bits are used. Bit 0 of the first byte is channel 0, bit 0 of the second byte is channel 8, etc. Ignore bits 37-39 that are reserved for future use. A channel is unused when its bit is 0. A channel is used when its bit is 1. |
[out] | channel | The data channel number that transmissions will use in the next connection event |
[out] | event_counter | The event counter of the next connection event |
[out] | start_time_us | Time in microseconds from the PROTIMER tick when the next connection event is scheduled to happen |
Get parameters and next connection event scheduling details of a connection. Returned values from this command provide the necessary information for following the packet transmissions of the connection on an external device. Note that the stack cannot ensure a determined timing latency from the time when issuing this command to the time when another device starts to follow the connection, and the stack cannot guarantee that a scheduled connection event will always happen.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6852
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_close#
sl_status_t sl_bt_connection_close (uint8_t connection)
[in] | connection | Handle of the connection to be closed |
Close a Bluetooth connection gracefully by performing the ACL Termination procedure or cancel an ongoing connection establishment process. The parameter is a connection handle which is reported in sl_bt_evt_connection_opened event or sl_bt_connection_open command response.
Disconnecting a connection is an asynchronous operation. The disconnection is completed when a sl_bt_evt_connection_closed event for the given connection handle is received. To open a new connection to the same remote device, wait for the sl_bt_evt_connection_closed event and then initiate the connection.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
6890
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_forcefully_close#
sl_status_t sl_bt_connection_forcefully_close (uint8_t connection)
[in] | connection | Handle of the connection to be closed |
Forcefully close a Bluetooth connection without performing the ACL Termination procedure. The parameter is a connection handle which is reported in sl_bt_evt_connection_opened event or sl_bt_connection_open command response.
Closing a connection using this command could result in the observation of connection loss or supervision timeout on the remote device. Only use this command for special cases, for example, when disconnecting a connection with sl_bt_connection_close did not complete in expected time period.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
6912
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_get_rssi#
SL_BGAPI_DEPRECATED sl_status_t sl_bt_connection_get_rssi (uint8_t connection)
[in] | connection | Connection handle |
Deprecated and replaced by sl_bt_connection_get_median_rssi which synchronously returns the value.
Get the latest RSSI value of a Bluetooth connection. The RSSI value will be reported in a sl_bt_evt_connection_rssi event if the command returns SL_STATUS_OK.
Returns
SL_STATUS_OK if successful. Error code otherwise.
Events
sl_bt_evt_connection_rssi - Triggered when this command has completed.
6932
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_connection_get_remote_address#
sl_status_t sl_bt_connection_get_remote_address (uint8_t connection, bd_addr * address, uint8_t * address_type)
[in] | connection | Connection handle |
[out] | address | Bluetooth address of the remote device |
[out] | address_type | Enum sl_bt_gap_address_type_t. Remote device address type. Values:
|
Get the Bluetooth address of the remote device on the given connection.
Returns
SL_STATUS_OK if successful. Error code otherwise.
6956
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
Macro Definition Documentation#
sl_bt_cmd_connection_set_default_parameters_id#
#define sl_bt_cmd_connection_set_default_parameters_idValue:
0x00060020
5375
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_set_default_preferred_phy_id#
#define sl_bt_cmd_connection_set_default_preferred_phy_idValue:
0x01060020
5376
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_set_default_data_length_id#
#define sl_bt_cmd_connection_set_default_data_length_idValue:
0x10060020
5377
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_open_id#
#define sl_bt_cmd_connection_open_idValue:
0x04060020
5378
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_open_with_accept_list_id#
#define sl_bt_cmd_connection_open_with_accept_list_idValue:
0x16060020
5379
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_set_parameters_id#
#define sl_bt_cmd_connection_set_parameters_idValue:
0x06060020
5380
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_set_preferred_phy_id#
#define sl_bt_cmd_connection_set_preferred_phy_idValue:
0x08060020
5381
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_disable_slave_latency_id#
#define sl_bt_cmd_connection_disable_slave_latency_idValue:
0x03060020
5382
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_get_median_rssi_id#
#define sl_bt_cmd_connection_get_median_rssi_idValue:
0x15060020
5383
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_read_channel_map_id#
#define sl_bt_cmd_connection_read_channel_map_idValue:
0x07060020
5384
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_set_power_reporting_id#
#define sl_bt_cmd_connection_set_power_reporting_idValue:
0x09060020
5385
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_set_remote_power_reporting_id#
#define sl_bt_cmd_connection_set_remote_power_reporting_idValue:
0x0a060020
5386
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_get_tx_power_id#
#define sl_bt_cmd_connection_get_tx_power_idValue:
0x0b060020
5387
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_get_remote_tx_power_id#
#define sl_bt_cmd_connection_get_remote_tx_power_idValue:
0x0c060020
5388
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_set_tx_power_id#
#define sl_bt_cmd_connection_set_tx_power_idValue:
0x12060020
5389
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_read_remote_used_features_id#
#define sl_bt_cmd_connection_read_remote_used_features_idValue:
0x0d060020
5390
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_get_security_status_id#
#define sl_bt_cmd_connection_get_security_status_idValue:
0x0e060020
5391
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_set_data_length_id#
#define sl_bt_cmd_connection_set_data_length_idValue:
0x11060020
5392
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_read_statistics_id#
#define sl_bt_cmd_connection_read_statistics_idValue:
0x13060020
5393
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_get_scheduling_details_id#
#define sl_bt_cmd_connection_get_scheduling_details_idValue:
0x14060020
5394
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_close_id#
#define sl_bt_cmd_connection_close_idValue:
0x05060020
5395
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_forcefully_close_id#
#define sl_bt_cmd_connection_forcefully_close_idValue:
0x0f060020
5396
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_get_rssi_id#
#define sl_bt_cmd_connection_get_rssi_idValue:
0x02060020
5397
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_cmd_connection_get_remote_address_id#
#define sl_bt_cmd_connection_get_remote_address_idValue:
0x17060020
5398
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_set_default_parameters_id#
#define sl_bt_rsp_connection_set_default_parameters_idValue:
0x00060020
5399
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_set_default_preferred_phy_id#
#define sl_bt_rsp_connection_set_default_preferred_phy_idValue:
0x01060020
5400
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_set_default_data_length_id#
#define sl_bt_rsp_connection_set_default_data_length_idValue:
0x10060020
5401
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_open_id#
#define sl_bt_rsp_connection_open_idValue:
0x04060020
5402
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_open_with_accept_list_id#
#define sl_bt_rsp_connection_open_with_accept_list_idValue:
0x16060020
5403
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_set_parameters_id#
#define sl_bt_rsp_connection_set_parameters_idValue:
0x06060020
5404
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_set_preferred_phy_id#
#define sl_bt_rsp_connection_set_preferred_phy_idValue:
0x08060020
5405
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_disable_slave_latency_id#
#define sl_bt_rsp_connection_disable_slave_latency_idValue:
0x03060020
5406
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_get_median_rssi_id#
#define sl_bt_rsp_connection_get_median_rssi_idValue:
0x15060020
5407
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_read_channel_map_id#
#define sl_bt_rsp_connection_read_channel_map_idValue:
0x07060020
5408
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_set_power_reporting_id#
#define sl_bt_rsp_connection_set_power_reporting_idValue:
0x09060020
5409
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_set_remote_power_reporting_id#
#define sl_bt_rsp_connection_set_remote_power_reporting_idValue:
0x0a060020
5410
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_get_tx_power_id#
#define sl_bt_rsp_connection_get_tx_power_idValue:
0x0b060020
5411
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_get_remote_tx_power_id#
#define sl_bt_rsp_connection_get_remote_tx_power_idValue:
0x0c060020
5412
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_set_tx_power_id#
#define sl_bt_rsp_connection_set_tx_power_idValue:
0x12060020
5413
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_read_remote_used_features_id#
#define sl_bt_rsp_connection_read_remote_used_features_idValue:
0x0d060020
5414
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_get_security_status_id#
#define sl_bt_rsp_connection_get_security_status_idValue:
0x0e060020
5415
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_set_data_length_id#
#define sl_bt_rsp_connection_set_data_length_idValue:
0x11060020
5416
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_read_statistics_id#
#define sl_bt_rsp_connection_read_statistics_idValue:
0x13060020
5417
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_get_scheduling_details_id#
#define sl_bt_rsp_connection_get_scheduling_details_idValue:
0x14060020
5418
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_close_id#
#define sl_bt_rsp_connection_close_idValue:
0x05060020
5419
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_forcefully_close_id#
#define sl_bt_rsp_connection_forcefully_close_idValue:
0x0f060020
5420
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_get_rssi_id#
#define sl_bt_rsp_connection_get_rssi_idValue:
0x02060020
5421
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h
sl_bt_rsp_connection_get_remote_address_id#
#define sl_bt_rsp_connection_get_remote_address_idValue:
0x17060020
5422
of file /mnt/raid/workspaces/ws.wDIAeKYhQ/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h