tinygo-org / bluetooth

Cross-platform Bluetooth API for Go and TinyGo. Supports Linux, macOS, Windows, and bare metal using Nordic SoftDevice or HCI
https://tinygo.org
Other
744 stars 137 forks source link

Expose characteristic properties and flags. #287

Open evilsocket opened 2 months ago

evilsocket commented 2 months ago

Hi, I'm using this package to reimplement a module for a project of mine and as I was refactoring the existing code to use your package instead of the previous gatt library I found a few key features / information being missing. The most important one is the characteristics properties and flags that tell if the char is readable, writable, enabled to notifications and so forth plus the type of device. You can check here how they are parsed on Linux.

Since your package is a bit more high level since it uses Bluez and Core BT, you can probably just expose native properties such as this on macOS.

If there's interest in this I can work on it and send a PR, but I'd need some guidance from a core developer in how those new fields must be normalized before being exposed to higher level methods.