1 #pragma once
2 
3 #include <deque>
4 
5 struct _tTrendCalculator
6 {
7 public:
8 	enum _eTendencyType
9 	{
10 		TENDENCY_UNKNOWN = 0,
11 		TENDENCY_STABLE,
12 		TENDENCY_UP,
13 		TENDENCY_DOWN
14 	};
15 	enum _eTrendAverageTimes
16 	{
17 		TAVERAGE_TEMP = 30,
18 		TAVERAGE_HUM = 30,
19 		TAVERAGE_BARO = 30,
20 		TAVERAGE_USAGE = 15,
21 		TAVERAGE_RAIN = 10,
22 	};
23 
24 	_tTrendCalculator();
25 
26 	void Init();
27 	_eTendencyType AddValueAndReturnTendency(const double Value, const _eTrendAverageTimes TendType);
28 	_eTendencyType m_state;
29 private:
30 	double m_lastValue;
31 	time_t m_timeLastAvarage;
32 	int m_totValues;
33 	double m_calcValue;
34 };
35