Skip to content
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

Unable to fully perform calibration on 8K series G6 transmitter with latest nightly (67014b0-20202.07.25) #1415

Closed
PedanticAvenger opened this issue Aug 21, 2020 · 24 comments · Fixed by #1727

Comments

@PedanticAvenger
Copy link

All attempts to calibrate result in "Got invalid impossible slope calibration!".
The calibration is accepted by the transmitter but xdrip doesn't register as such and stays in "initial calibration" stage.
Was working on previous transmitter (81 series)

Logs uploaded, calibration attempts start at 06:54, there are more than one.

@emp-00
Copy link

emp-00 commented Aug 22, 2020

You cannot calibrate with too big differences of current BG vs the calibration value. As a rule of thumb don't enter calibrations with more than 15-20% difference. This is a limitation of the Firefly firmware (8G and later transmitters) in combination with xDrip (unfortunately). Workaround if your real BG is really that far off => calibrate in MAX 20% steps and always wait a few hours until the next calibration. It's not 100% clear (to me) how long you have to wait - to be on the safe side wait 12 hours. It's a little bit "luck" you need but usually the Dexcom BG is never that far off, so this should not happen too often.

@PedanticAvenger
Copy link
Author

I would accept that except.

  1. does it when within 1 mmol/L of what the g6 thinks is correct
  2. as stated the sensor accepts the value, it is xdrip that IMMEDIATELY rejects it.

@emp-00
Copy link

emp-00 commented Aug 22, 2020

Have a look at this conversation - there you can find information on two different ways to enter calibrations, which method is "better" and how to adjust settings accordingly. Check it out and let us know if it helped for point 2. above.

@PedanticAvenger
Copy link
Author

I had read over that before I filed, it didn't look related to this issue unfortunately. But perhaps there is some similarity.

I'll try to screengrab the logs from another attempt tonight so you can see what is going on. Unless I'm missing something what I find odd is that xdrip considers the value immediately invalid upon entering it and before it is sent to a transmitter. If there is something in place to handle Firefly firmware I would expect there to be a more sensical error message or perhaps a different method of handling. If it is firmware having issues (which I HAVE encountered before and am used to dealing with) that behavior is different than what I am currently observing.

@emp-00
Copy link

emp-00 commented Aug 23, 2020

@PedanticAvenger : Actually I wanted to refer to this thread. Do you use the "syringe icon" for entering calibrations? If I remember correctly, I also had the issue of immediate rejections for some time. Ever since using only the syringe (and the settings as per thread in issue #1310) this issue never occurred again for me. Hoping this helps.

@Navid200
Copy link
Collaborator

The calibration is accepted by the transmitter but xdrip doesn't register as such and stays in "initial calibration" stage.

Considering that you can only run 8K in native mode, which makes the transmitter responsible for calibration, if the calibration is accepted by the transmitter, what is the problem then?

@PedanticAvenger
Copy link
Author

@PedanticAvenger : Actually I wanted to refer to this thread. Do you use the "syringe icon" for entering calibrations? If I remember correctly, I also had the issue of immediate rejections for some time. Ever since using only the syringe (and the settings as per thread in issue #1310) this issue never occurred again for me. Hoping this helps.

I'm digesting this thread now. Different but I see similarities. I'll continue to document things here for my case. Further note, this is the first sensor for the 8k transmitter so maybe after a stop and start in a few days this will go away.

@PedanticAvenger
Copy link
Author

The calibration is accepted by the transmitter but xdrip doesn't register as such and stays in "initial calibration" stage.

Considering that you can only run 8K in native mode, which makes the transmitter responsible for calibration, if the calibration is accepted by the transmitter, what is the problem then?

The issue is that while I can accept this personally the vast majority of users would totally panic and xdrip should handle this. Either this is an edge case and we document it and learn or this is a bug and we figure it out and a fix is discovered and rolled out. The process itself is important to continue to build comfort with the medical community in solutions like this. That's all.

@PedanticAvenger
Copy link
Author

PedanticAvenger commented Aug 26, 2020

Ok, so the message on calibration attempt (every calibration, does the same thing even when calibration exactly the same as what g6 thinks BG is at.)
Screenshot_20200824-205349

Log entries to correlate.
Screenshot_20200824-205403

Logs showing calibration was sent to transmitter.
Screenshot_20200824-205805

Further log entries, not sure if this is correct behavior or not so included.
Screenshot_20200824-205816

The scenario with using the syringe to calibrate breaks in a different way so will upload them in a separate record.

@PedanticAvenger
Copy link
Author

Ok, and the syringe calibration method.

Right after entry.
Screenshot_20200827-065131

A second or so later.
Screenshot_20200827-065136

The relevant log.
Screenshot_20200827-065147

Up to the sensor
Screenshot_20200827-065303

And a bit after
Screenshot_20200827-065322

@PedanticAvenger
Copy link
Author

Second sensor behaves in exactly the same way. So seems to be a transmitter/Xdrip+ thing.

@tolot27 tolot27 added bug any kind of software error device-dexcom labels Sep 25, 2020
@Navid200
Copy link
Collaborator

The calibration is accepted by the transmitter but xdrip doesn't register as such and stays in "initial calibration" stage.

Considering that you can only run 8K in native mode, which makes the transmitter responsible for calibration, if the calibration is accepted by the transmitter, what is the problem then?

The issue is that while I can accept this personally the vast majority of users would totally panic and xdrip should handle this. Either this is an edge case and we document it and learn or this is a bug and we figure it out and a fix is discovered and rolled out. The process itself is important to continue to build comfort with the medical community in solutions like this. That's all.

I agree.
I wish xDrip would be updated so that it would behave in an expected and easy-to-understand manner.

@Navid200
Copy link
Collaborator

I would like the xDrip messages to be cleaned out with respect to new G6. I am not sure when that is going to happen. There are already several open issues talking about the symptoms. This is an example.
In my opinion, we need to present the issue as the messages rather than focusing on the behavior.

Look at the title of this issue. It starts by talking about initial calibration on 8K. That is very confusing. One is not supposed to perform initial calibration on an 8K.

Would there be any objection to closing this issue?

Do you have any questions about how to calibrate when needed or how to start, or restart? I can explain those in as much detail as you like.

@PedanticAvenger
Copy link
Author

"One is not supposed to perform initial calibration" is highly misleading statement. Even dexcom doesn't take so strong a position but rather say "Most users will not need calibrations." that is not the case for me and several others, generally calibrate at least once every couple days or I end up with growing drift in values.
I'm ok with this being gathered under a single ticket, there are messages and data provided in the thread of this issue.

@Navid200
Copy link
Collaborator

The only time you will need to perform initial calibration with a G6 is if you run it in no-code mode. This is based on Dexcom directions, not mine.

You can run in no-code mode if you like. But, that would disable factory calibration, the main advantage of G6 over G5.

I hope I haven't been misleading. Please let me know if I am wrong. I don't mean to mislead you or anyone else.

@Navid200
Copy link
Collaborator

Navid200 commented Apr 1, 2021

There may be a misunderstanding what one may mean by initial calibration as well as what one means by the word calibration.

Since a CGM has no direct access to blood, it relies on a post processing to corelate the measured interstitial fluid glucose with blood glucose.
This post-process association is referred to, by many, as calibration.
Likewise, many CGMs need an initial association before they can show any results. Dexcom G5 is an example.

However, when we see a discrepancy between what our CGM shows and what our blood glucose meter shows, we perform a "calibration". In this case, the word has a slightly different meaning. It is about the act of providing correct information to the CGM so that it can correct its association formula.

A new G6 transmitter will provide readings right after the 2-hour warm-up. The association is established using the 4-digit code you provide to the transmitter from the sensor package.
So, once can say that a new G6 does not need initial calibration when talking about the first definition.

However, for someone who cannot 100% rely on factory calibration of G6, they may need to calibrate as soon as the readings start. And since that is the first calibration they provide to the sensor, they may like to call it the initial calibration.

When I said that one is not supposed to perform initial calibration on an 8K, I was referring to the first definition of initial calibration.

Calibrating a new G6 is challenging partly because of what Dexcom has done to the firmware in order to not allow restarts. But, we can still calibrate.
I am working on documentation. It's not complete. Neither is it free from errors.
https://github.com/Navid200/xDrip/wiki/Calibrate-G6-after-a-Sensor-Restart

The challenge with cleaning up the confusing messages from xDrip is to maintain backwards compatibility. Anyway, that is something that only a few of the developers (if not only one) have the expertise to tackle.
So, we have to be patient.

With all due respect, hoping not to cause any misunderstandings, the title of this issue can be misunderstood.

@PedanticAvenger PedanticAvenger changed the title Unable to fully perform initial calibration on 8K series G6 transmitter with latest nightly (67014b0-20202.07.25) Unable to fully perform calibration on 8K series G6 transmitter with latest nightly (67014b0-20202.07.25) Apr 2, 2021
@PedanticAvenger
Copy link
Author

Removed and the issue remains relevant.

@Navid200
Copy link
Collaborator

Navid200 commented Apr 2, 2021

1- Calibrating an 8KXXXX transmitter is more challenging than calibrating an 81XXXX.

2- xDrip issues messages that are confusing, when we calibrate an 8KXXXX, although we can calibrate. The calibration command is called initial calibration even when we are performing subsequent calibrations.

3- We are unable to calibrate an 8KXXXX transmitter using xDrip.

1 was caused by Dexcom. We cannot do anything to xDrip to undo that.
2 is caused by xDrip's existing behavior that we need to address, and we will I hope.
I don't believe 3 is a true statement.

Can we close this issue if 2 is addressed?

If not, would you please explain what else needs to be done to address this issue?

@dhermanns
Copy link

Just wondering: Wouldn't it be nice and easy if Xdrip would introduce a simple percentual offset calibration?

So a user could define something like my Dexcom G6 is always 5% too high. So please Xdrip multiply every received sensor value by 0.95 before sending it to other apps/nightscout backend.

So you don't have to calibrate anything regarding the Dexcom Sensor at all. And the modification should be possible for more than one developer here ;-) .

@Navid200
Copy link
Collaborator

@dhermanns That would not be a good idea.
One reason a user would experience a consistent error (with all G6 sensors) is the error being a fault of the blood glucose meter.
Implementing what you suggest will discourage users from investigating to figure out the cause.

@dhermanns
Copy link

I'm not sure if I get you right: What for an error of your blood glucose meter do you recognize the way it's implemented right now?

My meter is not connected at all to Xdrip. I'm using the factory calibration of the G6. So normally I don't have to calibrate at all. So the actual implementation can't recognize any BGM errors for me, right?

So an offset definition would be a nice possibility to improve the sensor accuracy. Or did I get you wrong?

@Navid200
Copy link
Collaborator

Every time you go to the lab for blood work, test your blood glucose exactly at the same time.
Keep such results. After a while you will have a set of data letting you judge the accuracy of your blood glucose meter.

A blood glucose meter only needs to have an error less than 15% to be considered accurate enough to be sold in the market.
A 5% error is within that standard. So, it is not unlikely that your blood glucose meter is solely, if not partly, responsible for the error you are experiencing.

Hence, letting the user manipulate the accuracy of xDrip, as you describe, is not a good idea and could result in many more erroneous issues (due to user error) compared to the number of issues it may resolve.

@dhermanns
Copy link

For such an error my BGM gets calibrated in the hospital regularly. And I have multiple BGMs to double check.

I never had a problem with my BGM but have regularly differences to my G6. Sometimes up to 20%. And right now I was not able to adjust these :-/

So I think it would be nice to have an option. You don't have to use it if you would like to have maximum security.

But that are just my two cents.

@Navid200
Copy link
Collaborator

Just wondering: Wouldn't it be nice and easy if Xdrip would introduce a simple percentual offset calibration?

So a user could define something like my Dexcom G6 is always 5% too high. So please Xdrip multiply every received sensor value by 0.95 before sending it to other apps/nightscout backend.

I would object to such a pull request. I expect so will others. The reason is how things could go wrong for a user who is not 100% careful. We have had many similar proposals (that could possibly cause errors) that have never been accepted.
We have to worry about how a capability may impact the majority before it can be approved.

@Navid200 Navid200 removed the bug any kind of software error label Jun 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants