2023-10-25 03:27 AM
Hello, i've been using a couple of VL53L4CX tof for a month with no problem so far, but recently i bought a few more and none of these work. (These new ones are the same model that the ones that worked).
Analyzing with a digital osciloscope the I2C commands i saw a difference between this two.
Apparently the two tofs seems to be sending without a problem the init commands, but when it tries to access this register (VL53LX_GPIO__TIO_HV_STATUS 0x0031), the one that works answers with a 0x02, meanwhile the bad one responds with a 0x03 (I attached both screenshots).
This happens in the driver's function VL53LX_GetMeasurementDataReady, when it calls VL53LX_is_new_data_ready in vl53lx_wait.c (I attached also a screenshot of this function)
Does anyone know why is this happening? Could it be solved by software? Or it's a hardware issue?
Solved! Go to Solution.
2023-11-14 07:59 AM
If you don't have a photo diode handy, check the laser is on using a webcam. Phone cameras don't always work for this. As some of them emitt 940nm light they have really good IR filters on them.
Did you check the status on all the I2C initialization commands? Sometimes - due to long wires - the I2C bus does not communicate correctly and you get a mess.
But I agree with Anne. Seems hardware related. Unless you changed some code.
2023-11-14 05:54 AM
Hello,
It seems to be more a HW issue than a SW one. Are you able to use a photo diode to check that the laser is on ?
Anne
2023-11-14 07:59 AM
If you don't have a photo diode handy, check the laser is on using a webcam. Phone cameras don't always work for this. As some of them emitt 940nm light they have really good IR filters on them.
Did you check the status on all the I2C initialization commands? Sometimes - due to long wires - the I2C bus does not communicate correctly and you get a mess.
But I agree with Anne. Seems hardware related. Unless you changed some code.