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
1 merge request!43Fixed Tendenzen
......@@ -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