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
Please refer below page.
/users/kenjiArai/notebook/vl53l0x-tof-sensor/
VL53L0X_header_original.txt@10:c9181a97a64f, 2020-02-26 (annotated)
- 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?
User | Revision | Line number | New 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 | } |