Syncing Surfacing of G5/G6 Sensor Lifecycle + Detect Anubis-modded G6 to LoopKit#215
Merged
Conversation
- Implement cgmStatusHighlight and cgmLifecycleProgress on G5/G6 so consumers can render sensor warmup, calibration state, sensor and session failure, and remaining-time UI. Status is driven by Glucose.state (CalibrationState); lifecycle is driven by sessionStartDate / sessionExpDate from the transmitter. - Parse transmitterExpiryInDays from the version-rx frame (bytes 13-14) and expose isAnubis on G6CGMManager. Stock G6 reports a 90-day lifetime; Anubis-modded G6 reports 180 (heuristic borrowed from xDrip4iOS). - Active-mode connect reads the version frame after glucose; passive mode catches it via the control-response listener. The field is persisted on TransmitterManagerState so isAnubis survives an app restart. - The lifecycle ring fills against the actual warmup window: 2 h for stock G5/G6, 50 min for Anubis-modded G6.
Surface G5/G6 sensor lifecycle; detect Anubis-modded G6
Contributor
|
Maybe add the tests to this one, too, and I'll merge this. |
Tests for Anubis detection + xcstrings sync
Contributor
Author
|
Tests added and successfully run (see loopandlearn#7 (comment)). |
* Add sensor life configuration for Anubis transmitters Implements user-configurable sensor session length (10–60 days) for Anubis-modded transmitters, while maintaining stock 10-day sessions for standard G5/G6 transmitters. Key changes: - Transmitter version frame detection identifies Anubis modification (180-day expiry) - sessionExpDate now updated dynamically based on configured sensor life - Warmup period adjusted for Anubis (50 min) vs stock (2 h) - Settings UI provides wheel picker for sensor life selection (10–60 days) - State persistence for selected sensor life across app sessions * Hide session ring until final 48 hours Add a guard statement to keep the session progress ring hidden until the transmitter session enters its final 48 hours. This improves the user experience by reducing visual clutter during the early stages of a session. * Correct ring to lifecycle
Contributor
Test
|
marionbarker
approved these changes
Jul 20, 2026
marionbarker
left a comment
Contributor
There was a problem hiding this comment.
Approve by code review and test
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.
See loopandlearn#6
Tests are pending as of loopandlearn#7