# HCI Vendor-specific (VS) Commands

[中文]

## HCI VS Commands for Espressif's Bluetooth Host

The following HCI VS commands are exclusively for Espressif's Bluetooth Host (ESP-Bluedroid Host or ESP-NimBLE Host). If you are using a non-ESP host or HCI UART, these commands will remain disabled unless the initialization function is explicitly called from the application. Note, these init functions as well as these additional HCI VS commands are intended for Espressif's Bluetooth Host use only. Application developers should not call the init functions in their applications.

ESP_BT_VS_CONFIG_DUP_EXC_LIST_OCF

  Config scanning duplicate exceptional list (OCF: 0x0108)

  Note

  The init function is `advFilter_stack_eanbleDupExcListCmd(true)`

ESP_BT_VS_SET_ADV_REPORT_FLOW_CTRL_OCF

  Enable/disable advertising report flow control (OCF: 0x0109)

  Note

  The init function is `scan_stack_enableAdvFlowCtrlVsCmd(true)`

ESP_BT_VS_UPD_ADV_REPORT_FLOW_CTRL_NUM_OCF

  Update the number of advertising report in ADV flow control (OCF: 0x010A)

  Note

  The init function is `scan_stack_enableAdvFlowCtrlVsCmd(true)`

ESP_BT_VS_CLR_LEGACY_ADV_OCF

  Clear legacy advertising (same as HCI_LE_Clear_Advertising_Sets) (OCF: 0x010C)

  Note

  The init function is `adv_stack_enableClearLegacyAdvVsCmd(true)`

ESP_BT_VS_SET_DUP_LIST_PARAMS_OCF

  Set parameters of duplicate list (OCF: 0x010D)

  Note

  The init function is `advFilter_stack_eanbleDupExcListCmd(true)`

ESP_BT_VS_ENABLE_DUP_EXC_LIST_OCF

  Enable/disable duplicate and exception list (OCF: 0x010E)

  Note

  The init function is `advFilter_stack_eanbleDupExcListCmd(true)`

ESP_BT_VS_ENABLE_ARRANGEMENT_OCF

  Enable optimization of multiple connections (OCF: 0x010F)

  Note

  The init function is `arr_stack_enableMultiConnVsCmd(true)`

ESP_BT_VS_SET_SCHED_ROLE_LEN_OCF

  Set scheduling length for a certain role (OCF: 0x0110)

  Note

  The init function is `arr_stack_enableMultiConnVsCmd(true)`

ESP_BT_VS_SET_PCL_RSSI_THRESH_OCF

  Set RSSI threshold for automatic power control (OCF: 0x0111)

  Note

  The init function is `pcl_stack_enableSetRssiThreshVsCmd(true)`

ESP_BT_VS_ENABLE_CSA2_OCF

  Enable/disable channel selection algorithm #2 (OCF: 0x0112)

  Note

  The init function is `chanSel_stack_enableSetCsaVsCmd(true)`

ESP_BT_VS_SET_LOG_PARAMS_OCF

  Set parameters of controller logs (OCF: 0x0114)

  Note

  The init function is `log_stack_enableLogsRelatedVsCmd(true)`

ESP_BT_VS_SET_LE_VENDOR_EVTS_MASK_OCF

  Set BLE vendor events mask (OCF: 0x0116)

  Note

  The init function is `hci_stack_enableSetVsEvtMaskVsCmd(true)`

## HCI VS Events for Espressif's Bluetooth Host

The following HCI VS events are exclusively for Espressif's Bluetooth Host (ESP-Bluedroid Host or ESP-NimBLE Host). If you are using a non-ESP host or HCI UART, these events will remain disabled unless the initialization function is explicitly called from the application. Note, these init functions as well as these additional HCI VS events are intended for Espressif's Bluetooth Host use only. Application developers should not call the init functions in their applications.

ESP_BT_VS_LE_CONN_SCAN_REQ_RXED_EVT_SUBCODE

  BLE Scan/Connect Request, Aux Connect Response received event (EVTCODE: 0xFF, SUBCODE: 0xC0)

  Note

  The init function is `adv_stack_enableScanReqRxdVsEvent(true)`

ESP_BT_VS_LE_CHAN_UPDATE_COMP_EVT_SUBCODE

  BLE Channel Map Update Completion event (EVTCODE: 0xFF, SUBCODE: 0xC1)

  Note

  The init function is `conn_stack_enableChanMapUpdCompVsEvent(true)`

ESP_BT_VS_LE_ADV_LOST_EVT_SUBCODE

  BLE advertising report lost event for flow control (EVTCODE: 0x3E, SUBCODE: 0xF0)

  Note

  The init function is `scan_stack_enableAdvFlowCtrlVsCmd(true)`

## HCI VS Commands for Espressif's Internal-Use Debugging

The following HCI VS debugging commands are implemented in Bluetooth Low Energy controller pre-compiled libraries. These commands are not linked into the application binary, unless the function esp_ble_internalTestFeaturesEnable(true) is called from the application. They are intended for Espressif's internal use only. Application developers should not call esp_ble_internalTestFeaturesEnable(true) in their applications.

ESP_BT_VS_CFG_TEST_RELATED_OCF

ESP_BT_VS_CFG_TEST_ENABLE_SUBCMD

ESP_BT_VS_CFG_TEST_ENABLE_ADV_DELAY_SUBCMD

ESP_BT_VS_CFG_TEST_SET_PREF_CODED_SUBCMD

ESP_BT_VS_CFG_TEST_SET_DEFAULT_PRIV_MODE_SUBCMD

ESP_BT_VS_CFG_TEST_SET_SCAN_FOREVER_SUBCMD

ESP_BT_VS_CFG_TEST_SET_EXPECTED_PEER_SUBCMD

ESP_BT_VS_CFG_TEST_GET_ADV_TXED_CNT_SUBCMD

ESP_BT_VS_CFG_TEST_GET_SCAN_RXED_CNT_SUBCMD

ESP_BT_VS_CFG_TEST_SET_TXPWR_LVL_SUBCMD

ESP_BT_VS_CFG_TEST_GET_TXPWR_LVL_SUBCMD

ESP_BT_VS_CFG_TEST_SET_TXPWR_LVL_ENH_SUBCMD

ESP_BT_VS_CFG_TEST_GET_TXPWR_LVL_ENH_SUBCMD

ESP_BT_VS_CFG_TEST_IGNORE_WL_FOR_DIR_ADV_SUBCMD

ESP_BT_VS_CFG_TEST_GET_ADV_RXED_RSSI_SUBCMD

ESP_BT_VS_CFG_TEST_ENABLE_CCA_SUBCMD

ESP_BT_VS_CFG_TEST_SET_CCA_WIN_SUBCMD

ESP_BT_VS_CFG_TEST_READ_CCA_DATA_SUBCM

ESP_BT_VS_CFG_TEST_CLEAR_RAND_ADDR_SUBCMD

ESP_BT_VS_CFG_TEST_GET_MAX_TXPWR_SUBCMD

ESP_BT_VS_CFG_TEST_GET_TXPWR_RANGE_SUBCMD

ESP_BT_VS_CFG_TEST_SET_SCAN_AA_SUBCMD

ESP_BT_VS_CFG_TEST_SET_ADV_AA_SUBCMD

ESP_BT_VS_CFG_TEST_SET_SCAN_CHAN_SUBCMD

ESP_BT_VS_CFG_TEST_SKIP_LIGHT_SLEEP_CHECK_SUBCMD

ESP_BT_VS_CFG_TEST_SET_WAKEUP_OVERHEAD_SUBCMD

ESP_BT_VS_CFG_TEST_GET_ADV_MIN_ITVL_SUBCMD

ESP_BT_VS_CFG_TEST_GET_CTRL_STATUS_SUBCMD

ESP_BT_VS_CFG_TEST_SET_CONN_PHY_TXPWR_SUBCMD

ESP_BT_VS_CFG_TEST_GET_CONN_PHY_TXPWR_SUBCMD

ESP_BT_VS_CFG_TEST_GET_RXBUF_EMPTY_CNT_SUBCMD

ESP_BT_VS_CFG_TEST_RESTART_SUBCMD

ESP_BT_VS_CFG_TEST_ENABLE_RECODE_RX_STATE_SUBCMD

ESP_BT_VS_CFG_TEST_GET_RECODE_CNT_SUBCMD

ESP_BT_VS_CFG_TEST_CLR_RECODE_CNT_SUBCMD

ESP_BT_VS_CFG_TEST_GET_CTRL_COMPILE_VER_SUBCMD

ESP_BT_VS_CFG_TEST_SET_AUX_ADV_OFFSET_SUBCMD

ESP_BT_VS_CFG_TEST_INIT_FLEXIBLE_MODE_SUBCMD

ESP_BT_VS_CFG_TEST_ENABLE_FLEXIBLE_MODE_SUBCMD

ESP_BT_VS_CFG_TEST_SET_FLEXIBLE_CONN_ERR_SUBCMD

ESP_BT_VS_CFG_TEST_SET_FLEXIBLE_ADV_ERR_SUBCMD

ESP_BT_VS_CFG_TEST_SET_FLEXIBLE_SCAN_ERR_SUBCMD

ESP_BT_VS_CFG_TEST_GET_TXED_CRCERR_SUBCMD

ESP_BT_VS_CFG_TEST_GET_BACKOFF_UPLIMIT_SUBCMD

ESP_BT_VS_CFG_TEST_GET_RXED_ADV_ADI_SUBCMD

ESP_BT_VS_CFG_TEST_SET_SCH_RAND_MODE_SUBCMD

ESP_BT_VS_CFG_TEST_SET_RX_SENS_THRESH_SUBCMD

ESP_BT_VS_CFG_TEST_CHECK_MSYS_BUF_SUBCMD

ESP_BT_VS_CFG_TEST_UPDATE_BLE_TIMER_SUBCMD

ESP_BT_VS_CFG_TEST_UPDATE_BLE_RTC_SUBCMD

ESP_BT_VS_CFG_TEST_SET_LOCKED_MEM_NUM_SUBCMD

ESP_BT_VS_CFG_TEST_ALLOW_MEM_ALLOC_SUBCMD

ESP_BT_VS_CFG_TEST_SET_SCH_RAND_INFO_PTR_SUBCMD

ESP_BT_VS_CFG_TEST_SET_DIAG_IO_SUBCMD

ESP_BT_VS_CFG_TEST_SET_AGC_MAX_GAIN_SUBCMD

ESP_BT_VS_CFG_TEST_ENABLE_CHAN_ASSESS_SUBCMD

ESP_BT_VS_CFG_TEST_SET_BACKOFF_UPLIMIT_SUBCMD

ESP_BT_VS_CFG_TEST_SET_CONN_TOP_PRIO_RESV_THRESH_SUBCMD

ESP_BT_VS_CFG_TEST_SET_TEST_EVT_MSK_SUBCMD

ESP_BT_VS_CFG_TEST_GET_WAKEUP_TIMEOUT_SUBCMD

ESP_BT_VS_CFG_TEST_RELATED_SUBCMD_MAX

## HCI VS Events for Espressif's Internal-Use Debugging

The following HCI VS debugging events are implemented in Bluetooth controller pre-compiled libraries. These events are not linked into the application binary and are intended for Espressif's internal use only. Application developers should not call the corresponding initialization function in their applications.

ESP_BT_VS_LE_RUNNING_STATUS_EVT_SUBCODE

Was this page helpful?

- Thank you! We received your feedback.
- If you have any comments, fill in Espressif Documentation Feedback Form.

- We value your feedback.
- Let us know how we can improve this page by filling in Espressif Documentation Feedback Form.