Skip to content
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

Multi-central Nordic UART Service implementation #62

Closed
alexandrefresnais opened this issue Dec 14, 2022 · 4 comments
Closed

Multi-central Nordic UART Service implementation #62

alexandrefresnais opened this issue Dec 14, 2022 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@alexandrefresnais
Copy link

Hello,

First, thanks for the amazing work!

I would like to know if it should be possible to implement the Nordic UART Service specification with this API ?

I know this question looks related to #58 but I cannot precisely see how it could be done in this specific case.

The Nordic documentation specifies that a central client may write on a RX Characteristic, and get answered with a notification.
As an example, I took a look at the gatt_echo_server and I could not see how I could echo the specific client which wrote me.

I understand that I can have multiple Write and Notify events, but I cannot see how I could link a writer and a notifier to answer the good client.

Is it possible ?

Thanks!

Regards,

Alexandre

@surban
Copy link
Collaborator

surban commented Dec 14, 2022

I understand that I can have multiple Write and Notify events, but I cannot see how I could link a writer and a notifier to answer the good client.

I see your point. You would need to know the address of the client device to link the write and notify events.

It seems that the client device is indeed provided via the device property over D-Bus, see https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/gatt-api.txt#n105 for example, but BlueR is currently not exposing that property.

@surban surban self-assigned this Dec 14, 2022
@surban surban added the enhancement New feature or request label Dec 14, 2022
@surban surban closed this as completed in 85c93de Dec 14, 2022
@surban
Copy link
Collaborator

surban commented Dec 14, 2022

Note that you will have to use IO-based notifications, because BlueZ does not provide the requesting device when using callback-based notifications. See https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/gatt-api.txt#n185

@alexandrefresnais
Copy link
Author

Wow, thank you very much.
I will surely be taking a look at this with an iPhone in the following weeks.
Would you be interested in a new example if I were making one ?

@surban
Copy link
Collaborator

surban commented Dec 14, 2022

Wow, thank you very much. I will surely be taking a look at this with an iPhone in the following weeks. Would you be interested in a new example if I were making one ?

Yes, definitely!

otaviojr added a commit to otaviojr/bluer that referenced this issue May 10, 2023
# This is the 1st commit message:

BLE Passive Scanning

# This is the commit message #2:

monitor

# This is the commit message bluez#3:

monitor

# This is the commit message bluez#4:

monitor

# This is the commit message bluez#5:

monitor

# This is the commit message bluez#6:

monitor

# This is the commit message bluez#7:

monitor

# This is the commit message bluez#8:

monitor

# This is the commit message bluez#9:

monitor

# This is the commit message bluez#10:

monitor

# This is the commit message bluez#11:

monitor

# This is the commit message bluez#12:

monitor

# This is the commit message bluez#13:

monitor

# This is the commit message bluez#14:

monitor

# This is the commit message bluez#15:

monitor

# This is the commit message bluez#16:

monitor

# This is the commit message bluez#17:

monitor

# This is the commit message bluez#18:

monitor

# This is the commit message bluez#19:

monitor

# This is the commit message bluez#20:

monitor

# This is the commit message bluez#21:

monitor

# This is the commit message bluez#22:

monitor

# This is the commit message bluez#23:

monitor

# This is the commit message bluez#24:

monitor

# This is the commit message bluez#25:

monitor

# This is the commit message bluez#26:

monitor

# This is the commit message bluez#27:

monitor

# This is the commit message bluez#28:

monitor

# This is the commit message bluez#29:

monitor

# This is the commit message bluez#30:

monitor

# This is the commit message bluez#31:

monitor

# This is the commit message bluez#32:

monitor

# This is the commit message bluez#33:

monitor

# This is the commit message bluez#34:

monitor

# This is the commit message bluez#35:

monitor

# This is the commit message bluez#36:

monitor

# This is the commit message bluez#37:

monitor

# This is the commit message bluez#38:

monitor

# This is the commit message bluez#39:

monitor

# This is the commit message bluez#40:

monitor

# This is the commit message bluez#41:

monitor

# This is the commit message bluez#42:

monitor

# This is the commit message bluez#43:

monitor

# This is the commit message bluez#44:

monitor

# This is the commit message bluez#45:

monitor

# This is the commit message bluez#46:

monitor

# This is the commit message bluez#47:

monitor

# This is the commit message bluez#48:

monitor

# This is the commit message bluez#49:

monitor

# This is the commit message bluez#50:

monitor

# This is the commit message bluez#51:

monitor

# This is the commit message bluez#52:

monitor

# This is the commit message bluez#53:

monitor

# This is the commit message bluez#54:

monitor

# This is the commit message bluez#55:

monitor

# This is the commit message bluez#56:

monitor

# This is the commit message bluez#57:

monitor

# This is the commit message bluez#58:

monitor

# This is the commit message bluez#59:

monitor

# This is the commit message bluez#60:

monitor

# This is the commit message bluez#61:

monitor

# This is the commit message bluez#62:

monitor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants