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

Add features: Silent Pod and Pod Diagnostics #118

Merged
merged 29 commits into from
Apr 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
8956fdc
Merge pull request #1 from itsmojo/OmniBLEParser-improvements
marionbarker Mar 18, 2024
ae34bfb
Merge pull request #2 from itsmojo/pod-setup-resume-retry-prevention
marionbarker Mar 18, 2024
0546f54
Merge pull request #3 from itsmojo/allow-timezone-sync-without-pod
marionbarker Mar 18, 2024
0234eb7
Merge pull request #4 from itsmojo/deactivate-pod-fault-info
marionbarker Mar 18, 2024
95559d9
Add SilentPod, diagnotics and update Pod menu
marionbarker Mar 21, 2024
2843b0a
update OmniBLE tests for new slot names and alert updates
marionbarker Mar 21, 2024
3a2314e
use setState instead of mutateState for OmniBLE
marionbarker Mar 21, 2024
163e0f1
remove file that is not used
marionbarker Mar 22, 2024
0dfbaae
put Silence Pod and Pod Diagnostics behind build-time flag
marionbarker Mar 23, 2024
5ff65be
Merge pull request #5 from loopandlearn/diy_flag_for_silence_diagnostics
marionbarker Mar 23, 2024
ad799ba
enable user to set another expiration reminder for current pod
marionbarker Mar 26, 2024
5898bb7
update message about pod reminder
marionbarker Mar 26, 2024
8613109
Merge branch 'dev' into silent_pod_and_diagnostics
marionbarker Apr 2, 2024
72b58a9
Revert "put Silence Pod and Pod Diagnostics behind build-time flag"
marionbarker Apr 3, 2024
caab182
Update the message in SilencePodPreference
marionbarker Apr 7, 2024
7754f74
fix pairing issue introduced in pr 114
marionbarker Apr 8, 2024
ce46f63
Cleanup around diagnostic commands
ps2 Apr 8, 2024
d330e70
Merge pull request #8 from LoopKit/diagnosticview-cleanup
marionbarker Apr 8, 2024
af64961
fix typo in filename in comment
marionbarker Apr 10, 2024
3fe09c4
add missing localization
marionbarker Apr 10, 2024
46c994e
provide more information to user in case of a general pod fault
marionbarker Apr 10, 2024
204e525
reorder pump manager debugDescription to be same as OmniKit
marionbarker Apr 10, 2024
95f94a4
update formatting for PodDetailsView
marionbarker Apr 10, 2024
7a5dcb6
Skip alert acknowledgements with faulted pod or no active pod
marionbarker Apr 11, 2024
f5f846a
Revert "enable user to set another expiration reminder for current pod"
marionbarker Apr 11, 2024
18a22f0
enable user to set another expiration reminder of current pod unless …
marionbarker Apr 11, 2024
f14502a
Update language in messages, match OmniKit
marionbarker Apr 12, 2024
f74e29d
add localization and critical error string
marionbarker Apr 12, 2024
e25002c
modify preview provider
marionbarker Apr 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions OmniBLE.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
10389A3C26FF7841002115E9 /* Message.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10389A1D26FF7841002115E9 /* Message.swift */; };
10389A3F26FF7841002115E9 /* CRC16.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10389A2026FF7841002115E9 /* CRC16.swift */; };
10389A4126FF7841002115E9 /* MessageTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10389A2226FF7841002115E9 /* MessageTransport.swift */; };
196A6F232AFFFD1700E3C089 /* SilencePodPreference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 196A6F222AFFFD1200E3C089 /* SilencePodPreference.swift */; };
2742C7052AD875B100E67833 /* SlideButton in Frameworks */ = {isa = PBXBuildFile; productRef = 2742C7042AD875B100E67833 /* SlideButton */; };
4B67E2D5289B4EDB002D92AF /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4B67E2D3289B4EDB002D92AF /* Localizable.strings */; };
84752E9326ED0FFE009FD801 /* OmniBLE.h in Headers */ = {isa = PBXBuildFile; fileRef = 84752E8526ED0FFE009FD801 /* OmniBLE.h */; settings = {ATTRIBUTES = (Public, ); }; };
Expand Down Expand Up @@ -168,6 +169,13 @@
D802CD0A27DD98C10072E3A1 /* TempBasalTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D802CD0527DD98C10072E3A1 /* TempBasalTests.swift */; };
D802CD1027DD99AB0072E3A1 /* CRC16Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D802CD0F27DD99AB0072E3A1 /* CRC16Tests.swift */; };
D802CD1227DD9AE10072E3A1 /* BasalScheduleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D802CD1127DD9AE10072E3A1 /* BasalScheduleTests.swift */; };
D845A1372AF89F5500EA0853 /* ActivityView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D845A1362AF89F5500EA0853 /* ActivityView.swift */; };
D845A13B2AF89F7100EA0853 /* PlayTestBeepsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D845A13A2AF89F7100EA0853 /* PlayTestBeepsView.swift */; };
D845A13F2AF89F8400EA0853 /* ReadPodStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D845A13C2AF89F8400EA0853 /* ReadPodStatusView.swift */; };
D845A1412AF89F8400EA0853 /* PumpManagerDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D845A13E2AF89F8400EA0853 /* PumpManagerDetailsView.swift */; };
D845A1432AF89F9200EA0853 /* SilencePodSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D845A1422AF89F9200EA0853 /* SilencePodSelectionView.swift */; };
D85AEABC2B12D76F00081044 /* PodDiagnosticsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D85AEABB2B12D76F00081044 /* PodDiagnosticsView.swift */; };
D85AEAC42B13083F00081044 /* ReadPodInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D85AEAC32B13083F00081044 /* ReadPodInfoView.swift */; };
D8896C6227890E6B00E09A96 /* DetailedStatus+OmniBLE.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8896C6127890E6B00E09A96 /* DetailedStatus+OmniBLE.swift */; };
D895BF5B275DE64000D51FC7 /* StringLengthPrefixEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = D895BF5A275DE64000D51FC7 /* StringLengthPrefixEncoding.swift */; };
D897B06B29347ED500FDB009 /* BolusDeliveryTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D897B06A29347ED500FDB009 /* BolusDeliveryTable.swift */; };
Expand Down Expand Up @@ -314,6 +322,7 @@
10389A1D26FF7841002115E9 /* Message.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Message.swift; sourceTree = "<group>"; };
10389A2026FF7841002115E9 /* CRC16.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRC16.swift; sourceTree = "<group>"; };
10389A2226FF7841002115E9 /* MessageTransport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageTransport.swift; sourceTree = "<group>"; };
196A6F222AFFFD1200E3C089 /* SilencePodPreference.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SilencePodPreference.swift; sourceTree = "<group>"; };
4B23AA6328D909E2009B453B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
4B23AA6428D909E7009B453B /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
4B23AA6528D909E9009B453B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = "<group>"; };
Expand Down Expand Up @@ -444,6 +453,13 @@
D802CD0527DD98C10072E3A1 /* TempBasalTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TempBasalTests.swift; sourceTree = "<group>"; };
D802CD0F27DD99AB0072E3A1 /* CRC16Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CRC16Tests.swift; sourceTree = "<group>"; };
D802CD1127DD9AE10072E3A1 /* BasalScheduleTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BasalScheduleTests.swift; sourceTree = "<group>"; };
D845A1362AF89F5500EA0853 /* ActivityView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActivityView.swift; sourceTree = "<group>"; };
D845A13A2AF89F7100EA0853 /* PlayTestBeepsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlayTestBeepsView.swift; sourceTree = "<group>"; };
D845A13C2AF89F8400EA0853 /* ReadPodStatusView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadPodStatusView.swift; sourceTree = "<group>"; };
D845A13E2AF89F8400EA0853 /* PumpManagerDetailsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PumpManagerDetailsView.swift; sourceTree = "<group>"; };
D845A1422AF89F9200EA0853 /* SilencePodSelectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SilencePodSelectionView.swift; sourceTree = "<group>"; };
D85AEABB2B12D76F00081044 /* PodDiagnosticsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PodDiagnosticsView.swift; sourceTree = "<group>"; };
D85AEAC32B13083F00081044 /* ReadPodInfoView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadPodInfoView.swift; sourceTree = "<group>"; };
D8896C6127890E6B00E09A96 /* DetailedStatus+OmniBLE.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DetailedStatus+OmniBLE.swift"; sourceTree = "<group>"; };
D895BF5A275DE64000D51FC7 /* StringLengthPrefixEncoding.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringLengthPrefixEncoding.swift; sourceTree = "<group>"; };
D897B06A29347ED500FDB009 /* BolusDeliveryTable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BolusDeliveryTable.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -511,6 +527,7 @@
1016325627185EE4007A3BC2 /* PodProgressStatus.swift */,
C1F67ED927979E400017487F /* PumpManagerAlert.swift */,
C1F67EE127985F580017487F /* ReservoirLevel.swift */,
196A6F222AFFFD1200E3C089 /* SilencePodPreference.swift */,
1016325827185EE4007A3BC2 /* UnfinalizedDose.swift */,
);
path = OmnipodCommon;
Expand Down Expand Up @@ -746,6 +763,7 @@
8475311E26ED838A009FD801 /* Views */ = {
isa = PBXGroup;
children = (
D845A1362AF89F5500EA0853 /* ActivityView.swift */,
C1F67E7327975B830017487F /* AttachPodView.swift */,
C1F67E7A27975B830017487F /* BasalStateView.swift */,
C1ED1E7127BAE44E00FED71C /* BeepPreferenceSelectionView.swift */,
Expand All @@ -766,10 +784,16 @@
C1C001C227A2351D00533D35 /* OmniBLEReservoirView.xib */,
C1F67E7727975B830017487F /* OmniBLESettingsView.swift */,
C1F67E7F27975B830017487F /* PairPodView.swift */,
D845A13A2AF89F7100EA0853 /* PlayTestBeepsView.swift */,
C1F67E8A27975B830017487F /* PodDetailsView.swift */,
D85AEABB2B12D76F00081044 /* PodDiagnosticsView.swift */,
C1F67E8827975B830017487F /* PodSetupView.swift */,
D845A13E2AF89F8400EA0853 /* PumpManagerDetailsView.swift */,
D85AEAC32B13083F00081044 /* ReadPodInfoView.swift */,
D845A13C2AF89F8400EA0853 /* ReadPodStatusView.swift */,
C1F67E7427975B830017487F /* ScheduledExpirationReminderEditView.swift */,
C1F67E8727975B830017487F /* SetupCompleteView.swift */,
D845A1422AF89F9200EA0853 /* SilencePodSelectionView.swift */,
C1F67E7627975B830017487F /* TimeView.swift */,
C1F67E8427975B830017487F /* UncertaintyRecoveredView.swift */,
);
Expand Down Expand Up @@ -1120,7 +1144,9 @@
1029AE4927094D0E00B7F5B6 /* OmniBLEPumpManagerState.swift in Sources */,
10289E7D2739F893000339E6 /* Milenage.swift in Sources */,
10389A3A26FF7841002115E9 /* SetInsulinScheduleCommand.swift in Sources */,
D845A13B2AF89F7100EA0853 /* PlayTestBeepsView.swift in Sources */,
10389A3826FF7841002115E9 /* DetailedStatus.swift in Sources */,
D85AEABC2B12D76F00081044 /* PodDiagnosticsView.swift in Sources */,
C1F67E9927975B830017487F /* NotificationSettingsView.swift in Sources */,
10389A2B26FF7841002115E9 /* PlaceholderMessageBlock.swift in Sources */,
10389A3026FF7841002115E9 /* StatusResponse.swift in Sources */,
Expand All @@ -1142,6 +1168,7 @@
10389A3126FF7841002115E9 /* GetStatusCommand.swift in Sources */,
C1C001BF27A2337B00533D35 /* PeripheralManager+OmniBLE.swift in Sources */,
10389A3F26FF7841002115E9 /* CRC16.swift in Sources */,
D85AEAC42B13083F00081044 /* ReadPodInfoView.swift in Sources */,
10289E68271B2A08000339E6 /* NumberFormatter.swift in Sources */,
1016325927185EE4007A3BC2 /* BeepType.swift in Sources */,
C1F67E9E27975B830017487F /* LowReservoirReminderEditView.swift in Sources */,
Expand All @@ -1163,6 +1190,7 @@
C1ED1E7227BAE44E00FED71C /* BeepPreferenceSelectionView.swift in Sources */,
84752EDE26ED13F5009FD801 /* PeripheralManagerError.swift in Sources */,
10389A2526FF7841002115E9 /* PodInfoActivationTime.swift in Sources */,
D845A1432AF89F9200EA0853 /* SilencePodSelectionView.swift in Sources */,
C1F67E9A27975B830017487F /* DeliveryUncertaintyRecoveryView.swift in Sources */,
1021114D2709467400784F13 /* PodComms.swift in Sources */,
10289E6E27309327000339E6 /* CBPeripheral.swift in Sources */,
Expand All @@ -1181,6 +1209,7 @@
1016325C27185EE5007A3BC2 /* BasalDeliveryTable.swift in Sources */,
84752EE326ED13F5009FD801 /* BLEPacket.swift in Sources */,
102111472709462300784F13 /* PodState.swift in Sources */,
196A6F232AFFFD1700E3C089 /* SilencePodPreference.swift in Sources */,
1021114B2709462300784F13 /* BasalSchedule+LoopKit.swift in Sources */,
84752EE626ED13F5009FD801 /* LTKExchanger.swift in Sources */,
10389A2A26FF7841002115E9 /* MessageBlock.swift in Sources */,
Expand All @@ -1196,6 +1225,7 @@
C1F67EA027975B830017487F /* PodSetupView.swift in Sources */,
C1ED1E7027BAE1A600FED71C /* BeepPreference.swift in Sources */,
10389A3B26FF7841002115E9 /* ConfigureAlertsCommand.swift in Sources */,
D845A13F2AF89F8400EA0853 /* ReadPodStatusView.swift in Sources */,
D8896C6227890E6B00E09A96 /* DetailedStatus+OmniBLE.swift in Sources */,
10389A3926FF7841002115E9 /* PodInfoResponse.swift in Sources */,
84752EE226ED13F5009FD801 /* PayloadJoiner.swift in Sources */,
Expand All @@ -1205,6 +1235,7 @@
C1F67EC827975F360017487F /* DeactivatePodViewModel.swift in Sources */,
C1F67E9127975B830017487F /* DeactivatePodView.swift in Sources */,
84752EE726ED13F5009FD801 /* PairResult.swift in Sources */,
D845A1412AF89F8400EA0853 /* PumpManagerDetailsView.swift in Sources */,
8475315D26EDA193009FD801 /* Data.swift in Sources */,
C1F67E9427975B830017487F /* LowReservoirReminderSetupView.swift in Sources */,
C1F67EB627975E710017487F /* RoundedCard.swift in Sources */,
Expand All @@ -1222,6 +1253,7 @@
10389A2E26FF7841002115E9 /* FaultConfigCommand.swift in Sources */,
C1F67E9F27975B830017487F /* SetupCompleteView.swift in Sources */,
C1F67EE227985F580017487F /* ReservoirLevel.swift in Sources */,
D845A1372AF89F5500EA0853 /* ActivityView.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
2 changes: 1 addition & 1 deletion OmniBLE/Bluetooth/PodProtocolError.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//
// PodProtocolError.swift
// OmnipodKit
// OmniBLE
//
// Created by Randall Knutson on 8/3/21.
//
Expand Down
Loading