Delta for AGV

Dependencies:   mbed HC-SR04 ros_lib_kinetic

Revision:
6:bca0839e8295
Parent:
4:052ac3f5c938
Child:
7:35767da0302c
--- a/main.cpp	Mon Dec 07 10:44:07 2015 +0000
+++ b/main.cpp	Sat Dec 10 08:28:06 2016 +0000
@@ -4,29 +4,28 @@
 
 Serial pc(USBTX, USBRX);
 HCSR04 sensor(p5, p7);
-float sampleTime = 0.1;
+float sampleTime = 0.5;
 PT1 filter(1, 2, sampleTime);
 Ticker ticker;
 float distance;
 float filteredDistance; 
-DigitalOut led1(LED1);
 
 void calc() {
-    led1 = 1;
-    distance = sensor.getDistance_mm();
-    filter.in(distance);
-    filteredDistance = filter.out();
-    pc.printf("%7.1f mm  %7.1f mm  \r", distance, filteredDistance);
-    led1 = 0;
+    sensor.startMeasurement();
 }
 
 int main() {
-    sensor.setRanges(10, 110);
+    sensor.setRanges(2, 400);
     pc.printf("Minimum sensor range = %g cm\n\rMaximum sensor range = %g cm\n\r", sensor.getMinRange(), sensor.getMaxRange());
     pc.printf("Sensor:       Filtered:\n\r");
     ticker.attach(&calc, sampleTime);
-    
-    while(1) {
-        wait_ms(500);
+    while(true) {
+        while(!sensor.isNewDataReady()) {
+        // wait for new data
+        }
+        distance = sensor.getDistance_cm();
+        filter.in(distance);
+        filteredDistance = filter.out();
+        pc.printf("%7.1f cm  %7.1f cm\n\r", distance, filteredDistance);
     }
 }
\ No newline at end of file