k

Dependencies:   Servo ServoArm mbed

Committer:
beacon
Date:
Mon May 22 11:24:46 2017 +0000
Revision:
0:15a8480061e8
o

Who changed what in which revision?

UserRevisionLine numberNew contents of line
beacon 0:15a8480061e8 1 #ifndef ULTRASCHALL_H
beacon 0:15a8480061e8 2 #define ULTRASCHALL_H
beacon 0:15a8480061e8 3
beacon 0:15a8480061e8 4 #include "mbed.h"
beacon 0:15a8480061e8 5
beacon 0:15a8480061e8 6 /** Ultraschall Class(es)
beacon 0:15a8480061e8 7 */
beacon 0:15a8480061e8 8
beacon 0:15a8480061e8 9 class Ultraschall
beacon 0:15a8480061e8 10 {
beacon 0:15a8480061e8 11 public:
beacon 0:15a8480061e8 12 /** Create a Ultraschall object connected to the specified pin
beacon 0:15a8480061e8 13 * @param pin i/o pin to connect to
beacon 0:15a8480061e8 14 */
beacon 0:15a8480061e8 15 Ultraschall();
beacon 0:15a8480061e8 16 Ultraschall(PinName TrigPin,PinName EchoPin);
beacon 0:15a8480061e8 17 ~Ultraschall();
beacon 0:15a8480061e8 18
beacon 0:15a8480061e8 19 /** Return the distance from obstacle in cm
beacon 0:15a8480061e8 20 * @param distance in cms and returns -1, in case of failure
beacon 0:15a8480061e8 21 */
beacon 0:15a8480061e8 22 unsigned int get_dist_cm(void);
beacon 0:15a8480061e8 23 /** Return the pulse duration equal to sonic waves travelling to obstacle and back to receiver.
beacon 0:15a8480061e8 24 * @param pulse duration in microseconds.
beacon 0:15a8480061e8 25 */
beacon 0:15a8480061e8 26 unsigned int get_pulse_us(void);
beacon 0:15a8480061e8 27 /** Generates the trigger pulse of 10us on the trigger PIN.
beacon 0:15a8480061e8 28 */
beacon 0:15a8480061e8 29 void start(void);
beacon 0:15a8480061e8 30 void isr_rise(void);
beacon 0:15a8480061e8 31 void isr_fall(void);
beacon 0:15a8480061e8 32 void fall (void (*fptr)(void));
beacon 0:15a8480061e8 33 void rise (void (*fptr)(void));
beacon 0:15a8480061e8 34
beacon 0:15a8480061e8 35
beacon 0:15a8480061e8 36
beacon 0:15a8480061e8 37 private:
beacon 0:15a8480061e8 38
beacon 0:15a8480061e8 39 Timer pulsetime;
beacon 0:15a8480061e8 40 DigitalOut trigger;
beacon 0:15a8480061e8 41 InterruptIn echo;
beacon 0:15a8480061e8 42 unsigned int pulsedur;
beacon 0:15a8480061e8 43 unsigned int distance;
beacon 0:15a8480061e8 44 };
beacon 0:15a8480061e8 45
beacon 0:15a8480061e8 46 #endif
beacon 0:15a8480061e8 47