micropython-lib/micropython
Trent Piepho e5389eb26a aioble/peripheral.py: Place multiple UUIDs in single advertisement LTV.
When multiple UUIDs of the same size are advertised, they should all be
listed in a single LTV.  Supplement to the Bluetooth Core Specification,
Part A, §1.1.1:  "A packet or data block shall not contain more than one
instance for each Service UUID data size."

When aioble construct the advertisement data, it is creating a new data
block for each UUID that contains only that single UUID.  Rather than,
e.g., a single 16-bit UUID block with a list of multiple UUIDs.

Not only is this against the specification, it wastes two bytes of limited
advertisement space per UUID beyond the first for the repeated data block
length and type fields.

Fix this by grouping each UUID size together.

Signed-off-by: Trent Piepho <tpiepho@gmail.com>
2024-05-24 21:42:33 +10:00
..
aioespnow all: Lint Python code with ruff. 2023-07-24 07:51:33 +02:00
aiorepl aiorepl: Add support for raw mode (ctrl-a). 2023-12-20 12:35:40 +11:00
bluetooth aioble/peripheral.py: Place multiple UUIDs in single advertisement LTV. 2024-05-24 21:42:33 +10:00
bundles ssl: Restructure micropython SSL interface to a new tls module. 2024-02-07 12:12:13 +11:00
drivers all: Enable ruff E401 and E402 import lints. 2024-05-17 17:06:33 +10:00
espflash all: Enable Ruff lint F541 'f-string without any placeholders'. 2024-05-15 18:11:46 +10:00
lora all: Enable Ruff lint F541 'f-string without any placeholders'. 2024-05-15 18:11:46 +10:00
mip mip: Bump minor version. 2024-05-15 13:53:01 +10:00
mip-cmdline micropython/mip: Add command-line functionality for the Unix port. 2022-11-09 12:43:04 +11:00
net ntptime: Fix Year 2036 bug. 2024-05-15 15:36:02 +10:00
senml senml: Use the updated cbor2 API. 2024-03-19 17:29:22 +11:00
uaiohttpclient uaiohttpclient: Update example client code. 2023-12-20 14:56:09 +11:00
ucontextlib all: Enable ruff F841 'Local variable is assigned to but never used'. 2024-05-15 18:05:21 +10:00
udnspkt all: Enable ruff F841 'Local variable is assigned to but never used'. 2024-05-15 18:05:21 +10:00
umqtt.robust top: Update Python formatting to black "2023 stable style". 2023-02-03 17:12:38 +11:00
umqtt.simple ssl: Restructure micropython SSL interface to a new tls module. 2024-02-07 12:12:13 +11:00
upysh all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
urequests requests: Rename urequests to requests. 2023-07-23 11:41:44 +10:00
urllib.urequest all: Enable ruff F841 'Local variable is assigned to but never used'. 2024-05-15 18:05:21 +10:00
usb usb: Add USB device support packages. 2024-04-30 15:57:50 +10:00
xmltok xmltok: Bump patch version. 2023-07-23 11:48:25 +10:00
README.md top: Update top-level docs. 2022-12-16 17:16:03 +11:00

README.md

MicroPython-specific packages

These are packages that have been written specifically for use on MicroPython.

Packages in this directory should not have the same name as modules from the Python Standard Library.

Future plans

  • More organised directory structure based on purpose (e.g. drivers, network, etc).