From 370bca2137e88005e3cd94dff483ecf5a23c334d Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Fri, 24 Oct 2014 13:49:50 +0200 Subject: [PATCH] Bugfixes Messy fix for OutOfBoundsException. Added Voorspellingen at the end of day. Improved code layout --- LangsteHittegolfPeriode.java | 1 - LangsteRegenPeriode.java | 1 - Weerstation.java | 502 +++++++++++++++++++---------------- 3 files changed, 270 insertions(+), 234 deletions(-) diff --git a/LangsteHittegolfPeriode.java b/LangsteHittegolfPeriode.java index 71f5c60..0af4849 100644 --- a/LangsteHittegolfPeriode.java +++ b/LangsteHittegolfPeriode.java @@ -1,4 +1,3 @@ -package weerstation1; import java.util.ArrayList; public class LangsteHittegolfPeriode extends Grootheid{ diff --git a/LangsteRegenPeriode.java b/LangsteRegenPeriode.java index 8a469e3..51705a8 100644 --- a/LangsteRegenPeriode.java +++ b/LangsteRegenPeriode.java @@ -1,4 +1,3 @@ -package weerstation1; import java.util.ArrayList; public class LangsteRegenPeriode extends Grootheid{ diff --git a/Weerstation.java b/Weerstation.java index a557949..61ab2cf 100644 --- a/Weerstation.java +++ b/Weerstation.java @@ -83,44 +83,71 @@ public class Weerstation{ //Screen switcher - timer.scheduleAtFixedRate(new TimerTask() { - public void run() { - if(button2){ + timer.scheduleAtFixedRate(new TimerTask() + { + public void run() + { + if(button2) + { currentScreen++; - if (currentScreen+1 > periodsScreens.get(periodeNr).size()){ + if (currentScreen+1 > periodsScreens.get(periodeNr).size()) + { currentScreen = 0; - if(button1){ + if(button1) + { periodeNr++; + if (currentScreen+1 > periodsScreens.get(periodeNr).size()) + { + currentScreen = 0; + } } } - }else if(button1){ - periodeNr++; } - if(periodeNr+1 > periodsScreens.size()){ + else if(button1) + { + periodeNr++; + if (currentScreen+1 > periodsScreens.get(periodeNr).size()) + { + currentScreen = 0; + } + } + + if(periodeNr+1 > periodsScreens.size()) + { periodeNr = 0; + if (currentScreen+1 > periodsScreens.get(periodeNr).size()) + { + currentScreen = 0; + } } Grootheid obj = periodsScreens.get(periodeNr).get(currentScreen); - if(button3){ - if(!graphIsDisplayed){ + if(button3) + { + if(!graphIsDisplayed) + { obj.displayGraph(); graphIsDisplayed = true; } - }else{ + } + else + { obj.display(periods.get(periodeNr).getName()); graphIsDisplayed = false; } - - } }, 0, 5*1000); //Update recent measurement every 60 seconds - timer.scheduleAtFixedRate(new TimerTask() { - public void run() { + timer.scheduleAtFixedRate( new TimerTask() + { + public void run() + { meting1 = weerstation1.getMostRecentMeasurement(); - for (ArrayList l: periodsScreens) { - for (Grootheid obj : l) { + for (ArrayList l: periodsScreens) + { + for (Grootheid obj : l) + { obj.updateRecent(meting1); } } @@ -128,8 +155,10 @@ public class Weerstation{ }, 60*1000, 60*1000); //Button checker - timer.scheduleAtFixedRate(new TimerTask() { - public void run() { + timer.scheduleAtFixedRate( new TimerTask() + { + public void run() + { if(IO.readShort(0x0090) == 1){ //Blauw 1 aan button1 = true; }else{ @@ -160,7 +189,8 @@ public class Weerstation{ }, 0, 100); } - public void createPeriods(){ + public void createPeriods() + { now = Calendar.getInstance(); calPeriod = Calendar.getInstance(); periods = new ArrayList(); @@ -204,224 +234,228 @@ public class Weerstation{ periodsScreens = new ArrayList>(); } - public void backgroundLoader(){ + public void backgroundLoader() + { new Thread("Backgroundloader") { public void run() - { + { Thread.currentThread().setPriority(Thread.MIN_PRIORITY); - meting1 = weerstation1.getMostRecentMeasurement(); - meting2 = weerstation1.getAllMeasurementsBetween(periods.get(0).getBeginPeriode(), periods.get(0).getEindePeriode()); - startupState = false; - - //Day - day.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur - day.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten - - day.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid - day.add(new WindDirection(meting1, meting2)); //Windrichting - day.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur - day.add(new RainRate(meting1, meting2)); //Regenval - - day.add(new Barometer(meting1, meting2)); //Luchtdruk - day.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur - day.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen - day.add(new Zonsterkte(meting1, meting2)); //Zonkracht - day.add(new Sun(meting1)); //Sunrise en Sunset - - day.add(new UVLevel(meting1, meting2)); //UV Level - day.add(new HeatIndex(meting1, meting2)); //Dauwpunt - day.add(new DewPoint(meting1, meting2)); //Dauwpunt - day.add(new CloudHeight(meting1, meting2)); //Wolkhoogte - - periodsScreens.add(day); - - - animator = new Timer(); - startLoadAnimatie(); - - meting1 = weerstation1.getMostRecentMeasurement(); - meting2 = weerstation1.getAllMeasurementsBetween(periods.get(1).getBeginPeriode(), periods.get(1).getEindePeriode()); - - //Week - week.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur - week.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten - - week.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid - week.add(new WindDirection(meting1, meting2)); //Windrichting - week.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur - week.add(new RainRate(meting1, meting2)); //Regenval - - week.add(new Barometer(meting1, meting2)); //Luchtdruk - week.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur - week.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen - week.add(new Zonsterkte(meting1, meting2)); //Zonkracht - week.add(new Sun(meting1)); //Sunrise en Sunset - - week.add(new UVLevel(meting1, meting2)); //UV Level - week.add(new HeatIndex(meting1, meting2)); //Dauwpunt - week.add(new DewPoint(meting1, meting2)); //Dauwpunt - week.add(new CloudHeight(meting1, meting2)); //Wolkhoogte - - periodsScreens.add(week); - - meting1 = weerstation1.getMostRecentMeasurement(); - meting2 = weerstation1.getAllMeasurementsBetween(periods.get(2).getBeginPeriode(), periods.get(2).getEindePeriode()); - - //Month - month.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur - month.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten - - month.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid - month.add(new WindDirection(meting1, meting2)); //Windrichting - month.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur - month.add(new RainRate(meting1, meting2)); //Regenval - - month.add(new Barometer(meting1, meting2)); //Luchtdruk - month.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur - month.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen - month.add(new Zonsterkte(meting1, meting2)); //Zonkracht - month.add(new Sun(meting1)); //Sunrise en Sunset - - month.add(new UVLevel(meting1, meting2)); //UV Level - month.add(new HeatIndex(meting1, meting2)); //Dauwpunt - month.add(new DewPoint(meting1, meting2)); //Dauwpunt - month.add(new CloudHeight(meting1, meting2)); //Wolkhoogte - - month.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode - month.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode - - periodsScreens.add(month); - - meting1 = weerstation1.getMostRecentMeasurement(); - meting2 = weerstation1.getAllMeasurementsBetween(periods.get(3).getBeginPeriode(), periods.get(3).getEindePeriode()); - - //3 Months - month3.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur - month3.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten - - month3.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid - month3.add(new WindDirection(meting1, meting2)); //Windrichting - month3.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur - month3.add(new RainRate(meting1, meting2)); //Regenval - - month3.add(new Barometer(meting1, meting2)); //Luchtdruk - month3.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur - month3.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen - month3.add(new Zonsterkte(meting1, meting2)); //Zonkracht - month3.add(new Sun(meting1)); //Sunrise en Sunset - - month3.add(new UVLevel(meting1, meting2)); //UV Level - month3.add(new HeatIndex(meting1, meting2)); //Dauwpunt - month3.add(new DewPoint(meting1, meting2)); //Dauwpunt - month3.add(new CloudHeight(meting1, meting2)); //Wolkhoogte - - month3.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode - month3.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode - - periodsScreens.add(month3); - - meting1 = weerstation1.getMostRecentMeasurement(); - meting2 = weerstation1.getAllMeasurementsBetween(periods.get(4).getBeginPeriode(), periods.get(4).getEindePeriode()); - - //6 Months - month6.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur - month6.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten - - month6.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid - month6.add(new WindDirection(meting1, meting2)); //Windrichting - month6.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur - month6.add(new RainRate(meting1, meting2)); //Regenval - - month6.add(new Barometer(meting1, meting2)); //Luchtdruk - month6.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur - month6.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen - month6.add(new Zonsterkte(meting1, meting2)); //Zonkracht - month6.add(new Sun(meting1)); //Sunrise en Sunset - - month6.add(new UVLevel(meting1, meting2)); //UV Level - month6.add(new HeatIndex(meting1, meting2)); //Dauwpunt - month6.add(new DewPoint(meting1, meting2)); //Dauwpunt - month6.add(new CloudHeight(meting1, meting2)); //Wolkhoogte - - month6.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode - month6.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode - month6.add(new LangsteHittegolfPeriode(meting1, meting2)); //Langste Hittegolf Periode - month6.add(new LangsteZomerPeriode(meting1, meting2)); //Langste Zomerse Periode - month6.add(new LangsteRegenPeriode(meting1, meting2)); //Langste Regen Periode - //month6.add(new LangsteTempStijgingPeriode(meting1, meting2)); //Langste temperatuurstijging - - periodsScreens.add(month6); - - meting1 = weerstation1.getMostRecentMeasurement(); - meting2 = weerstation1.getAllMeasurementsBetween(periods.get(5).getBeginPeriode(), periods.get(5).getEindePeriode()); - - //Year - - year.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur - year.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten - - year.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid - year.add(new WindDirection(meting1, meting2)); //Windrichting - year.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur - year.add(new RainRate(meting1, meting2)); //Regenval - - year.add(new Barometer(meting1, meting2)); //Luchtdruk - year.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur - year.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen - year.add(new Zonsterkte(meting1, meting2)); //Zonkracht - year.add(new Sun(meting1)); //Sunrise en Sunset - - year.add(new UVLevel(meting1, meting2)); //UV Level - year.add(new HeatIndex(meting1, meting2)); //Dauwpunt - year.add(new DewPoint(meting1, meting2)); //Dauwpunt - year.add(new CloudHeight(meting1, meting2)); //Wolkhoogte - - year.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode - year.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode - year.add(new LangsteHittegolfPeriode(meting1, meting2)); //Langste Hittegolf Periode - year.add(new LangsteZomerPeriode(meting1, meting2)); //Langste Zomerse Periode - year.add(new LangsteRegenPeriode(meting1, meting2)); //Langste Regen Periode - //year.add(new LangsteTempStijgingPeriode(meting1, meting2)); //Langste temperatuurstijging - - periodsScreens.add(year); - - meting1 = weerstation1.getMostRecentMeasurement(); - meting2 = weerstation1.getAllMeasurementsBetween(periods.get(6).getBeginPeriode(), periods.get(6).getEindePeriode()); - - //2 Years + meting1 = weerstation1.getMostRecentMeasurement(); + meting2 = weerstation1.getAllMeasurementsBetween(periods.get(0).getBeginPeriode(), periods.get(0).getEindePeriode()); - year2.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur - year2.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten + startupState = false; + + //Day + day.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur + day.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten + + day.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid + day.add(new WindDirection(meting1, meting2)); //Windrichting + day.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur + day.add(new RainRate(meting1, meting2)); //Regenval + + day.add(new Barometer(meting1, meting2)); //Luchtdruk + day.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur + day.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen + day.add(new Zonsterkte(meting1, meting2)); //Zonkracht + day.add(new Sun(meting1)); //Sunrise en Sunset + + day.add(new UVLevel(meting1, meting2)); //UV Level + day.add(new HeatIndex(meting1, meting2)); //Dauwpunt + day.add(new DewPoint(meting1, meting2)); //Dauwpunt + day.add(new CloudHeight(meting1, meting2)); //Wolkhoogte + + day.add(new Voorspellingen(meting1)); //Voorspellingen + + periodsScreens.add(day); - year2.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid - year2.add(new WindDirection(meting1, meting2)); //Windrichting - year2.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur - year2.add(new RainRate(meting1, meting2)); //Regenval + + animator = new Timer(); + startLoadAnimatie(); + + meting1 = weerstation1.getMostRecentMeasurement(); + meting2 = weerstation1.getAllMeasurementsBetween(periods.get(1).getBeginPeriode(), periods.get(1).getEindePeriode()); + + //Week + week.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur + week.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten + + week.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid + week.add(new WindDirection(meting1, meting2)); //Windrichting + week.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur + week.add(new RainRate(meting1, meting2)); //Regenval + + week.add(new Barometer(meting1, meting2)); //Luchtdruk + week.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur + week.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen + week.add(new Zonsterkte(meting1, meting2)); //Zonkracht + week.add(new Sun(meting1)); //Sunrise en Sunset + + week.add(new UVLevel(meting1, meting2)); //UV Level + week.add(new HeatIndex(meting1, meting2)); //Dauwpunt + week.add(new DewPoint(meting1, meting2)); //Dauwpunt + week.add(new CloudHeight(meting1, meting2)); //Wolkhoogte - year2.add(new Barometer(meting1, meting2)); //Luchtdruk - year2.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur - year2.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen - year2.add(new Zonsterkte(meting1, meting2)); //Zonkracht - year2.add(new Sun(meting1)); //Sunrise en Sunset + periodsScreens.add(week); + + meting1 = weerstation1.getMostRecentMeasurement(); + meting2 = weerstation1.getAllMeasurementsBetween(periods.get(2).getBeginPeriode(), periods.get(2).getEindePeriode()); - year2.add(new UVLevel(meting1, meting2)); //UV Level - year2.add(new HeatIndex(meting1, meting2)); //Dauwpunt - year2.add(new DewPoint(meting1, meting2)); //Dauwpunt - year2.add(new CloudHeight(meting1, meting2)); //Wolkhoogte - - year2.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode - year2.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode - year2.add(new LangsteHittegolfPeriode(meting1, meting2)); //Langste Hittegolf Periode - year2.add(new LangsteZomerPeriode(meting1, meting2)); //Langste Zomerse Periode - year2.add(new LangsteRegenPeriode(meting1, meting2)); //Langste Regen Periode - //year2.add(new LangsteTempStijgingPeriode(meting1, meting2)); //Langste temperatuurstijging + //Month + month.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur + month.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten + + month.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid + month.add(new WindDirection(meting1, meting2)); //Windrichting + month.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur + month.add(new RainRate(meting1, meting2)); //Regenval + + month.add(new Barometer(meting1, meting2)); //Luchtdruk + month.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur + month.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen + month.add(new Zonsterkte(meting1, meting2)); //Zonkracht + month.add(new Sun(meting1)); //Sunrise en Sunset + + month.add(new UVLevel(meting1, meting2)); //UV Level + month.add(new HeatIndex(meting1, meting2)); //Dauwpunt + month.add(new DewPoint(meting1, meting2)); //Dauwpunt + month.add(new CloudHeight(meting1, meting2)); //Wolkhoogte + + month.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode + month.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode - periodsScreens.add(year2); + periodsScreens.add(month); + + meting1 = weerstation1.getMostRecentMeasurement(); + meting2 = weerstation1.getAllMeasurementsBetween(periods.get(3).getBeginPeriode(), periods.get(3).getEindePeriode()); - stopLoadAnimatie(); - } - }.start(); + //3 Months + month3.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur + month3.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten + + month3.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid + month3.add(new WindDirection(meting1, meting2)); //Windrichting + month3.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur + month3.add(new RainRate(meting1, meting2)); //Regenval + + month3.add(new Barometer(meting1, meting2)); //Luchtdruk + month3.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur + month3.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen + month3.add(new Zonsterkte(meting1, meting2)); //Zonkracht + month3.add(new Sun(meting1)); //Sunrise en Sunset + + month3.add(new UVLevel(meting1, meting2)); //UV Level + month3.add(new HeatIndex(meting1, meting2)); //Dauwpunt + month3.add(new DewPoint(meting1, meting2)); //Dauwpunt + month3.add(new CloudHeight(meting1, meting2)); //Wolkhoogte + + month3.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode + month3.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode + + periodsScreens.add(month3); + + meting1 = weerstation1.getMostRecentMeasurement(); + meting2 = weerstation1.getAllMeasurementsBetween(periods.get(4).getBeginPeriode(), periods.get(4).getEindePeriode()); + + //6 Months + month6.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur + month6.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten + + month6.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid + month6.add(new WindDirection(meting1, meting2)); //Windrichting + month6.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur + month6.add(new RainRate(meting1, meting2)); //Regenval + + month6.add(new Barometer(meting1, meting2)); //Luchtdruk + month6.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur + month6.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen + month6.add(new Zonsterkte(meting1, meting2)); //Zonkracht + month6.add(new Sun(meting1)); //Sunrise en Sunset + + month6.add(new UVLevel(meting1, meting2)); //UV Level + month6.add(new HeatIndex(meting1, meting2)); //Dauwpunt + month6.add(new DewPoint(meting1, meting2)); //Dauwpunt + month6.add(new CloudHeight(meting1, meting2)); //Wolkhoogte + + month6.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode + month6.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode + month6.add(new LangsteHittegolfPeriode(meting1, meting2)); //Langste Hittegolf Periode + month6.add(new LangsteZomerPeriode(meting1, meting2)); //Langste Zomerse Periode + month6.add(new LangsteRegenPeriode(meting1, meting2)); //Langste Regen Periode + //month6.add(new LangsteTempStijgingPeriode(meting1, meting2)); //Langste temperatuurstijging + + periodsScreens.add(month6); + + meting1 = weerstation1.getMostRecentMeasurement(); + meting2 = weerstation1.getAllMeasurementsBetween(periods.get(5).getBeginPeriode(), periods.get(5).getEindePeriode()); + + //Year + + year.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur + year.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten + + year.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid + year.add(new WindDirection(meting1, meting2)); //Windrichting + year.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur + year.add(new RainRate(meting1, meting2)); //Regenval + + year.add(new Barometer(meting1, meting2)); //Luchtdruk + year.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur + year.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen + year.add(new Zonsterkte(meting1, meting2)); //Zonkracht + year.add(new Sun(meting1)); //Sunrise en Sunset + + year.add(new UVLevel(meting1, meting2)); //UV Level + year.add(new HeatIndex(meting1, meting2)); //Dauwpunt + year.add(new DewPoint(meting1, meting2)); //Dauwpunt + year.add(new CloudHeight(meting1, meting2)); //Wolkhoogte + + year.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode + year.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode + year.add(new LangsteHittegolfPeriode(meting1, meting2)); //Langste Hittegolf Periode + year.add(new LangsteZomerPeriode(meting1, meting2)); //Langste Zomerse Periode + year.add(new LangsteRegenPeriode(meting1, meting2)); //Langste Regen Periode + //year.add(new LangsteTempStijgingPeriode(meting1, meting2)); //Langste temperatuurstijging + + periodsScreens.add(year); + + meting1 = weerstation1.getMostRecentMeasurement(); + meting2 = weerstation1.getAllMeasurementsBetween(periods.get(6).getBeginPeriode(), periods.get(6).getEindePeriode()); + + //2 Years + + year2.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur + year2.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten + + year2.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid + year2.add(new WindDirection(meting1, meting2)); //Windrichting + year2.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur + year2.add(new RainRate(meting1, meting2)); //Regenval + + year2.add(new Barometer(meting1, meting2)); //Luchtdruk + year2.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur + year2.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen + year2.add(new Zonsterkte(meting1, meting2)); //Zonkracht + year2.add(new Sun(meting1)); //Sunrise en Sunset + + year2.add(new UVLevel(meting1, meting2)); //UV Level + year2.add(new HeatIndex(meting1, meting2)); //Dauwpunt + year2.add(new DewPoint(meting1, meting2)); //Dauwpunt + year2.add(new CloudHeight(meting1, meting2)); //Wolkhoogte + + year2.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode + year2.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode + year2.add(new LangsteHittegolfPeriode(meting1, meting2)); //Langste Hittegolf Periode + year2.add(new LangsteZomerPeriode(meting1, meting2)); //Langste Zomerse Periode + year2.add(new LangsteRegenPeriode(meting1, meting2)); //Langste Regen Periode + //year2.add(new LangsteTempStijgingPeriode(meting1, meting2)); //Langste temperatuurstijging + + periodsScreens.add(year2); + + stopLoadAnimatie(); + } + }.start(); } /** * Start de animatie die speelt tijdens het opstarten en laden van het weerstation @@ -430,8 +464,10 @@ public class Weerstation{ */ public void startStartupAnimatie() { - starter.scheduleAtFixedRate(new TimerTask() { - public void run() { + starter.scheduleAtFixedRate(new TimerTask() + { + public void run() + { startup = true; GUIboard.clearBottom(); @@ -501,8 +537,10 @@ public class Weerstation{ */ public void startLoadAnimatie() { - animator.scheduleAtFixedRate(new TimerTask() { - public void run() { + animator.scheduleAtFixedRate(new TimerTask() + { + public void run() + { load = true; for(int i=0; i<128;i++) {