This library is derived library of DigitalOut. Cumulative counter that detected the Hi edge and I have the operation cumulative time function .

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?

UserRevisionLine numberNew 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 }