Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 11:5186cc367be0, committed 2017-09-07
- Comitter:
- 4180_1
- Date:
- Thu Sep 07 00:01:45 2017 +0000
- Parent:
- 10:891e10d3b4a6
- Child:
- 12:4f635df5b368
- Commit message:
- ver 1.0
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Tue Aug 22 14:42:10 2017 +0000
+++ b/main.cpp Thu Sep 07 00:01:45 2017 +0000
@@ -1,39 +1,39 @@
#include "mbed.h"
#include "XNucleo53L0A1.h"
#include <stdio.h>
+Serial pc(USBTX,USBRX);
+DigitalOut shdn(p26);
+// This VL53L0X board test application performs a range measurement in polling mode
+// Use 3.3(Vout) for Vin, p28 for SDA, p27 for SCL, P26 for shdn on mbed LPC1768
-/* 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
+//I2C sensor pins
+#define VL53L0_I2C_SDA p28
+#define VL53L0_I2C_SCL p27
static XNucleo53L0A1 *board=NULL;
-
-/*=================================== Main ==================================
-=============================================================================*/
int main()
-{
- int status;
- uint32_t distance;
-
+{
+ int status;
+ uint32_t distance;
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 */
+ shdn = 0; //must reset sensor for an mbed reset to work
+ wait(0.1);
+ shdn = 1;
+ wait(0.1);
+ /* init the 53L0A1 board with default values */
status = board->init_board();
- if (status) {
- printf("Failed to init board!\r\n");
- return 0;
+ while (status) {
+ pc.printf("Failed to init board! \r\n");
+ status = board->init_board();
}
-
- while (1) {
+ //loop taking and printing distance
+ while (1) {
status = board->sensor_centre->get_distance(&distance);
if (status == VL53L0X_ERROR_NONE) {
- printf("Distance : %ld\r\n", distance);
+ pc.printf("D=%ld mm\r\n", distance);
}
- }
+ }
}