Skip to content
This repository was archived by the owner on May 18, 2022. It is now read-only.

Implement AccessAddress generation #16

Open
5 tasks
jonas-schievink opened this issue Mar 20, 2019 · 0 comments
Open
5 tasks

Implement AccessAddress generation #16

jonas-schievink opened this issue Mar 20, 2019 · 0 comments
Labels
area: link layer Code Area: BLE Link Layer (establishing and maintaining connections, encryption, etc) help wanted Call for participation: Help is requested to fix this issue status: needs code An implementation or a bugfix need to be written type: enhancement A new feature or an improvement for an existing one

Comments

@jonas-schievink
Copy link
Owner

jonas-schievink commented Mar 20, 2019

This is needed if the device wants to initiate a connection (by sending a connection request PDU), it is not needed if the device is just a peripheral that accepts a connection. It is specified in Part B 2.1.2 of Bluetooth Core v4.2.

Depends on #2.

Things that need to be done:

  • Create a struct AccessAddress(u32); newtype
  • Replace current uses of u32 for access addresses with the new type
    • The current advertising::ACCESS_ADDRESS constant can be replaced by an associated const AccessAddress::ADVERTISING
  • Implement Debug by hand and print the hex representation of the address
  • Implement a is_valid method that checks the requirements in the specification (also implement a lot of unit tests for this)
  • Implement a random constructor method that uses a rand_core::RngCore implementor to generate a random AccessAddress that adheres to the specified requirements
@jonas-schievink jonas-schievink added type: enhancement A new feature or an improvement for an existing one status: needs code An implementation or a bugfix need to be written area: link layer Code Area: BLE Link Layer (establishing and maintaining connections, encryption, etc) labels Apr 1, 2019
@jonas-schievink jonas-schievink added the help wanted Call for participation: Help is requested to fix this issue label Jun 24, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area: link layer Code Area: BLE Link Layer (establishing and maintaining connections, encryption, etc) help wanted Call for participation: Help is requested to fix this issue status: needs code An implementation or a bugfix need to be written type: enhancement A new feature or an improvement for an existing one
Projects
None yet
Development

No branches or pull requests

1 participant