3333d7a6b7
* Disable loop entirely if no valid basal rate is set on the pump. Neither closed nor open loop mode makes sense without it. * Check active BR before updating the pump profile * Show 'loop disabled' state in Combo fragement. * Cancel active TBR when basal profile switch to profile != 1 is detected or when an unsupported bolus is active.
111 lines
7.9 KiB
Markdown
111 lines
7.9 KiB
Markdown
- [ ] Pairing
|
|
- [ ] Pairing works with `combo-scripter-v2` branch
|
|
- [ ] Bolusing
|
|
- [ ] Cancelling bolus at various stages shall not yield an error but cancel the bolus. If
|
|
cancelled before delivery started, no treatment must have been added, if cancel after delivery
|
|
started, the partially delivered bolus must have been added to treatments
|
|
- [ ] Enter a bolus of 2 U and press cancel when delivery is at 1.7 (cancelling requires AAAPS
|
|
to press the up button for 3 seconds, so the cancellation attempt will not succeed because delivery
|
|
ends before those 3 seconds are elapsed). The code should handle this without giving an
|
|
error and add the full bolus to treatments.
|
|
- [ ] Recovery from connection issues during bolusing
|
|
- [ ] Pressing a button on the pump during delivery => Progress dialog freezes, then states that recovery
|
|
is in process and then closes; no error dialog, record correctly added to treatments
|
|
- [ ] Breaking the connection e.g. by moving the pump away from phone for up to a minute => same as above
|
|
- [ ] Same as above but put pump out of reach for 5 minutes => Error dialog, no record in treatments
|
|
- [ ] Starting a bolus bigger than what's left in the reservoir => Error dialog and a record in treatments with the partially delivered bolus
|
|
- [ ] When the connection breaks during bolusing, pressing the cancel button should not interfere with recovery and
|
|
the delivered bolus should be added to treatments
|
|
- [ ] Low cartridge alarm during bolus
|
|
- [ ] alarm must be confirmed by AAPS
|
|
- [ ] bolus must have been fully delivered by pump
|
|
- [ ] bolus must have been added to DB
|
|
- [ ] the confirmed pump warning must be raised as a notification in AAPS
|
|
(or as android notification on watch/smartphone if setting "use system notifications ..." is enabled
|
|
- [ ] Pressing a button on the pump, or moving the pump away from the phone to break connection
|
|
must confirm the pump alert and recover to finish the bolusing.
|
|
- [ ] If recovery fails, an error popup must be displayed
|
|
- [ ] Test bolusing a bolus bigger than what's left in the reservoir. A message to check what
|
|
was actually delivered must appear (this is a corner-case where we practically can't
|
|
check what was actually delivered).
|
|
- [ ] Pressing a button on the pump before bolus delivery started must be handled gracefully
|
|
- [ ] Same as above, but moving pump out of range
|
|
- [ ] Pressing a button on the pump after bolus delivery has started will freeze the progress bar,
|
|
initiate recovery and add the delivered bolus the treatments.
|
|
- [ ] Same as above, but moving pump out of range
|
|
- [ ] Test the highest bolus you'd ever give yourself (AAPS has a configurable limit and the pump
|
|
has a limit which can be configured with the Config SW), no timeout or other issues must show
|
|
- [ ] BT disconnect issues
|
|
- [ ] Moving pump out of reach when setting TBR causes "TBR cancelled" alarm on pump.
|
|
When putting pump close to phone, AAPS must confirm the alert and successfully
|
|
retry setting TBR (reconnects are a best-effort kind of a thing, so this might not always work)
|
|
- [ ] When a disconnect occurs, the pump's screen shows the error and the pump only accepts a connection
|
|
again when the pump's menu(?) timeout has occurred. A recovery should be quicker if that timeout is decreased.
|
|
It might be interesting to experiment with the Config software to set lower menu or display timeouts
|
|
(or whatever they're called ...) to improve recovery speed.
|
|
- [ ] AAPS start
|
|
- [ ] Starting AAPS without a reachable pump must show something sensible in the Combo tab
|
|
(not hanging indefinitely with "initializing" activity)
|
|
- [ ] Starting AAPS without a reachable pump must trigger "pump unrechable" alert after the configured threshold
|
|
- [ ] If the pump's basal profile doesn't match AAPS', the pump must be updated when AAPS starts
|
|
- [ ] Read history using Smartpix and compare with AAPS' DB (treatment tab)
|
|
Esp. those times we communication was interrupted, boluses were cancelled, ...
|
|
- [ ] Boluses
|
|
- [ ] TBR
|
|
- [ ] Alerts
|
|
- [ ] Disconnected pump (pump unreachable)
|
|
- [ ] With local alerts enabled for 'pump unreachable', an alert must be triggered within 5 minutes
|
|
after the configured threshold. (Don't set the threshold too low, e.g. 10 minutes, since
|
|
there might be no need to set a TBR within such a short time, but since there was no pump connection
|
|
within that time, the alarm would be triggered).
|
|
- [ ] Refilling cartridge
|
|
- [ ] If TBR was cancelled by refilling, AAPS must detect this and create a TBR record in AAPS
|
|
based on what the pump displays (not the full TBR duration, but what is displayed as remaining
|
|
on the main screen.
|
|
- [ ] Stress testing
|
|
- PersistentNotification plugin disabled
|
|
- Lots of comms running, like Wifi, GSM, BT audio
|
|
- AAPS running in background
|
|
- Foreground app stresses the phone's memory, CPU (like a game) (potentially) pushing AAPS out of memory
|
|
- [ ] TBR must still be set/cancelled while running in the background
|
|
- [ ] With the pump powered off or out of reach, the 'pump unreachable alert' must still
|
|
trigger
|
|
- [ ] Combo tab
|
|
- [ ] Check displayed data (state, battery, reservoir, temp basal) is the same
|
|
as on the pump
|
|
- [ ] Unsafe usage
|
|
- [ ] An active extended or multiwave bolus must raise an alert and
|
|
restrict the loop functionality to low-suspend only for the next 6h (setting maxIOB to zero)
|
|
and cancel an active TBR.
|
|
- [ ] Closed loop functionality must resume 6 h after the last ext/multiwave bolus
|
|
- [ ] If a basal rate other than profile 1 is active on start, the pump must refuse to finish
|
|
initialization and disable the loop. When setting the profile to 1 and refreshing,
|
|
the pump must finish initialization and enable the loop (the overview screen will
|
|
still show "closed loop", but the Combo and Loop tabs will say the loop is disabled
|
|
due to a constraint violation).
|
|
- [ ] When changing profile to one other than the first after AAPS has started and read the first
|
|
basal profile, a warning must be shown, the loop must be disabled and the active TBR be cancelled.
|
|
- [ ] A request to change the AAPS profil (e.g. increase to 110%) must be rejected if the pump
|
|
doesn't have profile one active.
|
|
- [ ] Reading/setting basal profile
|
|
- [ ] AAPS reads basal rate properly
|
|
- [ ] Test profile with 115% (or something like that) change to ask the
|
|
pump for basal rates like 0.812, which should then be set propely
|
|
- [ ] Updating the profile extensively (200%, shifting time) takes up to 6 minutes, but
|
|
should complete without timeout.
|
|
- [ ] Doing a profile change (to shift time or increase/decrease insulin), the pump's basal profile must be updated
|
|
- [ ] If a profile change has a duration, the pump's basal profile must be set to the original value again at the end
|
|
(this can vary a few minutes between what the overview screen shows and when the pump is updated, as the check
|
|
whether the pump is up-to-date or not is performed periodically and not at the exact minute a profile change ends)
|
|
- [ ] Taking over alerts
|
|
- [ ] If an error alert is active on the pump, pressing refresh shall display the error
|
|
in the Combo tab but NOT confirm it. Easiest error to trigger: rewind piston
|
|
and attempt to start the pump, this will trigger E11: Not primed.
|
|
- [ ] Pressing refresh while a low cartridge or low battery alarm is active
|
|
must confirm the alarm, indicate the new status in the Combo tab and
|
|
show a notification on the overview screen
|
|
- [ ] A TBR CANCELLED is now also taken over when refreshing (since it's a benign error the loop will correct
|
|
during the next iteration).
|
|
- [ ] Misc
|
|
- [ ] Pump state is correctly uploaded to Nightscout (note that reservoir level are fake numbers representing
|
|
norma/low/empty).
|