Dependencies:   X_NUCLEO_53L0A1 mbed

Fork of HelloWorld_53L0A1 by ST

Files at this revision

API Documentation at this revision

Comitter:
kenken0721
Date:
Mon Mar 26 08:08:10 2018 +0000
Parent:
12:e9dedf2d2560
Commit message:
?

Changed in this revision

X_NUCLEO_53L0A1.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
diff -r e9dedf2d2560 -r d55d8159dd3c X_NUCLEO_53L0A1.lib
--- a/X_NUCLEO_53L0A1.lib	Mon Dec 18 09:56:04 2017 +0000
+++ b/X_NUCLEO_53L0A1.lib	Mon Mar 26 08:08:10 2018 +0000
@@ -1,1 +1,1 @@
-http://os.mbed.com/teams/ST/code/X_NUCLEO_53L0A1/#99c367e8a402
+https://os.mbed.com/users/kenken0721/code/X_NUCLEO_53L0A1/#fe8a6715a2da
diff -r e9dedf2d2560 -r d55d8159dd3c main.cpp
--- a/main.cpp	Mon Dec 18 09:56:04 2017 +0000
+++ b/main.cpp	Mon Mar 26 08:08:10 2018 +0000
@@ -2,38 +2,50 @@
 #include "XNucleo53L0A1.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 
+#define VL53L0_I2C_SDA   D4
+#define VL53L0_I2C_SCL   D5
 
 static XNucleo53L0A1 *board=NULL;
+DigitalOut dout(D8);
+DigitalOut Led(D13);
+int count = 0;
 
 
-/*=================================== Main ==================================
-=============================================================================*/
-int main()
-{   
-   int status;
-   uint32_t distance;
+int main(){   
+    int status;
+    uint32_t distance = 0;
 
     DevI2C *device_i2c = new DevI2C(VL53L0_I2C_SDA, VL53L0_I2C_SCL);
     
-    /* creates the 53L0A1 expansion board singleton obj */
     board = XNucleo53L0A1::instance(device_i2c, A2, D8, D2);
-
-    /* init the 53L0A1 expansion board with default values */
     status = board->init_board();
     if (status) {
-        printf("Failed to init board!\r\n");
         return 0;
     }
-
-   while (1) {
+    dout = 0.0;
+    Led = 0.0;
+    while (1) {
         status = board->sensor_centre->get_distance(&distance);
         if (status == VL53L0X_ERROR_NONE) {
-           printf("Distance : %ld\r\n", distance);
+           if(distance <= 100){
+                count++;
+            }else{
+                count--;
+            }
+        }else{
+            count--;
         }
-   }
+        if(count >= 20){
+            count = 20;
+        }else if(count <= -10){
+            count = -10; 
+        }
+        if(count >= 10){
+            dout = 1.0;
+            Led = 1.0;
+        }else if(count <= 0){
+            dout = 0.0;
+            Led = 0.0;
+        }
+    }
 }