2025-04-03 1:05 AM
I'm using the VL53L1X in the Arduino environment. During the initialization phase, I can read the device address as 0x29, and the device ID is EACC — so there's no issue with that.
However, when I try to read the register VL53L1_FIRMWARE__SYSTEM_STATUS, a problem occurs — its value is not 0x01 as expected.
I printed out the register value and it shows 2.
Here's that section of the code:
2025-04-22 10:58 AM
I'm truly sorry I missed this post. Hopefully you have solved your problem without a response.
But for those who might see your post, a response is required.
The fact that you can read the Chip ID is sufficient to know the sensor is booted.
The system status has two bits.
[1] |
firmware_first_range: FW first range status |
[0] |
firmware_bootup: FW initial boot status, Set by FW after completing initial coldboot. if 0 carry out intial boot sequence, if 1 carry out secondary boot |
So bit 0 (the LSB) is set after a cold boot.
And bit 1 say's that you've completed at least one range.
My guess is that you have ranged, then rebooted your system without powering down the sensor.
So, it's still ready to go. It never noticed the reboot of your system. It's just waiting for another 'go' command.
if you power down the sensor and then power back up, you will see the register go from 2 to 1.
- john
- john