Release 2.2.7
Omnipod update bundle with Silence Pod mode & Diagnostics support (#324), by @itsmojo
- Update bundle with various improvements and new functionality including
Silence Pod mode & Diagnostics support from freeaps_dev to SwiftUI
Various fault event code updates
- Add missing 0x4E code and description for SAW Trim Error
- Fix typo in rtcInterruptHandlerInconsistentState string
- Improved description string for the testInProgress fault
- Use more generic name for the values do not match case
- Add codes for the 0xD6 & 0xD7 reset faults of unknown origin
- Add codes for the mystery 0xCB, 0xD4, 0xD5, 0xD8 & 0xD9 faults
Various Omnipod message decode improvements
- Round RateEntry rate calculation to 2 digits
- Round RateEntry duration calculation to nearest second
- Add missing comma to RateEntry debugDescription
- New timeIntervalStr TimeInterval var for pod interval debug info
- Update some command commenting to be more consistent and useful
- Add debugDescription for CancelDeliveryCommand DeliveryType
- Add additional PodInfoTest checking and comments
- Whitespace tweaks for OmniKit & OmniBLE consistency
Remove some overly verbose OmniBLE Bluetooth logging messages
- Add {public} specifier to some non-debug logging messages
New operation mode that suppresses all pod alerts & beeping
- New CustomDebugStringConvertible extension for AlertTrigger
- Add new optional silent Bool parameter to AlertConfiguration struct
- Updated CustomDebugStringConvertible extension for AlertConfiguration
- Add new optional silent Bool associated value for most PodAlert enum values
- Add new offset TimeInterval associated value for time based PodAlert enum values
- Updated AlertSlot naming to make slot to alert mappings consistent
- Use consistent ascending alert ordering for all switch statements
- New alertSetString func to return suitable String for a given AlertSet
- New func to create corresponding PodAlerts for current pod time and silent values
- Add new silent Bool to ConfigureAlertsCommand struct
- Sort alert configurations in ConfigureAlertsCommand for easier analysis
- Have ConfigureAlertsCommand enforce the max alert duration value
- Rework pump manager code to use new silencePod var
- Use { } instead of ({ }) for {set,modify}State for consistency & clarity
- Add timeActive var to pump manager for more accurate pod active time
- Have acknowlegePodAlerts() use AlertSet instead of [AlertSlot: PodAlert]
- New setSilencePod pump manager func to change the pod's silence state
- Add some additional pump manager error logging statements
- Add new silencePod var to the pump manager state
- Rework PodAlerts creation for new podActive time offset and silence values
- New PodState var's to manage pod time active state
- Remove no longer needed activeAlerts PodState var func
- Update updatePodTimes func to manages new time active var's
- Update all unit tests as needed for new names & members
- Rework UI to use updated simplied interfaces for alertStrings from AlertSlots
- Add new Pod Settings button for Silence Pod and Unsilence Pod
- Update UI to use new new pod active pod state
- Have Pod Settings UI set the pod's expiration reminder alert
- Various commenting additions/updates/improvements/corrections
Read Pod Status display and consistency updates
-
Add new faultDescription var for FaultEventCode
-
Display errorEventInfo details for Pod fault details
-
Various AlertSlot comment updates for consistency
-
Make PumpManager silencePod and confirmationBeeps vars read-only
-
Consistency updates for setTempBasal result handling
-
Improved OmniBLE PodCommsError recoverySuggestion for noResponse and podNotConnected
-
Change OmniKit acknowledgeAlerts() to acknowledgePodAlerts() for consistency
-
New Silence Pod option and View
-
Update pulseLogString newlines for SwiftUI output
-
Replace pumpmanager mutateState() with discardableResult with setState()
-
Restore getDetailedStatus() pumpmanager funcs
-
enactTempBasal() func skips unneeded pod cancel if running scheduled basal
-
Restore deliveryStatus PodState variable to verify pod delivery state
-
Restore lastCommsOK PodState variable for additional comms verification
-
Add bulletproofing for all insulin commands to prevent 0x31 faults
-
Updated Notification Settings & Confidence Reminders text for silent pod
-
New Diagnostics command section at end of Pump Settings
Restore Loop 2.x/FreeAPS Read Pod Status diagnostic command
Restore Loop 2.x/FreeAPS Read Pulse Log diagnostic command
Restore Loop 2.x/FreeAPS Play Test Beeps diagnostic command
New Pump Manager Details diagnostic command
- Fix some mismatched comments for some copied LocalizedString's
- Update a couple of messages to avoid using the word "Loop"
- Add missing LocalizedString funcs for various buttons
- Print Pod Details View Sequence # as a zero padded 7-digit value
- Fix typo in Pod Details View LocalizedString comment
- Updated Pod Fault display with decimal & hex values & separate description line
- Prevent immediate low reservoir pod alerts if setting a value higher than current
- Improved debugDescription formatting for various PumpManager related state
- Allow expiration reminder to be triggered more than once
- Acknowledge all pod alerts when toggling silence pod state for safety
- Fix to prevent podState expiresAt jumping after a reset pod fault
- New PumpManagerAlert to post and clear any unexpected pod alerts
- Cleaned up some uneeded PumpManagerAlert related cruft
- Improved SwiftUI previews for many views
- Fixed various comment typos and errors
- Convert some inconsistent uses of NSLocalizedString to LocalizedString
- Remove some uneeded and inconsistent semicolons in OmnipodSettingsView
- White space cleanup to minimize OmniKit & OmniBLE source file differences
- New configuredAlertsString func for detailed info on configured alerts
- Renamed alertString func to alertSetString func for better clarity
- Clearer PumpManager debug strings for optional current & previous PodState
- Clearer PodState debug strings for optional Fault and pdmRef
- Add additional bulletproofing for suspend time expired alert clearing
Reworked and improved pump manager settings layout
- Device Details -> Pod Details
- Previous Pod Information -> Previous Pod Details
- Remove Pod -> Deactivate Pod
Improved alert handling when toggling pod silence state during suspend
- reset suspendTimeExpired alert if active and alert not acknowledged
- fix logic error which caused podSuspendedReminder alert not to be reset
Pod suspend alert handling improvements
- Don't clear suspend time expired pod alert to continue beeping until resume
- Keep suspend time expired pod beeps on 15m intervals when toggling Silence Pod
Make pod fault code, description and ref string info more available
- Added the decimal fault # to the reservoir display for a faulted pod
- Deactivate pod view includes notification string for common faults
- Deactivate pod includes fault # & Ref string for unexpected pod faults
Disable selective pod settings commands based on pod state
- Disable Set Temporary Basal Rate when pod is faulted or not active
- Disable Play Test Beeps Diagnostic when pod is faulted or not active
- Disable Read Pod Status and Read Pulse Log Diagnostics with no pod
Add missing OmniKitUI.xcassets for Cannula Inserted & reservoir masks
-
Fix logic error for fault display text during Pod Deactvation
Improve OmniBLE/PumpManagerUI directory Xcode sorting -
New Crowdin updates (#320)
-
Merge fix (#327)
-
More pod strings
-
Localization work
-
Revert "strings"
This reverts commit 0d0acad.
Authored-by: Joe Moran [email protected]
and co-authored (strings and localization) by @Jon-b-m