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

HID Mouse/ HID Keyboard / NUS Connection parameters

Hi, I'm using my own custom board.

MCU : NordicSemi nRF51822-QFAA

SDK version : 7.2 (I use IAR 7.1 for ARM.)

Softdevice : S110 7.1

Each 3 examples does work with my custom board.

I used Nexus 5, Galaxy Note 3, iPhone 5S, and iPad air to test my board. (The OS of each test devices : Andriod 5.0.1 and iOS 8.1)

I have a question why these examples has different connection parameters.

  • HID Mouse

    image description

  • HID Keyboard

image description

  • NUS

image description

////////////////////////////////////

=========================Mouse / Keyboard / NUS

Advertising interval : 25ms (fast adv) / 25ms (fast adv) / 40ms

Advertising timeout : 30s (fast adv)/ 30s (fast adv) / 180s

MIN_CONN_INTERVAL : 7.5ms / 7.5ms / 20ms

MAX_CONN_INTERVAL : 15ms / 30ms / 75ms

Slave latency : 25 / 6 / 0

CONN_SUP_TIMEOUT : 300ms / 300ms / 4s

(The annotation says the mouse's CONN_SUP_TIMEOUT is 300ms but I think it is 3s.)

(The security request parameters were same.)

So my question is,

-1. Why does each examples uses different parameters?

I'm trying to merge HID keyboard service and NUS.

However, I have problems when merging these two. So I thought the parameters causes the problem.

-2. The NUS examples isn't discovered using my iOS devices,

whereas the Android devices finds the board.

(Anyways when I use the nRF UART app,

the iOS devices does detect the board and send messages.)

What could be the reason? Is it related with the connection parameters?

Or since the NUS example does not uses the device manager, could this could be the reason?

-3. (Regardless of the connection parameters) As I said, my purpose is to merge services. I'm planning to merge NUS, HID (keyboard), HRS, and TPS.

Is it possible to merge all these services??

If possible, what should be considered to merge these services?

-Regards, Mango922

    1. They just do. These are examples, you can change the parameters to anything you want, as long as you follow the Bluetooth Core Specification (and the iOS guidelines, if you want to be able to connect to iOS devices).
    2. If you are able to connect in the app it has nothing to do with the connetion parameters. It is just how iOS is. iOS devices will not show BLE devices in the Bluetooth Settings, so you have to use an app to be able to discover such devices.
    3. I can't see why it should be possible to merge these services, but it isn't something I have done myself.
  • Thanks for replying. You are right. I did merge HID and NUS together.

    (The merged service which I made is following the NUS connection parameters.)

    Using the nRF UART app, I tested both the volume key and the UART sending / recieving back and forth.

    Both services did worked simultaneously.

    One of the concerns is that, since each services (as you saw at each examples) are using different connection parameters, I wondered that the merged service would be fine or not. (because I thought each services worked at certain connection parameters.)

    You mean regardless of the service I use or what mixed services is used,

    the connection parameters doesn't have relationship with these services and

    the parameters should follow the Bluetooth Core Specification, is it?

    Anyways, I think your answer saved me. Thanks !!!

    -Regards, Mango922

Related