diff --git a/Documentation/AppIcon.png b/Documentation/AppIcon.png new file mode 100644 index 0000000000..38123cf3a8 Binary files /dev/null and b/Documentation/AppIcon.png differ diff --git a/Documentation/Screenshots/Phone Add CGM.png b/Documentation/Screenshots/Phone Add CGM.png new file mode 100644 index 0000000000..fb9bf0b1a1 Binary files /dev/null and b/Documentation/Screenshots/Phone Add CGM.png differ diff --git a/Documentation/Screenshots/Phone Bolus.png b/Documentation/Screenshots/Phone Bolus.png index 6a3d49af7f..6e73ec946a 100644 Binary files a/Documentation/Screenshots/Phone Bolus.png and b/Documentation/Screenshots/Phone Bolus.png differ diff --git a/Documentation/Screenshots/Phone Carb Entry.png b/Documentation/Screenshots/Phone Carb Entry.png new file mode 100644 index 0000000000..c4c05b5120 Binary files /dev/null and b/Documentation/Screenshots/Phone Carb Entry.png differ diff --git a/Documentation/Screenshots/Phone Graphs.png b/Documentation/Screenshots/Phone Graphs.png deleted file mode 100755 index ead32d57a9..0000000000 Binary files a/Documentation/Screenshots/Phone Graphs.png and /dev/null differ diff --git a/Documentation/Screenshots/Phone Home.png b/Documentation/Screenshots/Phone Home.png new file mode 100644 index 0000000000..d32a5268c3 Binary files /dev/null and b/Documentation/Screenshots/Phone Home.png differ diff --git a/Documentation/Screenshots/Phone Live Activity.jpg b/Documentation/Screenshots/Phone Live Activity.jpg new file mode 100644 index 0000000000..d7c3dfe85c Binary files /dev/null and b/Documentation/Screenshots/Phone Live Activity.jpg differ diff --git a/Documentation/Screenshots/Phone Notification Battery.png b/Documentation/Screenshots/Phone Notification Battery.png deleted file mode 100755 index 8859a01381..0000000000 Binary files a/Documentation/Screenshots/Phone Notification Battery.png and /dev/null differ diff --git a/Documentation/Screenshots/Phone Notification Bolus Failure.png b/Documentation/Screenshots/Phone Notification Bolus Failure.png deleted file mode 100644 index 20bb82f02c..0000000000 Binary files a/Documentation/Screenshots/Phone Notification Bolus Failure.png and /dev/null differ diff --git a/Documentation/Screenshots/Phone Notification Loop Failure.png b/Documentation/Screenshots/Phone Notification Loop Failure.png deleted file mode 100755 index 5faa23c395..0000000000 Binary files a/Documentation/Screenshots/Phone Notification Loop Failure.png and /dev/null differ diff --git a/Documentation/Screenshots/Phone Presets.png b/Documentation/Screenshots/Phone Presets.png new file mode 100644 index 0000000000..1a06883758 Binary files /dev/null and b/Documentation/Screenshots/Phone Presets.png differ diff --git a/Documentation/Screenshots/Watch Bolus.png b/Documentation/Screenshots/Watch Bolus.png old mode 100755 new mode 100644 index f0d203babd..f8882aedb1 Binary files a/Documentation/Screenshots/Watch Bolus.png and b/Documentation/Screenshots/Watch Bolus.png differ diff --git a/Documentation/Screenshots/Watch Carb Entry.png b/Documentation/Screenshots/Watch Carb Entry.png old mode 100755 new mode 100644 index 18d625d7ac..b8bfb6cf3d Binary files a/Documentation/Screenshots/Watch Carb Entry.png and b/Documentation/Screenshots/Watch Carb Entry.png differ diff --git a/Documentation/Screenshots/Watch Complication.png b/Documentation/Screenshots/Watch Complication.png deleted file mode 100755 index c7e6e27d59..0000000000 Binary files a/Documentation/Screenshots/Watch Complication.png and /dev/null differ diff --git a/Documentation/Screenshots/Watch Home.png b/Documentation/Screenshots/Watch Home.png new file mode 100644 index 0000000000..d71d697e75 Binary files /dev/null and b/Documentation/Screenshots/Watch Home.png differ diff --git a/Documentation/Screenshots/Watch Menu.png b/Documentation/Screenshots/Watch Menu.png deleted file mode 100644 index be931067aa..0000000000 Binary files a/Documentation/Screenshots/Watch Menu.png and /dev/null differ diff --git a/Documentation/Screenshots/Watch Notification Battery.png b/Documentation/Screenshots/Watch Notification Battery.png deleted file mode 100755 index 0d1a0f40c0..0000000000 Binary files a/Documentation/Screenshots/Watch Notification Battery.png and /dev/null differ diff --git a/Documentation/Screenshots/Watch Notification Bolus Failure.png b/Documentation/Screenshots/Watch Notification Bolus Failure.png deleted file mode 100755 index 0ba07161a8..0000000000 Binary files a/Documentation/Screenshots/Watch Notification Bolus Failure.png and /dev/null differ diff --git a/Documentation/Screenshots/Watch Notification Reservoir.png b/Documentation/Screenshots/Watch Notification Reservoir.png deleted file mode 100755 index ec1584ec5a..0000000000 Binary files a/Documentation/Screenshots/Watch Notification Reservoir.png and /dev/null differ diff --git a/README.md b/README.md index 1e593d4a4a..8190d5c510 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,56 @@ # Loop for iOS -![App Icon](/Loop/DerivedAssetsBase.xcassets/AppIcon.appiconset/Icon-Small-40%402x.png?raw=true) +Loop app icon -[![Build Status](https://travis-ci.org/LoopKit/Loop.svg?branch=master)](https://travis-ci.org/LoopKit/Loop) [![Join the chat at https://loop.zulipchat.com](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://loop.zulipchat.com) -Loop is an app template for building an automated insulin delivery system. It is a stone resting on the boulders of work done by many others. +Loop is an open-source automated insulin delivery app for iPhone and Apple Watch. It reads glucose from a continuous glucose monitor (CGM), forecasts glucose from insulin, carbs and recent trends, and adjusts delivery on a compatible insulin pump. It is a stone resting on the boulders of work done by many others. -Loop is built on top of [LoopKit](https://github.com/LoopKit/LoopKit). LoopKit is a set of frameworks that provide data storage, retrieval, and calculation, as well as boilerplate view controllers used in Loop. +Loop is built on [LoopKit](https://github.com/LoopKit/LoopKit), a set of frameworks for data storage, retrieval and calculation. Pump and CGM support comes from separate plugins, and the app is built from [LoopWorkspace](https://github.com/LoopKit/LoopWorkspace). Please understand that this project: - Is highly experimental - Is not approved for therapy -Screenshot of status screen -Screenshot of bolus screen -Screenshot of battery change notification -Screenshot of loop failure notification -Screenshot of bolus failure notification +Status screen with glucose, active insulin, insulin delivery and active carbs charts +Carb entry with food type and absorption time +Meal bolus screen with a recommended bolus -Screenshot of glucose complication on Apple Watch -Screenshot of carb entry on Apple Watch -Screenshot of bolus entry on Apple Watch -Screenshot of the app menu on Apple Watch -Screenshot of bolus failure notification on Apple Watch -Screenshot of bolus failure notification on Apple Watch +Custom presets +Live Activity on the Lock Screen +Choosing a CGM + +Apple Watch app with glucose and actions +Carb entry on Apple Watch +Bolus on Apple Watch + +Screenshots are from the iOS Simulator with simulated CGM and pump data. + +# Features + +- **Automated insulin delivery.** Loop forecasts glucose several hours ahead and adjusts delivery with each new glucose reading, using either temporary basal rates or automatic boluses. +- **Meal and correction boluses** with a recommended amount and a forecast of where glucose is heading. Carb entries can include food type, absorption time and saved favorite foods. +- **Pre-meal targets and custom presets** that temporarily adjust overall insulin needs and the correction range, for exercise, illness or other situations. Presets can run for a set time or indefinitely, and can be scheduled to start later. +- **Live Activity** on the Lock Screen, in the Dynamic Island and on CarPlay. +- **Apple Watch app** with glucose and forecast, carb entry, bolus, pre-meal targets and presets. +- **Alerts** for glucose and device conditions, with critical alerts that sound even when the phone is silenced, and an option to temporarily mute alerts. +- **Algorithm experiments**: optional Glucose Based Partial Application and Integral Retrospective Correction. +- **Data sharing** with Apple Health, and upload to Nightscout and Tidepool through optional services. + +# Supported devices + +- **Pumps:** Omnipod 5, Omnipod DASH and Omnipod Classic (Eros, with RileyLink); older Medtronic pumps (with RileyLink); Medtrum Nano (200U and 300U). +- **CGMs:** Dexcom G5, G6, ONE, G7 and ONE+; FreeStyle Libre 1 and 2 (through MiaoMiao or Bubble transmitters, or EU Libre 2 directly); Eversense E3 and 365; and readings from Dexcom Share or Nightscout. + +See [Loop Docs](https://loopkit.github.io/loopdocs/) for the exact models and requirements. # Documentation -Please visit the [Loop Docs](https://loopkit.github.io/loopdocs/) for installation, algorithm, and other details. +Please visit the [Loop Docs](https://loopkit.github.io/loopdocs/) for installation, algorithm, and other details. Loop is built from [LoopWorkspace](https://github.com/LoopKit/LoopWorkspace), in a web browser with GitHub Actions or on a Mac with Xcode. -For FAQs, how to contribute to open source aspects of Loop and other tips, refer to the [Wiki](https://github.com/LoopKit/Loop/wiki) +For FAQs, how to contribute to open source aspects of Loop and other tips, refer to the [Wiki](https://github.com/LoopKit/Loop/wiki). -(Note: there is also a tab for the Wiki at the top of this page) +Questions and discussion are welcome on [Loop Zulip](https://loop.zulipchat.com). # License and Code of Conduct