1 sensor using RTOS Timer, another 2 over RTOS Semaphore

Dependents:   Autonomous_quadcopter

Fork of HCSR04 by Antoniolinux B.

Revision:
13:e9b99635aa2d
Parent:
12:6f6469b2f016
diff -r 6f6469b2f016 -r e9b99635aa2d front_sensor.h
--- a/front_sensor.h	Tue May 15 10:32:08 2018 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-#include "mbed.h"
-#include "rtos.h"
-#include "hardware.h"
-
-
-void front_sensor(void);
-void left_sensor(void);
-void right_sensor(void);
-void back_sensor(void);
-
-void semaphore_thread(void const *name){
-    pc.printf("Starting semaphore thread\n\r");
-    while (true) {
-        _semaphore.wait();
-        //pc.printf("%s\n\r", (const char*)name);
-        
-        if(strstr((const char*)name, "leftSensor") != NULL)
-            left_sensor();    
-        if(strstr((const char*)name, "frontSensor") != NULL)
-            front_sensor();    
-        if(strstr((const char*)name, "rightSensor") != NULL)
-            right_sensor();    
-        if(strstr((const char*)name, "backSensor") != NULL)
-            back_sensor();    
-        
-        
-        Thread::wait(100);
-        _semaphore.release();
-    }
-
-} 
-
-void front_sensor(){
-    DigitalOut trig(p7);
-    DigitalIn echo(p8);
-    
-    Timer timer;
-    //printf("front sensor started \n\r");
-    timer.start();
-    //while(1){
-        trig=1;   //  trigger high
-        //printf("trig\n\r");
-        wait_us(10);
-        //printf("wait\n\r");
-        trig=0;  // trigger low
-        // start pulseIN
-        while(!echo);
-        timer.reset();
-        while(echo);
-        _frontDistance = timer.read_us() / 58;
-        //printf("front distance %d \n\n\r", _frontDistance);
-        
-        //Thread::wait(100);
-    //}
-        
-    
-}
-
-void left_sensor(){
-    DigitalOut trig(p19);
-    DigitalIn echo(p20);
-    
-    Timer timer;
-    //printf("left sensor started \n\r");
-    timer.start();
-    //while(1){
-        trig=1;   //  trigger high
-        //printf("trig\n\r");
-        wait_us(10);
-        //printf("wait\n\r");
-        trig=0;  // trigger low
-        // start pulseIN
-        while(!echo);
-        timer.reset();
-        while(echo);
-        _leftDistance = timer.read_us() / 58;
-        //pc.printf("left distance %d \n\n\r", _leftDistance);
-        
-        //Thread::wait(100);
-    //}
-    
-}
-
-void right_sensor(){
-    DigitalOut trig(p17);
-    DigitalIn echo(p18);
-    
-    Timer timer;
-    //printf("left sensor started \n\r");
-    timer.start();
-    //while(1){
-        trig=1;   //  trigger high
-        //printf("trig\n\r");
-        wait_us(10);
-        //printf("wait\n\r");
-        trig=0;  // trigger low
-        // start pulseIN
-        while(!echo);
-        timer.reset();
-        while(echo);
-        _rightDistance = timer.read_us() / 58;
-        //pc.printf("left distance %d \n\n\r", _leftDistance);
-        
-        //Thread::wait(100);
-    //}
-    
-}
-
-void back_sensor(){
-    DigitalOut trig(p15);
-    DigitalIn echo(p16);
-    
-    Timer timer;
-    //printf("left sensor started \n\r");
-    timer.start();
-    //while(1){
-        trig=1;   //  trigger high
-        //printf("trig\n\r");
-        wait_us(10);
-        //printf("wait\n\r");
-        trig=0;  // trigger low
-        // start pulseIN
-        while(!echo);
-        timer.reset();
-        while(echo);
-        _backDistance = timer.read_us() / 58;
-        //pc.printf("left distance %d \n\n\r", _leftDistance);
-        
-        //Thread::wait(100);
-    //}
-    
-}
\ No newline at end of file