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_xtalk.h Source File

vl53l1_xtalk.h

00001 
00002 /* SPDX-License-Identifier: BSD-3-Clause */
00003 /******************************************************************************
00004  * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
00005 
00006  This file is part of VL53L1 Protected and is dual licensed,
00007  either 'STMicroelectronics Proprietary license'
00008  or 'BSD 3-clause "New" or "Revised" License' , at your option.
00009 
00010  ******************************************************************************
00011 
00012  'STMicroelectronics Proprietary license'
00013 
00014  ******************************************************************************
00015 
00016  License terms: STMicroelectronics Proprietary in accordance with licensing
00017  terms at www.st.com/sla0081
00018 
00019  ******************************************************************************
00020  */
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 #ifndef _VL53L1_XTALK_H_
00029 #define _VL53L1_XTALK_H_
00030 
00031 #include "vl53l1_types.h"
00032 #include "vl53l1_ll_def.h"
00033 #include "vl53l1_xtalk_private_structs.h"
00034 
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038 
00039 
00040 
00041 
00042 VL53L1_Error VL53L1_xtalk_calibration_process_data(
00043     VL53L1_xtalk_range_results_t        *pxtalk_ranges,
00044     VL53L1_xtalk_histogram_data_t       *pxtalk_shape,
00045     VL53L1_xtalk_calibration_results_t  *pxtalk_cal);
00046 
00047 
00048 
00049 
00050 VL53L1_Error VL53L1_f_049(
00051         VL53L1_histogram_bin_data_t        *pavg_bins,
00052         VL53L1_xtalk_algo_data_t           *pdebug,
00053         VL53L1_xtalk_range_data_t          *pxtalk_data,
00054         uint8_t                             histogram__window_start,
00055         uint8_t                             histogram__window_end,
00056         VL53L1_xtalk_histogram_shape_t     *pxtalk_shape);
00057 
00058 
00059 
00060 VL53L1_Error VL53L1_f_047(
00061     VL53L1_xtalk_range_results_t  *pxtalk_results,
00062     VL53L1_xtalk_algo_data_t      *pdebug,
00063     int16_t                       *xgradient,
00064     int16_t                       *ygradient);
00065 
00066 
00067 
00068 
00069 VL53L1_Error VL53L1_f_048(
00070     VL53L1_xtalk_range_data_t *pxtalk_data,
00071     VL53L1_xtalk_algo_data_t  *pdebug,
00072     uint32_t                  *xtalk_mean_offset_kcps);
00073 
00074 
00075 
00076 
00077 VL53L1_Error VL53L1_f_053(
00078     VL53L1_histogram_bin_data_t    *phist_data,
00079     VL53L1_xtalk_range_data_t      *pxtalk_data,
00080     VL53L1_xtalk_algo_data_t       *pdebug,
00081     VL53L1_xtalk_histogram_shape_t *pxtalk_histo);
00082 
00083 
00084 
00085 
00086 
00087 VL53L1_Error VL53L1_f_040(
00088     uint32_t                       mean_offset,
00089     int16_t                        xgradient,
00090     int16_t                        ygradient,
00091     int8_t                         centre_offset_x,
00092     int8_t                         centre_offset_y,
00093     uint16_t                       roi_effective_spads,
00094     uint8_t                        roi_centre_spad,
00095     uint8_t                        roi_xy_size,
00096     uint32_t                      *xtalk_rate_kcps);
00097 
00098 
00099 
00100 
00101 VL53L1_Error VL53L1_f_041(
00102     VL53L1_histogram_bin_data_t    *phist_data,
00103     VL53L1_xtalk_histogram_shape_t *pxtalk_data,
00104     uint32_t                        xtalk_rate_kcps,
00105     VL53L1_histogram_bin_data_t    *pxtalkcount_data);
00106 
00107 
00108 
00109 
00110 VL53L1_Error VL53L1_f_055(
00111     VL53L1_histogram_bin_data_t   *phist_data,
00112     VL53L1_histogram_bin_data_t   *pxtalk_data,
00113     uint8_t                        xtalk_bin_offset);
00114 
00115 
00116 
00117 VL53L1_Error VL53L1_f_052(
00118     VL53L1_histogram_bin_data_t       *pxtalk_data,
00119     uint32_t                           amb_threshold,
00120     uint8_t                            VL53L1_p_022,
00121     uint8_t                            VL53L1_p_026);
00122 
00123 
00124 
00125 VL53L1_Error VL53L1_f_054(
00126     VL53L1_customer_nvm_managed_t *pcustomer,
00127     VL53L1_dynamic_config_t       *pdyn_cfg,
00128     VL53L1_xtalk_histogram_data_t *pxtalk_shape,
00129     VL53L1_histogram_bin_data_t   *pip_hist_data,
00130     VL53L1_histogram_bin_data_t   *pop_hist_data,
00131     VL53L1_histogram_bin_data_t   *pxtalk_count_data);
00132 
00133 
00134 
00135 
00136 VL53L1_Error VL53L1_f_051(
00137         uint8_t                      sigma_mult,
00138         int32_t                      VL53L1_p_004,
00139         uint32_t                    *ambient_noise);
00140 
00141 
00142 
00143 VL53L1_Error VL53L1_generate_dual_reflectance_xtalk_samples(
00144     VL53L1_xtalk_range_results_t *pxtalk_results,
00145     uint16_t                      expected_target_distance_mm,
00146     uint8_t                       higher_reflectance,
00147     VL53L1_histogram_bin_data_t  *pxtalk_avg_samples
00148 );
00149 
00150 
00151 
00152 
00153 
00154 VL53L1_Error VL53L1_f_050(
00155         VL53L1_histogram_bin_data_t     *pzone_avg_1,
00156         VL53L1_histogram_bin_data_t     *pzone_avg_2,
00157         uint16_t                             expected_target_distance,
00158         uint8_t                              subtract_amb,
00159         uint8_t                              higher_reflectance,
00160         VL53L1_histogram_bin_data_t         *pxtalk_output
00161 );
00162 
00163 #ifdef __cplusplus
00164 }
00165 #endif
00166 
00167 #endif
00168