Simple sugar dozer emulator in coffee machines.
Dependencies: mbed
EventCounter.cpp@0:23fb6d1ad75c, 2015-01-29 (annotated)
- Committer:
- tbjazic
- Date:
- Thu Jan 29 11:09:25 2015 +0000
- Revision:
- 0:23fb6d1ad75c
Initial commit.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tbjazic | 0:23fb6d1ad75c | 1 | #include "EventCounter.h" |
tbjazic | 0:23fb6d1ad75c | 2 | |
tbjazic | 0:23fb6d1ad75c | 3 | EventCounter::EventCounter(PinName pin, int initialCount) : input(pin) { |
tbjazic | 0:23fb6d1ad75c | 4 | if (initialCount >= 0 && initialCount < 5) |
tbjazic | 0:23fb6d1ad75c | 5 | count = initialCount; |
tbjazic | 0:23fb6d1ad75c | 6 | else |
tbjazic | 0:23fb6d1ad75c | 7 | count = 0; |
tbjazic | 0:23fb6d1ad75c | 8 | input.rise(this, &EventCounter::event); |
tbjazic | 0:23fb6d1ad75c | 9 | debounce.start(); |
tbjazic | 0:23fb6d1ad75c | 10 | } |
tbjazic | 0:23fb6d1ad75c | 11 | |
tbjazic | 0:23fb6d1ad75c | 12 | int EventCounter::getCount() { |
tbjazic | 0:23fb6d1ad75c | 13 | return count; |
tbjazic | 0:23fb6d1ad75c | 14 | } |
tbjazic | 0:23fb6d1ad75c | 15 | |
tbjazic | 0:23fb6d1ad75c | 16 | void EventCounter::reset() { |
tbjazic | 0:23fb6d1ad75c | 17 | count = 0; |
tbjazic | 0:23fb6d1ad75c | 18 | } |
tbjazic | 0:23fb6d1ad75c | 19 | |
tbjazic | 0:23fb6d1ad75c | 20 | void EventCounter::event() { |
tbjazic | 0:23fb6d1ad75c | 21 | if (debounce.read_ms() > 200) { |
tbjazic | 0:23fb6d1ad75c | 22 | ++count; |
tbjazic | 0:23fb6d1ad75c | 23 | count %= 5; |
tbjazic | 0:23fb6d1ad75c | 24 | debounce.reset(); |
tbjazic | 0:23fb6d1ad75c | 25 | } |
tbjazic | 0:23fb6d1ad75c | 26 | } |