Merge branch 'feature/add_support_pcl_vsc' into 'master'

fix(Nimble): Add VSC / VSE handling code and structure for PCL Set RSSI

See merge request espressif/esp-idf!24181
This commit is contained in:
Rahul Tank 2023-07-05 15:33:43 +08:00
commit 1268530ace
5 changed files with 37 additions and 1 deletions

View File

@ -819,3 +819,9 @@ menu "GAP Service"
Timeout = Value * 10 ms
endmenu
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.

@ -1 +1 @@
Subproject commit 326292d47806594994f4b98fbeb20619a67132bd
Subproject commit 46268fd9c058fde006427b62b2198ace049b4e5f

View File

@ -1700,4 +1700,11 @@
#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

View File

@ -1136,6 +1136,11 @@ struct ble_hci_vs_rd_static_addr_rp {
uint8_t addr[6];
} __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 */
/* --- Set controller to host flow control (OGF 0x03, OCF 0x0031) --- */
#define BLE_HCI_CTLR_TO_HOST_FC_OFF (0)

View File

@ -671,6 +671,24 @@ blecent_gap_event(struct ble_gap_event *event, void *arg)
blecent_power_control(event->connect.conn_handle);
#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
/** Initiate security - It will perform
* Pairing (Exchange keys)