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

vl53l1_hist_algos_gen3.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 #ifndef _VL53L1_HIST_ALGOS_GEN3_H_
00027 #define _VL53L1_HIST_ALGOS_GEN3_H_
00028 
00029 #include "vl53l1_types.h"
00030 #include "vl53l1_ll_def.h"
00031 
00032 #include "vl53l1_hist_private_structs.h"
00033 #include "vl53l1_dmax_private_structs.h"
00034 
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039 
00040 
00041 
00042 
00043 void VL53L1_f_016(
00044     VL53L1_hist_gen3_algo_private_data_t   *palgo);
00045 
00046 
00047 
00048 
00049 
00050 
00051 VL53L1_Error VL53L1_f_018(
00052     uint16_t                               ambient_threshold_events_scaler,
00053     int32_t                                ambient_threshold_sigma,
00054     int32_t                                min_ambient_threshold_events,
00055     uint8_t                            algo__crosstalk_compensation_enable,
00056     VL53L1_histogram_bin_data_t           *pbins,
00057     VL53L1_histogram_bin_data_t           *pxtalk,
00058     VL53L1_hist_gen3_algo_private_data_t  *palgo);
00059 
00060 
00061 
00062 
00063 
00064 
00065 VL53L1_Error VL53L1_f_019(
00066     VL53L1_hist_gen3_algo_private_data_t  *palgo);
00067 
00068 
00069 
00070 
00071 VL53L1_Error VL53L1_f_020(
00072     VL53L1_hist_gen3_algo_private_data_t  *palgo);
00073 
00074 
00075 
00076 
00077 VL53L1_Error VL53L1_f_021(
00078     VL53L1_hist_gen3_algo_private_data_t  *palgo);
00079 
00080 
00081 
00082 
00083 VL53L1_Error VL53L1_f_028(
00084     VL53L1_HistTargetOrder                target_order,
00085     VL53L1_hist_gen3_algo_private_data_t  *palgo);
00086 
00087 
00088 
00089 
00090 VL53L1_Error VL53L1_f_022(
00091     uint8_t                                pulse_no,
00092     VL53L1_histogram_bin_data_t           *pbins,
00093     VL53L1_hist_gen3_algo_private_data_t  *palgo);
00094 
00095 
00096 
00097 VL53L1_Error VL53L1_f_027(
00098     uint8_t                                pulse_no,
00099     uint8_t                             clip_events,
00100     VL53L1_histogram_bin_data_t           *pbins,
00101     VL53L1_hist_gen3_algo_private_data_t  *palgo);
00102 
00103 
00104 
00105 
00106 VL53L1_Error VL53L1_f_030(
00107     int16_t                            VL53L1_p_022,
00108     int16_t                            VL53L1_p_026,
00109     uint8_t                            VL53L1_p_031,
00110     uint8_t                            clip_events,
00111     VL53L1_histogram_bin_data_t       *pbins,
00112     uint32_t                          *pphase);
00113 
00114 
00115 
00116 
00117 VL53L1_Error VL53L1_f_023(
00118     uint8_t                                pulse_no,
00119     VL53L1_histogram_bin_data_t           *pbins,
00120     VL53L1_hist_gen3_algo_private_data_t  *palgo,
00121     int32_t                                pad_value,
00122     VL53L1_histogram_bin_data_t           *ppulse);
00123 
00124 
00125 
00126 
00127 VL53L1_Error VL53L1_f_026(
00128     uint8_t                       bin,
00129     uint8_t                       sigma_estimator__sigma_ref_mm,
00130     uint8_t                       VL53L1_p_031,
00131     uint8_t                       VL53L1_p_055,
00132     uint8_t                       crosstalk_compensation_enable,
00133     VL53L1_histogram_bin_data_t  *phist_data_ap,
00134     VL53L1_histogram_bin_data_t  *phist_data_zp,
00135     VL53L1_histogram_bin_data_t  *pxtalk_hist,
00136     uint16_t                     *psigma_est);
00137 
00138 
00139 
00140 
00141 void VL53L1_f_029(
00142     uint8_t                      range_id,
00143     uint8_t                      valid_phase_low,
00144     uint8_t                      valid_phase_high,
00145     uint16_t                     sigma_thres,
00146     VL53L1_histogram_bin_data_t *pbins,
00147     VL53L1_hist_pulse_data_t    *ppulse,
00148     VL53L1_range_data_t         *pdata);
00149 
00150 
00151 #ifdef __cplusplus
00152 }
00153 #endif
00154 
00155 #endif
00156