Skip to content

Latest commit

 

History

History
67 lines (50 loc) · 2.46 KB

README.md

File metadata and controls

67 lines (50 loc) · 2.46 KB

ST VL53L1X API implementation for pigpio

Using VL53L1X API v2.3.3

driver

The example/driver executable will perform a simple usage of the sensor

Can pass in the timing budget and interval (both in ms) as arg 1 and 2 respectively

So for example, driver 20 24

java bindings

The Travis build publishes a JNA based Java API for this driver to bintray

references

other implementations

ranging modes [reference]

  • VL53L1_PRESETMODE_LITE_RANGING
    • Does a range A; Provides result; does a range B; provides Result
    • Needs the VL53L1_ClearInterruptAndStartMeasurement to continue
    • 10ms min timing budget in SHORT mode, 16ms with LONG mode
    • This is best for predictable timing. But the timing here is for only the range A or B, not both
  • VL53L1_PRESETMODE_AUTONOMOUS
    • Does a range A, then range B
    • Needs the VL53L1_ClearInterruptAndStartMeasurement to continue
    • 46ms min timing budget
  • VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS
    • Does range A, then B
    • No need to read or clear the interrup, will continue to range
    • 20ms min timing budget
    • Intermeasurement period should be 5ms longer than the timing budget

For consistent timing and the fastest results use LITE_RANGING mode.

investigate

  • SignalRateRtnMegaCps
    • Return signal rate (MCPS)\n these is a 16.16 fix point value, which is effectively a measure of target reflectance.
  • AmbientRateRtnMegaCps
    • Return ambient rate (MCPS)\n these is a 16.16 fix point value, which is effectively a measure of the ambient light.
  • RangeQualityLevel
    • indicate a quality level in percentage from 0 to 100
    • Not yet supported by ST API
  • VL53L1_SetDeviceAddress
    • divides the specified address by two
    • MODIFIED This behavior to use the address that is passed
    • todo; should bounds check, only 7 bits are supported in address