|
|
@@ -1,4 +1,4 @@
|
|
|
-
|
|
|
+package weerstation1;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Calendar;
|
|
|
import java.util.Iterator;
|
|
|
@@ -11,114 +11,60 @@ import java.util.TimerTask;
|
|
|
*
|
|
|
* @author Projectgroep B5
|
|
|
*/
|
|
|
-public class Weerstation {
|
|
|
+public class Weerstation{
|
|
|
WeerstationConnector weerstation1;
|
|
|
|
|
|
Calendar now, calPeriod;
|
|
|
|
|
|
Measurement meting1;
|
|
|
ArrayList<Measurement> meting2;
|
|
|
+ ArrayList<Periode> periods;
|
|
|
+ ArrayList<Grootheid> day, week, month, month3, month6, year, year2;
|
|
|
+ ArrayList<ArrayList<Grootheid>> periodsScreens;
|
|
|
+
|
|
|
Timer starter;
|
|
|
Timer animator;
|
|
|
+
|
|
|
int currentScreen;
|
|
|
- boolean wait;
|
|
|
- boolean graph;
|
|
|
- boolean currentGraph;
|
|
|
- boolean startup;
|
|
|
- boolean startupState;
|
|
|
- boolean load;
|
|
|
+ int periodeNr;
|
|
|
+
|
|
|
+ boolean startup, startupState, load;
|
|
|
+
|
|
|
+ boolean button1, button2, button3, graphIsDisplayed;
|
|
|
|
|
|
/**
|
|
|
* Constructor voor weerstation
|
|
|
*/
|
|
|
public Weerstation(){
|
|
|
- now = Calendar.getInstance();
|
|
|
- calPeriod = Calendar.getInstance();
|
|
|
- final ArrayList<Periode> periods = new ArrayList<Periode>();
|
|
|
-
|
|
|
GUIboard.init();
|
|
|
startupState = true;
|
|
|
starter = new Timer();
|
|
|
startStartupAnimatie();
|
|
|
-
|
|
|
- calPeriod.add(Calendar.DATE, -1);
|
|
|
- periods.add(new Periode(now, calPeriod, "Dag"));
|
|
|
- calPeriod = Calendar.getInstance();
|
|
|
-
|
|
|
- calPeriod.add(Calendar.DATE, -7);
|
|
|
- periods.add(new Periode(now, calPeriod, "Week"));
|
|
|
- calPeriod = Calendar.getInstance();
|
|
|
-
|
|
|
- calPeriod.add(Calendar.MONTH, -1);
|
|
|
- periods.add(new Periode(now, calPeriod, "Maand"));
|
|
|
- calPeriod = Calendar.getInstance();
|
|
|
-
|
|
|
- calPeriod.add(Calendar.MONTH, -3);
|
|
|
- periods.add(new Periode(now, calPeriod, "Maand 3"));
|
|
|
- calPeriod = Calendar.getInstance();
|
|
|
-
|
|
|
- calPeriod.add(Calendar.MONTH, -6);
|
|
|
- periods.add(new Periode(now, calPeriod, "Maand 6"));
|
|
|
- calPeriod = Calendar.getInstance();
|
|
|
-
|
|
|
- calPeriod.add(Calendar.YEAR, -1);
|
|
|
- periods.add(new Periode(now, calPeriod, "Jaar"));
|
|
|
- calPeriod = Calendar.getInstance();
|
|
|
-
|
|
|
- calPeriod.add(Calendar.YEAR, -2);
|
|
|
- periods.add(new Periode(now, calPeriod, "Jaar 2"));
|
|
|
- calPeriod = Calendar.getInstance();
|
|
|
-
|
|
|
- //Day = 0
|
|
|
- //Week = 1
|
|
|
- //Month = 2
|
|
|
- //3 Months = 3
|
|
|
- //6 Months = 4
|
|
|
- //Year = 5
|
|
|
- //2 years = 6
|
|
|
-
|
|
|
- //Kies hier welke periode je wil laden, hij veranderd in een keer alles:
|
|
|
- final int periodeNr = 2;
|
|
|
-
|
|
|
- weerstation1 = new WeerstationConnector();
|
|
|
- meting1 = weerstation1.getMostRecentMeasurement();
|
|
|
- meting2 = weerstation1.getAllMeasurementsBetween(periods.get(periodeNr).getBeginPeriode(), periods.get(periodeNr).getEindePeriode());
|
|
|
- currentGraph = false;
|
|
|
- startupState = false;
|
|
|
- currentScreen = 0;
|
|
|
- wait = true;
|
|
|
- graph = false;
|
|
|
Timer timer = new Timer();
|
|
|
|
|
|
+ createPeriods();
|
|
|
+ backgroundLoader();
|
|
|
|
|
|
- //All the different screen classes
|
|
|
- final List<Grootheid> lstScreens = new ArrayList<Grootheid>();
|
|
|
-
|
|
|
- lstScreens.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur
|
|
|
- lstScreens.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten
|
|
|
- lstScreens.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur
|
|
|
- lstScreens.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen
|
|
|
- lstScreens.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid
|
|
|
- lstScreens.add(new WindDirection(meting1, meting2)); //Windrichting
|
|
|
- lstScreens.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur
|
|
|
- lstScreens.add(new Barometer(meting1, meting2)); //Luchtdruk
|
|
|
- lstScreens.add(new Voorspellingen(meting1)); //Weervoorspelling
|
|
|
- lstScreens.add(new RainRate(meting1, meting2)); //Regenval
|
|
|
- lstScreens.add(new CloudHeight(meting1, meting2)); //Wolkhoogte
|
|
|
- lstScreens.add(new UVLevel(meting1, meting2)); //UV Level
|
|
|
- lstScreens.add(new HeatIndex(meting1, meting2)); //Dauwpunt
|
|
|
- lstScreens.add(new Zonsterkte(meting1, meting2)); //Zonkracht
|
|
|
- lstScreens.add(new DewPoint(meting1, meting2)); //Dauwpunt
|
|
|
- lstScreens.add(new Sun(meting1)); //Sunrise en Sunset
|
|
|
-
|
|
|
- lstScreens.add(new LangsteHittegolfPeriode(meting1, meting2));
|
|
|
- lstScreens.add(new LangsteZomerPeriode(meting1, meting2)); //Langste Zomerse Periode
|
|
|
- // lstScreens.add(new LangsteTempStijgingPeriode(meting1, meting2)); //Langste temperatuurstijging
|
|
|
- lstScreens.add(new LangsteRegenPeriode(meting1, meting2)); //Langste Regen Periode
|
|
|
- lstScreens.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode
|
|
|
- lstScreens.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode
|
|
|
-
|
|
|
+ currentScreen = 0;
|
|
|
+ periodeNr = 0;
|
|
|
+ graphIsDisplayed = false;
|
|
|
|
|
|
+
|
|
|
+ //De thread die op de achtergrond alles laad
|
|
|
+
|
|
|
+
|
|
|
+ while(periodsScreens.size()<=0)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ Thread.sleep(1);
|
|
|
+ }
|
|
|
+ catch(InterruptedException e)
|
|
|
+ {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
stopStartupAnimatie();
|
|
|
while(startup)
|
|
|
{
|
|
|
@@ -139,23 +85,33 @@ public class Weerstation {
|
|
|
//Screen switcher
|
|
|
timer.scheduleAtFixedRate(new TimerTask() {
|
|
|
public void run() {
|
|
|
- if(!wait){
|
|
|
- currentScreen++;
|
|
|
- }
|
|
|
- if(currentScreen == lstScreens.size()){
|
|
|
- currentScreen = 0;
|
|
|
- }
|
|
|
-
|
|
|
- Grootheid obj = lstScreens.get(currentScreen);
|
|
|
- if(graph && (graph != currentGraph))
|
|
|
- {
|
|
|
- obj.displayGraph();
|
|
|
- currentGraph = true;
|
|
|
- }
|
|
|
- else if(!graph)
|
|
|
- {
|
|
|
- obj.display();
|
|
|
- }
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}, 0, 5*1000);
|
|
|
|
|
|
@@ -163,86 +119,309 @@ public class Weerstation {
|
|
|
timer.scheduleAtFixedRate(new TimerTask() {
|
|
|
public void run() {
|
|
|
meting1 = weerstation1.getMostRecentMeasurement();
|
|
|
- for(Grootheid obj : lstScreens){
|
|
|
- obj.updateRecent(meting1);
|
|
|
- }
|
|
|
+ for (ArrayList<Grootheid> l: periodsScreens) {
|
|
|
+ for (Grootheid obj : l) {
|
|
|
+ obj.updateRecent(meting1);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}, 60*1000, 60*1000);
|
|
|
|
|
|
-
|
|
|
- //Update 24hours every 60 seconds
|
|
|
+ //Button checker
|
|
|
timer.scheduleAtFixedRate(new TimerTask() {
|
|
|
public void run() {
|
|
|
-
|
|
|
- animator = new Timer();
|
|
|
- startLoadAnimatie();
|
|
|
-
|
|
|
- meting2 = weerstation1.getAllMeasurementsBetween(periods.get(periodeNr).getBeginPeriode(), periods.get(periodeNr).getEindePeriode());
|
|
|
- for(Grootheid obj : lstScreens){
|
|
|
- obj.updatePeriod(meting2);
|
|
|
+ if(IO.readShort(0x0090) == 1){ //Blauw 1 aan
|
|
|
+ button1 = true;
|
|
|
+ }else{
|
|
|
+ button1 = false;
|
|
|
}
|
|
|
-
|
|
|
- stopLoadAnimatie();
|
|
|
-
|
|
|
- while(load)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- Thread.sleep(1);
|
|
|
- }
|
|
|
- catch(InterruptedException e)
|
|
|
- {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
+ if(IO.readShort(0x00100) == 1){ //Blauw 2 aan
|
|
|
+ button2 = true;
|
|
|
+ }else{
|
|
|
+ button2 = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ Grootheid obj = periodsScreens.get(periodeNr).get(currentScreen);
|
|
|
+
|
|
|
+ if(IO.readShort(0x0080) == 1){ //Rood aan
|
|
|
+ button3 = true;
|
|
|
+ if(!graphIsDisplayed){
|
|
|
+ obj.displayGraph();
|
|
|
+ graphIsDisplayed = true;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(graphIsDisplayed){
|
|
|
+ obj.display(periods.get(periodeNr).getName());
|
|
|
+ graphIsDisplayed = false;
|
|
|
+ }
|
|
|
+ button3 = false;
|
|
|
}
|
|
|
}
|
|
|
- },10*60*1000, 10*60*1000);
|
|
|
+ }, 0, 100);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void createPeriods(){
|
|
|
+ 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();
|
|
|
+
|
|
|
+ calPeriod.add(Calendar.DATE, -7);
|
|
|
+ periods.add(new Periode(now, calPeriod, "Week"));
|
|
|
+ calPeriod = Calendar.getInstance();
|
|
|
+
|
|
|
+ calPeriod.add(Calendar.MONTH, -1);
|
|
|
+ periods.add(new Periode(now, calPeriod, "Maand"));
|
|
|
+ calPeriod = Calendar.getInstance();
|
|
|
+
|
|
|
+ calPeriod.add(Calendar.MONTH, -3);
|
|
|
+ periods.add(new Periode(now, calPeriod, "Maand 3"));
|
|
|
+ calPeriod = Calendar.getInstance();
|
|
|
|
|
|
+ calPeriod.add(Calendar.MONTH, -6);
|
|
|
+ periods.add(new Periode(now, calPeriod, "Maand 6"));
|
|
|
+ calPeriod = Calendar.getInstance();
|
|
|
|
|
|
- //Button checker
|
|
|
- timer.scheduleAtFixedRate(new TimerTask() {
|
|
|
- public void run() {
|
|
|
- if(IO.readShort(0x100) == 1){
|
|
|
- if(IO.readShort(0x80) == 1){
|
|
|
- wait = true;
|
|
|
- if(!graph)
|
|
|
- {
|
|
|
- Grootheid obj = lstScreens.get(currentScreen);
|
|
|
- obj.displayGraph();
|
|
|
- }
|
|
|
- graph = true;
|
|
|
- }else if(IO.readShort(0x80) == 0){
|
|
|
- wait = false;
|
|
|
- if(graph)
|
|
|
- {
|
|
|
- Grootheid obj = lstScreens.get(currentScreen);
|
|
|
- obj.display();
|
|
|
- }
|
|
|
- graph = false;
|
|
|
- }
|
|
|
- }else if(IO.readShort(0x100) == 0){
|
|
|
- if(IO.readShort(0x80) == 1){
|
|
|
- if(!graph)
|
|
|
- {
|
|
|
- Grootheid obj = lstScreens.get(currentScreen);
|
|
|
- obj.displayGraph();
|
|
|
- }
|
|
|
- graph = true;
|
|
|
- }else if(IO.readShort(0x80) == 0){
|
|
|
- if(graph)
|
|
|
- {
|
|
|
- Grootheid obj = lstScreens.get(currentScreen);
|
|
|
- obj.display();
|
|
|
- }
|
|
|
- graph = false;
|
|
|
- }
|
|
|
- wait = true;
|
|
|
- }
|
|
|
- }
|
|
|
- }, 0, 100);
|
|
|
+ calPeriod.add(Calendar.YEAR, -1);
|
|
|
+ periods.add(new Periode(now, calPeriod, "Jaar"));
|
|
|
+ calPeriod = Calendar.getInstance();
|
|
|
|
|
|
+ calPeriod.add(Calendar.YEAR, -2);
|
|
|
+ periods.add(new Periode(now, calPeriod, "Jaar 2"));
|
|
|
+ calPeriod = Calendar.getInstance();
|
|
|
+
|
|
|
+ weerstation1 = new WeerstationConnector();
|
|
|
+ day = new ArrayList<Grootheid>();
|
|
|
+ week = new ArrayList<Grootheid>();
|
|
|
+ month = new ArrayList<Grootheid>();
|
|
|
+ month3 = new ArrayList<Grootheid>();
|
|
|
+ month6 = new ArrayList<Grootheid>();
|
|
|
+ year = new ArrayList<Grootheid>();
|
|
|
+ year2 = new ArrayList<Grootheid>();
|
|
|
+ periodsScreens = new ArrayList<ArrayList<Grootheid>>();
|
|
|
}
|
|
|
|
|
|
+ public void backgroundLoader(){
|
|
|
+ new Thread("Backgroundloader")
|
|
|
+ {
|
|
|
+ public void run()
|
|
|
+ {
|
|
|
+ Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
|
|
|
+ meting1 = weerstation1.getMostRecentMeasurement();
|
|
|
+ meting2 = weerstation1.getAllMeasurementsBetween(periods.get(0).getBeginPeriode(), periods.get(0).getEindePeriode());
|
|
|
+ startupState = false;
|
|
|
+ //Day
|
|
|
+ day.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur
|
|
|
+ day.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten
|
|
|
+
|
|
|
+ day.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid
|
|
|
+ day.add(new WindDirection(meting1, meting2)); //Windrichting
|
|
|
+ day.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur
|
|
|
+ day.add(new RainRate(meting1, meting2)); //Regenval
|
|
|
+
|
|
|
+ day.add(new Barometer(meting1, meting2)); //Luchtdruk
|
|
|
+ day.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur
|
|
|
+ day.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen
|
|
|
+ day.add(new Zonsterkte(meting1, meting2)); //Zonkracht
|
|
|
+ day.add(new Sun(meting1)); //Sunrise en Sunset
|
|
|
+
|
|
|
+ day.add(new UVLevel(meting1, meting2)); //UV Level
|
|
|
+ day.add(new HeatIndex(meting1, meting2)); //Dauwpunt
|
|
|
+ day.add(new DewPoint(meting1, meting2)); //Dauwpunt
|
|
|
+ day.add(new CloudHeight(meting1, meting2)); //Wolkhoogte
|
|
|
+
|
|
|
+ periodsScreens.add(day);
|
|
|
+
|
|
|
+
|
|
|
+ animator = new Timer();
|
|
|
+ startLoadAnimatie();
|
|
|
+
|
|
|
+ meting1 = weerstation1.getMostRecentMeasurement();
|
|
|
+ meting2 = weerstation1.getAllMeasurementsBetween(periods.get(1).getBeginPeriode(), periods.get(1).getEindePeriode());
|
|
|
+
|
|
|
+ //Week
|
|
|
+ week.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur
|
|
|
+ week.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten
|
|
|
+
|
|
|
+ week.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid
|
|
|
+ week.add(new WindDirection(meting1, meting2)); //Windrichting
|
|
|
+ week.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur
|
|
|
+ week.add(new RainRate(meting1, meting2)); //Regenval
|
|
|
+
|
|
|
+ week.add(new Barometer(meting1, meting2)); //Luchtdruk
|
|
|
+ week.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur
|
|
|
+ week.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen
|
|
|
+ week.add(new Zonsterkte(meting1, meting2)); //Zonkracht
|
|
|
+ week.add(new Sun(meting1)); //Sunrise en Sunset
|
|
|
+
|
|
|
+ week.add(new UVLevel(meting1, meting2)); //UV Level
|
|
|
+ week.add(new HeatIndex(meting1, meting2)); //Dauwpunt
|
|
|
+ week.add(new DewPoint(meting1, meting2)); //Dauwpunt
|
|
|
+ week.add(new CloudHeight(meting1, meting2)); //Wolkhoogte
|
|
|
+
|
|
|
+ periodsScreens.add(week);
|
|
|
+
|
|
|
+ meting1 = weerstation1.getMostRecentMeasurement();
|
|
|
+ meting2 = weerstation1.getAllMeasurementsBetween(periods.get(2).getBeginPeriode(), periods.get(2).getEindePeriode());
|
|
|
+
|
|
|
+ //Month
|
|
|
+ month.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur
|
|
|
+ month.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten
|
|
|
+
|
|
|
+ month.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid
|
|
|
+ month.add(new WindDirection(meting1, meting2)); //Windrichting
|
|
|
+ month.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur
|
|
|
+ month.add(new RainRate(meting1, meting2)); //Regenval
|
|
|
+
|
|
|
+ month.add(new Barometer(meting1, meting2)); //Luchtdruk
|
|
|
+ month.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur
|
|
|
+ month.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen
|
|
|
+ month.add(new Zonsterkte(meting1, meting2)); //Zonkracht
|
|
|
+ month.add(new Sun(meting1)); //Sunrise en Sunset
|
|
|
+
|
|
|
+ month.add(new UVLevel(meting1, meting2)); //UV Level
|
|
|
+ month.add(new HeatIndex(meting1, meting2)); //Dauwpunt
|
|
|
+ month.add(new DewPoint(meting1, meting2)); //Dauwpunt
|
|
|
+ month.add(new CloudHeight(meting1, meting2)); //Wolkhoogte
|
|
|
+
|
|
|
+ month.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode
|
|
|
+ month.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode
|
|
|
+
|
|
|
+ periodsScreens.add(month);
|
|
|
+
|
|
|
+ meting1 = weerstation1.getMostRecentMeasurement();
|
|
|
+ meting2 = weerstation1.getAllMeasurementsBetween(periods.get(3).getBeginPeriode(), periods.get(3).getEindePeriode());
|
|
|
+
|
|
|
+ //3 Months
|
|
|
+ month3.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur
|
|
|
+ month3.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten
|
|
|
+
|
|
|
+ month3.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid
|
|
|
+ month3.add(new WindDirection(meting1, meting2)); //Windrichting
|
|
|
+ month3.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur
|
|
|
+ month3.add(new RainRate(meting1, meting2)); //Regenval
|
|
|
+
|
|
|
+ month3.add(new Barometer(meting1, meting2)); //Luchtdruk
|
|
|
+ month3.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur
|
|
|
+ month3.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen
|
|
|
+ month3.add(new Zonsterkte(meting1, meting2)); //Zonkracht
|
|
|
+ month3.add(new Sun(meting1)); //Sunrise en Sunset
|
|
|
+
|
|
|
+ month3.add(new UVLevel(meting1, meting2)); //UV Level
|
|
|
+ month3.add(new HeatIndex(meting1, meting2)); //Dauwpunt
|
|
|
+ month3.add(new DewPoint(meting1, meting2)); //Dauwpunt
|
|
|
+ month3.add(new CloudHeight(meting1, meting2)); //Wolkhoogte
|
|
|
+
|
|
|
+ month3.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode
|
|
|
+ month3.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode
|
|
|
+
|
|
|
+ periodsScreens.add(month3);
|
|
|
+
|
|
|
+ meting1 = weerstation1.getMostRecentMeasurement();
|
|
|
+ meting2 = weerstation1.getAllMeasurementsBetween(periods.get(4).getBeginPeriode(), periods.get(4).getEindePeriode());
|
|
|
+
|
|
|
+ //6 Months
|
|
|
+ month6.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur
|
|
|
+ month6.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten
|
|
|
+
|
|
|
+ month6.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid
|
|
|
+ month6.add(new WindDirection(meting1, meting2)); //Windrichting
|
|
|
+ month6.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur
|
|
|
+ month6.add(new RainRate(meting1, meting2)); //Regenval
|
|
|
+
|
|
|
+ month6.add(new Barometer(meting1, meting2)); //Luchtdruk
|
|
|
+ month6.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur
|
|
|
+ month6.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen
|
|
|
+ month6.add(new Zonsterkte(meting1, meting2)); //Zonkracht
|
|
|
+ month6.add(new Sun(meting1)); //Sunrise en Sunset
|
|
|
+
|
|
|
+ month6.add(new UVLevel(meting1, meting2)); //UV Level
|
|
|
+ month6.add(new HeatIndex(meting1, meting2)); //Dauwpunt
|
|
|
+ month6.add(new DewPoint(meting1, meting2)); //Dauwpunt
|
|
|
+ month6.add(new CloudHeight(meting1, meting2)); //Wolkhoogte
|
|
|
+
|
|
|
+ month6.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode
|
|
|
+ month6.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode
|
|
|
+ month6.add(new LangsteHittegolfPeriode(meting1, meting2)); //Langste Hittegolf Periode
|
|
|
+ month6.add(new LangsteZomerPeriode(meting1, meting2)); //Langste Zomerse Periode
|
|
|
+ month6.add(new LangsteRegenPeriode(meting1, meting2)); //Langste Regen Periode
|
|
|
+ //month6.add(new LangsteTempStijgingPeriode(meting1, meting2)); //Langste temperatuurstijging
|
|
|
+
|
|
|
+ periodsScreens.add(month6);
|
|
|
+
|
|
|
+ meting1 = weerstation1.getMostRecentMeasurement();
|
|
|
+ meting2 = weerstation1.getAllMeasurementsBetween(periods.get(5).getBeginPeriode(), periods.get(5).getEindePeriode());
|
|
|
+
|
|
|
+ //Year
|
|
|
+
|
|
|
+ year.add(new OutsideTemp(meting1, meting2)); //Buitentemperatuur
|
|
|
+ year.add(new OutsideHum(meting1, meting2)); //Luchtv. Buiten
|
|
|
+
|
|
|
+ year.add(new AvgWindSpeed(meting1, meting2)); //Gem. Windsnelheid
|
|
|
+ year.add(new WindDirection(meting1, meting2)); //Windrichting
|
|
|
+ year.add(new WindChill(meting1, meting2)); //Gevoelstemperatuur
|
|
|
+ year.add(new RainRate(meting1, meting2)); //Regenval
|
|
|
+
|
|
|
+ year.add(new Barometer(meting1, meting2)); //Luchtdruk
|
|
|
+ year.add(new InsideTemp(meting1, meting2)); //Binnentemperatuur
|
|
|
+ year.add(new InsideHum(meting1, meting2)); //Luchtv. Binnen
|
|
|
+ year.add(new Zonsterkte(meting1, meting2)); //Zonkracht
|
|
|
+ year.add(new Sun(meting1)); //Sunrise en Sunset
|
|
|
+
|
|
|
+ year.add(new UVLevel(meting1, meting2)); //UV Level
|
|
|
+ year.add(new HeatIndex(meting1, meting2)); //Dauwpunt
|
|
|
+ year.add(new DewPoint(meting1, meting2)); //Dauwpunt
|
|
|
+ year.add(new CloudHeight(meting1, meting2)); //Wolkhoogte
|
|
|
+
|
|
|
+ year.add(new MaximaleRegenPeriode(meting1, meting2)); //Totale regenval in een periode
|
|
|
+ year.add(new GraadDagen(meting1, meting2)); //Aantal graaddagen in een periode
|
|
|
+ year.add(new LangsteHittegolfPeriode(meting1, meting2)); //Langste Hittegolf Periode
|
|
|
+ year.add(new LangsteZomerPeriode(meting1, meting2)); //Langste Zomerse Periode
|
|
|
+ year.add(new LangsteRegenPeriode(meting1, meting2)); //Langste Regen Periode
|
|
|
+ //year.add(new LangsteTempStijgingPeriode(meting1, meting2)); //Langste temperatuurstijging
|
|
|
+
|
|
|
+ periodsScreens.add(year);
|
|
|
+
|
|
|
+ meting1 = weerstation1.getMostRecentMeasurement();
|
|
|
+ meting2 = weerstation1.getAllMeasurementsBetween(periods.get(6).getBeginPeriode(), periods.get(6).getEindePeriode());
|
|
|
+
|
|
|
+ //2 Years
|
|
|
+
|
|
|
+ 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
|
|
|
*
|
|
|
@@ -348,3 +527,5 @@ public class Weerstation {
|
|
|
animator.cancel();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|