VL53L0X
#######

Origin:
   ST Microelectronics
   http://www.st.com/en/embedded-software/stsw-img005.html

Status:
   version 1.0.2

Purpose:
   ST Microelectonics official API to use vl53l0x sensor.

Description:
   This library written by STMicroelectronics is dedicated to vl53l0x time of flight sensor.
   Instead of providing a full description of the registers, ST decided to provide a C library to drive this sensor.

   This library is called from the vl53l0x driver and is kept transparent for user.
   User is calling a standard Zephyr driver and then, the driver makes some calls to this library.

   In order to fit with Zephyr rules and simplify version updates, we have done a minimum of modifications :
      - keep only API directory
        (remove documentation and samples, see ST website for this)
      - rename Api to api
      - customize api/platform to fit in Zephyr (mainly for I2C access)
        vl53l0x_platform.c has been moved to Zephyr drivers directory.

   In order to use this library, you have to :
      * define CONFIG_HAS_STLIB and CONFIG_VL53L0X
      * use NEWLIB_LIBC in prj.conf (needed for abs function)
      * include vl53l0x_api.h and vl53l0x_platform.h in the driver .h

Dependencies:
   This package depends on Zephyr I2C implementation and is linked statically.
   This library will be used by a standard Zephyr driver.

URL:
   http://www.st.com/en/embedded-software/stsw-img005.html

commit:
   version 1.0.2

Maintained-by:
   External

License:
   BSD-3-Clause

License Link:
   http://www.st.com/en/embedded-software/stsw-img005.html



