Skip to content

Dash AAPS Comm

Andy Rozman edited this page Mar 10, 2020 · 3 revisions

Dash AAPS Comm

This is short information, how Dash-AAPS-Comm works.

We have at the moment 3 pieces:

  1. Small UI (com.androidaps.dashaps), which has package com.androidaps.dashaps.ui.command, which contains commands code that connects to OmnipodDashCommunicationManager

  2. Few classes imported from AAPS, including class info.nightscout.androidaps.plugins.pump.omnipod_dash.comm.OmnipodDashCommunicationManager which connects ui with official code (PodCommManager)

  3. Extracted comm code with binary file (that encodes/decodes communication)

Plan of work

Phase 1: Get points 1,2,3 working together so that we can see the logs what is happening. Status:

  • UI works, but commands at the moments are fake (don't connect to OmnipodDashCommunicationManager)
  • OmnipodDashCommunicationManager: just few methods implemented (we need to start with implementation of initPod, deactivatePod, getPodStatus and setBasalProfile)
  • Extracted code: not really working

Phase 2: With help of acquired logs start working on own solution, for now still using provided binary file

Phase 3: Finalize driver (OmnipodDashCommunicationManager implemented communicating with our own driver layer - should be done in Kotlin)

Phase 4: Integrate into AAPS (integration should be simple, since most of code will come from Omnipod-Eros project, there willl be some changes required)

Phase 5: Try to remove dependency on binary file

Clone this wiki locally