cancel
Showing results for 
Search instead for 
Did you mean: 

Limiting data sent from the VL53L5CX I am trying to upgrade the ultrasonic distance sensors on a Heathkit 2000 robot. Its baud rate is 9600, so it could be overwhelmed by an 8x8 data array sent at 60 Hz.

MBres.1
Associate

Is it possible to have a computer ask the sensor for only certain pixels when it is needed?

From what is posted by your vendor Sparkfun, the data array can be 4x4 or 8x8, and repetition rate can be 1, 15, or 60Hz. Are these options set by the approximately 90 KB of firmware sent to the sensor on power up? Are details of the firmware available?

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

The sensor is going to report a fixed buffer every time you ask for the data. If you dig into the platform.h file there are some bits of data you can disable.

The structure elements you can set are below.

Decide which elements you can eliminate and you can reduce the structure size.

look at the attached structure size spreadsheet and you can work out the packet size.

 

Setting
Nb of targets per zone
Nb of sensors
 
Output - ambient rate enabled ?
Output - nb targets detected enabled ?
Output - SPAD nb enabled ?
Output - signal rate enabled ?
Output - sigma mm enabled ?
Output - distance mm enabled ?
Output - reflectance enabled ?
Output - target status enabled ?

Output - motion indicator enabled ?


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

4 REPLIES 4
John E KVAM
ST Employee

The firmware comes up in a configuration by default. But if you want to lower the communication traffic, there are functions that will switch to 4x4 mode, to change the repetition rate and other things.

Just call them prior to issuing the start.

You should also look into only reporting 1 target. This is the biggest traffic saver.

  • john

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'
MBres.1
Associate

Thanks, I read about those options, but also wonder if it is possible to instruct the VL53L5CX to only send a single row or column of sensor data.

Also as long as we are talking about this chip, is it possible to get more information about the gestures that can be recognized, and examples of how the gesture recognition is done in software. For example a mockup of a thermostat was demonstrated, but I did not find how the swipe or push/pull were implemented.

Thanks,

Mark

Iknig.1
Associate II

Hello MBres,
I am just starting my journey into the VL53L5CX and I have identified similar problem.
Now I have not implemented this idea yet but this is the way I am think of heading.
https://www.st.com/resource/en/user_manual/dm00797144-a-guide-to-using-the-vl53l5cx-multizone-timeofflight-ranging-sensor-with-wide-field-of-view-ultra-lite-driver-uld-stmicroelectronics.pdf
Looking at the above page 10 and 11 I believe you can instruct the VL53L5CX to home in on the object that is likely to be most troublesome to your robot. From the sharpness data you can use the status byte
(measurementData.target_status) to get the cell address. You could use these to compute a rectangle.
Bottom Left X,Y Top Right X,Y which you can squeez into two bytes then have a third byte for the object distance.
Hope that helps imk

 

John E KVAM
ST Employee

The sensor is going to report a fixed buffer every time you ask for the data. If you dig into the platform.h file there are some bits of data you can disable.

The structure elements you can set are below.

Decide which elements you can eliminate and you can reduce the structure size.

look at the attached structure size spreadsheet and you can work out the packet size.

 

Setting
Nb of targets per zone
Nb of sensors
 
Output - ambient rate enabled ?
Output - nb targets detected enabled ?
Output - SPAD nb enabled ?
Output - signal rate enabled ?
Output - sigma mm enabled ?
Output - distance mm enabled ?
Output - reflectance enabled ?
Output - target status enabled ?

Output - motion indicator enabled ?


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'