Skip to content

Commit

Permalink
Merge pull request #871 from marionbarker/working-docs
Browse files Browse the repository at this point in the history
Update Libre, remove references to GlucoseDirect,  update xDrip4iOS information
  • Loading branch information
marionbarker authored Oct 16, 2024
2 parents 707eb5d + 4765205 commit 13cf8c3
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 52 deletions.
33 changes: 17 additions & 16 deletions docs/build/cgm.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@
* *Dexcom* ONE (based off G6 sensor) is available in some countries, but will be discontinued soon
- *Dexcom* G7 or ONE+ CGM systems
* *Dexcom* ONE+ (based off G7 sensor) is available in some countries
- Medtronic sensors connected to a Loop-compatible Medtronic pumps
- Some Libre sensors
- *Medtronic* sensors connected to a Loop-compatible *Medtronic* pumps
- Some *Libre* sensors

!!! question "FAQs"

- **"What about other Libre sensors?"**
1. Only some Libre sensors have methods to read them directly on an iPhone
- **"What about other *Libre* sensors?"**
1. Only some *Libre* sensors have methods to read them directly on an iPhone
2. There are more methods for Android
3. See also [CGM Customization](../faqs/cgm-faqs.md#cgm-customization){: target="_blank" }
- **"What about Eversense?"** Refer to [CGMs Not Supported in the *Loop* App](#cgms-not-supported-in-the-loop-app)


Expand All @@ -40,28 +41,28 @@ If the *Dexcom* app is on the same device as the *Loop* app, your system can fun

[*Dexcom* has stopped supporting the G5 system in the US](https://www.dexcom.com/obsolescence){: target="_blank" }. In the US, and some other countries, the G5 is not available for download from the Apple Store. There are countries in which *Dexcom* does supply and support G5. The G5 capability will continue to be supported in Loop.

There are third party apps, which interface with G4 and G5 transmitters, supported by some forks of Loop. The version of the *Loop* app supported by these documents only works with the *Dexcom* apps.

## *Dexcom* G7 and ONE+ CGM

The *Dexcom* G7 and ONE+ CGM transmits data directly to the *Dexcom* app on your iPhone via Bluetooth.

The *Dexcom* ONE+, available in some countries, acts just like the G7 as far as the *Loop* app is concerned.

## Libre CGM
## *Libre* CGM

With Loop 3.4 and newer versions, some Libre CGM are supported.
With Loop 3.4 and newer versions, some *Libre* CGM are supported.

* Libre 1 are supported but must use a third-party transmitters (miaomiao and bubble transmitters are supported)
* European Libre 2 can be used directly or via transmitter
* American Libre 2 is not supported
* Libre 3 is not supported
* *Libre* 1 are supported but must use a third-party transmitters (miaomiao and bubble transmitters are supported)
* European *Libre* 2 and 2 Plus can be used directly or with optional transmitter
* These *Libre* CGM are not supported within the *Loop* app
* American (Canada, US, South American) *Libre* 2
* *Libre* 3
* See [CGM Customization](../faqs/cgm-faqs.md#cgm-customization){: target="_blank" }


## Medtronic CGM
## *Medtronic* CGM
![img/enlite.png](img/enlite.png){width="150"}

The Minimed Enlite CGM, available with the Medtronic 522/722, 523/723, and 554/754, wirelessly sends glucose readings to the pump. The *Loop* app can read the Medtronic CGM data directly from the pump using a RileyLink compatible device.
The Minimed Enlite CGM, available with the *Medtronic* 522/722, 523/723, and 554/754, wirelessly sends glucose readings to the pump. The *Loop* app can read the *Medtronic* CGM data directly from the pump using a RileyLink compatible device.

## Offline Use

Expand All @@ -88,10 +89,10 @@ Currently, there are no solutions for *Eversense*, *Guardian* or *Libre 3* CGM t

## Next Step

If your compatible pump is Medtronic or Omnipod (not DASH)
If your compatible pump is *Medtronic* or *Omnipod* (not DASH)

* Next step is to [Order a RileyLink Compatible Device](rileylink.md)

If your compatible pump is Omnipod DASH
If your compatible pump is *Omnipod* DASH

* Next step is to enroll in the [Apple Developer Program](apple-developer.md).
2 changes: 1 addition & 1 deletion docs/build/testflight-xcode.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ There are several different methods for making use of TestFlight:
* Use the [Build with Browser](../browser/bb-overview.md) method to build and distribute your Loop app to your iPhone or that of a family member
* Use *TestFlight* as a remote distribution (and backup) for an app you build using *Xcode*

This guide can also be followed to install other apps you build with *Xcode* via *TestFlight*. Examples include <code>LoopFollow</code>, <code>LoopCaregiver</code>, <code>xDrip4iOS</code> and <code>GlucoseDirect</code>.
This guide can also be followed to install other apps you build with *Xcode* via *TestFlight*. Examples include <code>LoopFollow</code>, <code>LoopCaregiver</code> and <code>xDrip4iOS</code>.

Some useful features of using TestFlight to install Loop:

Expand Down
81 changes: 46 additions & 35 deletions docs/faqs/cgm-faqs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,22 @@

The following CGM are supported by some or all versions of Loop:

* All Dexcom CGM (Loop 3 and later)
* Some Libre CGM (Loop 3.4 and later)
* All *Dexcom* CGM (Loop 3 and later)
* Some *Libre* CGM (Loop 3.4 and later)
* Medtronic Enlite CGM when used with a compatible pump
* Remote CGM (requires internet access
* Dexcom Share
* *Dexcom* Share
* Nightscout as CGM (Loop 3 and later)

See also: [Compatible CGM](../build/cgm.md) page.
See also: [Compatible CGM](../build/cgm.md){: target="_blank" } and [CGM Customization](#cgm-customization)

## Dexcom FAQ
## *Dexcom* FAQ

### Do I need wait for a new Dexcom sensor session to start Loop?
### Do I need wait for a new *Dexcom* sensor session to start Loop?

No, you can start Looping mid-sensor session. There's no need to do anything special with regards to your CGM session when starting or ending the *Loop* app.

### What do I do when Dexcom sensor is in warm-up?
### What do I do when *Dexcom* sensor is in warm-up?

The *Loop* app will stop automatically adjusting insulin when the most recent glucose value is older than 15 minutes. This is indicated by seeing three dashes in place of the glucose reading on the HUD.

Expand All @@ -27,9 +27,9 @@ With no recent glucose readings, your pump returns to the scheduled basal delive

Loop continues to accept carb entries and manual bolus commands. [Manual Temp Basal](../loop-3/omnipod.md#manual-temp-basal) can also be commanded.

### Dexcom G7 Warmup
### *Dexcom* G7 Warmup

The Dexcom G7 begins warming up as soon as you insert the device and completes in less than half an hour. Many Loopers use the combination of this warmup upon insertion and the 12-hour grace period offered by the G7 to have continuous CGM readings with no gap.
The *Dexcom* G7 (and ONE+) begins warming up as soon as you insert the device and completes in less than half an hour. Many Loopers use the combination of this warmup upon insertion and the 12-hour grace period offered by the G7 to have continuous CGM readings with no gap.

* During the 12-hour grace period, start the next sensor but do not connect it to your G7 app on your Looping phone
* After waiting for the sensor to settle, stop the old sensor and connect to the new sensor
Expand All @@ -42,33 +42,33 @@ The Dexcom G7 begins warming up as soon as you insert the device and completes i

* By looking at the trace overlap, you can decide how much you trust the new sensor

## What do I do when I switch Dexcom transmitters?
## What do I do when I switch *Dexcom* transmitters?

When you change transmitters (prior to Dexcom G7), you will need to update the transmitter ID in your *Loop*settings. The instructions for Dexcom are provided below:
When you change transmitters (prior to *Dexcom* G7), you will need to update the transmitter ID in your *Loop*settings. The instructions for *Dexcom* are provided below:

* In Loop, select the `Delete CGM` button at the very bottom of the CGM info page
* You cannot just edit the line with your old transmitter ID
* It's a good idea to go into your phone Bluetooth settings and delete the old Dexcom transmitter
* The transmitter starts with Dexcom and ends with the last 2 characters of your old transmitter ID
* It's a good idea to go into your phone Bluetooth settings and delete the old *Dexcom* transmitter
* The transmitter starts with *Dexcom* and ends with the last 2 characters of your old transmitter ID
* Tap on the (i) next to `Not Connected` and select `Forget This Device`
* Follow the Dexcom instructions for pairing the new transmitter
* After pairing completes with Dexcom:
* In Loop, add CGM and select the Dexcom system again
* Follow the *Dexcom* instructions for pairing the new transmitter
* After pairing completes with *Dexcom*:
* In Loop, add CGM and select the *Dexcom* system again
* Enter the new transmitter ID
* If you're unsure where to find your transmitter ID, see [Where to get the Transmitter ID for Dexcom G6?](../loop-3/add-cgm.md#where-to-get-the-transmitter-id-for-dexcom-g6)
* If you're unsure where to find your transmitter ID, see [Where to get the Transmitter ID for *Dexcom* G6?](../loop-3/add-cgm.md#where-to-get-the-transmitter-id-for-dexcom-g6)

![img/delete-cgm.jpg](img/delete-cgm.jpg){width="400"}
{align="center"}

If you don't update your transmitter ID when you change active transmitters, and you included your Dexcom share credentials, then the *Loop* app uses your Dexcom Share server to get your CGM data and will not work without cell or wifi connection. When the *Loop* app is using data from Dexcom Share servers, a small cloud will appear above the BG reading in the *Loop* app and should tip you off that maybe you forgot to update your transmitter ID. It's best not to enter Share Credentials. This makes it really obvious that you need to update the CGM settings in the *Loop* app at transmitter change time.
If you don't update your transmitter ID when you change active transmitters, and you included your *Dexcom* share credentials, then the *Loop* app uses your *Dexcom* Share server to get your CGM data and will not work without cell or wifi connection. When the *Loop* app is using data from *Dexcom* Share servers, a small cloud will appear above the BG reading in the *Loop* app and should tip you off that maybe you forgot to update your transmitter ID. It's best not to enter Share Credentials. This makes it really obvious that you need to update the CGM settings in the *Loop* app at transmitter change time.

### Dexcom G7
### *Dexcom* G7

With Dexcom G7, the *Loop* app automatically picks up the active sensor/transmitter pair from the Dexcom G7 app on the phone. Once Dexcom G7 is added to the *Loop* app as the CGM, the Looper does not need to do anything to the *Loop* app after selecting the new sensor/transmitter pair in the Dexcom G7 app.
With *Dexcom* G7, the *Loop* app automatically picks up the active sensor/transmitter pair from the *Dexcom* G7 app on the phone. Once *Dexcom* G7 is added to the *Loop* app as the CGM, the Looper does not need to do anything to the *Loop* app after selecting the new sensor/transmitter pair in the *Dexcom* G7 app.

### Dexcom G5, G6 and ONE
### *Dexcom* G5, G6 and ONE

The diagram below illustrates the steps needed to **switch transmitters on Dexcom G5, G6, and ONE** (for the version of ONE based on G6). This typically needs to be done every three months when a new transmitter is started.
The diagram below illustrates the steps needed to **switch transmitters on *Dexcom* G5, G6, and ONE** (for the version of ONE based on G6). This typically needs to be done every three months when a new transmitter is started.

```mermaid
sequenceDiagram
Expand Down Expand Up @@ -97,31 +97,36 @@ sequenceDiagram
deactivate dexcom
```

## Libre CGM
## *Libre* CGM

### Troubleshoot Connections

The "normal" Libre 2 sensors have a firmware configuration that makes them slow to reconnect when they loose the connection to iOS (both iOS and the sensors are to blame for this). What usually helps is to make sure your app is open and in the foreground and that your phone is unlocked. iOS seems to be better at reconnecting Bluetooth devices under such conditions (i.e. it gives more Bluetooth priority to the foreground app). If you need to modify how quickly your phone locks, this is found under iOS settings, Display & Brightness, Auto-Lock.
The "normal" *Libre* 2 sensors have a firmware configuration that makes them slow to reconnect when they loose the connection to iOS (both iOS and the sensors are to blame for this). What usually helps is to make sure your app is open and in the foreground and that your phone is unlocked. iOS seems to be better at reconnecting Bluetooth devices under such conditions (i.e. it gives more Bluetooth priority to the foreground app). If you need to modify how quickly your phone locks, this is found under iOS settings, Display & Brightness, Auto-Lock.

If you try to pair a sensor in the app multiple times in a short period (let's say within a couple of minutes), you may need to just stop and wait.

* A "pairing" sends a lot more (16 times the normal amount) of data between the app and sensor than a normal NFC scan to retrieve glucose data
* Multiple pairing attempts may make the sensor temporarily unable to function
* If this matches your use case, shut off your phone and let it stay shut down for up to five minutes

Optionally: you can use miaomiao or bubble third party transmitters attached on top of your normal libre 2 sensors . Although the setup is a bit more bulky, it works and does not have connection problems. LibreTransmitter supports bubble and miaomiao on top of libre 1 sensors, but it also works with libre 2 sensors.
Optionally: you can use miaomiao or bubble third party transmitters attached on top of your normal *Libre* 2 sensors . Although the setup is a bit more bulky, it works and does not have connection problems. LibreTransmitter supports bubble and miaomiao on top of *Libre* 1 sensors, but it also works with *Libre* 2 sensors.

### Can I use Libre sensors with a reader like Miao Miao?
### Can I use *Libre* sensors with a reader like Miao Miao?

Loop 3.4.x and later enables the use of those Libre sensors supported by [LibreTransmitter](https://github.com/dabear/LibreTransmitter#libretransmitter-for-loop){: target="_blank" }.
Loop 3.4.x and later enables the use of those *Libre* sensors supported by [LibreTransmitter](https://github.com/dabear/LibreTransmitter#libretransmitter-for-loop){: target="_blank" }.

### What about other Libre sensors?
### What about other *Libre* sensors?

There are a number of libre sensors in which the only option for digital access to the CGM readings is to use the app provided by the vendor: [LibreLinkUp](https://librelinkup.com/){: target="_blank" }. This enables you to upload your data to the LibreLinkUp servers and then access the data from there.
There are a number of *Libre* sensors in which the only option for digital access to the CGM readings is to use the app provided by the vendor: [*LibreLinkUp*](https://librelinkup.com/){: target="_blank" }. This enables you to upload your data to the *LibreLinkUp* servers and then access the data from there.

**The use of LibreLinkUp requires internet access via WiFi or Cell service.**
**The use of *LibreLinkUp* requires internet access via WiFi or Cell service.**

If this is your only option for CGM, evaluate whether you want to add xDrip4iOS as a CGM option. Instructions for this customization are found at [Loop and Learn: Add CGM to Loop](https://www.loopandlearn.org/custom-code/#add-cgm){: target="_blank" }. The reason to recommend this option is that xDrip4iOS can sense when the Libre transmits glucose readings to your phone, although it cannot read the glucose value. Shortly thereafter, it will request the CGM reading from LibreLinkUp. If you prefer not to customize Loop, then you can configure [Nightscout](https://nightscout.github.io/uploader/uploaders/#abbott-freestyle-libre){: target="_blank" } to access data from LibreLinkUp and then use Nightscout as a CGM.
If this is your only option for CGM, evaluate whether you want to add xDrip4iOS as a CGM option. Instructions for this customization are found at [Loop and Learn: Add CGM to Loop](https://www.loopandlearn.org/custom-code/#add-cgm){: target="_blank" }. The reason to recommend this option is that xDrip4iOS can sense when the *Libre* transmits glucose readings to your phone, although it cannot read the glucose value. Shortly thereafter, it will request the CGM reading from *LibreLinkUp*.

If you prefer not to customize Loop, then you can configure [Nightscout](https://nightscout.github.io/uploader/uploaders/#abbott-freestyle-*Libre*){: target="_blank" } to access data from *LibreLinkUp* and then use Nightscout as a CGM.

* If you choose this option, your CGM will not act as a heartbeat to wake the app when the phone is locked or in the background
* You probably have a pump that serves this role, but if your pump is not actively waking your app and you use *LibreLinkUp*, consider [CGM Customization](#cgm-customization).

## Can I use Eversense?

Expand All @@ -133,10 +138,16 @@ You can use Nightscout as a CGM with Eversense, but that requires internet acces

Yes.

## What other CGM apps can be used with Loop?
## CGM Customization

If you can connect your CGM directly to *Loop* that is preferred. You can customize the *Loop* app to interface with the *xDrip4iOS* DIY CGM app if you prefer. You can use *xDrip4iOS* as a follower instead of a client to get some features from *xDrip4iOS* without any need to customize the *Loop* app.

If possible, it is recommended that *Libre* users take advantage of [LibreTransmitter](https://github.com/LoopKit/LibreTransmitter/blob/main/readme.md){: target="_blank" } which is incorporated into the *Loop* app for version 3.4 and later. However, some *Libre* sensors have encryption that limits ability to get data through open-source code and instead requires using the *LibreLinkUp* server.

It is recommended that Libre users take advantage of the [LibreTransmitter](https://github.com/dabear/LibreTransmitter/blob/main/readme.md){: target="_blank" } that is incorporated into the *Loop* app itself for version 3.4 and later.
You can add *xDrip4iOS* as a CGM option to the *Loop* app by applying a [code customization](https://www.loopandlearn.org/custom-code){: target="_blank" }. This uses the shared AppGroup feature to transfer data from the CGM app to Loop. This is not the preferred approach if you have another choice. For *Libre* users with a sensor that is not handled by LibreTransmitter, this is your only option for closed-loop.

You can add xDrip4iOS and GlucoseDirect as a CGM option to the *Loop* app by applying a [code customization](https://www.loopandlearn.org/custom-code){: target="_blank" }. However, this uses the shared AppGroup feature to transfer data from the CGM app to Loop. This is not the preferred approach.
* xDrip4iOS can sense when the *Libre* are providing updates over Bluetooth but cannot interpret the readings because of the encryption for some sensor models
* xDrip4iOS waits a few seconds after the new reading and then queries *LibreLinkUp* using your login credentials
* Be aware this makes your ability for closed-loop dependent on having internet access

Please read the docs for [xDrip4iOS](https://xdrip4ios.readthedocs.io/en/latest/){: target="_blank" } and [Glucose Direct](https://github.com/creepymonster/GlucoseDirect#readme){: target="_blank" }. You must build these apps yourself so they have the same developer ID as your *Loop* app; you cannot use the TestFlight pre-built versions.
Please read the docs for [xDrip4iOS](https://xdrip4ios.readthedocs.io/en/latest/){: target="_blank" }. You must build these apps yourself so they have the same developer ID as your *Loop* app; you cannot use the TestFlight pre-built versions. And you must configure the app as explained in those docs.

0 comments on commit 13cf8c3

Please sign in to comment.