Hi guys, our team now are trying to used nrf52832 to stream audio to ios app, and as you know we are in trouble.
Here are some info about our test env:
1. mobile app ran on ios 11.4.1, the latest release version
2. nrf52832 code based on nRF5_SDK_15.0.0_a53641a and the softdevice is s132_nrf52_6.0.0_softdevice.hex
3. nrf52832 and mobile app exchange data every 15ms, 20 bytes per packet if there any audio data, sometimes they just exchange empty packet
4. mobile app used "write wihtout reponse" to send data to nrf52832, nrf52832 used "Notification" to send data to mobile app
5. all char value inside nrf52832 are located in stack memory, attr_md.vloc = BLE_GATTS_VLOC_STACK;
5. and here are the ble connection parameter, min conn = 15ms, max conn = 15ms, slave latency = 0, supervision timeout = 4seconds
6. NRF_SDH_BLE_GAP_EVENT_LENGTH = 6, NRF_SDH_BLE_GATT_MAX_MTU_SIZE = 23, APP_BLE_HVB_TX_QUEUE_SIZE = 12
7. inside the link script, heap and stack size just remain as default, all equal to 8192 bytes
Occasionally the mobile app showed the ble connection had been disconnected by nrf52832 with disconnect reason like "Error Domain=CBErrorDomain Code=7 "The specified device has disconnected from us.""
We tried google it and read ble core specification files and we think Code 7 means “BLE_HCI_MEMORY_CAPACITY_EXCEEDED”. Right?
We do not have much knowledge about the host and controller, so could anyone may help us to explain what that “Code=7” means?
If I reduce the APP_BLE_HVB_TX_QUEUE_SIZE or NRF_SDH_BLE_GAP_EVENT_LENGTH may help? So does increase the heap size?