ST Expansion SW Team / VL53L1

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   X_NUCLEO_53L1CB

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers vl53l1_api_calibration.h Source File

vl53l1_api_calibration.h

00001 
00002 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
00003 /******************************************************************************
00004  * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
00005 
00006  This file is part of VL53L1 and is dual licensed,
00007  either GPL-2.0+
00008  or 'BSD 3-clause "New" or "Revised" License' , at your option.
00009  ******************************************************************************
00010  */
00011 
00012 
00013 
00014 
00015 #ifndef _VL53L1_API_CALIBRATION_H_
00016 #define _VL53L1_API_CALIBRATION_H_
00017 
00018 #include "vl53l1_platform.h"
00019 
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023 
00024 
00025 
00026 
00027 VL53L1_Error VL53L1_run_ref_spad_char(VL53L1_DEV Dev,
00028         VL53L1_Error           * pcal_status);
00029 
00030 
00031 
00032 
00033 VL53L1_Error VL53L1_run_device_test(
00034     VL53L1_DEV                 Dev,
00035     VL53L1_DeviceTestMode      device_test_mode);
00036 
00037 
00038 
00039 
00040 VL53L1_Error VL53L1_run_spad_rate_map(
00041     VL53L1_DEV                 Dev,
00042     VL53L1_DeviceTestMode      device_test_mode,
00043     VL53L1_DeviceSscArray      array_select,
00044     uint32_t                   ssc_config_timeout_us,
00045     VL53L1_spad_rate_data_t   *pspad_rate_data);
00046 
00047 
00048 
00049 
00050 VL53L1_Error   VL53L1_run_xtalk_extraction(
00051     VL53L1_DEV                          Dev,
00052     VL53L1_Error                       *pcal_status);
00053 
00054 
00055 
00056 VL53L1_Error VL53L1_get_and_avg_xtalk_samples(
00057         VL53L1_DEV                    Dev,
00058         uint8_t                       num_of_samples,
00059         uint8_t                       measurement_mode,
00060         int16_t                       xtalk_filter_thresh_max_mm,
00061         int16_t                       xtalk_filter_thresh_min_mm,
00062         uint16_t                      xtalk_max_valid_rate_kcps,
00063         uint8_t                       xtalk_result_id,
00064         uint8_t                       xtalk_histo_id,
00065         VL53L1_xtalk_range_results_t *pxtalk_results,
00066         VL53L1_histogram_bin_data_t  *psum_histo,
00067         VL53L1_histogram_bin_data_t  *pavg_histo);
00068 
00069 
00070 
00071 VL53L1_Error   VL53L1_run_offset_calibration(
00072     VL53L1_DEV                    Dev,
00073     int16_t                       cal_distance_mm,
00074     uint16_t                      cal_reflectance_pc,
00075     VL53L1_Error                 *pcal_status);
00076 
00077 
00078 
00079 
00080 VL53L1_Error   VL53L1_run_phasecal_average(
00081     VL53L1_DEV              Dev,
00082     uint8_t                 measurement_mode,
00083     uint8_t                 phasecal_result__vcsel_start,
00084     uint16_t                phasecal_num_of_samples,
00085     VL53L1_range_results_t *prange_results,
00086     uint16_t               *pphasecal_result__reference_phase,
00087     uint16_t               *pzero_distance_phase);
00088 
00089 
00090 
00091 
00092 VL53L1_Error VL53L1_run_zone_calibration(
00093     VL53L1_DEV                    Dev,
00094     VL53L1_DevicePresetModes      device_preset_mode,
00095     VL53L1_DeviceZonePreset       zone_preset,
00096     VL53L1_zone_config_t         *pzone_cfg,
00097     int16_t                       cal_distance_mm,
00098     uint16_t                      cal_reflectance_pc,
00099     VL53L1_Error                 *pcal_status);
00100 
00101 
00102 
00103 
00104 void VL53L1_hist_xtalk_extract_data_init(
00105     VL53L1_hist_xtalk_extract_data_t   *pxtalk_data);
00106 
00107 
00108 
00109 VL53L1_Error VL53L1_hist_xtalk_extract_update(
00110     int16_t                             target_distance_mm,
00111     uint16_t                            target_width_oversize,
00112     VL53L1_histogram_bin_data_t        *phist_bins,
00113     VL53L1_hist_xtalk_extract_data_t   *pxtalk_data);
00114 
00115 
00116 
00117 VL53L1_Error VL53L1_hist_xtalk_extract_fini(
00118     VL53L1_histogram_bin_data_t        *phist_bins,
00119     VL53L1_hist_xtalk_extract_data_t   *pxtalk_data,
00120     VL53L1_xtalk_calibration_results_t *pxtalk_cal,
00121     VL53L1_xtalk_histogram_shape_t     *pxtalk_shape);
00122 
00123 
00124 
00125 
00126 VL53L1_Error   VL53L1_run_hist_xtalk_extraction(
00127     VL53L1_DEV                    Dev,
00128     int16_t                       cal_distance_mm,
00129     VL53L1_Error                 *pcal_status);
00130 
00131 
00132 #ifdef __cplusplus
00133 }
00134 #endif
00135 
00136 #endif
00137