Skip to content
Snippets Groups Projects
Commit f215a4de authored by Dennis Eisold's avatar Dennis Eisold
Browse files

Fixed Tendenzen

parent 0117aadc
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,7 @@ namespace Wetterstation
Sensor node1In = new Sensor();
Sensor node1Out = new Sensor();
Sensor owm = new Sensor();
int tendenzCount = 10;
public Hintergrund()
{
......@@ -245,7 +246,7 @@ namespace Wetterstation
lbTempOutMin.Invoke(new Action(() => { lbTempOutMin.Text = weatherData.tempMin + " °C"; }));
lbTempOutMax.Invoke(new Action(() => { lbTempOutMax.Text = weatherData.tempMax + " °C"; }));
owm.Temperatures = weatherData.temp;
if (owm._temperatures.Count < 10) pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = false; }));
if (owm._temperatures.Count < tendenzCount && owm.tempTendenz() != -1) pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = false; }));
else pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = true; }));
pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), owm.tempTendenz()); }));
}
......@@ -253,7 +254,7 @@ namespace Wetterstation
{
lbLuftfeuchtAussen.Invoke(new Action(() => { lbLuftfeuchtAussen.Text = weatherData.humidity + " %"; }));
owm.Humiditys = (double)weatherData.humidity;
if (owm._humiditys.Count < 10) lbTendenzHumidityOut.Invoke(new Action(() => { lbTendenzHumidityOut.Visible = false; }));
if (owm._humiditys.Count < 10 && owm.humidityTendenz() != -1) lbTendenzHumidityOut.Invoke(new Action(() => { lbTendenzHumidityOut.Visible = false; }));
else lbTendenzHumidityOut.Invoke(new Action(() => { lbTendenzHumidityOut.Visible = true; }));
lbTendenzHumidityOut.Invoke(new Action(() => { lbTendenzHumidityOut.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), owm.humidityTendenz()); }));
}
......@@ -270,7 +271,7 @@ namespace Wetterstation
{
lbLuftdruck.Invoke(new Action(() => { lbLuftdruck.Text = weatherData.pressure + " mbar"; }));
owm.Pressures = (double)weatherData.pressure;
if (owm._pressures.Count < 10) pbTendenzPressure.Invoke(new Action(() => { pbTendenzPressure.Visible = false; }));
if (owm._pressures.Count < tendenzCount && owm.pressureTendenz() != -1) pbTendenzPressure.Invoke(new Action(() => { pbTendenzPressure.Visible = false; }));
else pbTendenzPressure.Invoke(new Action(() => { pbTendenzPressure.Visible = true; }));
pbTendenzPressure.Invoke(new Action(() => { pbTendenzPressure.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), owm.pressureTendenz()); }));
}
......@@ -366,7 +367,7 @@ namespace Wetterstation
lbTempInMin.Invoke(new Action(() => { lbTempInMin.Text = node1In.tempMin + " °C"; }));
lbTempInMax.Invoke(new Action(() => { lbTempInMax.Text = node1In.tempMax + " °C"; }));
node1In.Temperatures = (double)weatherData[0]["temperature"];
if (node1In._temperatures.Count < 10) pbTendenzTempIn.Invoke(new Action(() => { pbTendenzTempIn.Visible = false; }));
if (node1In._temperatures.Count < tendenzCount && node1In.tempTendenz() != -1) pbTendenzTempIn.Invoke(new Action(() => { pbTendenzTempIn.Visible = false; }));
else pbTendenzTempIn.Invoke(new Action(() => { pbTendenzTempIn.Visible = true; }));
pbTendenzTempIn.Invoke(new Action(() => { pbTendenzTempIn.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), node1In.tempTendenz()); }));
}
......@@ -375,7 +376,7 @@ namespace Wetterstation
node1In.humidity = true;
lbLuftFeuchtInnen.Invoke(new Action(() => { lbLuftFeuchtInnen.Text = weatherData[0]["humidity"] + " %"; }));
node1Out.Humiditys = (double)weatherData[0]["humidity"];
if (node1In._humiditys.Count < 10) lbTendenzHumidityIn.Invoke(new Action(() => { lbTendenzHumidityIn.Visible = false; }));
if (node1In._humiditys.Count < tendenzCount && node1In.humidityTendenz() != -1) lbTendenzHumidityIn.Invoke(new Action(() => { lbTendenzHumidityIn.Visible = false; }));
else lbTendenzHumidityIn.Invoke(new Action(() => { lbTendenzHumidityIn.Visible = true; }));
lbTendenzHumidityIn.Invoke(new Action(() => { lbTendenzHumidityIn.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), node1In.humidityTendenz()); }));
}
......@@ -384,7 +385,7 @@ namespace Wetterstation
node1In.pressure = true;
lbLuftdruck.Invoke(new Action(() => { lbLuftdruck.Text = weatherData[0]["pressure"] + " hPa"; }));
node1In.Pressures = (double)weatherData[0]["pressure"];
if (node1In._pressures.Count < 10) pbTendenzPressure.Invoke(new Action(() => { pbTendenzPressure.Visible = false; }));
if (node1In._pressures.Count < tendenzCount && node1In.pressureTendenz() != -1) pbTendenzPressure.Invoke(new Action(() => { pbTendenzPressure.Visible = false; }));
else pbTendenzPressure.Invoke(new Action(() => { pbTendenzPressure.Visible = true; }));
pbTendenzPressure.Invoke(new Action(() => { pbTendenzPressure.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), node1In.pressureTendenz()); }));
}
......@@ -399,7 +400,7 @@ namespace Wetterstation
lbTempOutMin.Invoke(new Action(() => { lbTempOutMin.Text = node1Out.tempMin + " °C"; }));
lbTempOutMax.Invoke(new Action(() => { lbTempOutMax.Text = node1Out.tempMax + " °C"; }));
node1Out.Temperatures = (double)weatherData[0]["temperature"];
if (node1Out._temperatures.Count < 10) pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = false; }));
if (node1Out._temperatures.Count < tendenzCount && node1Out.tempTendenz() != -1) pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = false; }));
else pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Visible = true; }));
pbTendenzTempOut.Invoke(new Action(() => { pbTendenzTempOut.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), node1Out.tempTendenz()); }));
}
......@@ -408,7 +409,7 @@ namespace Wetterstation
node1Out.humidity = true;
lbLuftfeuchtAussen.Invoke(new Action(() => { lbLuftfeuchtAussen.Text = weatherData[0]["humidity"] + " %"; }));
node1Out.Humiditys = (double)weatherData[0]["humidity"];
if (node1Out._humiditys.Count < 10) lbTendenzHumidityOut.Invoke(new Action(() => { lbTendenzHumidityOut.Visible = false; }));
if (node1Out._humiditys.Count < tendenzCount && node1Out.humidityTendenz() != -1) lbTendenzHumidityOut.Invoke(new Action(() => { lbTendenzHumidityOut.Visible = false; }));
else lbTendenzHumidityOut.Invoke(new Action(() => { lbTendenzHumidityOut.Visible = true; }));
lbTendenzHumidityOut.Invoke(new Action(() => { lbTendenzHumidityOut.Image = RotateImage((Bitmap)global::Wetterstation.Properties.Resources.ResourceManager.GetObject("Tendenz"), node1Out.humidityTendenz()); }));
}
......
......@@ -24,7 +24,7 @@ namespace Wetterstation
{
set
{
if (_temperatures.Count == 10)
if (_temperatures.Count == 3)
{
_temperatures.RemoveAt(0);
}
......@@ -35,7 +35,7 @@ namespace Wetterstation
{
set
{
if (_pressures.Count == 10)
if (_pressures.Count == 3)
{
_pressures.RemoveAt(0);
}
......@@ -46,7 +46,7 @@ namespace Wetterstation
{
set
{
if (_humiditys.Count == 10)
if (_humiditys.Count == 3)
{
_humiditys.RemoveAt(0);
}
......@@ -57,15 +57,22 @@ namespace Wetterstation
{
int up = 0;
int down = 0;
int same = 0;
double oldTemp = 0;
foreach (double temp in _temperatures)
{
Console.WriteLine("--> tempTendenz " + oldTemp + " / " + temp);
if (temp > oldTemp)
{
up++;
oldTemp = temp;
}
else if (temp == oldTemp)
{
same++;
oldTemp = temp;
}
else
{
down++;
......@@ -73,22 +80,30 @@ namespace Wetterstation
}
}
if (up > down) return 180;
else return 0;
if (up > down && up > (same / 2)) return 180;
else if (down > up && down > (same / 2)) return 0;
else return -1;
}
public float pressureTendenz()
{
int up = 0;
int down = 0;
int same = 0;
double oldPressure = 0;
foreach (double pressure in _pressures)
{
Console.WriteLine("--> pressureTendenz " + oldPressure + " / " + pressure);
if (pressure > oldPressure)
{
up++;
oldPressure = pressure;
}
else if (pressure == oldPressure)
{
same++;
oldPressure = pressure;
}
else
{
down++;
......@@ -96,22 +111,30 @@ namespace Wetterstation
}
}
if (up > down) return 180;
else return 0;
if (up > down && up > (same / 2)) return 180;
else if (down > up && down > (same / 2)) return 0;
else return -1;
}
public float humidityTendenz()
{
int up = 0;
int down = 0;
int same = 0;
double oldHumidity = 0;
foreach (double humidity in _humiditys)
{
Console.WriteLine("--> humidityTendenz " + oldHumidity + " / " + humidity);
if (humidity > oldHumidity)
{
up++;
oldHumidity = humidity;
}
else if( humidity == oldHumidity)
{
same++;
oldHumidity = humidity;
}
else
{
down++;
......@@ -119,8 +142,9 @@ namespace Wetterstation
}
}
if (up > down) return 180;
else return 0;
if (up > down && up > (same / 2)) return 180;
else if (down > up && down > (same / 2)) return 0;
else return -1;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment