feat(ble-advertisers): Add new crate for managing BLE advertisers
This commit introduces the `ble-advertisers` crate, a new library for
creating and managing Bluetooth Low Energy (BLE) legacy advertising
devices.
The crate provides a high-level API for building advertising and scan
response packets, and for managing the scheduling of multiple
advertisers in a thread-safe manner.
Key features include:
- **Packet Construction**: A builder pattern for creating custom BLE
advertising and scan response packets with support for common data
types.
- **Thread-Safe Scheduling**: The `Advertisers` struct allows for
managing multiple advertisers concurrently.
- **Event-Driven API**: A `duration()` method to easily integrate into
an event loop.
- **Link Layer Definitions**: Low-level packet definitions for legacy
advertising PDUs.
This initial version includes the core data structures, builders, and
management logic for legacy BLE advertising.
Bug: 433975377
Change-Id: I6df376aabda2dc0010449a3d6f77718dc6aec2e5
15 files changed