Skip to content

[RFC][WIP] ble service: HID service #37

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed

Conversation

samveen
Copy link
Contributor

@samveen samveen commented Apr 10, 2018

This is an effort to create an HID service for nimble.

DONE:

  • Skeleton created.

TODO:

  • Get it to a basic working state.
  • Fill in everything else.

Caveat Emptor:

  • Needs a LOT of review.
  • I don't know any of the details of the following protocols:
    • PS/2
    • USB
    • USB HID
    • BLE
    • HID over BLE

References:

@andrzej-kaczmarek
Copy link
Contributor

I am not sure if it is a good idea to create full HID Service if you do not have knowledge of any protocol involved here since this is quite a complex service to implement and it does not follow style of simple services we have now.

For example, you state basic service creation is done, but actually it is far from complete. In HID Service it is not enough to just create all characteristics mentioned in specification since they depend on type of device exposed via HID, supported features and most importantly Report Map. Also there can be multiple instances of HID Service on a single device. And there are more things to consider here.

So in such cases I'd recommend to focus on some subset of features to have something usable and compliant with spec first - propose an API and then implement it. We can extend with more features later.

@samveen
Copy link
Contributor Author

samveen commented Apr 10, 2018

@andrzej-kaczmarek

  • You are absolutely right that this is probably a horrible horrible idea, but I need an HID service and there isn't one yet, so why not? I don't know enough yet, but I am working on it, which is why it's marked as [WIP]
  • I corrected my statement aboutbasic service creation.
  • There is some HID code in the bletest example, which I wanted to try and extract for reuse, but it is written in such a convoluted manner, that I cannot understand much yet. Hopefully I should start understanding some more soon.

@andrzej-kaczmarek
Copy link
Contributor

There is no HID code in bletest. The only reference to HID there is because sample advertising data have HID Service UUID, but it is just for testing purposes and could be virtually any value. Basically, bletest is just some testing code which is not really useful for an actual Mynewt app so it won't be helpful here.

@samveen
Copy link
Contributor Author

samveen commented Apr 11, 2018

@andrzej-kaczmarek I've started reading the specs. I'll add more code as I understand more of the details. Hopefully I should have something to for it show in a week's time.

@sjanc
Copy link
Contributor

sjanc commented May 28, 2018

no action for almost 2 months, closing

@sjanc sjanc closed this May 28, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants