/freeaps

FreeAPS X - an artificial pancreas system for iOS based on OpenAPS

Primary LanguageSwiftMIT LicenseMIT

FreeAPS X

Introduction

FreeAPS X - an artificial pancreas system for iOS based on OpenAPS Reference algorithms

FreeAPS X uses original JavaScript files of oref0 and provides a user interface (UI) to control and set up the system.

This repo includes two branchs allowing to use OmniPod Dash pumps :

  • the branch dash_dev includes the dash pump in the setting pump
  • the branch dash_garmin_disf_dev includes the dash pump, but also the dISF implementation (with update of openAPS) and the garmin service to connect with garmin watches.

To use this branch :

git clone -b dash_dev remote-repo-url or git clone -b dash_garmin_disf_dev remote-repo-url

or use directly Xcode to use one specific branch.

Don't forget to copy / reference your ConfigOverride

⚠️ ⚠️ ⚠️ ⚠️

Precaution

Please understand that these version are :

  • highly experimental
  • not approved for therapy

WARNING

  • The settings of your current FAX should not be re-init when you update to this version but check it before close loop
  • The update MUST ONLY be done when you change of a pod. The previous pod would be not accessible. So, first, desactivate your current pod then compile and update your FAX on your phone and add a new pod with the dash pump menu.

These version were tested by few developers with success. But...Don't hesitate to create issues if you find bugs or issues.

⚠️ ⚠️ ⚠️

Documentation

freeAPS X original github

ADD DASH PUMP and SETTINGS

Overview & Onboarding Tips on Loop&Learn

OpenAPS documentation

Technical updates

Updated to include dashpod

  • replace the Rileylink package to the Loop version of 2 august 2022
  • replace the Loopkit package to the Loop version of 2 august 2022
  • add the MKRingProgressView from the Loop version of 2 august 2022
  • add the OMNIBLE package from the Loop version of 2 august 2022 _ modify the order of compilation for CGMBLEKit (header before compilation)

Changes in package

No change 😁. Use extension in FAX to include the managerIdentifier

Changes in freeapsx

  • in info, add the Bundle Display Name used by package

  • add Bluetooth service state in Services/Bluetooth required by the new version of the package + add this service as a swift injection in APS resolver

  • in Aps manager :

    • Added blueTooth manager
    • modify enactTempBasal to respect the new protocol
    • modify enactBolus to respect the new protocol. The new loopkit requires a new parameter to describe the type of bolus - in FAX defaut to .manualRecommendationAccepted
    • modify the clearBolusReporter to improve the refresh of the state of the pump
  • in devicemanager :

    • Added blueTooth manager
    • change the staticPumpManagerByIdentifier
    • change the call ensureCurrentPumpData to respect the new version
    • change the result of fetchNewDataIfNeeded
    • change the PumpManagerDelegate extension
    • change the alert protocol
    • add OmniBLE config
  • in extension PumpManager

    • change managerIdentifier
    • remove setupViewController extension
    • new settingsViewController
  • in PumpHistoryStorage

    • remove a ismutable method
  • Color and UIColor added and LoopUICOloPalette+Default

In the different views :

  • In home view, add Bluetooth
  • in pump config model, change the PumpConfig.StateModel extension
  • add the bluetooth and correct new interfaces in settings pump views
  • change the view for settings max basal /bolus in pump
  • Improve the log message in MainStateModel + UserNotificationManager + Router

In deviceDataManager :

  • add the management of the issue alert (lot of changes with the previous version in the alert management by LoopKit) - Send the alert to UNNotification (modify also)

issues

  • unable to display all the screens when setup a new pump
  • choice of the insulin for the pump.
  • unable to use truetime for NTP sync. Not yet used by Loop