WIP scripter: reading history
This commit is contained in:
parent
0a67bb73a4
commit
eb87dfb3f1
3 changed files with 73 additions and 7 deletions
|
@ -14,6 +14,7 @@ public class PumpHistoryRequest {
|
||||||
public long bolusHistory = SKIP;
|
public long bolusHistory = SKIP;
|
||||||
public long tbrHistory = SKIP;
|
public long tbrHistory = SKIP;
|
||||||
public long errorHistory = SKIP;
|
public long errorHistory = SKIP;
|
||||||
|
public long tddHistory = SKIP;
|
||||||
|
|
||||||
public PumpHistoryRequest reservoirLevel(boolean reservoirLevel) {
|
public PumpHistoryRequest reservoirLevel(boolean reservoirLevel) {
|
||||||
this.reservoirLevel = reservoirLevel;
|
this.reservoirLevel = reservoirLevel;
|
||||||
|
@ -35,6 +36,11 @@ public class PumpHistoryRequest {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PumpHistoryRequest tddHistory(long tddHistory) {
|
||||||
|
this.tddHistory = tddHistory;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "PumpHistoryRequest{" +
|
return "PumpHistoryRequest{" +
|
||||||
|
@ -42,6 +48,7 @@ public class PumpHistoryRequest {
|
||||||
", bolusHistory=" + bolusHistory +
|
", bolusHistory=" + bolusHistory +
|
||||||
", tbrHistory=" + tbrHistory +
|
", tbrHistory=" + tbrHistory +
|
||||||
", errorHistory=" + errorHistory +
|
", errorHistory=" + errorHistory +
|
||||||
|
", tddHistory=" + tddHistory +
|
||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -675,7 +675,7 @@ public class RuffyScripter implements RuffyCommands {
|
||||||
boolean movedOnce = false;
|
boolean movedOnce = false;
|
||||||
while (getCurrentMenu().getType() != desiredMenu) {
|
while (getCurrentMenu().getType() != desiredMenu) {
|
||||||
MenuType currentMenuType = getCurrentMenu().getType();
|
MenuType currentMenuType = getCurrentMenu().getType();
|
||||||
log.debug("Navigating to menu " + desiredMenu + ", currenty menu: " + currentMenuType);
|
log.debug("Navigating to menu " + desiredMenu + ", current menu: " + currentMenuType);
|
||||||
if (movedOnce && currentMenuType == startedFrom) {
|
if (movedOnce && currentMenuType == startedFrom) {
|
||||||
throw new CommandException().message("Menu not found searching for " + desiredMenu
|
throw new CommandException().message("Menu not found searching for " + desiredMenu
|
||||||
+ ". Check menu settings on your pump to ensure it's not hidden.");
|
+ ". Check menu settings on your pump to ensure it's not hidden.");
|
||||||
|
|
|
@ -2,13 +2,17 @@ package de.jotomo.ruffyscripter.commands;
|
||||||
|
|
||||||
import org.monkey.d.ruffy.ruffy.driver.display.MenuAttribute;
|
import org.monkey.d.ruffy.ruffy.driver.display.MenuAttribute;
|
||||||
import org.monkey.d.ruffy.ruffy.driver.display.MenuType;
|
import org.monkey.d.ruffy.ruffy.driver.display.MenuType;
|
||||||
|
import org.monkey.d.ruffy.ruffy.driver.display.menu.BolusType;
|
||||||
|
import org.monkey.d.ruffy.ruffy.driver.display.menu.MenuDate;
|
||||||
|
import org.monkey.d.ruffy.ruffy.driver.display.menu.MenuTime;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import de.jotomo.ruffy.spi.CommandResult;
|
||||||
|
import de.jotomo.ruffy.spi.history.Bolus;
|
||||||
import de.jotomo.ruffy.spi.history.PumpHistory;
|
import de.jotomo.ruffy.spi.history.PumpHistory;
|
||||||
import de.jotomo.ruffy.spi.history.PumpHistoryRequest;
|
import de.jotomo.ruffy.spi.history.PumpHistoryRequest;
|
||||||
import de.jotomo.ruffy.spi.CommandResult;
|
|
||||||
|
|
||||||
public class ReadHistoryCommand extends BaseCommand {
|
public class ReadHistoryCommand extends BaseCommand {
|
||||||
private final PumpHistoryRequest request;
|
private final PumpHistoryRequest request;
|
||||||
|
@ -20,12 +24,67 @@ public class ReadHistoryCommand extends BaseCommand {
|
||||||
@Override
|
@Override
|
||||||
public CommandResult execute() {
|
public CommandResult execute() {
|
||||||
PumpHistory history = new PumpHistory();
|
PumpHistory history = new PumpHistory();
|
||||||
if (request.reservoirLevel) readReservoirLevel(history);
|
if (request.reservoirLevel)
|
||||||
if (request.bolusHistory != PumpHistoryRequest.SKIP) readBolusHistory(history, request.bolusHistory);
|
readReservoirLevel(history);
|
||||||
return new CommandResult().success(true).enacted(false).history(history);
|
if (request.bolusHistory != PumpHistoryRequest.SKIP
|
||||||
|
|| request.bolusHistory != PumpHistoryRequest.SKIP
|
||||||
|
|| request.tbrHistory != PumpHistoryRequest.SKIP
|
||||||
|
|| request.errorHistory != PumpHistoryRequest.SKIP
|
||||||
|
|| request.tddHistory != PumpHistoryRequest.SKIP) {
|
||||||
|
scripter.navigateToMenu(MenuType.MY_DATA_MENU);
|
||||||
|
scripter.verifyMenuIsDisplayed(MenuType.MY_DATA_MENU);
|
||||||
|
scripter.pressCheckKey();
|
||||||
|
scripter.verifyMenuIsDisplayed(MenuType.BOLUS_DATA);
|
||||||
|
if (request.bolusHistory != PumpHistoryRequest.SKIP) {
|
||||||
|
// Could also be extended, multiwave:
|
||||||
|
BolusType bolusType = (BolusType) scripter.getCurrentMenu().getAttribute(MenuAttribute.BOLUS_TYPE);
|
||||||
|
if (!bolusType.equals(BolusType.NORMAL)) {
|
||||||
|
throw new CommandException().success(false).enacted(false).message("Unsupported bolus type encountered: " + bolusType);
|
||||||
}
|
}
|
||||||
|
Double bolus = (Double) scripter.getCurrentMenu().getAttribute(MenuAttribute.BOLUS);
|
||||||
|
MenuDate date = (MenuDate) scripter.getCurrentMenu().getAttribute(MenuAttribute.DATE);
|
||||||
|
MenuTime time = (MenuTime) scripter.getCurrentMenu().getAttribute(MenuAttribute.TIME);
|
||||||
|
|
||||||
private void readBolusHistory(PumpHistory history, long bolusHistory) {
|
history.bolusHistory.add(new Bolus(0, bolus));
|
||||||
|
|
||||||
|
int record = (int) scripter.getCurrentMenu().getAttribute(MenuAttribute.CURRENT_RECORD);
|
||||||
|
int totalRecords = (int) scripter.getCurrentMenu().getAttribute(MenuAttribute.TOTAL_RECORD);
|
||||||
|
|
||||||
|
/*
|
||||||
|
read displayed date, bolus, add to history
|
||||||
|
while data > last known, press up to go through history
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
|
scripter.pressMenuKey();
|
||||||
|
scripter.verifyMenuIsDisplayed(MenuType.ERROR_DATA);
|
||||||
|
if (request.errorHistory != PumpHistoryRequest.SKIP) {
|
||||||
|
int code = (int) scripter.getCurrentMenu().getAttribute(MenuAttribute.WARNING);
|
||||||
|
String message = (String) scripter.getCurrentMenu().getAttribute(MenuAttribute.MESSAGE);
|
||||||
|
MenuDate date = (MenuDate) scripter.getCurrentMenu().getAttribute(MenuAttribute.DATE);
|
||||||
|
MenuTime time = (MenuTime) scripter.getCurrentMenu().getAttribute(MenuAttribute.TIME);
|
||||||
|
|
||||||
|
}
|
||||||
|
scripter.pressMenuKey();
|
||||||
|
scripter.verifyMenuIsDisplayed(MenuType.DAILY_DATA);
|
||||||
|
if (request.tddHistory != PumpHistoryRequest.SKIP) {
|
||||||
|
Double total = (Double) scripter.getCurrentMenu().getAttribute(MenuAttribute.DAILY_TOTAL);
|
||||||
|
MenuDate date = (MenuDate) scripter.getCurrentMenu().getAttribute(MenuAttribute.DATE);
|
||||||
|
MenuTime time = (MenuTime) scripter.getCurrentMenu().getAttribute(MenuAttribute.TIME);
|
||||||
|
}
|
||||||
|
scripter.pressMenuKey();
|
||||||
|
scripter.verifyMenuIsDisplayed(MenuType.TBR_DATA);
|
||||||
|
if (request.tbrHistory != PumpHistoryRequest.SKIP) {
|
||||||
|
Double percentage = (Double) scripter.getCurrentMenu().getAttribute(MenuAttribute.TBR);
|
||||||
|
MenuTime duration = (MenuTime) scripter.getCurrentMenu().getAttribute(MenuAttribute.RUNTIME);
|
||||||
|
MenuDate date = (MenuDate) scripter.getCurrentMenu().getAttribute(MenuAttribute.DATE);
|
||||||
|
// TODO start or end time?
|
||||||
|
MenuTime time = (MenuTime) scripter.getCurrentMenu().getAttribute(MenuAttribute.TIME);
|
||||||
|
}
|
||||||
|
scripter.returnToMainMenu();
|
||||||
|
}
|
||||||
|
scripter.verifyMenuIsDisplayed(MenuType.MAIN_MENU);
|
||||||
|
return new CommandResult().success(true).enacted(false).history(history);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void readReservoirLevel(PumpHistory history) {
|
private void readReservoirLevel(PumpHistory history) {
|
||||||
|
|
Loading…
Reference in a new issue