Mirjana Radosavljevic
/
BMS_Master-Test
BMS Master HW test - 20/21
PwmIn.cpp@1:26659a89d49e, 2021-06-27 (annotated)
- Committer:
- minamax
- Date:
- Sun Jun 27 10:07:04 2021 +0000
- Revision:
- 1:26659a89d49e
- Parent:
- 0:4fedfbc3c6b8
Done;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
minamax | 0:4fedfbc3c6b8 | 1 | #include "PwmIn.h" |
minamax | 0:4fedfbc3c6b8 | 2 | |
minamax | 0:4fedfbc3c6b8 | 3 | PwmIn::PwmIn(PinName p) : _p(p) { |
minamax | 0:4fedfbc3c6b8 | 4 | _p.rise(this, &PwmIn::rise); |
minamax | 0:4fedfbc3c6b8 | 5 | _p.fall(this, &PwmIn::fall); |
minamax | 0:4fedfbc3c6b8 | 6 | _period = 0.0; |
minamax | 0:4fedfbc3c6b8 | 7 | _pulsewidth = 0.0; |
minamax | 0:4fedfbc3c6b8 | 8 | _t.start(); |
minamax | 0:4fedfbc3c6b8 | 9 | } |
minamax | 0:4fedfbc3c6b8 | 10 | |
minamax | 0:4fedfbc3c6b8 | 11 | float PwmIn::period() { |
minamax | 0:4fedfbc3c6b8 | 12 | return _period; |
minamax | 0:4fedfbc3c6b8 | 13 | } |
minamax | 0:4fedfbc3c6b8 | 14 | |
minamax | 0:4fedfbc3c6b8 | 15 | float PwmIn::pulsewidth() { |
minamax | 0:4fedfbc3c6b8 | 16 | return _pulsewidth; |
minamax | 0:4fedfbc3c6b8 | 17 | } |
minamax | 0:4fedfbc3c6b8 | 18 | |
minamax | 0:4fedfbc3c6b8 | 19 | float PwmIn::dutycycle() { |
minamax | 0:4fedfbc3c6b8 | 20 | return _pulsewidth / _period; |
minamax | 0:4fedfbc3c6b8 | 21 | } |
minamax | 0:4fedfbc3c6b8 | 22 | |
minamax | 0:4fedfbc3c6b8 | 23 | void PwmIn::rise() { |
minamax | 0:4fedfbc3c6b8 | 24 | _period = _t.read(); |
minamax | 0:4fedfbc3c6b8 | 25 | _t.reset(); |
minamax | 0:4fedfbc3c6b8 | 26 | } |
minamax | 0:4fedfbc3c6b8 | 27 | |
minamax | 0:4fedfbc3c6b8 | 28 | void PwmIn::fall() { |
minamax | 0:4fedfbc3c6b8 | 29 | _pulsewidth = _t.read(); |
minamax | 0:4fedfbc3c6b8 | 30 | } |