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:
Wed Feb 04 00:15:01 2015 +0000
Revision:
3:e03cb5ec8912
Parent:
2:3251929c6549
test Doxygen;

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 3:e03cb5ec8912 24 /** My HelloWorld class.
naseba_atsushi 3:e03cb5ec8912 25 * Used for printing "Hello World" on USB serial.
naseba_atsushi 3:e03cb5ec8912 26 */
naseba_atsushi 0:b63c87da380a 27 void LogDigitalOut::RatiosUp() {
naseba_atsushi 0:b63c87da380a 28 if (_pin) {
naseba_atsushi 0:b63c87da380a 29 ratios ++;
naseba_atsushi 0:b63c87da380a 30 }
naseba_atsushi 0:b63c87da380a 31 }
naseba_atsushi 1:23b306c0a0b2 32 void LogDigitalOut::ResetAccumulate() {
naseba_atsushi 1:23b306c0a0b2 33 count = 0;
naseba_atsushi 1:23b306c0a0b2 34 ratios = 0;
naseba_atsushi 1:23b306c0a0b2 35 }
naseba_atsushi 0:b63c87da380a 36 int LogDigitalOut::GetCount() {
naseba_atsushi 0:b63c87da380a 37 return count;
naseba_atsushi 0:b63c87da380a 38 }
naseba_atsushi 0:b63c87da380a 39 int LogDigitalOut::GetRatios() {
naseba_atsushi 0:b63c87da380a 40 return ratios;
naseba_atsushi 0:b63c87da380a 41 }
naseba_atsushi 0:b63c87da380a 42 int LogDigitalOut::Read() {
naseba_atsushi 0:b63c87da380a 43 return _pin;
naseba_atsushi 0:b63c87da380a 44 }
naseba_atsushi 0:b63c87da380a 45 void LogDigitalOut::Write(int volume) {
naseba_atsushi 0:b63c87da380a 46 _pin = volume;
naseba_atsushi 0:b63c87da380a 47 }