fix(ios): scan for both Base and Alt BLE service UUIDs#26
Open
Flo5k5 wants to merge 1 commit intom5stack:mainfrom
Open
fix(ios): scan for both Base and Alt BLE service UUIDs#26Flo5k5 wants to merge 1 commit intom5stack:mainfrom
Flo5k5 wants to merge 1 commit intom5stack:mainfrom
Conversation
The firmware publishes two distinct 128-bit service UUIDs depending on which mode is active: - e2e5e5e0-1234-5678-1234-56789abcdef0 (Base) Used by startBleServer() for runtime control (motion, avatar, RGB...) - e2e5e5ff-1234-5678-1234-56789abcdef0 (Alt) Used by startAppConfigServer() for Wi-Fi provisioning / pairing iOS scanForPeripherals(withServices:) only returns devices whose adv payload contains the requested UUIDs, so scanning only the Base UUID means the app is blind to the device whenever it is in Setup/pairing mode - which is exactly when the app needs to connect to it. Add both UUIDs to targetServiceUUIDs so the scan succeeds in either mode. Observed behaviour before: BLE scan silently matched nothing, user stays on "device offline" screen forever after scanning the QR.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The firmware publishes two distinct 128-bit service UUIDs depending on
which mode is active:
e2e5e5e0-1234-5678-1234-56789abcdef0 (Base)
Used by startBleServer() for runtime control (motion, avatar, RGB...)
e2e5e5ff-1234-5678-1234-56789abcdef0 (Alt)
Used by startAppConfigServer() for Wi-Fi provisioning / pairing
iOS scanForPeripherals(withServices:) only returns devices whose adv
payload contains the requested UUIDs, so scanning only the Base UUID
means the app is blind to the device whenever it is in Setup/pairing
mode - which is exactly when the app needs to connect to it.
Add both UUIDs to targetServiceUUIDs so the scan succeeds in either
mode. Observed behaviour before: BLE scan silently matched nothing,
user stays on "device offline" screen forever after scanning the QR.