Fork of X-NUCLEO-53L0A1 Library and deleted the board related files. Just use a VL53L0X chip as a ToF sensor.

Dependents:   Check_VL53L0X_simple_with_three_ToF Check_VL53L0X_simple_ToF_Sensor lidarproj Check_VL53L0X_simple_with_three_ToF ... more

Fork of VL53L0X by ST

Please refer below page.
/users/kenjiArai/notebook/vl53l0x-tof-sensor/

Committer:
kenjiArai
Date:
Wed Feb 26 09:34:31 2020 +0000
Revision:
10:c9181a97a64f
Parent:
5:ac6604b75d50
bug fix for XSHUT=NC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 5:ac6604b75d50 1
kenjiArai 5:ac6604b75d50 2 /* Classes -------------------------------------------------------------------*/
kenjiArai 5:ac6604b75d50 3 /** Class representing a VL53L0 sensor component
kenjiArai 5:ac6604b75d50 4 */
kenjiArai 5:ac6604b75d50 5 class VL53L0X : public RangeSensor
kenjiArai 5:ac6604b75d50 6 {
kenjiArai 5:ac6604b75d50 7 public:
kenjiArai 5:ac6604b75d50 8 /** Constructor
kenjiArai 5:ac6604b75d50 9 * @param[in] &i2c device I2C to be used for communication
kenjiArai 5:ac6604b75d50 10 * @param[in] &pin_gpio1 pin Mbed InterruptIn PinName to be used as component GPIO_1 INT
kenjiArai 5:ac6604b75d50 11 * @param[in] dev_addr device address, 0x29 by default
kenjiArai 5:ac6604b75d50 12 */
kenjiArai 5:ac6604b75d50 13 VL53L0X(DevI2C *i2c, DigitalOut *pin, PinName pin_gpio1, uint8_t dev_addr = VL53L0X_DEFAULT_ADDRESS) : _dev_i2c(i2c),
kenjiArai 5:ac6604b75d50 14 _gpio0(pin)
kenjiArai 5:ac6604b75d50 15 {
kenjiArai 5:ac6604b75d50 16 _my_device.I2cDevAddr = dev_addr;
kenjiArai 5:ac6604b75d50 17 _my_device.comms_type = 1; // VL53L0X_COMMS_I2C
kenjiArai 5:ac6604b75d50 18 _my_device.comms_speed_khz = 400;
kenjiArai 5:ac6604b75d50 19 _device = &_my_device;
kenjiArai 5:ac6604b75d50 20 _expgpio0 = NULL;
kenjiArai 5:ac6604b75d50 21 if (pin_gpio1 != NC) {
kenjiArai 5:ac6604b75d50 22 _gpio1Int = new InterruptIn(pin_gpio1);
kenjiArai 5:ac6604b75d50 23 } else {
kenjiArai 5:ac6604b75d50 24 _gpio1Int = NULL;
kenjiArai 5:ac6604b75d50 25 }
kenjiArai 5:ac6604b75d50 26 }
kenjiArai 5:ac6604b75d50 27
kenjiArai 5:ac6604b75d50 28 /** Constructor 2 (STMPE1600DigiOut)
kenjiArai 5:ac6604b75d50 29 * @param[in] i2c device I2C to be used for communication
kenjiArai 5:ac6604b75d50 30 * @param[in] &pin Gpio Expander STMPE1600DigiOut pin to be used as component GPIO_0 CE
kenjiArai 5:ac6604b75d50 31 * @param[in] pin_gpio1 pin Mbed InterruptIn PinName to be used as component GPIO_1 INT
kenjiArai 5:ac6604b75d50 32 * @param[in] device address, 0x29 by default
kenjiArai 5:ac6604b75d50 33 */
kenjiArai 5:ac6604b75d50 34 VL53L0X(DevI2C *i2c, Stmpe1600DigiOut *pin, PinName pin_gpio1,
kenjiArai 5:ac6604b75d50 35 uint8_t dev_addr = VL53L0X_DEFAULT_ADDRESS) : _dev_i2c(i2c), _expgpio0(pin)
kenjiArai 5:ac6604b75d50 36 {
kenjiArai 5:ac6604b75d50 37 _my_device.I2cDevAddr = dev_addr;
kenjiArai 5:ac6604b75d50 38 _my_device.comms_type = 1; // VL53L0X_COMMS_I2C
kenjiArai 5:ac6604b75d50 39 _my_device.comms_speed_khz = 400;
kenjiArai 5:ac6604b75d50 40 _device = &_my_device;
kenjiArai 5:ac6604b75d50 41 _gpio0 = NULL;
kenjiArai 5:ac6604b75d50 42 if (pin_gpio1 != NC) {
kenjiArai 5:ac6604b75d50 43 _gpio1Int = new InterruptIn(pin_gpio1);
kenjiArai 5:ac6604b75d50 44 } else {
kenjiArai 5:ac6604b75d50 45 _gpio1Int = NULL;
kenjiArai 5:ac6604b75d50 46 }
kenjiArai 5:ac6604b75d50 47 }
kenjiArai 5:ac6604b75d50 48
kenjiArai 5:ac6604b75d50 49 /** Destructor
kenjiArai 5:ac6604b75d50 50 */
kenjiArai 5:ac6604b75d50 51 virtual ~VL53L0X()
kenjiArai 5:ac6604b75d50 52 {
kenjiArai 5:ac6604b75d50 53 if (_gpio1Int != NULL) {
kenjiArai 5:ac6604b75d50 54 delete _gpio1Int;
kenjiArai 5:ac6604b75d50 55 }
kenjiArai 5:ac6604b75d50 56 }