An m3pi demo program for Bluetooth control.

Dependencies:   X_NUCLEO_53L0A1 m3pi mbed

Fork of m3pi_LIDAR by Alexander Saad-Falcon

Revision:
2:2d0d003ca3b8
Parent:
0:b7ef99889b44
Child:
3:d5da5e6bc16f
--- a/main.cpp	Sun Apr 30 23:07:19 2017 +0000
+++ b/main.cpp	Sun Apr 30 23:08:34 2017 +0000
@@ -1,54 +1,35 @@
 #include "mbed.h"
 #include "m3pi.h"
-#include "x_nucleo_53l0a1.h"
-#include <stdio.h>
-
-/* This VL53L0X Expansion board test application performs a range measurement in polling mode
-   on the onboard embedded top sensor. */
-
-#define VL53L0_I2C_SDA   D14 
-#define VL53L0_I2C_SCL   D15 
-
-static X_NUCLEO_53L0A1 *board=NULL;
-
-
-//VIN -- VOUT
-//GND -- GND
-//SDA -- p9
-//SCA -- p10
 
 m3pi m3pi;
-DigitalOut led1(LED1);
-DigitalOut led2(LED2);
+DigitalOut led(LED1);
+Serial bt(p13, p14); //TX, RX
 
 int main() {
-    //LIDAR setup
-    int status;
-    uint32_t distance;
-    DevI2C *device_i2c =new DevI2C(p28, p27);         
-    /* creates the 53L0A1 expansion board singleton obj */
-    board = X_NUCLEO_53L0A1::Instance(device_i2c,p21,p21,p21);
-    /* init the 53L0A1 expansion board with default values */
-    status=board->InitBoard();
-    
-    if(status) { led1 = 1; return 0; }
-    
-    m3pi.locate(0,1);
+    m3pi.locate(0,5);
     m3pi.printf("YO");
     
+    bt.baud(9600); //make sure the baud rate is 9600
+    while (!bt.readable()) { } //wait until the bt is ready
+
     while(1) {
-        status = board->sensor_centre->GetDistance(&distance);
-        if (status == VL53L0X_ERROR_NONE) {
-            m3pi.locate(0,1);
-            m3pi.printf("%u", distance);
-            printf("%u\r\n", distance);
-            if (distance > 50) {
-                m3pi.forward(.1);
-                led2 = 1;
-            } else {
-                m3pi.stop();
-                led2 = 0;
-            }
-        }   
-    }   
+        if (bt.getc()=='F') {
+            m3pi.forward(.25);
+        }
+        if (bt.getc()=='B') {
+            m3pi.backward(.25);
+        }
+        if (bt.getc()=='L') {
+            m3pi.left(.25);
+        }
+        if (bt.getc()=='R') {
+            m3pi.right(.25);
+        }
+        if (bt.getc()=='S') {
+            m3pi.stop();
+        }
+        if (bt.getc()=='X') {
+            //launch
+        }
+    }
 }
\ No newline at end of file