Data Sheet
DocID031478 Rev 1 9/28
UM2356 Ranging API function descriptions
28
2.4.6 Clear source of interrupt
The interrupt must be cleared by calling the driver function:
VL53L1_ClearInterruptAndStartMeasurement()after reading the ranging data
To get consistent results, it is mandatory to call this function after getting the ranging
measurement.
If this function is not called, the next ranging will start and the results will be updated. But,
the data ready status flag will not be updated, and the physical interrupt pin will not be
cleared.
2.4.7 Stop a measurement
The host can decide to stop the measurement by calling the
VL53L1_StopMeasurement() function.
If the stop request occurs during a range measurement, then the measurement is aborted
immediately.
2.5 Optional driver functions
2.5.1 Wait for boot
The VL53L1_WaitDeviceBooted() function ensures that the device is booted and ready.
This function is optional. It is a blocking function because there is an internal polling. This
function should not be blocking for more than 4 ms, assuming 400 kHz I2C and 2 ms latency
per transaction.
2.5.2 Timing budget and inter-measurement period
Timing budget is the time required by the sensor to perform one range measurement.
The VL53L1_SetMeasurementTimingBudgetMicroSeconds() is the function to be
used.
The minimum and maximum timing budgets are [20 ms, 1000 ms]
Example:
Status = VL53L1_SetMeasurementTimingBudgetMicroSeconds(&VL53L1Dev,
66000 ); sets the timing budget to 66 ms.
The function VL53L1_GetMeasurementTimingBudgetMicroSeconds() gets the
programmed timing budget.
The inter-measurement period is the delay between two ranging operations.
An inter-measurement period can be programmed. When a ranging completes, the device
waits for the end of the programmed inter-measurement period before resuming the next
ranging. In the inter-measurement period, the sensor is in a low-power state.
The VL53L1_SetInterMeasurementPeriodMilliSeconds() is the function to be
used.