From a2b3c26b33e022a72eb1c0c580b6c3e4f65f6dca Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Sat, 15 Jul 2017 11:34:59 +0200 Subject: [PATCH] Log pump status on connect. --- .../jotomo/ruffyscripter/RuffyScripter.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/app/src/main/java/de/jotomo/ruffyscripter/RuffyScripter.java b/app/src/main/java/de/jotomo/ruffyscripter/RuffyScripter.java index be59c82c09..ef6166c0bb 100644 --- a/app/src/main/java/de/jotomo/ruffyscripter/RuffyScripter.java +++ b/app/src/main/java/de/jotomo/ruffyscripter/RuffyScripter.java @@ -6,7 +6,9 @@ import android.os.SystemClock; import org.monkey.d.ruffy.ruffy.driver.IRTHandler; import org.monkey.d.ruffy.ruffy.driver.IRuffyService; import org.monkey.d.ruffy.ruffy.driver.display.Menu; +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.menu.MenuTime; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -124,6 +126,7 @@ public class RuffyScripter { // TODO hackish, to say the least ... // wait till pump is ready for input waitForMenuUpdate(); + logPumpStatus(); log.debug("Cmd execution: connection ready, executing cmd " + cmd); cmdThread = new Thread(new Runnable() { @Override @@ -166,6 +169,28 @@ public class RuffyScripter { } } + private void logPumpStatus() { + log.debug("Pump status:"); + MenuType currentMenuType = currentMenu.getType(); + if (currentMenuType == MenuType.MAIN_MENU) { + Double tbrPercentage = (Double) currentMenu.getAttribute(MenuAttribute.TBR); + if (tbrPercentage != 100) { + MenuTime durationMenuTime = ((MenuTime) currentMenu.getAttribute(MenuAttribute.RUNTIME)); + long durationRemainging = durationMenuTime.getHour() * 60 + durationMenuTime.getMinute(); + log.debug(" TBR active: " + tbrPercentage + "%/" + durationRemainging + "m remaining"); + } else { + log.debug(" TBR active: no"); + } + } else { + log.warn(" !!! Pump is on unexpected screen " + currentMenuType + " !!!"); + log.warn(" Dumping all displayed attributes:"); + for (MenuAttribute menuAttribute : currentMenu.attributes()) { + log.warn(" " + menuAttribute + ": " + currentMenu.getAttribute(menuAttribute)); + } + + } + } + public void ensureConnected() { // did we get a menu update from the pump in the last 5s? Then we're connected if (currentMenu != null && menuLastUpdated + 5000 > System.currentTimeMillis()) {