Used to read incoming PWM signals from RC channels

Dependents:   A-Quad

Committer:
KarimAzzouz
Date:
Tue Aug 27 09:32:34 2013 +0000
Revision:
3:c98b23d53e42
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KarimAzzouz 3:c98b23d53e42 1 #include "RC.h"
KarimAzzouz 3:c98b23d53e42 2
KarimAzzouz 3:c98b23d53e42 3 RC::RC(PinName p) : _k(p)
KarimAzzouz 3:c98b23d53e42 4 {
KarimAzzouz 3:c98b23d53e42 5 _k.mode(PullDown);
KarimAzzouz 3:c98b23d53e42 6 _k.rise(this, &RC::rise);
KarimAzzouz 3:c98b23d53e42 7 _k.fall(this, &RC::fall);
KarimAzzouz 3:c98b23d53e42 8 _value=0;
KarimAzzouz 3:c98b23d53e42 9
KarimAzzouz 3:c98b23d53e42 10 }
KarimAzzouz 3:c98b23d53e42 11
KarimAzzouz 3:c98b23d53e42 12 int RC::read()
KarimAzzouz 3:c98b23d53e42 13 {
KarimAzzouz 3:c98b23d53e42 14 return _value;
KarimAzzouz 3:c98b23d53e42 15 }
KarimAzzouz 3:c98b23d53e42 16
KarimAzzouz 3:c98b23d53e42 17
KarimAzzouz 3:c98b23d53e42 18 void RC::rise()
KarimAzzouz 3:c98b23d53e42 19 {
KarimAzzouz 3:c98b23d53e42 20 t.start();
KarimAzzouz 3:c98b23d53e42 21 }
KarimAzzouz 3:c98b23d53e42 22
KarimAzzouz 3:c98b23d53e42 23 void RC::fall()
KarimAzzouz 3:c98b23d53e42 24 {
KarimAzzouz 3:c98b23d53e42 25 t.stop();
KarimAzzouz 3:c98b23d53e42 26 if(t.read_us()>=1000&&t.read_us()<=2000) _value = t.read_us();
KarimAzzouz 3:c98b23d53e42 27 t.reset();
KarimAzzouz 3:c98b23d53e42 28 }
KarimAzzouz 3:c98b23d53e42 29