a

Dependencies:   Servo ServoArm mbed

Fork of PES_Official-TestF by zhaw_st16b_pes2_10

Committer:
EpicG10
Date:
Fri May 19 06:40:33 2017 +0000
Revision:
18:a158713a0049
Parent:
17:4e1be70bdedb
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
beacon 17:4e1be70bdedb 1 #include "Ultraschall.h"
beacon 17:4e1be70bdedb 2
beacon 17:4e1be70bdedb 3
beacon 17:4e1be70bdedb 4 Ultraschall::Ultraschall(PinName TrigPin,PinName EchoPin):
beacon 17:4e1be70bdedb 5 trigger(TrigPin), echo(EchoPin)
beacon 17:4e1be70bdedb 6 {
beacon 17:4e1be70bdedb 7 pulsetime.stop();
beacon 17:4e1be70bdedb 8 pulsetime.reset();
beacon 17:4e1be70bdedb 9 echo.rise(this,&Ultraschall::isr_rise);
beacon 17:4e1be70bdedb 10 echo.fall(this,&Ultraschall::isr_fall);
beacon 17:4e1be70bdedb 11 trigger=0;
beacon 17:4e1be70bdedb 12 }
beacon 17:4e1be70bdedb 13
beacon 17:4e1be70bdedb 14 Ultraschall::~Ultraschall()
beacon 17:4e1be70bdedb 15 {
beacon 17:4e1be70bdedb 16 }
beacon 17:4e1be70bdedb 17
beacon 17:4e1be70bdedb 18 void Ultraschall::isr_rise(void)
beacon 17:4e1be70bdedb 19 {
beacon 17:4e1be70bdedb 20 pulsetime.start();
beacon 17:4e1be70bdedb 21 }
beacon 17:4e1be70bdedb 22 void Ultraschall::start(void)
beacon 17:4e1be70bdedb 23 {
beacon 17:4e1be70bdedb 24 trigger=1;
beacon 17:4e1be70bdedb 25 wait_us(10);
beacon 17:4e1be70bdedb 26 trigger=0;
beacon 17:4e1be70bdedb 27 }
beacon 17:4e1be70bdedb 28
beacon 17:4e1be70bdedb 29 void Ultraschall::isr_fall(void)
beacon 17:4e1be70bdedb 30 {
beacon 17:4e1be70bdedb 31 pulsetime.stop();
beacon 17:4e1be70bdedb 32 pulsedur = pulsetime.read_us();
beacon 17:4e1be70bdedb 33 distance= (pulsedur*343)/20000;
beacon 17:4e1be70bdedb 34 pulsetime.reset();
beacon 17:4e1be70bdedb 35 }
beacon 17:4e1be70bdedb 36
beacon 17:4e1be70bdedb 37 void Ultraschall::rise (void (*fptr)(void))
beacon 17:4e1be70bdedb 38 {
beacon 17:4e1be70bdedb 39 echo.rise(fptr);
beacon 17:4e1be70bdedb 40 }
beacon 17:4e1be70bdedb 41 void Ultraschall::fall (void (*fptr)(void))
beacon 17:4e1be70bdedb 42 {
beacon 17:4e1be70bdedb 43 echo.fall(fptr);
beacon 17:4e1be70bdedb 44 }
beacon 17:4e1be70bdedb 45
beacon 17:4e1be70bdedb 46 unsigned int Ultraschall::get_dist_cm()
beacon 17:4e1be70bdedb 47 {
beacon 17:4e1be70bdedb 48 return distance;
beacon 17:4e1be70bdedb 49 }
beacon 17:4e1be70bdedb 50 unsigned int Ultraschall::get_pulse_us()
beacon 17:4e1be70bdedb 51 {
beacon 17:4e1be70bdedb 52 return pulsedur;
beacon 17:4e1be70bdedb 53 }