Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Release 2.2.7 (Artificial-Pancreas#375)
* Omnipod update bundle with Silence Pod mode & Diagnostics support (Artificial-Pancreas#324) * 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 (Artificial-Pancreas#320) * Merge fix (Artificial-Pancreas#327) * More pod strings * Localization work * Revert "strings" This reverts commit 0d0acad. * fix strings * Crowdin (Artificial-Pancreas#334) * New Silence pod string * More strings * Crowdin (Artificial-Pancreas#362) * 2.2.7 --------- Authored-by: Joe Moran <[email protected]> and Co-authored (strings and localization) by @Jon-b-m
- Loading branch information