藍牙|軟體 QCC51xx系列開發之Synergy 版藍牙名的實時修改方法

本文適用範圍

    ADK22.3~


問題/功能描述

    如何實時更改本地藍牙名字

實現方案

   在客戶產品配套手機app時,會人性化的提供藍牙名的修改功能,這就需要耳機端提供相應的接口工調用.

以下是實現該功能的簡單的實現步驟

演示環境

  1. QCC3083開發板
  2. 使用工程ADK-23.3-MR-r00784.1 0.0.784.1 headset

 

實現過程
與以往修改方式,本方法主要藉助ADK提供的新接口來實現本地名稱的更改,無須修改太多代碼,破壞原生流程。

懂得多不想看的同學看到這裡可以結束了。
記住可以直接使用API接口CmSetLocalNameReqSend就可實現藍牙名的修改。


具體調用位置和方法可以參考以下示例說明.

當手機應用端發起藍牙名修改請求後,耳機端接受數據並解析後,將其交由函數write name處理.首先保存到usrkey,然後調用reset name執行更新請求.

當底層返回確認信息CSR_BT_CM_SET_LOCAL_NAME_CFM時,如果執行成功,系統會重新獲取藍牙名並更新到全局變量中,以供其他模塊使用.

 






這樣看起來是不是很簡單,作為演示已經達成目標.若用到產品中使用,還需要進一步完善.諸如名字的長度,編碼等是需要符合藍牙規範要求.更新後還需對遠端設備進行反饋.

 

常見問題解答

  1. 修改時如何實現實時生效的?

        [A]在修改成功後,默認需要重新更新廣播數據包,這是通過執行一次ScanManager_ConfigureEirData實現的.

  1. 修改對Bredr和LE廣播都有效果嗎?

        [A]是的,修改會作用於兩種模式的廣播

  1. 修改時臨時還是永久性的修改?

        [A]修改是半永久性,當恢復裝置操作後,名字會變為默認名

  1. 如何實現永久修改?

        [A]如文章方式在修改時將名字保存到mibkey中,每次開機時讀取並判斷是否需要更新操作.

      5.有沒有官方文檔介紹說明?

        [A]可以參考文檔80_13827_1,80-34461-1

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論

yaming

yaming

1 個月前
请问write_name()是在哪里被调用的?