Used to read incoming PWM signals from RC channels
RC.cpp@3:c98b23d53e42, 2013-08-27 (annotated)
- Committer:
- KarimAzzouz
- Date:
- Tue Aug 27 09:32:34 2013 +0000
- Revision:
- 3:c98b23d53e42
initial commit
Who changed what in which revision?
User | Revision | Line number | New 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 |