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