trouble host v0.2.0
What's Changed
- Update serial example to work by @lulf in #4
- Update to bt-hci main and adopt to new api by @lulf in #5
- Integration test by @lulf in #7
- add support for reading rssi by @lulf in #8
- improve scanning and connection handling by @lulf in #9
- Get rid of unnecessary control channel by @lulf in #10
- Support propagating vendor events to an external handler by @lulf in #16
- improve handling of connect cancellation by @lulf in #18
- Move channel and connection logic into inner types by @lulf in #19
- Signal refactor by @lulf in #20
- reduce size of channel manager by @lulf in #21
- Update readme by @lulf in #22
- test update by @lulf in #23
- Test commit by @lulf in #24
- Remove newline by @lulf in #26
- Update README and rust doc by @lulf in #27
- Make connection handle public by @lulf in #28
- improve credit handling by @lulf in #29
- Less generics 2 by @lulf in #36
- Flow control fixes by @lulf in #37
- fix disconnect reassemblies and tune logging by @lulf in #38
- Add apache-nimble example by @Univa in #30
- L2cap chan config by @lulf in #39
- add example lock files by @lulf in #40
- fix channel close by @lulf in #44
- report channel closed if not found by @lulf in #42
- reduce log spam by @lulf in #41
- ensure event length is set correctly for update params by @lulf in #43
- support multiple advertisement sets by @lulf in #45
- handle att mtu even if gatt is not enabled by @lulf in #46
- add features for l2cap pool size and queue len by @lulf in #47
- make connections reference counted by @lulf in #48
- improve connect cancellation handling by @lulf in #49
- handle cancellation for advertisements by @lulf in #50
- ensure that accept filters by role by @lulf in #51
- add some more verbose logging tunables by @lulf in #52
- convert rx future to run until failure by @lulf in #53
- ensure disconnection iter makes progress by @lulf in #54
- confirm disconnect by @lulf in #55
- improve connection and disconnection handling by @lulf in #56
- handle more disconnect cases by @lulf in #57
- Fix disconnect busyloop by @lulf in #58
- simplify disconnect logic by @lulf in #59
- ensure channels are set to disconnected by @lulf in #60
- refactor l2cap channel lifecycle by @lulf in #61
- Advertiser type by @lulf in #62
- use a closure for the event handler by @lulf in #63
- Avoid
Advertiser::dropin examples by @Univa in #65 - Add CharacteristicBuilder and ServiceHandle by @Univa in #64
- use owned advertising params by @lulf in #67
- propagate knowledge of using ext adv by @lulf in #68
- feat: control fragmentation of adv ext pdus by @lulf in #69
- poll connections first by @lulf in #70
- Use slices for advertising sets by @lulf in #71
- Implement basic GATT client functionality by @lulf in #73
- Improvements by @lulf in #74
- Ref improves by @lulf in #75
- Disconnect on out of memory errors by @lulf in #76
- Improve ACL processing error handling by @lulf in #77
- enable controller-host flow control by @lulf in #78
- Debug by @lulf in #79
- Ensure notifying l2cap channel of disconnection by @lulf in #80
- Add example for esp32 by @lulf in #81
- use bt-hci 1.0 by @lulf in #83
- Support comparing characteristic handles by @lulf in #84
- Add example for rp pico w by @lulf in #85
- tune some defaults for attribute queues by @lulf in #86
- Bugfixes by @lulf in #87
- fix an issue where the returned handle would not contain the cccd handle by @lulf in #88
- minor fixes to reduce unnecessary work by @lulf in #89
- support configuring gatt server mtu by @lulf in #91
- Convert examples to reusable controller agnostic apps by @lulf in #92
- ensure non-existing handles are not connected by @lulf in #93
- Move all example apps to common folder by @lulf in #94
- fix apache nimble example by @lulf in #96
- Fix 128-bit UUID parsing in discover_characteristic by @mertzt89 in #97
- Bump bt-hci version with bugfixes by @lulf in #103
- Revert "remove superflous api for adding descriptors" by @lulf in #104
- Use separate wakers for peripheral and central by @lulf in #105
- Expose metrics from host by @lulf in #106
- Add possibility to listen to notifications by @pferreir in #102
- Ensure gatt client runs the task by @lulf in #112
- Use upstream esp32 support in example by @lulf in #110
- Fix a race when creating l2cap connections by @lulf in #113
- Return characteristic even if next was not cccd by @lulf in #116
- Refactor host API by @lulf in #117
- Make gatt server generic over the API by @lulf in #118
- Refactor gatt clients to use feature for consts by @lulf in #120
- examples: Add support for different devices for nrf-sdc by @plaes in #121
- Enable missing heap allocator to get esp-wifi working by @lulf in #124
- Use cargo batch and caching in CI by @lulf in #125
- Split runner into tx, rx and control by @lulf in #129
- Parse manufacturer data in AdStructure by @iamtio in #138
- Add service proc macro by @petekubiak in #131
- Bugfix service visibility by @jamessizeland in #140
- Add per-connection metrics by @lulf in #139
- fix link by @lulf in #144
- Remove gap boilerplate by @jamessizeland in #143
- Allow using GapConfig with local lifetime by @lulf in #147
- ownership of AttributeTable into GattServer by @jamessizeland in #148
- Fix build without GATT, fix CI to check it. by @Dirbaio in #150
- Add nrf52833 target to nrf-sdc example by @lulf in #156
- Update Embassy, nrf-sdc, esp-hal. by @Dirbaio in #162
- Improve characteristic interactions by @petekubiak in #151
- Add linked projects vscode settings by @jamessizeland in #158
- Use spdx compatible license identifier by @lulf in #165
- Adding release stage by @ScottGibb in #159
- Get rid of dyn trait for connection manager by @lulf in #169
- Add ability to receive connection events by @lulf in #170
- Change server macro to accept expressions for attribute_data_size and mtu by @petekubiak in #171
- expose characteristic handle to make GattEvent Read and Write nicer by @jamessizeland in #172
- Automatically calculate attribute table size by @petekubiak in #176
- Improve peripheral gatt example by @jamessizeland in #174
- Fix visibility constraint for ServiceBuilder's ATTRIBUTE_COUNT constant by @plaes in #179
- use bt_hci BluetoothUuid16 by @jamessizeland in #181
- Fix cyw43 firmware download base url by @bittailor in #183
- Fix build errors for elided lifetimes by @lulf in #184
- Update nrf-sdc version by @lulf in #185
- Add emacs rust configuration by @lulf in #186
- Make example panic if advertise fails by @lulf in #187
- Get rid of unnecessary UnsafeCell in packet pool by @lulf in #191
- Avoid sending advertise cancel if not necessary by @lulf in #192
- Add support for using server and client concurrently by @lulf in #193
- Support attribute segmentation by @lulf in #198
- Perform l2cap fragmentation at lower layer by @lulf in #199
- Update esp32 example for non esp32c3 targets by @bytedream in #201
- Add more esp32 examples by @bytedream in #202
- Add descriptors and default values by @jamessizeland in #190
- Implement async GATT event processing by @lulf in #200
- Add support for variable length fields by @lulf in #205
- Split event into event and reply by @lulf in #208
- Avoid duplicate borrow_mut due to event cloning by @lulf in #211
- Create WriteEvent for att write command request by @lulf in #212
- fix: initialize storage arrays manually instead of
Default::default()by @pperanich in #216 - Allow more types in UUID macro by @jamessizeland in #218
- add rssi task to gatt periph example by @jamessizeland in #219
- refactor: use heapless Vec by @lulf in #220
- 'embedded-io-async' dependency seems to be unneeded by @lure23 in #222
- Hil tests for examples by @lulf in #221
- Refactor l2cap hil test by @lulf in #225
- Update bt-hci, nrf-sdc, embassy, esp-hal. by @Dirbaio in #213
- potential unnecessary deps in examples/serial-hci by @lure23 in #227
- small changes proposed to 'esp32' build and 'ble_bas_peripheral' example by @lure23 in #228
- outline rp pico 2 w support by @brandonros in #217
- feat: expose mtu to user applications. by @pperanich in #233
- Increase mtu for ble_bas_peripheral for esp examples by @sjroe in #235
- Refactor AttErrorCode as wrapper type around u8 by @petekubiak in #230
- fix: set default_att mtu based on l2cap by @lulf in #237
- fix: add missing import for scan feature by @lulf in #238
- Consolidate UUID from slice functionality into TryFrom implementation by @petekubiak in #239
Rename andsplit ofespfeature based on ESP32 chip types by @lure23 in #236- refactor: change api and support varying scan buffer sizes by @lulf in #241
- Update esp-hal to released versions. by @Dirbaio in #240
- refactor: use hilprobe library by @lulf in #242
- test: reenable esp32c3 hil by @lulf in #243
- ESP32: Last three to drop? by @lure23 in #223
- fix: fix interaction between central and peripheral in nrf by @lulf in #246
- test: add HIL test for l2cap central for nrf and esp32 by @lulf in #247
- patch esp-wifi for c6 ble initialization bug by @jamessizeland in #251
- tests: disable esp32 hil and fix false passing test by @lulf in #253
- Add paths to types in server and service macros by @petekubiak in #254
- refactor: remove C from HostResources by @lulf in #255
- refactor: use a struct to hold the result of building the stack by @lulf in #257
- Fixed a bug when setting the size of the
send'sTX_MTUby @hicklin in #256 - Fix an off-by-one in
impl GattValue for [u8; N]by @TethysSvensson in #266 - add 128 and 16 bit conversions to Uuid by @jamessizeland in #265
- potential for cleanup by @lure23 in #258
- one.. more.. slim down by @lure23 in #268
- feat: add scanner example by @lulf in #274
- fix: perform segmentation accordign to ACL max by @lulf in #263
- fix: print warning if outbound channel is full on reply drop by @lulf in #270
- fix: do not exit runner on non-critical errors by @lulf in #279
- Expose indications and notifications in the att layer by @ivmarkov in #267
- Enabling MTU work-around for ESP32-S3 by @lure23 in #282
- fix: check result of join by @lulf in #284
- Split from_gatt and to_gatt into separate traits and implement for &'static str by @petekubiak in #289
- Use AsGatt rather than ToGatt by @petekubiak in #290
- Add missing serial hci examples by @hicklin in #291
- chore: move to rust edition 2024 by @lulf in #298
- refactor: rework controller-host flow control support by @lulf in #299
- feat: add some l2cap benchmarks by @lulf in #300
- Remove invalid field from FindTypeValue response by @timokroeger in #301
- Allow getting and setting all attributes by @petekubiak in #261
- Update the GATT client to allow use of
Write Without Responsecharacteristics by @Meigs2 in #302 - Add support for advertised 16 and 128 bit service uuid by @Easyoakland in #304
- refactor: provide separate writer and reader instead of clone by @lulf in #307
- fix: notification issues by @chrissuozzo in #309
- Restore the GattData::process public API by @ivmarkov in #311
- default cccd to 0 if value missing by @Easyoakland in #312
- refactor: finer grained configuration for l2cap queues by @lulf in #314
- fix: ensure connection create is cancelled on success by @lulf in #315
- feat: add build and publish of git rustdoc by @lulf in #316
- fix: reserve all acl buffers for non-blocking l2cap by @lulf in #317
- WIP: Security manager take 2 by @blueluna in #286
- feat: enable phy update event and log error by @lulf in #318
- docs: add documentation by @lulf in #321
- High throughput example by @hicklin in #319
- docs: move performance guide into book by @lulf in #324
- feat: add apis and events for configuring phy and connection parameters by @lulf in #325
- fix: pass conn params as ref by @lulf in #326
- Use user provided value directly when expanding characteristic macro by @HaoboGu in #322
- Add missing lifetime use and import by @HaoboGu in #323
- Emit bonded event after bonding by @HaoboGu in #329
- Add function which removes bond info, update existing bond info by @HaoboGu in #330
- Disconnect when the LTK is not found by @HaoboGu in #332
- Accept then advertise by @lulf in #335
- feat: add advertising only examples by @lulf in #337
- fix: update bt-hci versions by @lulf in #343
- Expose cccd table by @HaoboGu in #345
- Add pairing method choosing by @HaoboGu in #344
- Fix descriptor cannot be recognized by Linux/Android by @HaoboGu in #347
- feat: replace some logging with per-channel metrics by @lulf in #348
- Use default mtu size before mtu negotiation by @HaoboGu in #349
- fix: use correct hal version for rp pico by @lulf in #353
- Support cccd table setting by @HaoboGu in #352
- fix/gatt: incorrect packet length by @drindr in #351
- feat: allow fetching conn/channel metrics by @lulf in #354
- feat: add support for creating a channel ref by @lulf in #358
- cleanup: move l2cap inbound channel into channel storage by @lulf in #359
- chore: move events channel inside connection storage by @lulf in #360
- chore: move reassembly into connection storage by @lulf in #361
- chore: use separate queue for gatt data by @lulf in #363
- Fix wrong advertising timeout setting by @HaoboGu in #366
- feat: allow configuring custom pool allocator by @lulf in #365
- feat: allow updating advertisement data while advertising. by @augustoroman in #364
- Fix packet pool error in security by @HaoboGu in #368
- Add IRK support by @HaoboGu in #367
- fix: Don't panic when parsing bad advertisement data by @augustoroman in #369
- feat: reassembly inbound SDU in host runner by @lulf in #370
- fix: change mtu default by @lulf in #373
- fix: adjust l2cap channels to make examples pass by @lulf in #374
- Use Bluetooth specification conform L2CAP PSM by @bittailor in #377
- Add missing
wake()call for disconnects after drop by @timokroeger in #378 - Fix RX ACL disconnection behavior by @timokroeger in #376
- fix: clear the inbound gatt channel on disconnect by @lulf in #381
- Replace unmaintained inflector dependency with convert_case by @ratmice in #382
- fix: use length from AdStructure::encode_slice in examples/tests by @eldad in #385
- Introduce more granular error variants to replace InvalidValue by @sssilver in #384
- feat: expose the l2cap channel psm by @lulf in #386
- docs: document generated features by @lulf in #389
- fix: ensure reassemblies are cleared on disconnect by @lulf in #390
- Make the server field of the GATT Server struct public so it can be used across modules by @petekubiak in #392
- [Proposal] reexport ExternalController and SerialTransport from prelude by @jamessizeland in #393
- Tidy up ble bas peripheral example by @jamessizeland in #394
- Various fixes to l2cap reassembly by @lulf in #395
- docs(book): fix typos in the performance section by @nponsard in #396
- Update example docs by @jamessizeland in #398
- Remove unnecessary log by @HaoboGu in #400
- Return a more helpful error message when GATT client subscriber limit hit by @simonft in #399
- chore: update deps by @lulf in #401
- Minor documentation update by @HaoboGu in #406
- Update to esp hal beta.1 by @jamessizeland in #407
- Simplify and generify GattEvent; allow again for custom processing of GATT events by @ivmarkov in #404
- chore: bump versions in preparation for release by @lulf in #410
New Contributors
- @Univa made their first contribution in #30
- @mertzt89 made their first contribution in #97
- @pferreir made their first contribution in #102
- @plaes made their first contribution in #121
- @iamtio made their first contribution in #138
- @petekubiak made their first contribution in #131
- @jamessizeland made their first contribution in #140
- @Dirbaio made their first contribution in #150
- @ScottGibb made their first contribution in #159
- @bittailor made their first contribution in #183
- @bytedream made their first contribution in #201
- @pperanich made their first contribution in #216
- @lure23 made their first contribution in #222
- @brandonros made their first contribution in #217
- @sjroe made their first contribution in #235
- @hicklin made their first contribution in #256
- @TethysSvensson made their first contribution in #266
- @ivmarkov made their first contribution in #267
- @timokroeger made their first contribution in #301
- @Meigs2 made their first contribution in #302
- @Easyoakland made their first contribution in #304
- @chrissuozzo made their first contribution in #309
- @blueluna made their first contribution in #286
- @HaoboGu made their first contribution in #322
- @drindr made their first contribution in #351
- @augustoroman made their first contribution in #364
- @ratmice made their first contribution in #382
- @eldad made their first contribution in #385
- @sssilver made their first contribution in #384
- @nponsard made their first contribution in #396
- @simonft made their first contribution in #399
Full Changelog: https://github.com/embassy-rs/trouble/commits/trouble-host-v0.2.0