mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
feat(nimble): Add support for PCL Set RSSI VSC and example code for its usage
This commit adds support for sending Vendor Specific HCI commands and handling Vendor Specific HCI Events in the Nimble stack. It also includes the necessary configuration options and APIs to handle these commands and events. The following changes were made: - Added configuration option to enable support for VSC and VSE - Added API to send Vendor Specific HCI commands - Added example code for using the Set RSSI VSC for Power Control This commit also includes some minor code improvements and bug fixes
This commit is contained in:
parent
022ce314c3
commit
7c6ab05f50
@ -1 +1 @@
|
||||
Subproject commit 46268fd9c058fde006427b62b2198ace049b4e5f
|
||||
Subproject commit abc80c36cab77cc47c62b0cdbbcedf53346460c4
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user