-
Notifications
You must be signed in to change notification settings - Fork 407
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
Critical Pod Fault 049 (0x31) Error When Resuming Insulin Delivery #244
Comments
Summary - there were multiple issues which taken together resulted in the 0x31 pod fault:
Detailed analysis of the log_prev.txt data using OmniBLEParser with added comments describing // Not shown - There was a 42 minute suspend starting at 18:53:54 followed by 7 resume/suspend commands being // Suspend command // Resume command which had no response that was mishandled and then started all the problems // This response indicates that the basal command at 19:36:07 was not seen by the pod two different ways // Issue #1 — from an examination of PodCommSession.setBasalSchedule() it appears in this case the // The user did a 2.65U correction bolus with the rising BG’s after a long suspend. // In this response, the deliveryStatus of “Priming” indicates an active bolus with no basal // Additional verification that the pod is bolusing with no basal which should normally happen only during priming // With 2.4U left of the 2.65U bolus, another 0.5U bolus is attempted.
As it turns out, if any of the 4 issues were handed correctly, there would have been no 0x31 pod fault in this case. Issues #3 & #4 are ultimately what resulted in 0x31 pod fault when there were two attempted boluses after a failed resume command that was mishandled. The changes for issues #3 & #4 are very obvious and extremely safe, the change for issue #2 is relatively trivial and very low risk (it’s just an additional verification step that can handle inconsistent delivery states) and the fix for issue #1 corrects the underlying problem that started this problem. I already have code written to fix all of these issues, but I need to do some testing before submitting the PR. These issues exist for both OmniBLE and OmniKit in all current implementations. Issues #3 & #4 have been there since the very beginning and issues #1 & #2 have probably existed since at least Loop 3.x. Don't know how all these deficiencies have slipped through the cracks for so long. |
OverviewThis issue needs to be addressed with three PR:
Parsed InformationI updated my Omnipod parser to work with the log and log_prev files from Trio as well as Loop. This is the second pod in the log_prev.txt file. The csv file: DetailsThis analysis matches what @itsmojo reported above, just in a slightly different format. The first Basal Suspended returned by the pod is at There is a known bug in Trio where additional button presses get accepted even if the UI appears to freeze. (That issue is specific to Trio.)
The attempt to resume delivery at No basal program was loaded, but Trio thought the pod was no longer suspended. (Loop would have made the same error):
|
Please create a separate issue for the UI issue that allows multiple commands to be sent when the app hangs. I would assume the same strategy as was used in #248 could be used to address that issue. Perhaps there are other places where this is needed too? |
Describe the bug
The user (cj30x) encountered a Critical Pod Fault 049 (0x31) error, indicating an incorrect pod state for command or error during insulin command setup. This fault occurred when the user resumed insulin after suspending it due to low blood sugar and walking activities.
Attach an Issue Report
log_prev.txt
log.txt
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The insulin delivery should resume without triggering a pod fault, allowing for continued use without needing to deactivate the pod.
Screenshots
Setup Information (please complete the following information):
Smartphone:
Pump:
CGM:
Trio Version:
Technical Details
The issue seems to be caused by the pumpManager code sending a command when the pod cannot accept it. This may indicate that the app had incorrect information about the pod’s suspension state.
Additional context
The user was experiencing frequent lows and had suspended insulin while walking with children at the seaside. The fault occurred when insulin was resumed after the suspension period. The user provided log files for further investigation.
Severity Level
Medium – This issue causes the pod to enter a fault state, requiring replacement, which is critical for managing insulin delivery and costs more pods
The text was updated successfully, but these errors were encountered: