Initial release. Mbed library for VL53L1CB
Embed:
(wiki syntax)
Show/hide line numbers
vl53l1_nvm_structs.h
00001 00002 /******************************************************************************* 00003 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved 00004 00005 This file is part of VL53L1 Core and is dual licensed, 00006 either 'STMicroelectronics 00007 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 STMicroelectronics confidential 00020 Reproduction and Communication of this document is strictly prohibited unless 00021 specifically authorized in writing by STMicroelectronics. 00022 00023 00024 ******************************************************************************** 00025 00026 Alternatively, VL53L1 Core may be distributed under the terms of 00027 'BSD 3-clause "New" or "Revised" License', in which case the following 00028 provisions apply instead of the ones 00029 mentioned above : 00030 00031 ******************************************************************************** 00032 00033 License terms: BSD 3-clause "New" or "Revised" License. 00034 00035 Redistribution and use in source and binary forms, with or without 00036 modification, are permitted provided that the following conditions are met: 00037 00038 1. Redistributions of source code must retain the above copyright notice, this 00039 list of conditions and the following disclaimer. 00040 00041 2. Redistributions in binary form must reproduce the above copyright notice, 00042 this list of conditions and the following disclaimer in the documentation 00043 and/or other materials provided with the distribution. 00044 00045 3. Neither the name of the copyright holder nor the names of its contributors 00046 may be used to endorse or promote products derived from this software 00047 without specific prior written permission. 00048 00049 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00050 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00051 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00052 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00053 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00054 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00055 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00056 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00057 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00058 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00059 00060 00061 ******************************************************************************** 00062 00063 */ 00064 00065 00066 00067 00068 00069 00070 00071 #ifndef _VL53L1_NVM_STRUCTS_H_ 00072 #define _VL53L1_NVM_STRUCTS_H_ 00073 00074 00075 #ifdef __cplusplus 00076 extern "C" 00077 { 00078 #endif 00079 00080 #include "vl53l1_platform.h" 00081 #include "vl53l1_ll_def.h" 00082 00083 00084 00085 00086 typedef struct { 00087 00088 uint16_t result__actual_effective_rtn_spads; 00089 00090 uint8_t ref_spad_array__num_requested_ref_spads; 00091 00092 uint8_t ref_spad_array__ref_location; 00093 00094 uint16_t result__peak_signal_count_rate_rtn_mcps; 00095 00096 uint16_t result__ambient_count_rate_rtn_mcps; 00097 00098 uint16_t result__peak_signal_count_rate_ref_mcps; 00099 00100 uint16_t result__ambient_count_rate_ref_mcps; 00101 00102 uint16_t measured_distance_mm; 00103 00104 uint16_t measured_distance_stdev_mm; 00105 00106 00107 } VL53L1_decoded_nvm_fmt_range_data_t; 00108 00109 00110 00111 00112 typedef struct { 00113 00114 char nvm__fmt__fgc[19]; 00115 00116 uint8_t nvm__fmt__test_program_major; 00117 00118 uint8_t nvm__fmt__test_program_minor; 00119 00120 uint8_t nvm__fmt__map_major; 00121 00122 uint8_t nvm__fmt__map_minor; 00123 00124 uint8_t nvm__fmt__year; 00125 00126 uint8_t nvm__fmt__month; 00127 00128 uint8_t nvm__fmt__day; 00129 00130 uint8_t nvm__fmt__module_date_phase; 00131 00132 uint16_t nvm__fmt__time; 00133 00134 uint8_t nvm__fmt__tester_id; 00135 00136 uint8_t nvm__fmt__site_id; 00137 00138 uint8_t nvm__ews__test_program_major; 00139 00140 uint8_t nvm__ews__test_program_minor; 00141 00142 uint8_t nvm__ews__probe_card_major; 00143 00144 uint8_t nvm__ews__probe_card_minor; 00145 00146 uint8_t nvm__ews__tester_id; 00147 00148 00149 char nvm__ews__lot[8]; 00150 00151 uint8_t nvm__ews__wafer; 00152 00153 uint8_t nvm__ews__xcoord; 00154 00155 uint8_t nvm__ews__ycoord; 00156 00157 } VL53L1_decoded_nvm_fmt_info_t; 00158 00159 00160 00161 00162 typedef struct { 00163 00164 uint8_t nvm__ews__test_program_major; 00165 00166 uint8_t nvm__ews__test_program_minor; 00167 00168 uint8_t nvm__ews__probe_card_major; 00169 00170 uint8_t nvm__ews__probe_card_minor; 00171 00172 uint8_t nvm__ews__tester_id; 00173 00174 00175 char nvm__ews__lot[8]; 00176 00177 uint8_t nvm__ews__wafer; 00178 00179 uint8_t nvm__ews__xcoord; 00180 00181 uint8_t nvm__ews__ycoord; 00182 00183 00184 } VL53L1_decoded_nvm_ews_info_t; 00185 00186 00187 00188 00189 typedef struct { 00190 uint8_t nvm__identification_model_id; 00191 00192 uint8_t nvm__identification_module_type; 00193 00194 uint8_t nvm__identification_revision_id; 00195 00196 uint16_t nvm__identification_module_id; 00197 00198 uint8_t nvm__i2c_valid; 00199 00200 uint8_t nvm__i2c_device_address_ews; 00201 00202 uint16_t nvm__ews__fast_osc_frequency; 00203 00204 uint8_t nvm__ews__fast_osc_trim_max; 00205 00206 uint8_t nvm__ews__fast_osc_freq_set; 00207 00208 uint16_t nvm__ews__slow_osc_calibration; 00209 00210 uint16_t nvm__fmt__fast_osc_frequency; 00211 00212 uint8_t nvm__fmt__fast_osc_trim_max; 00213 00214 uint8_t nvm__fmt__fast_osc_freq_set; 00215 00216 uint16_t nvm__fmt__slow_osc_calibration; 00217 00218 uint8_t nvm__vhv_config_unlock; 00219 00220 uint8_t nvm__ref_selvddpix; 00221 00222 uint8_t nvm__ref_selvquench; 00223 00224 uint8_t nvm__regavdd1v2_sel; 00225 00226 uint8_t nvm__regdvdd1v2_sel; 00227 00228 uint8_t nvm__vhv_timeout__macrop; 00229 00230 uint8_t nvm__vhv_loop_bound; 00231 00232 uint8_t nvm__vhv_count_threshold; 00233 00234 uint8_t nvm__vhv_offset; 00235 00236 uint8_t nvm__vhv_init_enable; 00237 00238 uint8_t nvm__vhv_init_value; 00239 00240 uint8_t nvm__laser_safety_vcsel_trim_ll; 00241 00242 uint8_t nvm__laser_safety_vcsel_selion_ll; 00243 00244 uint8_t nvm__laser_safety_vcsel_selion_max_ll; 00245 00246 uint8_t nvm__laser_safety_mult_ll; 00247 00248 uint8_t nvm__laser_safety_clip_ll; 00249 00250 uint8_t nvm__laser_safety_vcsel_trim_ld; 00251 00252 uint8_t nvm__laser_safety_vcsel_selion_ld; 00253 00254 uint8_t nvm__laser_safety_vcsel_selion_max_ld; 00255 00256 uint8_t nvm__laser_safety_mult_ld; 00257 00258 uint8_t nvm__laser_safety_clip_ld; 00259 00260 uint8_t nvm__laser_safety_lock_byte; 00261 00262 uint8_t nvm__laser_safety_unlock_byte; 00263 00264 uint8_t nvm__ews__spad_enables_rtn[VL53L1_RTN_SPAD_BUFFER_SIZE]; 00265 00266 uint8_t nvm__ews__spad_enables_ref__loc1[VL53L1_REF_SPAD_BUFFER_SIZE]; 00267 00268 uint8_t nvm__ews__spad_enables_ref__loc2[VL53L1_REF_SPAD_BUFFER_SIZE]; 00269 00270 uint8_t nvm__ews__spad_enables_ref__loc3[VL53L1_REF_SPAD_BUFFER_SIZE]; 00271 00272 uint8_t nvm__fmt__spad_enables_rtn[VL53L1_RTN_SPAD_BUFFER_SIZE]; 00273 00274 uint8_t nvm__fmt__spad_enables_ref__loc1[VL53L1_REF_SPAD_BUFFER_SIZE]; 00275 00276 uint8_t nvm__fmt__spad_enables_ref__loc2[VL53L1_REF_SPAD_BUFFER_SIZE]; 00277 00278 uint8_t nvm__fmt__spad_enables_ref__loc3[VL53L1_REF_SPAD_BUFFER_SIZE]; 00279 00280 uint8_t nvm__fmt__roi_config__mode_roi_centre_spad; 00281 00282 uint8_t nvm__fmt__roi_config__mode_roi_x_size; 00283 00284 uint8_t nvm__fmt__roi_config__mode_roi_y_size; 00285 00286 uint8_t nvm__fmt__ref_spad_apply__num_requested_ref_spad; 00287 00288 uint8_t nvm__fmt__ref_spad_man__ref_location; 00289 00290 uint16_t nvm__fmt__mm_config__inner_offset_mm; 00291 00292 uint16_t nvm__fmt__mm_config__outer_offset_mm; 00293 00294 uint16_t nvm__fmt__algo_part_to_part_range_offset_mm; 00295 00296 uint16_t nvm__fmt__algo__crosstalk_compensation_plane_offset_kcps; 00297 00298 uint16_t nvm__fmt__algo__crosstalk_compensation_x_plane_gradient_kcps; 00299 00300 uint16_t nvm__fmt__algo__crosstalk_compensation_y_plane_gradient_kcps; 00301 00302 uint8_t nvm__fmt__spare__host_config__nvm_config_spare_0; 00303 00304 uint8_t nvm__fmt__spare__host_config__nvm_config_spare_1; 00305 00306 uint8_t nvm__customer_space_programmed; 00307 00308 uint8_t nvm__cust__i2c_device_address; 00309 00310 uint8_t nvm__cust__ref_spad_apply__num_requested_ref_spad; 00311 00312 uint8_t nvm__cust__ref_spad_man__ref_location; 00313 00314 uint16_t nvm__cust__mm_config__inner_offset_mm; 00315 00316 uint16_t nvm__cust__mm_config__outer_offset_mm; 00317 00318 uint16_t nvm__cust__algo_part_to_part_range_offset_mm; 00319 00320 uint16_t nvm__cust__algo__crosstalk_compensation_plane_offset_kcps; 00321 00322 uint16_t nvm__cust__algo__crosstalk_compensation_x_plane_gradient_kcps; 00323 00324 uint16_t nvm__cust__algo__crosstalk_compensation_y_plane_gradient_kcps; 00325 00326 uint8_t nvm__cust__spare__host_config__nvm_config_spare_0; 00327 00328 uint8_t nvm__cust__spare__host_config__nvm_config_spare_1; 00329 00330 00331 VL53L1_optical_centre_t fmt_optical_centre; 00332 VL53L1_cal_peak_rate_map_t fmt_peak_rate_map; 00333 VL53L1_additional_offset_cal_data_t fmt_add_offset_data; 00334 00335 VL53L1_decoded_nvm_fmt_range_data_t 00336 fmt_range_data[VL53L1_NVM_MAX_FMT_RANGE_DATA]; 00337 00338 VL53L1_decoded_nvm_fmt_info_t fmt_info; 00339 VL53L1_decoded_nvm_ews_info_t ews_info; 00340 00341 } VL53L1_decoded_nvm_data_t; 00342 00343 00344 00345 #ifdef __cplusplus 00346 } 00347 #endif 00348 00349 #endif 00350 00351
Generated on Tue Jul 12 2022 20:07:15 by 1.7.2