x-cube-tof1/Drivers/BSP/Components/vl53l4cx/modules/vl53lx_api_calibration.h

103 lines
2.6 KiB
C

/**
******************************************************************************
* Copyright (c) 2020, 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.
*
******************************************************************************
*/
#ifndef _VL53LX_API_CALIBRATION_H_
#define _VL53LX_API_CALIBRATION_H_
#include "vl53lx_platform.h"
#ifdef __cplusplus
extern "C" {
#endif
VL53LX_Error VL53LX_run_ref_spad_char(VL53LX_DEV Dev,
VL53LX_Error * pcal_status);
VL53LX_Error VL53LX_run_device_test(
VL53LX_DEV Dev,
VL53LX_DeviceTestMode device_test_mode);
VL53LX_Error VL53LX_get_and_avg_xtalk_samples(
VL53LX_DEV Dev,
uint8_t num_of_samples,
uint8_t measurement_mode,
int16_t xtalk_filter_thresh_max_mm,
int16_t xtalk_filter_thresh_min_mm,
uint16_t xtalk_max_valid_rate_kcps,
uint8_t xtalk_result_id,
uint8_t xtalk_histo_id,
VL53LX_xtalk_range_results_t *pxtalk_results,
VL53LX_histogram_bin_data_t *psum_histo,
VL53LX_histogram_bin_data_t *pavg_histo);
VL53LX_Error VL53LX_run_phasecal_average(
VL53LX_DEV Dev,
uint8_t measurement_mode,
uint8_t phasecal_result__vcsel_start,
uint16_t phasecal_num_of_samples,
VL53LX_range_results_t *prange_results,
uint16_t *pphasecal_result__reference_phase,
uint16_t *pzero_distance_phase);
void VL53LX_hist_xtalk_extract_data_init(
VL53LX_hist_xtalk_extract_data_t *pxtalk_data);
VL53LX_Error VL53LX_hist_xtalk_extract_update(
int16_t target_distance_mm,
uint16_t target_width_oversize,
VL53LX_histogram_bin_data_t *phist_bins,
VL53LX_hist_xtalk_extract_data_t *pxtalk_data);
VL53LX_Error VL53LX_hist_xtalk_extract_fini(
VL53LX_histogram_bin_data_t *phist_bins,
VL53LX_hist_xtalk_extract_data_t *pxtalk_data,
VL53LX_xtalk_calibration_results_t *pxtalk_cal,
VL53LX_xtalk_histogram_shape_t *pxtalk_shape);
VL53LX_Error VL53LX_run_hist_xtalk_extraction(
VL53LX_DEV Dev,
int16_t cal_distance_mm,
VL53LX_Error *pcal_status);
#ifdef __cplusplus
}
#endif
#endif