Parcourir la source

Bugfixes

Messy fix for OutOfBoundsException. Added Voorspellingen at the end of
day. Improved code layout
Kenneth van Ewijk il y a 11 ans
Parent
commit
370bca2137
3 fichiers modifiés avec 266 ajouts et 230 suppressions
  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++)
                 {