Skip to main content
Associate
August 12, 2026
Question

Transform library support for binnings 6, 8, 12 and 24 - VL53L9CX

  • August 12, 2026
  • 1 reply
  • 62 views

Section 2.5 of UM3656 says "For a complete description of the library capabilities, refer to the vl53l9-transform-c documentation." The X-CUBE-53L9A1 v1.0.0 package ships Documentation/ media-object/transform-c.chm and media-c.chm, but those document the generic transform framework they do not contain any mention of VL53L9, binning or resolution.

In vl53l9-transform-c_retrieve_output_size() accepts only raw frame sizes 14842 (54x42) and 3844 (24x20); the stream capability tables likewise list only those two resolutions. Calling the pipeline at other binnings is rejected, so 18x14, 12x10, 8x6 and 4x4 produce raw data with no calibrated depth.

The underlying algorithms appear resolution-generic — vl53l9_algo_extract() takes frame width/height, crop offsets and binning as parameters, the calibration offset map is bicubic-resized to arbitrary width/height, and the radial-to-perpendicular map is computed per width/height/binning.

Questions:

  • Is support for the other binnings planned, or deliberately excluded?
  • If we were to extend it ourselves, could you supply the pre-crop raw frame geometry and crop offsets for each binning? We can infer the uncropped cases from Table 12 (18x14 -> 3 x 504 B + 126 B = 1638 B, matching exactly; 12x10 -> 780 B, matching), but the cropped cases do not close: 8x6 computes to 312 B against the 416 B. Guessing these offsets risks silently misaligned zones, which we are not willing to ship.

1 reply

MathieuA
ST Employee
September 4, 2026

Hello,

Yes, other binning modes will be supported later.

The current focus is on higher resolutions because these resolutions are used most often. Other resolutions will be supported later by the post-processing library.

If there is a specific use case for lower resolutions, please share it.

 

Yes, the Datasheet table 12 values show the raw map size.

The binning modes 2, 6, 8, and 24 are straightforward. The raw data dimension equals the number of pixels multiplied by 2 because the data is encoded on 16 bits. Therefore, 54 x 42 x 2 = 4536 bytes per map.

Binning modes 4 and 12 are more complex because the captured area is square, at 24 x 24 or 8 x 8. However, because the module lens is rectangular, the first and last rows must be cropped. This is not a full hardware crop. Instead, receiver cells are disabled during exposure. The raw maps are sent in 24 x 24 or 8 x 8 format, and the crop information is used during data processing.

I hope it answers your question.

Best Regards,
Mathieu