/** * * Copyright (c) 2023 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /** * @file vl53l4ed_calibration.h * @brief Calibration Functions definition */ #ifndef VL53L4ED_CALIBRATION_H_ #define VL53L4ED_CALIBRATION_H_ #include "platform.h" /** * @brief This function can be used to perform an offset calibration. Offset * corresponds to the difference in millimeters between real distance and * measured distance. ST recommend to perform offset at 100m, on a grey17% * reflective target, but any other distance and reflectance can be used. * The function returns the offset value found and programs the offset * compensation into the device. * @param (Dev_t) dev : instance of selected VL53L4ED sensor. * @param (int16_t) TargetDistInMm : Real distance between the sensor and the * target in millimeters. ST recommend 100mm. Min distance is 10mm and max is * 1000mm. * @param (int16_t) nb_samples : Number of samples (between 5 and 255). A higher * number of samples increases the accuracy, but it also takes more time. ST * recommend to use at least 10 samples. * @return (VL53L4ED_ERROR) status : 0 if OK, or 255 if something occurred (e.g * invalid nb of samples). */ VL53L4ED_Error VL53L4ED_CalibrateOffset( Dev_t dev, int16_t TargetDistInMm, int16_t *p_measured_offset_mm, int16_t nb_samples); /** * @brief This function can be used to perform a Xtalk calibration. Xtalk * represents the correction to apply to the sensor when a protective coverglass * is placed at the top of the sensor. The distance for calibration depends of * the coverglass, it needs to be characterized. Please refer to the User Manual * for more information. * The function returns the Xtalk value found and programs the Xtalk * compensation into the device. * @param (Dev_t) dev : instance of selected VL53L4ED sensor. * @param uint16_t) TargetDistInMm : Real distance between the sensor and the * target in millimeters. This distance needs to be characterized, as described * into the User Manual. * @param (int16_t) nb_samples : Number of samples (between 5 and 255). A higher * number of samples increases the accuracy, but it also takes more time. ST * recommend to use at least 10 samples. * @return (VL53L4ED_ERROR) status : 0 if OK, or 255 if something occurred (e.g * invalid nb of samples). */ VL53L4ED_Error VL53L4ED_CalibrateXtalk( Dev_t dev, int16_t TargetDistInMm, uint16_t *p_measured_xtalk_kcps, int16_t nb_samples); #endif //VL53L4ED_CALIBRATION_H_