2021-03-01 06:02 AM
According to the VL53L1X ULD API description when Vl53L1X_StopRanging() is called, an active ranging operation will be completed.
In a practical evaluation we tried to investigate whether an interrupt could still occur after calling this function or not:
- we set a long timing budget
- and called VL53L1X_StopRanging() + VL53L1X_ClearInterrupt() during ranging
An interrupt was never observed in this evaulation, which leads me to the question:
Is the API completing the ranging operation but not indicating the interrupt when the stop function is called during ranging ?
Unfortunately, the API description does not provide any information about this use case.
2021-03-01 07:15 AM
I don't know the answer to that. It never occurred to me to check.
There is bunch of logic controlling the ranging. It's way too fast to be able to control it with an MCU. That's why the stop command does not interrupt the ranging operation.
But the interrupt is under MCU control, and the MCU has already gotten the STOP command.
So when the range completes, it could well be that the MCU decides the interrupt is not required and simply waits for the next command.
I'll have to find the chip designer and see if I can get more information.
2021-03-02 04:14 AM
Thanks for your response, it would be nice if you can get more information from the chip designer.
2021-03-09 03:05 PM
I had my test team look at the lack of an interrupt after a stop.
And yes, after the stop, and the range ends, there is indeed no interrupt issued.
I sure hope this isn't a really big issue, as it cannot be changed.
One wonders however if after a stop one can poll the chip and get the last answer that way.
2021-03-10 12:08 AM
Thanks for the clarification and your effort.