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
  • Hi

    Please get back to me with the results of the SPI pin setting test.

    As for "SD card task", I was referring to your own task, as I initially thought you had given the SD card task higher priority than the BLE and MAX_PRIORITIES tasks, but that's my bad.

    You can check out this case, where my colleague has combined the ble_app_uart and fatfs example to write all strings received over BLE to an SD card. I was unable to find a BLE + SD card example that also uses FreeRTOS, so if you want/need to use FreeRTOS you can use Jørgen's example as a template or reference.

    Best regards,

    Simon

  • Dear Simonr:

       I have finished test for your provided package (ble_app_uart_fatfs_sdk141_keil_gcc_ses). unfortunately it contain same problem. I attached LOG screenshot below:

        If you just send BLE string once, it seems no problem. But in fact if you wait some time or just do sending twice you will got "disconnect" issue.

        Could you please help to ask your colleague if he can continue send and save sdcard without BLE disconnect?

       

Reply
  • Dear Simonr:

       I have finished test for your provided package (ble_app_uart_fatfs_sdk141_keil_gcc_ses). unfortunately it contain same problem. I attached LOG screenshot below:

        If you just send BLE string once, it seems no problem. But in fact if you wait some time or just do sending twice you will got "disconnect" issue.

        Could you please help to ask your colleague if he can continue send and save sdcard without BLE disconnect?

       

Children
No Data
Related