mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-01 19:54:32 +02:00
Merge branch 'feature/add_support_pcl_vsc_v5.1' into 'release/v5.1'
fix(Nimble): Add VSC / VSE handling code and structure for PCL Set RSSI (v5.1) See merge request espressif/esp-idf!24608
This commit is contained in:
@@ -661,3 +661,9 @@ config BT_NIMBLE_BLE_GATT_BLOB_TRANSFER
|
|||||||
help
|
help
|
||||||
This option is used when data to be sent is more than 512 bytes. For peripheral role,
|
This option is used when data to be sent is more than 512 bytes. For peripheral role,
|
||||||
BT_NIMBLE_MSYS_1_BLOCK_COUNT needs to be increased according to the need.
|
BT_NIMBLE_MSYS_1_BLOCK_COUNT needs to be increased according to the need.
|
||||||
|
|
||||||
|
config BT_NIMBLE_VS_SUPPORT
|
||||||
|
bool "Enable support for VSC and VSE"
|
||||||
|
help
|
||||||
|
This option is used to enable support for sending Vendor Specific HCI commands and handling
|
||||||
|
Vendor Specific HCI Events.
|
||||||
|
Submodule components/bt/host/nimble/nimble updated: 326292d478...abc80c36ca
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -1681,4 +1681,11 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef MYNEWT_VAL_BLE_HCI_VS
|
||||||
|
#define MYNEWT_VAL_BLE_HCI_VS CONFIG_BT_NIMBLE_VS_SUPPORT
|
||||||
|
#define MYNEWT_VAL_BLE_HCI_VS_OCF_OFFSET (0)
|
||||||
|
#else
|
||||||
|
#define MYNEWT_VAL_BLE_HCI_VS (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1136,6 +1136,11 @@ struct ble_hci_vs_rd_static_addr_rp {
|
|||||||
uint8_t addr[6];
|
uint8_t addr[6];
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
|
||||||
|
|
||||||
|
#if SOC_BLE_POWER_CONTROL_SUPPORTED && MYNEWT_VAL(BLE_HCI_VS)
|
||||||
|
#define BLE_HCI_OCF_VS_PCL_SET_RSSI (MYNEWT_VAL(BLE_HCI_VS_OCF_OFFSET) + (0x0111))
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Command Specific Definitions */
|
/* Command Specific Definitions */
|
||||||
/* --- Set controller to host flow control (OGF 0x03, OCF 0x0031) --- */
|
/* --- Set controller to host flow control (OGF 0x03, OCF 0x0031) --- */
|
||||||
#define BLE_HCI_CTLR_TO_HOST_FC_OFF (0)
|
#define BLE_HCI_CTLR_TO_HOST_FC_OFF (0)
|
||||||
|
@@ -671,6 +671,24 @@ blecent_gap_event(struct ble_gap_event *event, void *arg)
|
|||||||
blecent_power_control(event->connect.conn_handle);
|
blecent_power_control(event->connect.conn_handle);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if MYNEWT_VAL(BLE_HCI_VS)
|
||||||
|
#if MYNEWT_VAL(BLE_POWER_CONTROL)
|
||||||
|
int8_t vs_cmd[10]= {0, 0,-70,-60,-68,-58,-75,-65,-80,-70};
|
||||||
|
|
||||||
|
vs_cmd[0] = ((uint8_t)(event->connect.conn_handle & 0xFF));
|
||||||
|
vs_cmd[1] = ((uint8_t)(event->connect.conn_handle >> 8) & 0xFF);
|
||||||
|
|
||||||
|
rc = ble_hs_hci_send_vs_cmd(BLE_HCI_OCF_VS_PCL_SET_RSSI ,
|
||||||
|
&vs_cmd, sizeof(vs_cmd), NULL, 0);
|
||||||
|
if (rc != 0) {
|
||||||
|
MODLOG_DFLT(INFO, "Failed to send VSC %x \n", rc);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
MODLOG_DFLT(INFO, "Successfully issued VSC , rc = %d \n", rc);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CONFIG_EXAMPLE_ENCRYPTION
|
#if CONFIG_EXAMPLE_ENCRYPTION
|
||||||
/** Initiate security - It will perform
|
/** Initiate security - It will perform
|
||||||
* Pairing (Exchange keys)
|
* Pairing (Exchange keys)
|
||||||
|
Reference in New Issue
Block a user