-
Notifications
You must be signed in to change notification settings - Fork 45
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
Use alternate type 7 getStatus call as per DASH PDM #138
Conversation
itsmojo
commented
Nov 26, 2024
- Add new PodCommsSessions.getStatus parameter to specify noSeqGetStatus
- Use new getStatus for post-connect, resuming setup and standalone getStatus
- Update PodCommsSessions.send to handle alternative noSeqStatus msg # handling
- Rename type 7 PodInfoRequestSubType to noSeqStatus for better clarity
…sions + Add new PodCommsSessions.getStatus parameter to specify noSeqGetStatus + Use new getStatus for post-connect, resuming setup and standalone getStatus + Update PodCommsSessions.send to handle alternative noSeqStatus msg # handling + Rename type 7 PodInfoRequestSubType to noSeqStatus for better clarity
The DASH PDM nearly always uses the new type 7 getStatus call for its getStatus calls |
Code ReviewCode review shows most getStatus calls (0x0e with type 0) now use the DASH-only type 7, which does not increment the sequence number. Test of Sequence NumbersUse a nominal version of Loop 3.4.4 and a modified version with this PR.
|
Test using rPi DASH simulatorPerform a nominal Pod Setup with this PR applied. Report of Pod Setup from ParserAdd an annotation for the one time 0x0e00 is used instead of 0x0e07.
|
StatusTest success. LGTM. Testing OverviewWhen do you expect to see 0x0e07 vs 0x0e00 with this new code? The getStatus command, type 7, i.e., 0x0e07, is used for these sessions, which have no other messages:
For cases where the app hasn’t successfully verified that the pod is not currently bolusing, a 4-message sequence for requesting a bolus is used. This sequence starts with a getStatus, type 0 command; thus the sequence is the 0x0e00, 0x1d, 0x1a17, 0x1d. This matches the DASH PDM behavior. It was observed that the PDM uses 0x0e07 for periodic status update or a post connect verification that the Pod connection is all good. The 0x0e00 getStatus is used immediately before some insulin operations. Update to OmniLoopMessageParserThe python parser was updated to separately report when 0x0e00 and 0x0e07 are used. Parse Loop Report without PRThis report is from 2024-11-28 and contains a complete set (80 hours) of messages for one DASH pod. Extract the information about 0x0e exchanges (for types: 0 and 7) along with the times a bolus is requested without first sending an 0x0e getStatus.
Parse Loop Report with PRIn this case, this PR was applied to my personal phone at Fri Dec 6 20:21:25 PST 2024, or 2024-12-07 04:21 UTC. Trim the The report covers 18 hours using this pod with the modified code. Examine the same type of excerpt from the report output:
Test with repeated interruptionsThe rPi DASH simulator was used to test interrupting the pod setup process and resuming, as well as quitting and restarting the app during closed loop operation. In all cases, the Loop app resumed as expected. |