Jelajahi Sumber

Fixed OutOfBoundsException and animation

Kenneth van Ewijk 11 tahun lalu
induk
melakukan
9c97a365a1
1 mengubah file dengan 266 tambahan dan 259 penghapusan
  1. 266 259
      Weerstation.java

+ 266 - 259
Weerstation.java

@@ -1,4 +1,4 @@
-package weerstation1;
+ 
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Iterator;
@@ -85,32 +85,32 @@ public class Weerstation{
         //Screen switcher
         timer.scheduleAtFixedRate(new TimerTask() {
             public void run() {
-            	if(button2){
-            		currentScreen++;
-            		if (currentScreen >= periodsScreens.get(periodeNr).size()){
-            			currentScreen = 0;
-            			if(button1){
-            				periodeNr++;
-            			}
-            		}
-            	}else if(button1){
-            		periodeNr++;
-            	}
-            	if(periodeNr > periodsScreens.size()){
-            		periodeNr = 0;
-            	}
-            	Grootheid obj = periodsScreens.get(periodeNr).get(currentScreen);
-            	
-            	if(button3){
-            		if(!graphIsDisplayed){
-            			obj.displayGraph();
-            			graphIsDisplayed = true;
-            		}
-            	}else{
-	            	obj.display(periods.get(periodeNr).getName());
-	            	graphIsDisplayed = false;
-            	}
-            	
+                if(button2){
+                    currentScreen++;
+                    if (currentScreen+1 > periodsScreens.get(periodeNr).size()){
+                        currentScreen = 0;
+                        if(button1){
+                            periodeNr++;
+                        }
+                    }
+                }else if(button1){
+                    periodeNr++;
+                }
+                if(periodeNr+1 > periodsScreens.size()){
+                    periodeNr = 0;
+                }
+                Grootheid obj = periodsScreens.get(periodeNr).get(currentScreen);
+                
+                if(button3){
+                    if(!graphIsDisplayed){
+                        obj.displayGraph();
+                        graphIsDisplayed = true;
+                    }
+                }else{
+                    obj.display(periods.get(periodeNr).getName());
+                    graphIsDisplayed = false;
+                }
+                
 
             }
         }, 0, 5*1000);
@@ -120,10 +120,10 @@ public class Weerstation{
             public void run() {
                 meting1 = weerstation1.getMostRecentMeasurement();
                 for (ArrayList<Grootheid> l: periodsScreens) {
-					for (Grootheid obj : l) {
-						obj.updateRecent(meting1);
-					}
-				}
+                    for (Grootheid obj : l) {
+                        obj.updateRecent(meting1);
+                    }
+                }
             }
         }, 60*1000, 60*1000);
         
@@ -131,30 +131,30 @@ public class Weerstation{
         timer.scheduleAtFixedRate(new TimerTask() {
             public void run() {
                 if(IO.readShort(0x0090) == 1){  //Blauw 1 aan
-                	button1 = true;
+                    button1 = true;
                 }else{
-                	button1 = false;
+                    button1 = false;
                 }
                 if(IO.readShort(0x00100) == 1){  //Blauw 2 aan
                     button2 = true;
                 }else{
-                	button2 = false;
+                    button2 = false;
                 }
                
                 Grootheid obj = periodsScreens.get(periodeNr).get(currentScreen);
                
                 if(IO.readShort(0x0080) == 1){  //Rood aan
                     button3 = true;
-            		if(!graphIsDisplayed){
-            			obj.displayGraph();
-            			graphIsDisplayed = true;
-            		}
+                    if(!graphIsDisplayed){
+                        obj.displayGraph();
+                        graphIsDisplayed = true;
+                    }
                 }else{
-                	if(graphIsDisplayed){
-                		obj.display(periods.get(periodeNr).getName());
-                		graphIsDisplayed = false;
-                	}
-                	button3 = false;	
+                    if(graphIsDisplayed){
+                        obj.display(periods.get(periodeNr).getName());
+                        graphIsDisplayed = false;
+                    }
+                    button3 = false;    
                 }
             }
         }, 0, 100);
@@ -164,7 +164,7 @@ public class Weerstation{
         now = Calendar.getInstance();
         calPeriod = Calendar.getInstance();
         periods = new ArrayList<Periode>();
-    	
+        
         calPeriod.add(Calendar.DATE, -1);
         periods.add(new Periode(now, calPeriod, "Dag"));
         calPeriod = Calendar.getInstance(); 
@@ -205,221 +205,222 @@ public class Weerstation{
     }
     
     public void backgroundLoader(){
-    	  new Thread("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
-      	        
-        	        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
+             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
+                
+                    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();
-        	    }
+                    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(); 
     }
     /**
@@ -505,13 +506,19 @@ public class Weerstation{
                 load = true;
                 for(int i=0; i<128;i++)
                 {
-                        IO.writeShort(0x42, 0 << 12 | i << 5 | 31);
+                        if(!graphIsDisplayed)
+                        {
+                            IO.writeShort(0x42, 1 << 12 | i << 5 | 31);
+                        }
                         IO.delay(4);
                 }
                 
                 for(int i=0; i<128;i++)
                 {
-                        IO.writeShort(0x42, 1 << 12 | i << 5 | 31);
+                        if(!graphIsDisplayed)
+                        {
+                            IO.writeShort(0x42, 0 << 12 | i << 5 | 31);
+                        }
                         IO.delay(4);
                 }
                 load = false;