DA14531藍芽模組跟 windows 電腦連線配對完成後,關閉電腦藍芽,再重打開電腦藍芽無法配對重連

您好瑞薩

近期用 DA14531 MOD(DA14531-00F01002),載入 HID Gamepad Demo code( SDK 版本為 6.0.18)

https://github.com/dialog-semiconductor/BLE_SDK6_examples/tree/main/interfaces/HID-Gamepad-Digitizer

當在DA14531藍芽模組跟 windows 電腦連線配對完成後

windows 電腦的藍芽開關給關閉

再把windows 電腦的藍芽開關,重新打開,此時 DA14531 MOD 跟電腦藍芽產生不停地連線與斷線

連線與斷線,來回多次後,程式會進到此區塊( void platform_reset_func(uint32_t error ))

收到的錯誤碼為  (0xF2F2F2F2)

對於上述問題,已有在瑞薩論壇上參考下列連結方法

https://community-ja.renesas.com/zh/forums-groups/wireless-connectivity/f/bluetooth/8873/thread

https://community-ja.renesas.com/zh/forums-groups/wireless-connectivity/f/bluetooth/8591/da14531

https://community-ja.renesas.com/zh/forums-groups/wireless-connectivity/f/bluetooth/10793/da14531-codeless

仍然無法解決,配對斷線後重新連線失敗的問題,

希望能協助幫忙查看配對斷線後重新連線這個異常狀況,並提出解決方法,感謝.

Parents
  • 您好,

    欢迎在论坛分享问题

    我这边先复现查找一下问题,尽快回复您。

    谢谢

    1. Undefining CFG_DEVELOPMENT_DEBUG in da1458x_config_basic.h.
       
    2. Increasing retention memory in da1458x_config_advanced.h from 2048 to 3000.
      #define CFG_RET_DATA_SIZE    (3000)
    3. Adding the following callbacks in user_callback_config.h
    #if (BLE_APP_SEC)
        .app_on_pairing_request             = default_app_on_pairing_request,
        .app_on_tk_exch                     = default_app_on_tk_exch,
        .app_on_irk_exch                    = NULL,
        .app_on_csrk_exch                   = default_app_on_csrk_exch,
        .app_on_ltk_exch                    = default_app_on_ltk_exch,
        .app_on_pairing_succeeded           = user_app_on_pairing_succeeded,
        .app_on_encrypt_ind                 = NULL,
        .app_on_encrypt_req_ind             = default_app_on_encrypt_req_ind,
        .app_on_security_req_ind            = NULL,
        .app_on_addr_solved_ind             = NULL,
        .app_on_addr_resolve_failed         = NULL,
        .app_on_ral_cmp_evt                 = NULL,
        .app_on_ral_size_ind                = NULL,
        .app_on_ral_addr_ind                = NULL,
    #endif // (BLE_APP_SEC)
    };
    
    #if (BLE_APP_SEC)
    static const struct app_bond_db_callbacks user_app_bond_db_callbacks = {
        .app_bdb_init                       = default_app_bdb_init,
        .app_bdb_get_size                   = default_app_bdb_get_size,
        .app_bdb_add_entry                  = default_app_bdb_add_entry,
        .app_bdb_remove_entry               = NULL,
        .app_bdb_search_entry               = default_app_bdb_search_entry,
        .app_bdb_get_number_of_stored_irks  = default_app_bdb_get_number_of_stored_irks,
        .app_bdb_get_stored_irks            = default_app_bdb_get_stored_irks,
        .app_bdb_get_device_info_from_slot  = default_app_bdb_get_device_info_from_slot,
    };
    1. Defining user_app_on_pairing_succeeded as a function that starts a 5 second timer which upon expiration calls app_easy_gap_disconnect
    void to_disconnect(void)
    {
        app_easy_gap_disconnect(app_connection_idx);	
    }
    void user_app_on_pairing_succeeded(uint8_t conidx)
    {
        app_easy_timer(500, to_disconnect);	
        default_app_on_pairing_succeeded(conidx);
    }
Reply Children
No Data