forked from espressif/esp-idf
fix(nimble): Update hid device example in nimble to work with iOS
This commit is contained in:
@ -381,8 +381,10 @@ static int nimble_hidd_dev_input_set(void *devp, size_t index, size_t id, uint8_
|
||||
assert(p_rpt != NULL);
|
||||
om = ble_hs_mbuf_from_flat((void*)data, length);
|
||||
assert(om != NULL);
|
||||
|
||||
/* NOTE : om is freed by stack */
|
||||
rc = ble_att_svr_write_local(p_rpt->handle, om);
|
||||
rc = ble_gatts_notify_custom(s_dev->conn_id, p_rpt->handle, om);
|
||||
|
||||
if (rc != 0) {
|
||||
ESP_LOGE(TAG, "Write Input Report Failed: %d", rc);
|
||||
return ESP_FAIL;
|
||||
|
@ -92,4 +92,5 @@ I (50557) HID_DEV_DEMO: Send the volume
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
For any technical queries, please open an [issue](https://github.com/espressif/esp-idf/issues) on GitHub. We will get back to you soon.
|
||||
1. When using NimBLE stack, some iOS devices do not show the volume pop up. To fix this, please set CONFIG_BT_NIMBLE_SM_LVL to value 2. iOS needs Authenticated Pairing with Encryption to show up the pop ups.
|
||||
2. For any technical queries, please open an [issue](https://github.com/espressif/esp-idf/issues) on GitHub. We will get back to you soon.
|
||||
|
@ -766,6 +766,9 @@ esp_err_t esp_hid_ble_gap_adv_init(uint16_t appearance, const char *device_name)
|
||||
fields.flags = BLE_HS_ADV_F_DISC_GEN |
|
||||
BLE_HS_ADV_F_BREDR_UNSUP;
|
||||
|
||||
fields.appearance = ESP_HID_APPEARANCE_GENERIC;
|
||||
fields.appearance_is_present = 1;
|
||||
|
||||
/* Indicate that the TX power level field should be included; have the
|
||||
* stack fill this value automatically. This is done by assigning the
|
||||
* special value BLE_HS_ADV_TX_PWR_LVL_AUTO.
|
||||
|
Reference in New Issue
Block a user