| 19 | |
| 20 | |
| 21 | uint8_t MINMAX::add(const float value) |
| 22 | { |
| 23 | uint8_t rv = MINMAX_NO_CHANGE; |
| 24 | _lastValue = value; |
| 25 | if ((_resetCount != 0) && (_resetCount == _count)) |
| 26 | { |
| 27 | reset(); |
| 28 | rv |= MINMAX_RESET_DONE; |
| 29 | } |
| 30 | if ((value < _minimum) || (_count == 0)) |
| 31 | { |
| 32 | _minimum = value; |
| 33 | _lastMin = millis(); |
| 34 | rv |= MINMAX_MIN_CHANGED; |
| 35 | } |
| 36 | if ((value > _maximum) || (_count == 0)) |
| 37 | { |
| 38 | _maximum = value; |
| 39 | _lastMax = millis(); |
| 40 | rv |= MINMAX_MAX_CHANGED; |
| 41 | } |
| 42 | _count++; |
| 43 | if ((rv != MINMAX_NO_CHANGE) && (_callback != NULL)) _callback(); |
| 44 | return rv; |
| 45 | } |
| 46 | |
| 47 | |
| 48 | void MINMAX::reset() |