Sonar distance reader example code
Fork of HC_SR04_Ultrasonic_Library by
Diff: ultrasonic.h
- Revision:
- 0:6aa04a8c8d4c
- Child:
- 1:114e0698a5d2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ultrasonic.h Sun Nov 23 20:27:09 2014 +0000 @@ -0,0 +1,43 @@ +#ifndef MBED_ULTRASONIC_H +#define MBED_ULTRASONIC_H + +#include "mbed.h" + +class ultrasonic +{ + public: + ultrasonic(PinName trigPin, PinName echoPin, float updateSpeed, float timeout); + ultrasonic(PinName trigPin, PinName echoPin, float updateSpeed, float timeout, void onUpdate(int), void onTrig(void),void onStartTimer(void)/*, Timer *t*/ ); + int getCurrentDistance(void); + void pauseUpdates(void); + void startUpdates(void); + void attachOnUpdate(void method(int)); + void attachOnTrigger(void method(void)); + void attachOnStartTimer(void method(void)); + void changeUpdateSpeed(float updateSpeed); + int isUpdated(void); + float getUpdateSpeed(); + private: + DigitalOut _trig; + InterruptIn _echo; + Timer _t; + Timeout _tout; + int _distance; + float _updateSpeed; + int start; + int end; + volatile int done; + void (*_onUpdateMethod)(int); + void (*_onTriggerMethod)(void); + void (*_onStartTimerMethod)(void); + void _startT(void); + void _updateDist(void); + void _startTrig(void); + float _timeout; + + int d; + /*unsigned int tickcount; + Ticker _ticker; + void ticktock(void);*/ +}; +#endif \ No newline at end of file