Interface class for the Max Botix ultrasonic range finder model 1210. It includes input methods for PWM, Analog, and Serial. A PwmIn class was created to allow the PWM input to be read. Now includes automatic range update via interrupts.
PwmIn/PwmIn.h@3:05183e50a923, 2010-08-26 (annotated)
- Committer:
- Blaze513
- Date:
- Thu Aug 26 18:25:19 2010 +0000
- Revision:
- 3:05183e50a923
- Parent:
- 2:997b4057c879
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Blaze513 | 2:997b4057c879 | 1 | //mbed Microcontroller Library |
Blaze513 | 2:997b4057c879 | 2 | //Pulse Width Modulation Input Interface |
Blaze513 | 2:997b4057c879 | 3 | //Copyright 2010 |
Blaze513 | 2:997b4057c879 | 4 | //Thomas Hamilton |
Blaze513 | 2:997b4057c879 | 5 | |
Blaze513 | 0:3d969e0b4ca0 | 6 | #ifndef PwmInLibrary |
Blaze513 | 0:3d969e0b4ca0 | 7 | #define PwmInLibrary |
Blaze513 | 0:3d969e0b4ca0 | 8 | |
Blaze513 | 0:3d969e0b4ca0 | 9 | #include "stdint.h" |
Blaze513 | 0:3d969e0b4ca0 | 10 | #include "mbed.h" |
Blaze513 | 0:3d969e0b4ca0 | 11 | |
Blaze513 | 0:3d969e0b4ca0 | 12 | class PwmIn : private InterruptIn, Timer |
Blaze513 | 0:3d969e0b4ca0 | 13 | { |
Blaze513 | 0:3d969e0b4ca0 | 14 | private: |
Blaze513 | 0:3d969e0b4ca0 | 15 | unsigned int PeriodMeasurement; |
Blaze513 | 0:3d969e0b4ca0 | 16 | unsigned int PulseWidthMeasurement; |
Blaze513 | 0:3d969e0b4ca0 | 17 | |
Blaze513 | 0:3d969e0b4ca0 | 18 | void PulseStart(); |
Blaze513 | 0:3d969e0b4ca0 | 19 | void PulseStop(); |
Blaze513 | 2:997b4057c879 | 20 | |
Blaze513 | 0:3d969e0b4ca0 | 21 | public: |
Blaze513 | 0:3d969e0b4ca0 | 22 | PwmIn(PinName pwi); |
Blaze513 | 0:3d969e0b4ca0 | 23 | float read(); |
Blaze513 | 0:3d969e0b4ca0 | 24 | float period(); |
Blaze513 | 0:3d969e0b4ca0 | 25 | int period_ms(); |
Blaze513 | 0:3d969e0b4ca0 | 26 | int period_us(); |
Blaze513 | 0:3d969e0b4ca0 | 27 | float pulsewidth(); |
Blaze513 | 0:3d969e0b4ca0 | 28 | int pulsewidth_ms(); |
Blaze513 | 0:3d969e0b4ca0 | 29 | int pulsewidth_us(); |
Blaze513 | 0:3d969e0b4ca0 | 30 | }; |
Blaze513 | 0:3d969e0b4ca0 | 31 | |
Blaze513 | 0:3d969e0b4ca0 | 32 | #endif |