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.cpp
- Committer:
- Blaze513
- Date:
- 2010-08-28
- Revision:
- 4:a615b75d4126
- Parent:
- 3:05183e50a923
File content as of revision 4:a615b75d4126:
//mbed Microcontroller Library //Pulse Width Modulation Input Interface //Copyright 2010 //Thomas Hamilton #include "PwmIn.h" PwmIn::PwmIn(PinName pwi) : InterruptIn(pwi), PeriodMeasurement(0), PulseWidthMeasurement(1) { mode(PullDown); rise(this, &PwmIn::PulseStart); fall(this, &PwmIn::PulseStop); start(); } float PwmIn::read() { return (float)PulseWidthMeasurement / PeriodMeasurement; } float PwmIn::period() { return (float)PeriodMeasurement / 1000000; } int PwmIn::period_ms() { return PeriodMeasurement / 1000; } int PwmIn::period_us() { return PeriodMeasurement; } float PwmIn::pulsewidth() { return (float)PulseWidthMeasurement / 1000000; } int PwmIn::pulsewidth_ms() { return PulseWidthMeasurement / 1000; } int PwmIn::pulsewidth_us() { return PulseWidthMeasurement; } void PwmIn::PulseStart() { PeriodMeasurement = read_us(); reset(); } void PwmIn::PulseStop() { PulseWidthMeasurement = read_us(); }