Skip to content

Dev watch sk #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 68 commits into from
Aug 23, 2018
Merged

Dev watch sk #3

merged 68 commits into from
Aug 23, 2018

Conversation

iMaces
Copy link
Owner

@iMaces iMaces commented Aug 23, 2018

No description provided.

ps2 and others added 30 commits June 15, 2018 11:59
* Update to LoopKit v2

* Update to RLKit frameworks v2.0.2
* Remove boilerplate comments

* Remove boilerplate comments and methods
This technically isn't necessary as they are updated in the same
function but for consistency and not to forget during the next
refactoring this is protecting the user from getting a potentially
dangerous out of date recommendation.
* Build dependencies on the fly

* Build dependencies first, without xcpretty

* update travis to use Xcode 9.4
This incorporates a ton of fine work by Eric Jensen, but I've squashed
it down into a single commit for ease of management.

The watch now has two discrete pages, one which is the standard actions
based interface, the second is an information interface which shows the
IOB, COB, basal rate and a glucose chart.

Glucose data is read from HealthKit on the watch. Sometimes this lags
behind so we also make requests to backfill glucose data as
necessary. We're also minimizing the amount of data sent over BLE as
much as possible since BLE is slow and less reliable.
* Implement PumpManager protocol

* Use LoopKit and RlKit dev
previously was using 75% of the pickerValue
also remove the extra casting
Bharat Mediratta and others added 26 commits July 30, 2018 14:41
Adjust scene size on 38mm watch
Fix override range display, mmol/L limits
Don't send expired overrides in watch context
@iMaces iMaces merged commit a3c23d2 into iMaces:dev-watchM Aug 23, 2018
iMaces pushed a commit that referenced this pull request Mar 29, 2019
Use new basal picker interface
iMaces pushed a commit that referenced this pull request Jun 30, 2023
* Add unannounced meal func to CarbStoreProtocol

* V1 of UAM algo

* Add debug logs

* Handle unannounced meal notification & open up controller

* Add mealstart to notification userinfo

* Improve notification description

* Add direct entry to carb flow from notification on watch

* Add auto-setting of carb entry on watch

* carbThreshold -> mealCarbThreshold

* Retract UAM notifications after the carbs have expired

* Improve function naming

* Move notification logic from LoopKit to Loop

* Make current date configurable

* Make current date configurable during unit testing

* Update status enum naming for point-of-use clarity

* Make 'now' time configurable

* Extract loop data manager testing logic into base class

* Extract loop data manager dosing tests into their own file

* Add unannounced meal tests

* Fix concurrency issue

* Pull UAM constants into separate struct

* Fix notifications not being retracted after their expiration date

* Expire using start of meal instead of current time

* Add unannounced meal notifications permission

* Add AlertPermissionsViewModel

* Remove unneeded `AnyView`s

* Removed unused completion block

* Use the counteraction effects passed into the function

* Schedule missed meal notifications to avoid notification during an microbolus (#3)

* Delay missed meal notification if possible to avoid delivering it during an autobolus

* Add tests for notification delay

* Update `estimatedDuration` function headers in response to PR feedback

* Add UAM banner to carb entry screen (#5)

* Add warning banner to remind the user to edit the meal estimate

* Update warning text

* UAM algo updates: only use directly observed carb absorption (#6)

* Add ability to calculate the number of carbs in a missed meal (#4)

* Plumb a customizable carb amount through UAM notification architecture

* Fix merge conflict

* Update tests for changes from the merge

* Make UAM notifications unit testable

* Add carb autofill clamping based on the user's carb threshold & max bolus

* Update target order to group extensions together

* Improve issue report description

* Create `MealDetectionManager` from old UAM functions in `CarbStore`

* Move notification logic into `MealDetectionManager`

* Updates based on feedback for UAM PR (#7)

* Create `MealDetectionManager` from old UAM functions in `CarbStore`

* Move notification logic into `MealDetectionManager`

* Move UAM test fixtures from LoopKit to Loop

* Remove old TODO

* Revert change to Loop signing team

* Fix merge issues

* Make tests runnable

* Lower meal carb threshold to 15 g to reduce false-negatives

* Fix carb entry controller merge issues

* Unannounced meal / UAM -> missed meal

* UAM test fixture -> missed meal test fixture

* Variable naming improvements

* Remove `AlertPermissionsViewModel`

* Move call to check for missed meals to `loop()`-level

* Remove `CarbStore` dependency from `MealDetectionManager`

These changes also remove the requirement that there be no carbs entered after the missed meal was detected - since we're now observing direct absorption, I didn't think this requirement made sense anymore

* Reduce `minRecency` required to detect a meal

* Update counteraction effect math in `MealDetectionManager` to skew towards an earlier meal time instead of a later one

* Fix conflict + move missed meal toggle 1 level higher
iMaces pushed a commit that referenced this pull request Jul 3, 2023
* Remote handling rearchitecture

* Move remote background handling to ServicesManager.
Use notification to detect loop completion.
Move handleRemoteNotification to ServicesManager

* Add delegate for ServicesManager

* Remove remote details from DeviceDataManager

* Remove remote terms from ServicesManagerDelegate api

* Respond only to loopFinished notifications

* Remove unused method

* Rename method

* Update names

* Update names

* Remove more remote references in DeviceDataManager

* Remove Remote 2.0 parts

* Update enact override method name

* Move validation to ServicesManager.
Move ServiceManager delegation to LoopDataManager

* Move bolus validation to ServicesManager
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants