Skip to content

trouble host v0.2.0

Choose a tag to compare

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::drop in 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 and split of esp feature 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's TX_MTU by @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 Response characteristics 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

Full Changelog: https://github.com/embassy-rs/trouble/commits/trouble-host-v0.2.0