blob: 61f504724c5f2ee3bd8af28bf53752fc280afb8d [file] [log] [blame]
Brian Silverman2f594502013-10-16 10:29:47 -07001#include "aos/common/util/wrapping_counter.h"
2
3namespace aos {
4namespace util {
5
6WrappingCounter::WrappingCounter(int32_t initial_count)
7 : count_(initial_count), last_count_(0) {}
8
9int32_t WrappingCounter::Update(uint8_t current) {
10 if (last_count_ > current) {
11 count_ += 0x100;
12 }
13 count_ = (count_ & 0xffffff00) | current;
14 last_count_ = current;
15 return count_;
16}
17
18} // namespace util
19} // namespace aos