An m3pi demo program utilizing a LIDAR sensor.

Dependencies:   X_NUCLEO_53L0A1 m3pi mbed

Files at this revision

API Documentation at this revision

Comitter:
alexsaadfalcon
Date:
Sun Apr 30 23:05:01 2017 +0000
Child:
1:3cb52320663a
Commit message:
First commit

Changed in this revision

X_NUCLEO_53L0A1.lib Show annotated file Show diff for this revision Revisions of this file
m3pi.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/X_NUCLEO_53L0A1.lib	Sun Apr 30 23:05:01 2017 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/teams/ST/code/X_NUCLEO_53L0A1/#8d27ebb4e1eb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m3pi.lib	Sun Apr 30 23:05:01 2017 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/chris/code/m3pi/#4b7d6ea9b35b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Apr 30 23:05:01 2017 +0000
@@ -0,0 +1,54 @@
+#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);
+
+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.printf("YO");
+    
+    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;
+            }
+        }   
+    }   
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Sun Apr 30 23:05:01 2017 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/mbed_official/code/mbed-rtos/#58563e6cba1e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun Apr 30 23:05:01 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/mbed_official/code/mbed/builds/97feb9bacc10
\ No newline at end of file