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

vl53l1_platform_ipp.h

00001 
00002 /*******************************************************************************
00003  This file is part of VL53L1 Platform
00004 
00005  Copyright (c) 2020, STMicroelectronics - All Rights Reserved
00006 
00007  License terms: BSD 3-clause "New" or "Revised" License.
00008 
00009  Redistribution and use in source and binary forms, with or without
00010  modification, are permitted provided that the following conditions are met:
00011 
00012  1. Redistributions of source code must retain the above copyright notice, this
00013  list of conditions and the following disclaimer.
00014 
00015  2. Redistributions in binary form must reproduce the above copyright notice,
00016  this list of conditions and the following disclaimer in the documentation
00017  and/or other materials provided with the distribution.
00018 
00019  3. Neither the name of the copyright holder nor the names of its contributors
00020  may be used to endorse or promote products derived from this software
00021  without specific prior written permission.
00022 
00023  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00024  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00025  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00026  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00027  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00028  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00029  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00030  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00031  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00032  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00033 
00034 */
00035 
00036 
00037 
00038 #ifndef _VL53L1_PLATFORM_IPP_H_
00039 #define _VL53L1_PLATFORM_IPP_H_
00040 
00041 #include "vl53l1_ll_def.h"
00042 
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047 
00048 
00049 
00050 
00051 
00052 VL53L1_Error VL53L1_ipp_hist_process_data(
00053     VL53L1_DEV                         Dev,
00054     VL53L1_dmax_calibration_data_t    *pdmax_cal,
00055     VL53L1_hist_gen3_dmax_config_t    *pdmax_cfg,
00056     VL53L1_hist_post_process_config_t *ppost_cfg,
00057     VL53L1_histogram_bin_data_t       *pbins,
00058     VL53L1_xtalk_histogram_data_t     *pxtalk,
00059     uint8_t                           *pArea1,
00060     uint8_t                           *pArea2,
00061     uint8_t                           *phisto_merge_nb,
00062     VL53L1_range_results_t            *presults);
00063 
00064 
00065 
00066 
00067 VL53L1_Error VL53L1_ipp_hist_ambient_dmax(
00068     VL53L1_DEV                         Dev,
00069     uint16_t                           target_reflectance,
00070     VL53L1_dmax_calibration_data_t    *pdmax_cal,
00071     VL53L1_hist_gen3_dmax_config_t    *pdmax_cfg,
00072     VL53L1_histogram_bin_data_t       *pbins,
00073     int16_t                           *pambient_dmax_mm);
00074 
00075 
00076 
00077 
00078 VL53L1_Error VL53L1_ipp_xtalk_calibration_process_data(
00079     VL53L1_DEV                          Dev,
00080     VL53L1_xtalk_range_results_t       *pxtalk_ranges,
00081     VL53L1_xtalk_histogram_data_t      *pxtalk_shape,
00082     VL53L1_xtalk_calibration_results_t *pxtalk_cal);
00083 
00084 
00085 
00086 
00087 VL53L1_Error VL53L1_ipp_hist_xtalk_correction(
00088     VL53L1_DEV                    Dev,
00089     VL53L1_customer_nvm_managed_t *pcustomer,
00090     VL53L1_dynamic_config_t       *pdyn_cfg,
00091     VL53L1_xtalk_histogram_data_t *pxtalk_shape,
00092     VL53L1_histogram_bin_data_t   *pip_hist_data,
00093     VL53L1_histogram_bin_data_t   *pop_hist_data,
00094     VL53L1_histogram_bin_data_t   *pxtalk_count_data);
00095 
00096 
00097 
00098 VL53L1_Error VL53L1_ipp_generate_dual_reflectance_xtalk_samples(
00099     VL53L1_DEV                     Dev,
00100     VL53L1_xtalk_range_results_t  *pxtalk_results,
00101     uint16_t                       expected_target_distance_mm,
00102     uint8_t                        higher_reflectance,
00103     VL53L1_histogram_bin_data_t   *pxtalk_avg_samples);
00104 
00105 
00106 
00107 #ifdef __cplusplus
00108 }
00109 #endif
00110 
00111 #endif
00112 
00113 
00114