BMS Master HW test - 20/21

Dependencies:   mbed

Committer:
minamax
Date:
Sun Jun 27 10:07:04 2021 +0000
Revision:
1:26659a89d49e
Parent:
0:4fedfbc3c6b8
Done;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
minamax 0:4fedfbc3c6b8 1 #ifndef MBED_PWMIN_H
minamax 0:4fedfbc3c6b8 2 #define MBED_PWMIN_H
minamax 0:4fedfbc3c6b8 3
minamax 0:4fedfbc3c6b8 4 #include "mbed.h"
minamax 0:4fedfbc3c6b8 5
minamax 0:4fedfbc3c6b8 6 /** PwmIn class to read PWM inputs
minamax 0:4fedfbc3c6b8 7 *
minamax 0:4fedfbc3c6b8 8 * Uses InterruptIn to measure the changes on the input
minamax 0:4fedfbc3c6b8 9 * and record the time they occur
minamax 0:4fedfbc3c6b8 10 *
minamax 0:4fedfbc3c6b8 11 * @note uses InterruptIn, so not available on p19/p20
minamax 0:4fedfbc3c6b8 12 */
minamax 0:4fedfbc3c6b8 13 class PwmIn {
minamax 0:4fedfbc3c6b8 14 public:
minamax 0:4fedfbc3c6b8 15 /** Create a PwmIn
minamax 0:4fedfbc3c6b8 16 *
minamax 0:4fedfbc3c6b8 17 * @param p The pwm input pin (must support InterruptIn)
minamax 0:4fedfbc3c6b8 18 */
minamax 0:4fedfbc3c6b8 19 PwmIn(PinName p);
minamax 0:4fedfbc3c6b8 20
minamax 0:4fedfbc3c6b8 21 /** Read the current period
minamax 0:4fedfbc3c6b8 22 *
minamax 0:4fedfbc3c6b8 23 * @returns the period in seconds
minamax 0:4fedfbc3c6b8 24 */
minamax 0:4fedfbc3c6b8 25 float period();
minamax 0:4fedfbc3c6b8 26
minamax 0:4fedfbc3c6b8 27 /** Read the current pulsewidth
minamax 0:4fedfbc3c6b8 28 *
minamax 0:4fedfbc3c6b8 29 * @returns the pulsewidth in seconds
minamax 0:4fedfbc3c6b8 30 */
minamax 0:4fedfbc3c6b8 31 float pulsewidth();
minamax 0:4fedfbc3c6b8 32
minamax 0:4fedfbc3c6b8 33 /** Read the current dutycycle
minamax 0:4fedfbc3c6b8 34 *
minamax 0:4fedfbc3c6b8 35 * @returns the dutycycle as a percentage, represented between 0.0-1.0
minamax 0:4fedfbc3c6b8 36 */
minamax 0:4fedfbc3c6b8 37 float dutycycle();
minamax 0:4fedfbc3c6b8 38
minamax 0:4fedfbc3c6b8 39 protected:
minamax 0:4fedfbc3c6b8 40 void rise();
minamax 0:4fedfbc3c6b8 41 void fall();
minamax 0:4fedfbc3c6b8 42
minamax 0:4fedfbc3c6b8 43 InterruptIn _p;
minamax 0:4fedfbc3c6b8 44 Timer _t;
minamax 0:4fedfbc3c6b8 45 float _pulsewidth, _period;
minamax 0:4fedfbc3c6b8 46 };
minamax 0:4fedfbc3c6b8 47
minamax 0:4fedfbc3c6b8 48 #endif