This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

f_write/f_close cause BLE disconnect

Hardware: nrf52832

SDK: 16.0.0 with FreeRtos, 

Softdevice: S132 7.0

I set configMAX_PRIORITIES to 5 and modified nrf_sdh_freertos_init to set BLE task priority to 4.

My sd card maintain task priority is set to 2.

For BLE NUS service:

#define MIN_CONN_INTERVAL MSEC_TO_UNITS(20, UNIT_1_25_MS) /**< Minimum acceptable connection interval (20 ms), Connection interval uses 1.25 ms units. */
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(75, UNIT_1_25_MS) /**< Maximum acceptable connection interval (75 ms), Connection interval uses 1.25 ms units. */
#define SLAVE_LATENCY 0 /**< Slave latency. */
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) /**< Connection supervisory time-out (4 seconds). */

The NUS service and SD card function works fine when test them separately. But if Operate SD card during NUS connection, I got disconnect with reason:0x8

I have tried to enlarge INTERVAL to 120ms/175ms, also tried to change SLAVE_LATENCY to 4. Problem still exist.

I searched internet and NRF Dev Zone, found some similar question, but none of them can resolve my problem. So I have to raise a new question here. 

 

Parents
  • Attached log:

    0> <info> app: Connected  <---------------BLE connected
    0> <info> app: Data len is set to 0xF4(244)
    0> <info> app: Data len is set to 0xF4(244)
    0> <info> app: nus long send: 244x0+3. cost tick=0
    0> <info> app: skip dir:SYSTEM~1
    0> <info> app: skip dir:D1
    0> <info> app: skip dir:D2
    0> <info> app: nus long send: 244x0+14. cost tick=0
    0> <info> app: list total=14804, free=14753, i_n=7,e_n=0   
    0> <info> app: Fast advertising. <----------------------------------------BLE disconnected
    0> <info> app: Disconnected for reason:8  <-------------------------- reason:0x8
    0> <info> app: Connected
    0> <info> app: Data len is set to 0xF4(244)
    0> <info> app: Data len is set to 0xF4(244)
    0> <info> app: nus long send: 244x0+3. cost tick=0

Reply
  • Attached log:

    0> <info> app: Connected  <---------------BLE connected
    0> <info> app: Data len is set to 0xF4(244)
    0> <info> app: Data len is set to 0xF4(244)
    0> <info> app: nus long send: 244x0+3. cost tick=0
    0> <info> app: skip dir:SYSTEM~1
    0> <info> app: skip dir:D1
    0> <info> app: skip dir:D2
    0> <info> app: nus long send: 244x0+14. cost tick=0
    0> <info> app: list total=14804, free=14753, i_n=7,e_n=0   
    0> <info> app: Fast advertising. <----------------------------------------BLE disconnected
    0> <info> app: Disconnected for reason:8  <-------------------------- reason:0x8
    0> <info> app: Connected
    0> <info> app: Data len is set to 0xF4(244)
    0> <info> app: Data len is set to 0xF4(244)
    0> <info> app: nus long send: 244x0+3. cost tick=0

Children
No Data
Related