2015年11月20日 星期五

nRF52832 BLE Mouse Test

1. 最近使用nRF52832做了airmouse相關的demo, 因此對於ble_app_hids_mouse這個example code
    有一些初步的了解.

2. 本範例的執行結果是當藍芽滑鼠與PC配對成功後, 會不停地劃方, 且按下Button3會等同於按
    下滑鼠左鍵.

3. 完整範例下載連結:
    nRF52_SDK_0.9.2_bt_mouse 

4. 由於現在nRF52有Preview DK & DK兩塊板子, 因此在不同的開發板上要執行此程式, 須記得
    要修改define, 如使用Preview DK的話, 請修改為BOARD_PCA10036.
 


5. 原先的範例如要傳送mouse button的資訊到PC的話, 需使用與mouse dx dy不同的id, 這樣會浪
    費BLE頻寬, 因此我有修改BLE Profile, 讓dx dy與button可以同時傳送給PC.

6. main loop flow:

  • 程式一開始會先設定一個10msec的Timer, 利用這個Timer每次送一個Flag給main loop判斷何時要傳送dx dy & button給PC.
  • main loop則是不停地檢查mousetimerIsReady flag, 當發現為1時, 則去執行key scan & send dx dy.  



  • 劃方程式如下所示, 只是不斷地送出固定的dx dy座標給PC, 並配合key scan一同將結果送出去.

7. Test Flow:

  • 當程式燒入DK Board後, 此時會看到LED1約間隔1秒的頻率在閃爍著.
  • 此時可以使用藍芽新增裝置來新增Nordic_Mouse.






  • 當新增完畢後, 便可以開始測試, 底下是使用Mouse Test2這個Tool進行測試的影片.

8 則留言:

  1. Dear Justin:
    您好,我也有參加此次的nordic seminar,也因此開始玩nRF52,但一直不懂得如何讓keil-c來compiler "nRF52_SDK_0.9.2_bt_mouse.7z"這個project,可以請您在網誌上示範一下嗎?若是用nRF51的SDK,同樣的MOUSE project我就會compiler了,因為nRF51的SDK是完整的,但nRF52的SDK只有部份的程式啊!

    回覆刪除
  2. Hi:
    1. 你有先安裝keil-mdk v5嗎?
    2. 你目前的問題是指nRF52_SDK_0.9.2_bt_mouse.7z解壓後, 用keil build不過嗎?

    回覆刪除
  3. Hello:
    1.我目前是用MDK 4.7,下載MDK 5.12 與MDK 5.15中,請問你是用哪一版?
    2.我是指解壓後,無法用Kiel 來打開project,更不用說要build 。等明天用MDK 5,或許問題就迎刃而解?!

    回覆刪除
  4. Hi:
    1. 我目前是使用v5.16a, 但我想應該只要是v5都可以的.
    2. 若你使用v4.7的話, 你可以去官網下載nRF5x-MDK-Keil4試試看, 或是當你安裝完mdk v5.x之後, 下載nRF5x-
    MDK-Pack並安裝, 才能編譯正常.
    3. 你可以去這個網址下載看看上述的補丁包:
    https://www.nordicsemi.com/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52832

    回覆刪除
  5. Hello:
    1.我用MDK v5.15,已經可以用了,謝謝!
    2.昨天之前我都是用Keil-C51 v9.0 + MDK v4.7 + nRF5x-MDK-Keil4,可以跑 nRF51但不能跑nRF52。

    因為我之前都是在開發nRF24LE1與nRF24LU1,所以只要用Keil-C51 V9.0 (uVision4)。
    現在是nRF52,要直接用Keil-MDK v5.15比較好(uVision5)。

    謝謝啦,問題解決了,可以繼續玩了!
    若有關於nRF24LE1與nRF24LU1的開發問題,彼此可以交流一下。

    回覆刪除
  6. 請問版主有是過 HID KEYBO的部分嗎 是否有example參考,謝謝

    回覆刪除