This is a library that makes VL53L0X easy to handle.
# Example
include the mbed library with this snippet
#include "mbed.h" #include "TI_VL53L0X.h" DigitalOut led1(LED1); DigitalIn button(p11); TI_VL53L0X vl53l0x; int main() { led1 = 0; vl53l0x.setup(); vl53l0x.calibration(); while (true) { if (led1) { int averageRange = vl53l0x.getMeasurement(); if (9999 != averageRange) { printf("VL53L0X measurement average %d\n", averageRange); if (averageRange > 300) { led1 = 0; } else { led1 = 1; } } } if (button) { printf("Button Pressed\n\r"); wait(0.7); led1 = !led1; if (led1) { vl53l0x.startMeasurement(); } else { vl53l0x.stopMeasurement(); } } } }
TI_VL53L0X.h
- Committer:
- tichise
- Date:
- 2018-06-05
- Revision:
- 0:9d485cd4147c
File content as of revision 0:9d485cd4147c:
#ifndef MBED_TI_VL53L0X_H #define MBED_TI_VL53L0X_H #include "mbed.h" #include "vl53l0x_api.h" #include "vl53l0x_i2c_platform.h" #include "vl53l0x_platform.h" /** * LPC1768用 */ class TI_VL53L0X { public: TI_VL53L0X(); void printPalState(VL53L0X_State state); void printPalError(VL53L0X_Error status); void printRangeStatus( VL53L0X_RangingMeasurementData_t *pRangingMeasurementData); VL53L0X_Error waitMeasurementDataReady(VL53L0X_DEV dev); VL53L0X_Error waitStopCompleted(VL53L0X_DEV dev); void setup(); void calibration(); void stopMeasurement(); void startMeasurement(); int getMeasurement(); private: VL53L0X_State apiState; VL53L0X_Error status; VL53L0X_Dev_t myDevice; VL53L0X_Dev_t *pMyDevice; }; #endif