Skip to content

Inconsistent flash address for bonding data storage in example application #516

@ducky64

Description

@ducky64

In https://github.com/embassy-rs/trouble/blob/main/examples/apps/src/ble_bas_peripheral_bonding.rs, store_bonding_info uses start_addr = 0xA0000 but load_bonding_info uses flash_range::<S>() which is 0..2 * S::ERASE_SIZE as u32. Bonding data fails to re-load on firmware restart.

Additionally, IRK data is not saved, which means Android bonding data is effectively reset on firmware restart.

Note, when the flash address is made consistent, bonding data is retained for a Windows client. When IRK data is also saved, bonding data is retained for an Android client.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions