This library is derived library of DigitalOut. Cumulative counter that detected the Hi edge and I have the operation cumulative time function .
LogDigitalOut.cpp@2:3251929c6549, 2015-02-03 (annotated)
- Committer:
- naseba_atsushi
- Date:
- Tue Feb 03 23:24:46 2015 +0000
- Revision:
- 2:3251929c6549
- Parent:
- 1:23b306c0a0b2
- Child:
- 3:e03cb5ec8912
comment up
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
naseba_atsushi | 0:b63c87da380a | 1 | #include "LogDigitalOut.h" |
naseba_atsushi | 0:b63c87da380a | 2 | #include "mbed.h" |
naseba_atsushi | 0:b63c87da380a | 3 | |
naseba_atsushi | 2:3251929c6549 | 4 | |
naseba_atsushi | 0:b63c87da380a | 5 | LogDigitalOut::LogDigitalOut(PinName pin) : _pin(pin) { |
naseba_atsushi | 0:b63c87da380a | 6 | _pin = 0; |
naseba_atsushi | 0:b63c87da380a | 7 | } |
naseba_atsushi | 2:3251929c6549 | 8 | /************************************************************* |
naseba_atsushi | 2:3251929c6549 | 9 | * @fn void LogDigitalOut::CountUp() |
naseba_atsushi | 2:3251929c6549 | 10 | * @breaf 動作回数カウントアップ |
naseba_atsushi | 2:3251929c6549 | 11 | * @param None |
naseba_atsushi | 2:3251929c6549 | 12 | * @return None |
naseba_atsushi | 2:3251929c6549 | 13 | * @sa None |
naseba_atsushi | 2:3251929c6549 | 14 | * @detail off->onを検出し、カウントアップする |
naseba_atsushi | 2:3251929c6549 | 15 | ************************************************************/ |
naseba_atsushi | 0:b63c87da380a | 16 | void LogDigitalOut::CountUp() { |
naseba_atsushi | 0:b63c87da380a | 17 | if (buffer==0) { |
naseba_atsushi | 0:b63c87da380a | 18 | if (_pin) { |
naseba_atsushi | 0:b63c87da380a | 19 | count ++; |
naseba_atsushi | 0:b63c87da380a | 20 | } |
naseba_atsushi | 0:b63c87da380a | 21 | } |
naseba_atsushi | 0:b63c87da380a | 22 | buffer = _pin; |
naseba_atsushi | 0:b63c87da380a | 23 | } |
naseba_atsushi | 0:b63c87da380a | 24 | void LogDigitalOut::RatiosUp() { |
naseba_atsushi | 0:b63c87da380a | 25 | if (_pin) { |
naseba_atsushi | 0:b63c87da380a | 26 | ratios ++; |
naseba_atsushi | 0:b63c87da380a | 27 | } |
naseba_atsushi | 0:b63c87da380a | 28 | } |
naseba_atsushi | 1:23b306c0a0b2 | 29 | void LogDigitalOut::ResetAccumulate() { |
naseba_atsushi | 1:23b306c0a0b2 | 30 | count = 0; |
naseba_atsushi | 1:23b306c0a0b2 | 31 | ratios = 0; |
naseba_atsushi | 1:23b306c0a0b2 | 32 | } |
naseba_atsushi | 0:b63c87da380a | 33 | int LogDigitalOut::GetCount() { |
naseba_atsushi | 0:b63c87da380a | 34 | return count; |
naseba_atsushi | 0:b63c87da380a | 35 | } |
naseba_atsushi | 0:b63c87da380a | 36 | int LogDigitalOut::GetRatios() { |
naseba_atsushi | 0:b63c87da380a | 37 | return ratios; |
naseba_atsushi | 0:b63c87da380a | 38 | } |
naseba_atsushi | 0:b63c87da380a | 39 | int LogDigitalOut::Read() { |
naseba_atsushi | 0:b63c87da380a | 40 | return _pin; |
naseba_atsushi | 0:b63c87da380a | 41 | } |
naseba_atsushi | 0:b63c87da380a | 42 | void LogDigitalOut::Write(int volume) { |
naseba_atsushi | 0:b63c87da380a | 43 | _pin = volume; |
naseba_atsushi | 0:b63c87da380a | 44 | } |