cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L4CX not NewDataReady

JaFrauca
Associate

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?

 

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

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.


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'

View solution in original post

2 REPLIES 2
Anne BIGOT
ST Employee

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


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'
John E KVAM
ST Employee

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.


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'