This is a very simple guide, reviewing the steps required to get Blinky working on an Mbed OS platform.

Dependencies:   mbed Adafruit_GFX

Committer:
ParkChunMyong
Date:
Sat Jun 08 12:00:38 2019 +0000
Revision:
95:250afd53b710
first init

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ParkChunMyong 95:250afd53b710 1 #ifndef MBED_ULTRASONIC_H
ParkChunMyong 95:250afd53b710 2 #define MBED_ULTRASONIC_H
ParkChunMyong 95:250afd53b710 3
ParkChunMyong 95:250afd53b710 4 #include "mbed.h"
ParkChunMyong 95:250afd53b710 5
ParkChunMyong 95:250afd53b710 6 class Ultrasonic
ParkChunMyong 95:250afd53b710 7 {
ParkChunMyong 95:250afd53b710 8 public:
ParkChunMyong 95:250afd53b710 9 /**iniates the class with the specified trigger pin, echo pin, update speed and timeout**/
ParkChunMyong 95:250afd53b710 10 Ultrasonic(PinName trigPin, PinName echoPin, float timeout = 0.1, bool mode = false, float time = 0.1);
ParkChunMyong 95:250afd53b710 11
ParkChunMyong 95:250afd53b710 12 ~Ultrasonic();
ParkChunMyong 95:250afd53b710 13
ParkChunMyong 95:250afd53b710 14 // generate 10 us trig signal
ParkChunMyong 95:250afd53b710 15 void trig(void);
ParkChunMyong 95:250afd53b710 16
ParkChunMyong 95:250afd53b710 17 // return distance in cm and return -1 in case of failure
ParkChunMyong 95:250afd53b710 18 int getDistance(void);
ParkChunMyong 95:250afd53b710 19
ParkChunMyong 95:250afd53b710 20 void calculateDistance(void);
ParkChunMyong 95:250afd53b710 21
ParkChunMyong 95:250afd53b710 22 // return the echo pulse duration in us and return -1 in case of failure
ParkChunMyong 95:250afd53b710 23 int getPulseDuration(void);
ParkChunMyong 95:250afd53b710 24
ParkChunMyong 95:250afd53b710 25 // get a status whether measurement is done or not
ParkChunMyong 95:250afd53b710 26 int getStatus(void);
ParkChunMyong 95:250afd53b710 27
ParkChunMyong 95:250afd53b710 28 // clear the status that represents measurement-done.
ParkChunMyong 95:250afd53b710 29 void clearStatus(void);
ParkChunMyong 95:250afd53b710 30
ParkChunMyong 95:250afd53b710 31 // stop measuring
ParkChunMyong 95:250afd53b710 32 void pauseMeasure(void);
ParkChunMyong 95:250afd53b710 33
ParkChunMyong 95:250afd53b710 34
ParkChunMyong 95:250afd53b710 35 void setMode(bool mode);
ParkChunMyong 95:250afd53b710 36
ParkChunMyong 95:250afd53b710 37 void printDistance(float interval);
ParkChunMyong 95:250afd53b710 38
ParkChunMyong 95:250afd53b710 39
ParkChunMyong 95:250afd53b710 40 private:
ParkChunMyong 95:250afd53b710 41 DigitalOut _trig;
ParkChunMyong 95:250afd53b710 42 InterruptIn _echo;
ParkChunMyong 95:250afd53b710 43 Timer _timer;
ParkChunMyong 95:250afd53b710 44 Timeout _timeout;
ParkChunMyong 95:250afd53b710 45 Ticker _t;
ParkChunMyong 95:250afd53b710 46 float _toVal; // timeout value in sec, or retriig time in sec if repeat == true
ParkChunMyong 95:250afd53b710 47 float _repeatD;
ParkChunMyong 95:250afd53b710 48 bool _repeat;
ParkChunMyong 95:250afd53b710 49 int _distance;
ParkChunMyong 95:250afd53b710 50 int _pulseDuration;
ParkChunMyong 95:250afd53b710 51 int _start;
ParkChunMyong 95:250afd53b710 52 int _end;
ParkChunMyong 95:250afd53b710 53 int _break;
ParkChunMyong 95:250afd53b710 54 void _startT(void);
ParkChunMyong 95:250afd53b710 55 void _endT(void);
ParkChunMyong 95:250afd53b710 56 void _timeout_cb(void);
ParkChunMyong 95:250afd53b710 57 int _done; // end of measure
ParkChunMyong 95:250afd53b710 58 RawSerial _pc;
ParkChunMyong 95:250afd53b710 59 };
ParkChunMyong 95:250afd53b710 60 #endif /* ifndef MBED_ULTRASONIC_H */
ParkChunMyong 95:250afd53b710 61