Bayley Wang
/
foc-ed_in_the_bot_compact
robot
PwmIn/PwmIn.h@92:a9dac72d8cac, 2017-04-06 (annotated)
- Committer:
- bwang
- Date:
- Thu Apr 06 17:33:47 2017 +0000
- Revision:
- 92:a9dac72d8cac
- Parent:
- 78:b8df106126a7
- Child:
- 151:5bbb15351798
--PwmIn now checks lower bounds for sanity and fall without rise; --switched to edge aligned pwm to work around prius module propagation delays
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 18:3863ca45cf26 | 1 | #ifndef __PWMIN_H |
bwang | 18:3863ca45cf26 | 2 | #define __PWMIN_H |
bwang | 16:f283d6032fe5 | 3 | |
dicarloj | 13:41d102a53caf | 4 | #include "mbed.h" |
dicarloj | 13:41d102a53caf | 5 | |
bwang | 16:f283d6032fe5 | 6 | class PwmIn { |
bwang | 16:f283d6032fe5 | 7 | public: |
bwang | 92:a9dac72d8cac | 8 | PwmIn(PinName pin, int usec_min, int usec_max, int usec_crazy_low, int usec_crazy_hi); |
dicarloj | 13:41d102a53caf | 9 | bool get_enabled(); |
dicarloj | 13:41d102a53caf | 10 | float get_throttle(); |
bwang | 75:591556ce033d | 11 | public: |
bwang | 75:591556ce033d | 12 | void block() {blocked = true;} |
bwang | 75:591556ce033d | 13 | int state() {return dig_in->read();} |
bwang | 75:591556ce033d | 14 | int get_usecs() {return usecs;} |
bwang | 75:591556ce033d | 15 | private: |
bwang | 75:591556ce033d | 16 | void handle_rise(); |
bwang | 75:591556ce033d | 17 | void handle_fall(); |
bwang | 16:f283d6032fe5 | 18 | private: |
dicarloj | 13:41d102a53caf | 19 | InterruptIn* int_in; |
dicarloj | 13:41d102a53caf | 20 | DigitalIn* dig_in; |
dicarloj | 13:41d102a53caf | 21 | Timer timer; |
bwang | 92:a9dac72d8cac | 22 | int usec_min, usec_max, usec_crazy_low, usec_crazy_hi; |
bwang | 75:591556ce033d | 23 | private: |
dicarloj | 13:41d102a53caf | 24 | bool enabled; |
bwang | 75:591556ce033d | 25 | bool blocked; |
bwang | 92:a9dac72d8cac | 26 | bool risen; |
dicarloj | 13:41d102a53caf | 27 | int usecs; |
dicarloj | 13:41d102a53caf | 28 | }; |
dicarloj | 13:41d102a53caf | 29 | #endif |