فهرست منبع

Bugfixes

Messy fix for OutOfBoundsException. Added Voorspellingen at the end of
day. Improved code layout
Kenneth van Ewijk 11 سال پیش
والد
کامیت
370bca2137
3فایلهای تغییر یافته به همراه266 افزوده شده و 230 حذف شده
  1. 0 1
      LangsteHittegolfPeriode.java
  2. 0 1
      LangsteRegenPeriode.java
  3. 266 228
      Weerstation.java

+ 0 - 1
LangsteHittegolfPeriode.java

@@ -1,4 +1,3 @@
-package weerstation1;
 import java.util.ArrayList;
 
 public class LangsteHittegolfPeriode extends Grootheid{

+ 0 - 1
LangsteRegenPeriode.java

@@ -1,4 +1,3 @@
-package weerstation1;
 import java.util.ArrayList;
 
 public class LangsteRegenPeriode extends Grootheid{

+ 266 - 228
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){
+                }
+                else if(button1)
+                {
                     periodeNr++;
+                    if (currentScreen+1 > periodsScreens.get(periodeNr).size())
+                    {
+                        currentScreen = 0;
+                    }
                 }
-                if(periodeNr+1 > periodsScreens.size()){
+                
+                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<Grootheid> l: periodsScreens) {
-                    for (Grootheid obj : l) {
+                for (ArrayList<Grootheid> 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<Periode>();
@@ -204,224 +234,228 @@ public class Weerstation{
         periodsScreens = new ArrayList<ArrayList<Grootheid>>();
     }
     
-    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
+                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
+                
+                day.add(new Voorspellingen(meting1));       //Voorspellingen
+                
+                periodsScreens.add(day);
                     
-                    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
+                
+                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(year);
-                        
-                    meting1 = weerstation1.getMostRecentMeasurement();
-                    meting2 = weerstation1.getAllMeasurementsBetween(periods.get(6).getBeginPeriode(), periods.get(6).getEindePeriode());
+                periodsScreens.add(week);
+                
+                meting1 = weerstation1.getMostRecentMeasurement();
+                meting2 = weerstation1.getAllMeasurementsBetween(periods.get(2).getBeginPeriode(), periods.get(2).getEindePeriode());
                     
-                    //2 Years
+                //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
                 
-                    year2.add(new OutsideTemp(meting1, meting2));          //Buitentemperatuur
-                    year2.add(new OutsideHum(meting1, meting2));           //Luchtv. Buiten
+                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
                     
-                    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
+                periodsScreens.add(month);
+                
+                meting1 = weerstation1.getMostRecentMeasurement();
+                meting2 = weerstation1.getAllMeasurementsBetween(periods.get(3).getBeginPeriode(), periods.get(3).getEindePeriode());
                     
-                    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
+                //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
                     
-                    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(month3);
+                
+                meting1 = weerstation1.getMostRecentMeasurement();
+                meting2 = weerstation1.getAllMeasurementsBetween(periods.get(4).getBeginPeriode(), periods.get(4).getEindePeriode());
                     
-                    periodsScreens.add(year2);
+                //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);
                     
-                    stopLoadAnimatie();
-                }
-          }.start(); 
+                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++)
                 {