2021-07-09 10:34 PM
From what I've read, I get that during a ranging sequence VL53L1CX performs two separate ranging operations and since we have also ambient data I think the sensor listens to the environment without sending any pulses. What I am curious about how they are sequenced? and how the timing works? For example, if I use short-distance mode and set the timing budget to 15ms in ULD API, is it like the sensor first performs an ambient reading 5ms then ranging A 5ms and ranging B 5ms?
2021-07-15 01:28 PM
you have it about right.
in the 15ms the sensor has a lot of work to do.
IT must evaluate the sensor temperature and see if it needs to adjust the VCSEL power.
It needs to sense the ambient rate.
It needs to shoot out a few blasts and evaluate the signal strength coming back and adjust the number of SPADs to use.
Then it does the rangeA
And the Range B
check the results, lift the interrupt based on thresholds and it'd done.
All told there is maybe 3-4ms of overhead and the remaining is divided evenly between range A and Range B.
The results can be returned during the next range, so the I2C is hidden.