You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Background Refresh: scan does not find Atlas pods (Omnipod Dash) #630
When a user selects Background Refresh → Omnipod Dash, scanning never finds the pod if it is an Atlas pod (newer Insulet hardware revision). Reported by a user who is looping with Dash.
The matcher in BackgroundRefreshType.matches(_:) for .omnipodDash only accepts peripherals whose advertised name is exactly "TWI BOARD" (a real Dash pod) or " :: Fake POD ::" (the rPi DASH simulator):
case .omnipodDash:iflet name = device.name {
// actual DASH or rPi DASH simulator
return name =="TWI BOARD" || name ==" :: Fake POD ::"}
return false
OmnipodDashHeartbeatBluetoothTransmitter connects on service UUID 1A7E4024-E3ED-4464-8B7E-751E03D0DC5F and reads characteristic 1A7E2442-..., which is the standard (non-Atlas) Dash pod service. LoopFollow/BackgroundRefresh/BT/Devices/OmnipodDashHeartbeatBluetoothTransmitter.swift:8
Because Atlas pods use a different advertised name (and likely a different service UUID), the BLE scan list never offers them and the Omnipod Dash heartbeat option is effectively unavailable to Atlas users.
What to do
Identify the advertised name and BLE service UUID of an Atlas pod (a packet capture from a phone connected to an Atlas pod is enough).
Either:
extend BackgroundRefreshType.matches(_:) and OmnipodDashHeartbeatBluetoothTransmitter to also accept the Atlas advertisement and service, or
add a separate .omnipodAtlas case if the timing/characteristics differ enough to need their own transmitter class.
Until then, Atlas users have to fall back on Silent Tune or a Dexcom heartbeat for background refresh.
Activity
Recognize Atlas DASH pod in Omnipod heartbeat scan (#633)
Recognize Atlas DASH pod in Omnipod heartbeat scan (loopandlearn#633)