From d143164e432f195235077d26d2e2ed81ffdd9831 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Sat, 11 Oct 2014 21:07:57 +0200 Subject: [PATCH] Better button handling and other improvements Added the new air pressure class and improved the order in which the values appear. Also massively improved button handling, now it will respond instantly to a button press --- Weerstation.java | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/Weerstation.java b/Weerstation.java index 6d209d7..383b176 100644 --- a/Weerstation.java +++ b/Weerstation.java @@ -26,14 +26,15 @@ public class Weerstation { //All the different screen classes final List lstScreens = new ArrayList(); + lstScreens.add(new OutsideTemp(meting1, meting2)); + lstScreens.add(new WindChill(meting1, meting2)); + lstScreens.add(new OutsideHum(meting1, meting2)); + lstScreens.add(new Barometer(meting1, meting2)); lstScreens.add(new AvgWindSpeed(meting1, meting2)); lstScreens.add(new RainRate(meting1, meting2)); - lstScreens.add(new OutsideTemp(meting1, meting2)); lstScreens.add(new InsideTemp(meting1, meting2)); - lstScreens.add(new OutsideHum(meting1, meting2)); lstScreens.add(new InsideHum(meting1, meting2)); lstScreens.add(new CloudHeight(meting1, meting2)); - lstScreens.add(new WindChill(meting1, meting2)); lstScreens.add(new UVLevel(meting1, meting2)); @@ -87,13 +88,38 @@ public class Weerstation { public void run() { if(IO.readShort(0x100) == 1){ if(IO.readShort(0x80) == 1){ - wait = true; + wait = true; + if(!graph) + { + Grootheid obj = lstScreens.get(currentScreen); + obj.displayGraph(); + } graph = true; }else if(IO.readShort(0x80) == 0){ wait = false; + if(graph) + { + Grootheid obj = lstScreens.get(currentScreen); + obj.display(); + } graph = false; } }else if(IO.readShort(0x100) == 0){ + if(IO.readShort(0x80) == 1){ + if(!graph) + { + Grootheid obj = lstScreens.get(currentScreen); + obj.displayGraph(); + } + graph = true; + }else if(IO.readShort(0x80) == 0){ + if(graph) + { + Grootheid obj = lstScreens.get(currentScreen); + obj.display(); + } + graph = false; + } wait = true; } }