Commit bf9eb05
committed
GATT server support for Rust
With a whole lot of support to get there:
- Device::add_service(), with some complexity around how to represent the mutable Python `Service` being used under the covers
- AttributePermission, CharacteristicProperty, and other supporting GATT-related stuff
- Ability to handle the different data types used by various Python `Characteristic` subclasses
- Support for running tests in the context of a background `rootcanal` process
- `TryToPy` and `TryFromPy` traits to help make the lifecycle more clear for structs that have a Python equivalent, but are also meaningful standalone
- Add example with a minimal battery service
- Rearrange known service IDs to make it possible to refer to a service UUID in a meaningful way
- Make Address hold its own state to avoid propagating PyResult so much, and adopt the new TryToPy and TryFromPy traits
- `AdvertisingDataValue` trait so users don't have to remember as many ADU encoding details at a call site
- Sprinkle in more wrap_python_async to work on Python 3.8 and 3.91 parent 69c6643 commit bf9eb05
File tree
38 files changed
+3997
-1087
lines changed- bumble
- rust
- examples
- pytests
- wrapper
- src
- cli/l2cap
- internal
- att
- gatt
- wrapper
- assigned_numbers
- device
- gatt
38 files changed
+3997
-1087
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| |||
3533 | 3533 | | |
3534 | 3534 | | |
3535 | 3535 | | |
3536 | | - | |
| 3536 | + | |
| 3537 | + | |
| 3538 | + | |
| 3539 | + | |
| 3540 | + | |
| 3541 | + | |
3537 | 3542 | | |
3538 | 3543 | | |
3539 | 3544 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
491 | 491 | | |
492 | 492 | | |
493 | 493 | | |
494 | | - | |
| 494 | + | |
495 | 495 | | |
496 | 496 | | |
497 | 497 | | |
| |||
0 commit comments