What is a good way to identify paired devices with Gazell?

I am developing a USB dongle (nRF52833) for computers and a controller (nRF52833).
As a basic configuration, multiple controllers need to be connected to one dongle.
Multiple controllers will send data to the dongle at the same time.

Is there a good way for the dongle to identify which controller sent which data?

It is practical to give the data packet a unique ID for the controller's hardware.
However, since the number of devices is limited, it is not smart to send several bytes of data each time.
It is best to assign a 1-byte ID to each controller.

Are there any good solutions for this use case?
If you know of any projects that would be helpful, please let me know.

  • Hello, 

    Historically gazell have been used for HID devices, where each pipe have been assigned for a specific purpose, e.g.:

    pipe 0 - pairing

    pipe 1 (synchronous) - mouse

    pipe 2 (asynchronous) - keyboard

    pipe 3-5 - other type of hid devices

    So theoretically you could have for instance several keyboard using pipe2, but gazell did not need to differentiate them, so there is no way to identify which type of mouse or keyboard that was at any time using the various pipes.

    If you need to differentiate them the easiest may simply be to add a random number in each packet sent from the controller->host, the random number is unique for each "controller". Such that when controller 1 send data, the first (or last) 2-4 bytes random unique number for the specific controller. This must be added by the application.

    Kenneth

  • Thanks for your response.
    Very clear.
    I will implement an application for individual identification.

Related