![](/media/cache/group/ST_logo_2020_blue_V_cmyk.jpg.50x50_q85.jpg)
Simple application showing central sensor on X_NUCLEO_53L0A1 expansion board being polled in singleshot mode, to display ranging measure on USB serial.
Dependencies: X_NUCLEO_53L0A1 mbed
Fork of HelloWorld_53L0A1 by
X-Nucleo-53L0A1 Hello World Application
This application provides a simple example of usage of X_NUCLEO_53L0A1 library. It provides a measurement of:
- Distance (millimeters) of an object in front of the on-board sensor.
The values are displayed on the Hyperterminal connected through COM port over USB.
main.cpp@8:68bf94ebf252, 2017-08-07 (annotated)
- Committer:
- johnAlexander
- Date:
- Mon Aug 07 14:50:12 2017 +0000
- Revision:
- 8:68bf94ebf252
- Parent:
- 4:c8932fb926d6
- Child:
- 9:9733cfdb0a18
Use X_Nucleo_53L0A1 released with mbed coding style.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
johnAlexander | 0:ce8359133ae6 | 1 | #include "mbed.h" |
johnAlexander | 0:ce8359133ae6 | 2 | #include "x_nucleo_53l0a1.h" |
johnAlexander | 0:ce8359133ae6 | 3 | #include <stdio.h> |
johnAlexander | 0:ce8359133ae6 | 4 | |
johnAlexander | 1:3483e701ec59 | 5 | /* This VL53L0X Expansion board test application performs a range measurement in polling mode |
johnAlexander | 4:c8932fb926d6 | 6 | on the onboard embedded top sensor. */ |
johnAlexander | 0:ce8359133ae6 | 7 | |
johnAlexander | 0:ce8359133ae6 | 8 | #define VL53L0_I2C_SDA D14 |
johnAlexander | 0:ce8359133ae6 | 9 | #define VL53L0_I2C_SCL D15 |
johnAlexander | 0:ce8359133ae6 | 10 | |
johnAlexander | 0:ce8359133ae6 | 11 | static X_NUCLEO_53L0A1 *board=NULL; |
johnAlexander | 1:3483e701ec59 | 12 | |
johnAlexander | 0:ce8359133ae6 | 13 | |
johnAlexander | 0:ce8359133ae6 | 14 | /*=================================== Main ================================== |
johnAlexander | 0:ce8359133ae6 | 15 | =============================================================================*/ |
johnAlexander | 0:ce8359133ae6 | 16 | int main() |
johnAlexander | 0:ce8359133ae6 | 17 | { |
johnAlexander | 4:c8932fb926d6 | 18 | int status; |
johnAlexander | 4:c8932fb926d6 | 19 | uint32_t distance; |
johnAlexander | 3:b3f70617a6b3 | 20 | |
johnAlexander | 8:68bf94ebf252 | 21 | DevI2C *device_i2c = new DevI2C(VL53L0_I2C_SDA, VL53L0_I2C_SCL); |
johnAlexander | 4:c8932fb926d6 | 22 | |
johnAlexander | 4:c8932fb926d6 | 23 | /* creates the 53L0A1 expansion board singleton obj */ |
johnAlexander | 8:68bf94ebf252 | 24 | board = X_NUCLEO_53L0A1::Instance(device_i2c, A2, D8, D2); |
johnAlexander | 3:b3f70617a6b3 | 25 | |
johnAlexander | 4:c8932fb926d6 | 26 | /* init the 53L0A1 expansion board with default values */ |
johnAlexander | 8:68bf94ebf252 | 27 | status = board->InitBoard(); |
johnAlexander | 8:68bf94ebf252 | 28 | if (status) |
johnAlexander | 8:68bf94ebf252 | 29 | { |
johnAlexander | 8:68bf94ebf252 | 30 | printf("Failed to init board!\n\r"); |
johnAlexander | 8:68bf94ebf252 | 31 | return 0; |
johnAlexander | 8:68bf94ebf252 | 32 | } |
johnAlexander | 4:c8932fb926d6 | 33 | |
johnAlexander | 8:68bf94ebf252 | 34 | while (1) |
johnAlexander | 4:c8932fb926d6 | 35 | { |
johnAlexander | 4:c8932fb926d6 | 36 | status = board->sensor_centre->GetDistance(&distance); |
johnAlexander | 4:c8932fb926d6 | 37 | if (status == VL53L0X_ERROR_NONE) |
johnAlexander | 4:c8932fb926d6 | 38 | printf("Distance : %ld\n", distance); |
johnAlexander | 4:c8932fb926d6 | 39 | } |
johnAlexander | 0:ce8359133ae6 | 40 | } |
johnAlexander | 0:ce8359133ae6 | 41 |