Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
vl53l1_nvm_debug.c
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 #include "vl53l1_ll_def.h" 00016 #include "vl53l1_platform.h" 00017 #include "vl53l1_platform_log.h" 00018 #include "vl53l1_register_map.h" 00019 #include "vl53l1_api_debug.h" 00020 #include "vl53l1_nvm_structs.h" 00021 #include "vl53l1_nvm_debug.h" 00022 00023 #define LOG_FUNCTION_START(fmt, ...) \ 00024 _LOG_FUNCTION_START(VL53L1_TRACE_MODULE_NVM, fmt, ##__VA_ARGS__) 00025 #define LOG_FUNCTION_END(status, ...) \ 00026 _LOG_FUNCTION_END(VL53L1_TRACE_MODULE_NVM, status, ##__VA_ARGS__) 00027 #define LOG_FUNCTION_END_FMT(status, fmt, ...) \ 00028 _LOG_FUNCTION_END_FMT(VL53L1_TRACE_MODULE_NVM,\ 00029 status, fmt, ##__VA_ARGS__) 00030 00031 #define trace_print(level, ...) \ 00032 _LOG_TRACE_PRINT(trace_flags, \ 00033 level, VL53L1_TRACE_FUNCTION_NONE, ##__VA_ARGS__) 00034 00035 #ifdef VL53L1_LOG_ENABLE 00036 00037 void VL53L1_print_nvm_raw_data( 00038 uint8_t *pnvm_raw_data, 00039 uint32_t trace_flags) 00040 { 00041 00042 00043 int i = 0; 00044 00045 LOG_FUNCTION_START(""); 00046 00047 for (i = 0 ; i < VL53L1_NVM_SIZE_IN_BYTES ; i++) { 00048 if (i % 4 == 0) 00049 trace_print( 00050 VL53L1_TRACE_LEVEL_INFO, 00051 "\n NVM Addr 0x%02X : 0x", 00052 i/4); 00053 00054 trace_print( 00055 VL53L1_TRACE_LEVEL_INFO, 00056 "%02X", 00057 *pnvm_raw_data++); 00058 } 00059 00060 trace_print( 00061 VL53L1_TRACE_LEVEL_INFO, 00062 "\n"); 00063 00064 LOG_FUNCTION_END(0); 00065 } 00066 00067 00068 void VL53L1_print_decoded_nvm_data( 00069 VL53L1_decoded_nvm_data_t *pdata, 00070 char *pprefix, 00071 uint32_t trace_flags) 00072 { 00073 char fp_text[VL53L1_MAX_STRING_LENGTH]; 00074 char pre_text[VL53L1_MAX_STRING_LENGTH]; 00075 char *ppre_text = &(pre_text[0]); 00076 00077 uint8_t i = 0; 00078 00079 trace_print( 00080 VL53L1_TRACE_LEVEL_INFO, 00081 "%s%s = %u\n", 00082 pprefix, 00083 "nvm__identification_model_id", 00084 pdata->nvm__identification_model_id); 00085 00086 trace_print( 00087 VL53L1_TRACE_LEVEL_INFO, 00088 "%s%s = %u\n", 00089 pprefix, 00090 "nvm__identification_module_type", 00091 pdata->nvm__identification_module_type); 00092 00093 trace_print( 00094 VL53L1_TRACE_LEVEL_INFO, 00095 "%s%s = %u\n", 00096 pprefix, 00097 "nvm__identification_revision_id", 00098 pdata->nvm__identification_revision_id); 00099 00100 trace_print( 00101 VL53L1_TRACE_LEVEL_INFO, 00102 "%s%s = %u\n", 00103 pprefix, 00104 "nvm__identification_module_id", 00105 pdata->nvm__identification_module_id); 00106 00107 trace_print( 00108 VL53L1_TRACE_LEVEL_INFO, 00109 "%s%s = %u\n", 00110 pprefix, 00111 "nvm__i2c_valid", 00112 pdata->nvm__i2c_valid); 00113 00114 trace_print( 00115 VL53L1_TRACE_LEVEL_INFO, 00116 "%s%s = %u\n", 00117 pprefix, 00118 "nvm__i2c_device_address_ews", 00119 pdata->nvm__i2c_device_address_ews); 00120 00121 VL53L1_signed_fixed_point_sprintf( 00122 (int32_t)pdata->nvm__ews__fast_osc_frequency, 00123 12, 00124 VL53L1_MAX_STRING_LENGTH, 00125 fp_text); 00126 00127 trace_print( 00128 VL53L1_TRACE_LEVEL_INFO, 00129 "%s%s = %s\n", 00130 pprefix, 00131 "nvm__ews__fast_osc_frequency", 00132 fp_text); 00133 00134 trace_print( 00135 VL53L1_TRACE_LEVEL_INFO, 00136 "%s%s = %u\n", 00137 pprefix, 00138 "nvm__ews__fast_osc_trim_max", 00139 pdata->nvm__ews__fast_osc_trim_max); 00140 00141 trace_print( 00142 VL53L1_TRACE_LEVEL_INFO, 00143 "%s%s = %u\n", 00144 pprefix, 00145 "nvm__ews__fast_osc_freq_set", 00146 pdata->nvm__ews__fast_osc_freq_set); 00147 00148 trace_print( 00149 VL53L1_TRACE_LEVEL_INFO, 00150 "%s%s = %u\n", 00151 pprefix, 00152 "nvm__ews__slow_osc_calibration", 00153 pdata->nvm__ews__slow_osc_calibration); 00154 00155 VL53L1_signed_fixed_point_sprintf( 00156 (int32_t)pdata->nvm__fmt__fast_osc_frequency, 00157 12, 00158 VL53L1_MAX_STRING_LENGTH, 00159 fp_text); 00160 00161 trace_print( 00162 VL53L1_TRACE_LEVEL_INFO, 00163 "%s%s = %s\n", 00164 pprefix, 00165 "nvm__fmt__fast_osc_frequency", 00166 fp_text); 00167 00168 trace_print( 00169 VL53L1_TRACE_LEVEL_INFO, 00170 "%s%s = %u\n", 00171 pprefix, 00172 "nvm__fmt__fast_osc_trim_max", 00173 pdata->nvm__fmt__fast_osc_trim_max); 00174 00175 trace_print( 00176 VL53L1_TRACE_LEVEL_INFO, 00177 "%s%s = %u\n", 00178 pprefix, 00179 "nvm__fmt__fast_osc_freq_set", 00180 pdata->nvm__fmt__fast_osc_freq_set); 00181 00182 trace_print( 00183 VL53L1_TRACE_LEVEL_INFO, 00184 "%s%s = %u\n", 00185 pprefix, 00186 "nvm__fmt__slow_osc_calibration", 00187 pdata->nvm__fmt__slow_osc_calibration); 00188 00189 trace_print( 00190 VL53L1_TRACE_LEVEL_INFO, 00191 "%s%s = %u\n", 00192 pprefix, 00193 "nvm__vhv_config_unlock", 00194 pdata->nvm__vhv_config_unlock); 00195 00196 trace_print( 00197 VL53L1_TRACE_LEVEL_INFO, 00198 "%s%s = %u\n", 00199 pprefix, 00200 "nvm__ref_selvddpix", 00201 pdata->nvm__ref_selvddpix); 00202 00203 trace_print( 00204 VL53L1_TRACE_LEVEL_INFO, 00205 "%s%s = %u\n", 00206 pprefix, 00207 "nvm__ref_selvquench", 00208 pdata->nvm__ref_selvquench); 00209 00210 trace_print( 00211 VL53L1_TRACE_LEVEL_INFO, 00212 "%s%s = %u\n", 00213 pprefix, 00214 "nvm__regavdd1v2_sel", 00215 pdata->nvm__regavdd1v2_sel); 00216 00217 trace_print( 00218 VL53L1_TRACE_LEVEL_INFO, 00219 "%s%s = %u\n", 00220 pprefix, 00221 "nvm__regdvdd1v2_sel", 00222 pdata->nvm__regdvdd1v2_sel); 00223 00224 trace_print( 00225 VL53L1_TRACE_LEVEL_INFO, 00226 "%s%s = %u\n", 00227 pprefix, 00228 "nvm__vhv_timeout__macrop", 00229 pdata->nvm__vhv_timeout__macrop); 00230 00231 trace_print( 00232 VL53L1_TRACE_LEVEL_INFO, 00233 "%s%s = %u\n", 00234 pprefix, 00235 "nvm__vhv_loop_bound", 00236 pdata->nvm__vhv_loop_bound); 00237 00238 trace_print( 00239 VL53L1_TRACE_LEVEL_INFO, 00240 "%s%s = %u\n", 00241 pprefix, 00242 "nvm__vhv_count_threshold", 00243 pdata->nvm__vhv_count_threshold); 00244 00245 trace_print( 00246 VL53L1_TRACE_LEVEL_INFO, 00247 "%s%s = %u\n", 00248 pprefix, 00249 "nvm__vhv_offset", 00250 pdata->nvm__vhv_offset); 00251 00252 trace_print( 00253 VL53L1_TRACE_LEVEL_INFO, 00254 "%s%s = %u\n", 00255 pprefix, 00256 "nvm__vhv_init_enable", 00257 pdata->nvm__vhv_init_enable); 00258 00259 trace_print( 00260 VL53L1_TRACE_LEVEL_INFO, 00261 "%s%s = %u\n", 00262 pprefix, 00263 "nvm__vhv_init_value", 00264 pdata->nvm__vhv_init_value); 00265 00266 trace_print( 00267 VL53L1_TRACE_LEVEL_INFO, 00268 "%s%s = %u\n", 00269 pprefix, 00270 "nvm__laser_safety_vcsel_trim_ll", 00271 pdata->nvm__laser_safety_vcsel_trim_ll); 00272 00273 trace_print( 00274 VL53L1_TRACE_LEVEL_INFO, 00275 "%s%s = %u\n", 00276 pprefix, 00277 "nvm__laser_safety_vcsel_selion_ll", 00278 pdata->nvm__laser_safety_vcsel_selion_ll); 00279 00280 trace_print( 00281 VL53L1_TRACE_LEVEL_INFO, 00282 "%s%s = %u\n", 00283 pprefix, 00284 "nvm__laser_safety_vcsel_selion_max_ll", 00285 pdata->nvm__laser_safety_vcsel_selion_max_ll); 00286 00287 trace_print( 00288 VL53L1_TRACE_LEVEL_INFO, 00289 "%s%s = %u\n", 00290 pprefix, 00291 "nvm__laser_safety_mult_ll", 00292 pdata->nvm__laser_safety_mult_ll); 00293 00294 trace_print( 00295 VL53L1_TRACE_LEVEL_INFO, 00296 "%s%s = %u\n", 00297 pprefix, 00298 "nvm__laser_safety_clip_ll", 00299 pdata->nvm__laser_safety_clip_ll); 00300 00301 trace_print( 00302 VL53L1_TRACE_LEVEL_INFO, 00303 "%s%s = %u\n", 00304 pprefix, 00305 "nvm__laser_safety_vcsel_trim_ld", 00306 pdata->nvm__laser_safety_vcsel_trim_ld); 00307 00308 trace_print( 00309 VL53L1_TRACE_LEVEL_INFO, 00310 "%s%s = %u\n", 00311 pprefix, 00312 "nvm__laser_safety_vcsel_selion_ld", 00313 pdata->nvm__laser_safety_vcsel_selion_ld); 00314 00315 trace_print( 00316 VL53L1_TRACE_LEVEL_INFO, 00317 "%s%s = %u\n", 00318 pprefix, 00319 "nvm__laser_safety_vcsel_selion_max_ld", 00320 pdata->nvm__laser_safety_vcsel_selion_max_ld); 00321 00322 trace_print( 00323 VL53L1_TRACE_LEVEL_INFO, 00324 "%s%s = %u\n", 00325 pprefix, 00326 "nvm__laser_safety_mult_ld", 00327 pdata->nvm__laser_safety_mult_ld); 00328 00329 trace_print( 00330 VL53L1_TRACE_LEVEL_INFO, 00331 "%s%s = %u\n", 00332 pprefix, 00333 "nvm__laser_safety_clip_ld", 00334 pdata->nvm__laser_safety_clip_ld); 00335 00336 trace_print( 00337 VL53L1_TRACE_LEVEL_INFO, 00338 "%s%s = %u\n", 00339 pprefix, 00340 "nvm__laser_safety_lock_byte", 00341 pdata->nvm__laser_safety_lock_byte); 00342 00343 trace_print( 00344 VL53L1_TRACE_LEVEL_INFO, 00345 "%s%s = %u\n", 00346 pprefix, 00347 "nvm__laser_safety_unlock_byte", 00348 pdata->nvm__laser_safety_unlock_byte); 00349 00350 00351 00352 for (i = 0 ; i < VL53L1_RTN_SPAD_BUFFER_SIZE ; i++) { 00353 sprintf( 00354 ppre_text, 00355 "%snvm__ews__spad_enables_rtn[%u]", 00356 pprefix, i); 00357 00358 trace_print( 00359 VL53L1_TRACE_LEVEL_INFO, 00360 "%s = %u\n", 00361 ppre_text, 00362 pdata->nvm__ews__spad_enables_rtn[i]); 00363 } 00364 00365 for (i = 0 ; i < VL53L1_REF_SPAD_BUFFER_SIZE ; i++) { 00366 sprintf( 00367 ppre_text, 00368 "%snvm__ews__spad_enables_ref__loc1[%u]", 00369 pprefix, i); 00370 00371 trace_print( 00372 VL53L1_TRACE_LEVEL_INFO, 00373 "%s = %u\n", 00374 ppre_text, 00375 pdata->nvm__ews__spad_enables_ref__loc1[i]); 00376 } 00377 00378 for (i = 0 ; i < VL53L1_REF_SPAD_BUFFER_SIZE ; i++) { 00379 sprintf( 00380 ppre_text, 00381 "%snvm__ews__spad_enables_ref__loc2[%u]", 00382 pprefix, i); 00383 00384 trace_print( 00385 VL53L1_TRACE_LEVEL_INFO, 00386 "%s = %u\n", 00387 ppre_text, 00388 pdata->nvm__ews__spad_enables_ref__loc2[i]); 00389 } 00390 00391 for (i = 0 ; i < VL53L1_REF_SPAD_BUFFER_SIZE ; i++) { 00392 sprintf( 00393 ppre_text, 00394 "%snvm__ews__spad_enables_ref__loc3[%u]", 00395 pprefix, i); 00396 00397 trace_print( 00398 VL53L1_TRACE_LEVEL_INFO, 00399 "%s = %u\n", 00400 ppre_text, 00401 pdata->nvm__ews__spad_enables_ref__loc3[i]); 00402 } 00403 00404 00405 00406 00407 for (i = 0 ; i < VL53L1_RTN_SPAD_BUFFER_SIZE ; i++) { 00408 sprintf( 00409 ppre_text, 00410 "%snvm__fmt__spad_enables_rtn[%u]", 00411 pprefix, i); 00412 00413 trace_print( 00414 VL53L1_TRACE_LEVEL_INFO, 00415 "%s = %u\n", 00416 ppre_text, 00417 pdata->nvm__fmt__spad_enables_rtn[i]); 00418 } 00419 00420 for (i = 0 ; i < VL53L1_REF_SPAD_BUFFER_SIZE ; i++) { 00421 sprintf( 00422 ppre_text, 00423 "%snvm__fmt__spad_enables_ref__loc1[%u]", 00424 pprefix, i); 00425 00426 trace_print( 00427 VL53L1_TRACE_LEVEL_INFO, 00428 "%s = %u\n", 00429 ppre_text, 00430 pdata->nvm__fmt__spad_enables_ref__loc1[i]); 00431 } 00432 00433 for (i = 0 ; i < VL53L1_REF_SPAD_BUFFER_SIZE ; i++) { 00434 sprintf( 00435 ppre_text, 00436 "%snvm__fmt__spad_enables_ref__loc2[%u]", 00437 pprefix, i); 00438 00439 trace_print( 00440 VL53L1_TRACE_LEVEL_INFO, 00441 "%s = %u\n", 00442 ppre_text, 00443 pdata->nvm__fmt__spad_enables_ref__loc2[i]); 00444 } 00445 00446 for (i = 0 ; i < VL53L1_REF_SPAD_BUFFER_SIZE ; i++) { 00447 sprintf( 00448 ppre_text, 00449 "%snvm__fmt__spad_enables_ref__loc3[%u]", 00450 pprefix, i); 00451 00452 trace_print( 00453 VL53L1_TRACE_LEVEL_INFO, 00454 "%s = %u\n", 00455 ppre_text, 00456 pdata->nvm__fmt__spad_enables_ref__loc3[i]); 00457 } 00458 00459 trace_print( 00460 VL53L1_TRACE_LEVEL_INFO, 00461 "%s%s = %u\n", 00462 pprefix, 00463 "nvm__fmt__roi_config__mode_roi_centre_spad", 00464 pdata->nvm__fmt__roi_config__mode_roi_centre_spad); 00465 00466 trace_print( 00467 VL53L1_TRACE_LEVEL_INFO, 00468 "%s%s = %u\n", 00469 pprefix, 00470 "nvm__fmt__roi_config__mode_roi_x_size", 00471 pdata->nvm__fmt__roi_config__mode_roi_x_size); 00472 00473 trace_print( 00474 VL53L1_TRACE_LEVEL_INFO, 00475 "%s%s = %u\n", 00476 pprefix, 00477 "nvm__fmt__roi_config__mode_roi_y_size", 00478 pdata->nvm__fmt__roi_config__mode_roi_y_size); 00479 00480 trace_print( 00481 VL53L1_TRACE_LEVEL_INFO, 00482 "%s%s = %u\n", 00483 pprefix, 00484 "nvm__fmt__ref_spad_apply__num_requested_ref_spad", 00485 pdata->nvm__fmt__ref_spad_apply__num_requested_ref_spad); 00486 00487 trace_print( 00488 VL53L1_TRACE_LEVEL_INFO, 00489 "%s%s = %u\n", 00490 pprefix, 00491 "nvm__fmt__ref_spad_man__ref_location", 00492 pdata->nvm__fmt__ref_spad_man__ref_location); 00493 00494 trace_print( 00495 VL53L1_TRACE_LEVEL_INFO, 00496 "%s%s = %d\n", 00497 pprefix, 00498 "nvm__fmt__mm_config__inner_offset_mm", 00499 pdata->nvm__fmt__mm_config__inner_offset_mm); 00500 00501 trace_print( 00502 VL53L1_TRACE_LEVEL_INFO, 00503 "%s%s = %d\n", 00504 pprefix, 00505 "nvm__fmt__mm_config__outer_offset_mm", 00506 pdata->nvm__fmt__mm_config__outer_offset_mm); 00507 00508 VL53L1_signed_fixed_point_sprintf( 00509 (int32_t)pdata->nvm__fmt__algo_part_to_part_range_offset_mm, 00510 2, 00511 VL53L1_MAX_STRING_LENGTH, 00512 fp_text); 00513 00514 trace_print( 00515 VL53L1_TRACE_LEVEL_INFO, 00516 "%s%s = %s\n", 00517 pprefix, 00518 "nvm__fmt__algo_part_to_part_range_offset_mm", 00519 fp_text); 00520 00521 VL53L1_signed_fixed_point_sprintf( 00522 (int32_t)( 00523 pdata->nvm__fmt__algo__crosstalk_compensation_plane_offset_kcps), 00524 9, 00525 VL53L1_MAX_STRING_LENGTH, 00526 fp_text); 00527 00528 trace_print( 00529 VL53L1_TRACE_LEVEL_INFO, 00530 "%s%s = %s\n", 00531 pprefix, 00532 "nvm__fmt__algo__crosstalk_compensation_plane_offset_kcps", 00533 fp_text); 00534 00535 VL53L1_signed_fixed_point_sprintf( 00536 (int32_t)( 00537 pdata->nvm__fmt__algo__crosstalk_compensation_x_plane_gradient_kcps), 00538 11, 00539 VL53L1_MAX_STRING_LENGTH, 00540 fp_text); 00541 00542 trace_print( 00543 VL53L1_TRACE_LEVEL_INFO, 00544 "%s%s = %s\n", 00545 pprefix, 00546 "nvm__fmt__algo__crosstalk_compensation_x_plane_gradient_kcps", 00547 fp_text); 00548 00549 VL53L1_signed_fixed_point_sprintf( 00550 (int32_t)( 00551 pdata->nvm__fmt__algo__crosstalk_compensation_y_plane_gradient_kcps), 00552 11, 00553 VL53L1_MAX_STRING_LENGTH, 00554 fp_text); 00555 00556 trace_print( 00557 VL53L1_TRACE_LEVEL_INFO, 00558 "%s%s = %s\n", 00559 pprefix, 00560 "nvm__fmt__algo__crosstalk_compensation_y_plane_gradient_kcps", 00561 fp_text); 00562 00563 trace_print( 00564 VL53L1_TRACE_LEVEL_INFO, 00565 "%s%s = %u\n", 00566 pprefix, 00567 "nvm__fmt__spare__host_config__nvm_config_spare_0", 00568 pdata->nvm__fmt__spare__host_config__nvm_config_spare_0); 00569 00570 trace_print( 00571 VL53L1_TRACE_LEVEL_INFO, 00572 "%s%s = %u\n", 00573 pprefix, 00574 "nvm__fmt__spare__host_config__nvm_config_spare_1", 00575 pdata->nvm__fmt__spare__host_config__nvm_config_spare_1); 00576 00577 trace_print( 00578 VL53L1_TRACE_LEVEL_INFO, 00579 "%s%s = %u\n", 00580 pprefix, 00581 "nvm__customer_space_programmed", 00582 pdata->nvm__customer_space_programmed); 00583 00584 trace_print( 00585 VL53L1_TRACE_LEVEL_INFO, 00586 "%s%s = %u\n", 00587 pprefix, 00588 "nvm__cust__i2c_device_address", 00589 pdata->nvm__cust__i2c_device_address); 00590 00591 trace_print( 00592 VL53L1_TRACE_LEVEL_INFO, 00593 "%s%s = %u\n", 00594 pprefix, 00595 "nvm__cust__ref_spad_apply__num_requested_ref_spad", 00596 pdata->nvm__cust__ref_spad_apply__num_requested_ref_spad); 00597 00598 trace_print( 00599 VL53L1_TRACE_LEVEL_INFO, 00600 "%s%s = %u\n", 00601 pprefix, 00602 "nvm__cust__ref_spad_man__ref_location", 00603 pdata->nvm__cust__ref_spad_man__ref_location); 00604 00605 trace_print( 00606 VL53L1_TRACE_LEVEL_INFO, 00607 "%s%s = %d\n", 00608 pprefix, 00609 "nvm__cust__mm_config__inner_offset_mm", 00610 pdata->nvm__cust__mm_config__inner_offset_mm); 00611 00612 trace_print( 00613 VL53L1_TRACE_LEVEL_INFO, 00614 "%s%s = %d\n", 00615 pprefix, 00616 "nvm__cust__mm_config__outer_offset_mm", 00617 pdata->nvm__cust__mm_config__outer_offset_mm); 00618 00619 VL53L1_signed_fixed_point_sprintf( 00620 (int32_t)pdata->nvm__cust__algo_part_to_part_range_offset_mm, 00621 2, 00622 VL53L1_MAX_STRING_LENGTH, 00623 fp_text); 00624 00625 trace_print( 00626 VL53L1_TRACE_LEVEL_INFO, 00627 "%s%s = %s\n", 00628 pprefix, 00629 "nvm__cust__algo_part_to_part_range_offset_mm", 00630 fp_text); 00631 00632 VL53L1_signed_fixed_point_sprintf( 00633 (uint32_t)( 00634 pdata->nvm__cust__algo__crosstalk_compensation_plane_offset_kcps), 00635 9, 00636 VL53L1_MAX_STRING_LENGTH, 00637 fp_text); 00638 00639 trace_print( 00640 VL53L1_TRACE_LEVEL_INFO, 00641 "%s%s = %s\n", 00642 pprefix, 00643 "nvm__cust__algo__crosstalk_compensation_plane_offset_kcps", 00644 fp_text); 00645 00646 VL53L1_signed_fixed_point_sprintf( 00647 (int32_t)( 00648 pdata->nvm__cust__algo__crosstalk_compensation_x_plane_gradient_kcps), 00649 11, 00650 VL53L1_MAX_STRING_LENGTH, 00651 fp_text); 00652 00653 trace_print( 00654 VL53L1_TRACE_LEVEL_INFO, 00655 "%s%s = %s\n", 00656 pprefix, 00657 "nvm__cust__algo__crosstalk_compensation_x_plane_gradient_kcps", 00658 fp_text); 00659 00660 VL53L1_signed_fixed_point_sprintf( 00661 (int32_t)( 00662 pdata->nvm__cust__algo__crosstalk_compensation_y_plane_gradient_kcps), 00663 11, 00664 VL53L1_MAX_STRING_LENGTH, 00665 fp_text); 00666 00667 trace_print( 00668 VL53L1_TRACE_LEVEL_INFO, 00669 "%s%s = %s\n", 00670 pprefix, 00671 "nvm__cust__algo__crosstalk_compensation_y_plane_gradient_kcps", 00672 fp_text); 00673 00674 trace_print( 00675 VL53L1_TRACE_LEVEL_INFO, 00676 "%s%s = %u\n", 00677 pprefix, 00678 "nvm__cust__spare__host_config__nvm_config_spare_0", 00679 pdata->nvm__cust__spare__host_config__nvm_config_spare_0); 00680 00681 trace_print( 00682 VL53L1_TRACE_LEVEL_INFO, 00683 "%s%s = %u\n", 00684 pprefix, 00685 "nvm__cust__spare__host_config__nvm_config_spare_1", 00686 pdata->nvm__cust__spare__host_config__nvm_config_spare_1); 00687 00688 00689 00690 sprintf( 00691 ppre_text, 00692 "%sfmt_optical_centre.", pprefix); 00693 00694 VL53L1_print_optical_centre( 00695 &(pdata->fmt_optical_centre), 00696 ppre_text, 00697 VL53L1_TRACE_MODULE_NVM_DATA); 00698 00699 00700 00701 sprintf( 00702 ppre_text, 00703 "%sfmt_peak_rate_map.", pprefix); 00704 00705 VL53L1_print_cal_peak_rate_map( 00706 &(pdata->fmt_peak_rate_map), 00707 ppre_text, 00708 VL53L1_TRACE_MODULE_NVM_DATA); 00709 00710 00711 00712 sprintf( 00713 ppre_text, 00714 "%sfmt_add_offset_data.", 00715 pprefix); 00716 00717 VL53L1_print_additional_offset_cal_data( 00718 &(pdata->fmt_add_offset_data), 00719 ppre_text, 00720 VL53L1_TRACE_MODULE_NVM_DATA); 00721 00722 00723 00724 for (i = 0 ; i < VL53L1_NVM_MAX_FMT_RANGE_DATA ; i++) { 00725 sprintf( 00726 ppre_text, 00727 "%sfmt_range_data[%u].", 00728 pprefix, i); 00729 00730 VL53L1_print_decoded_nvm_fmt_range_data( 00731 &(pdata->fmt_range_data[i]), 00732 ppre_text, 00733 trace_flags); 00734 } 00735 00736 sprintf( 00737 ppre_text, 00738 "%sfmt_info.", 00739 pprefix); 00740 00741 VL53L1_print_decoded_nvm_fmt_info( 00742 &(pdata->fmt_info), 00743 ppre_text, 00744 trace_flags); 00745 00746 sprintf( 00747 ppre_text, 00748 "%sews_info.", 00749 pprefix); 00750 00751 VL53L1_print_decoded_nvm_ews_info( 00752 &(pdata->ews_info), 00753 ppre_text, 00754 trace_flags); 00755 } 00756 00757 00758 void VL53L1_print_decoded_nvm_fmt_range_data( 00759 VL53L1_decoded_nvm_fmt_range_data_t *pdata, 00760 char *pprefix, 00761 uint32_t trace_flags) 00762 { 00763 char fp_text[VL53L1_MAX_STRING_LENGTH]; 00764 00765 VL53L1_signed_fixed_point_sprintf( 00766 (int32_t)pdata->result__actual_effective_rtn_spads, 00767 8, 00768 VL53L1_MAX_STRING_LENGTH, 00769 fp_text); 00770 00771 trace_print( 00772 VL53L1_TRACE_LEVEL_INFO, 00773 "%s%s = %s\n", 00774 pprefix, 00775 "result__actual_effective_rtn_spads", 00776 fp_text); 00777 00778 trace_print( 00779 VL53L1_TRACE_LEVEL_INFO, 00780 "%s%s = %u\n", 00781 pprefix, 00782 "ref_spad_array__num_requested_ref_spads", 00783 pdata->ref_spad_array__num_requested_ref_spads); 00784 00785 trace_print( 00786 VL53L1_TRACE_LEVEL_INFO, 00787 "%s%s = %u\n", 00788 pprefix, 00789 "ref_spad_array__ref_location", 00790 pdata->ref_spad_array__ref_location); 00791 00792 VL53L1_signed_fixed_point_sprintf( 00793 (int32_t)pdata->result__peak_signal_count_rate_rtn_mcps, 00794 7, 00795 VL53L1_MAX_STRING_LENGTH, 00796 fp_text); 00797 00798 trace_print( 00799 VL53L1_TRACE_LEVEL_INFO, 00800 "%s%s = %s\n", 00801 pprefix, 00802 "result__peak_signal_count_rate_rtn_mcps", 00803 fp_text); 00804 00805 VL53L1_signed_fixed_point_sprintf( 00806 (int32_t)pdata->result__ambient_count_rate_rtn_mcps, 00807 7, 00808 VL53L1_MAX_STRING_LENGTH, 00809 fp_text); 00810 00811 trace_print( 00812 VL53L1_TRACE_LEVEL_INFO, 00813 "%s%s = %s\n", 00814 pprefix, 00815 "result__ambient_count_rate_rtn_mcps", 00816 fp_text); 00817 00818 VL53L1_signed_fixed_point_sprintf( 00819 (int32_t)pdata->result__peak_signal_count_rate_ref_mcps, 00820 7, 00821 VL53L1_MAX_STRING_LENGTH, 00822 fp_text); 00823 00824 trace_print( 00825 VL53L1_TRACE_LEVEL_INFO, 00826 "%s%s = %u\n", 00827 pprefix, 00828 "result__peak_signal_count_rate_ref_mcps", 00829 fp_text); 00830 00831 VL53L1_signed_fixed_point_sprintf( 00832 (int32_t)pdata->result__ambient_count_rate_ref_mcps, 00833 7, 00834 VL53L1_MAX_STRING_LENGTH, 00835 fp_text); 00836 00837 trace_print( 00838 VL53L1_TRACE_LEVEL_INFO, 00839 "%s%s = %s\n", 00840 pprefix, 00841 "result__ambient_count_rate_ref_mcps", 00842 fp_text); 00843 00844 VL53L1_signed_fixed_point_sprintf( 00845 (int32_t)pdata->measured_distance_mm, 00846 4, 00847 VL53L1_MAX_STRING_LENGTH, 00848 fp_text); 00849 00850 trace_print( 00851 VL53L1_TRACE_LEVEL_INFO, 00852 "%s%s = %s\n", 00853 pprefix, 00854 "measured_distance_mm", 00855 fp_text); 00856 00857 VL53L1_signed_fixed_point_sprintf( 00858 (uint32_t)pdata->measured_distance_stdev_mm, 00859 4, 00860 VL53L1_MAX_STRING_LENGTH, 00861 fp_text); 00862 00863 trace_print( 00864 VL53L1_TRACE_LEVEL_INFO, 00865 "%s%s = %s\n", 00866 pprefix, 00867 "measured_distance_stdev_mm", 00868 fp_text); 00869 } 00870 00871 00872 void VL53L1_print_decoded_nvm_fmt_info( 00873 VL53L1_decoded_nvm_fmt_info_t *pdata, 00874 char *pprefix, 00875 uint32_t trace_flags) 00876 { 00877 trace_print(VL53L1_TRACE_LEVEL_INFO, 00878 "%s%s = \"%s\"\n", 00879 pprefix, 00880 "nvm__fmt__fgc", 00881 pdata->nvm__fmt__fgc); 00882 00883 trace_print( 00884 VL53L1_TRACE_LEVEL_INFO, 00885 "%s%s = %u\n", 00886 pprefix, 00887 "nvm__fmt__test_program_major", 00888 pdata->nvm__fmt__test_program_major); 00889 00890 trace_print( 00891 VL53L1_TRACE_LEVEL_INFO, 00892 "%s%s = %u\n", 00893 pprefix, 00894 "nvm__fmt__test_program_minor", 00895 pdata->nvm__fmt__test_program_minor); 00896 00897 trace_print( 00898 VL53L1_TRACE_LEVEL_INFO, 00899 "%s%s = %u\n", 00900 pprefix, 00901 "nvm__fmt__map_major", 00902 pdata->nvm__fmt__map_major); 00903 00904 trace_print( 00905 VL53L1_TRACE_LEVEL_INFO, 00906 "%s%s = %u\n", 00907 pprefix, 00908 "nvm__fmt__map_minor", 00909 pdata->nvm__fmt__map_minor); 00910 00911 trace_print( 00912 VL53L1_TRACE_LEVEL_INFO, 00913 "%s%s = %u\n", 00914 pprefix, 00915 "nvm__fmt__year", 00916 pdata->nvm__fmt__year); 00917 00918 trace_print( 00919 VL53L1_TRACE_LEVEL_INFO, 00920 "%s%s = %u\n", 00921 pprefix, 00922 "nvm__fmt__month", 00923 pdata->nvm__fmt__month); 00924 00925 trace_print( 00926 VL53L1_TRACE_LEVEL_INFO, 00927 "%s%s = %u\n", 00928 pprefix, 00929 "nvm__fmt__day", 00930 pdata->nvm__fmt__day); 00931 00932 trace_print( 00933 VL53L1_TRACE_LEVEL_INFO, 00934 "%s%s = %u\n", 00935 pprefix, 00936 "nvm__fmt__module_date_phase", 00937 pdata->nvm__fmt__module_date_phase); 00938 00939 trace_print( 00940 VL53L1_TRACE_LEVEL_INFO, 00941 "%s%s = %u\n", 00942 pprefix, 00943 "nvm__fmt__time", 00944 pdata->nvm__fmt__time); 00945 00946 trace_print( 00947 VL53L1_TRACE_LEVEL_INFO, 00948 "%s%s = %u\n", 00949 pprefix, 00950 "nvm__fmt__tester_id", 00951 pdata->nvm__fmt__tester_id); 00952 00953 trace_print( 00954 VL53L1_TRACE_LEVEL_INFO, 00955 "%s%s = %u\n", 00956 pprefix, 00957 "nvm__fmt__site_id", 00958 pdata->nvm__fmt__site_id); 00959 00960 trace_print( 00961 VL53L1_TRACE_LEVEL_INFO, 00962 "%s%s = %u\n", 00963 pprefix, 00964 "nvm__ews__test_program_major", 00965 pdata->nvm__ews__test_program_major); 00966 00967 trace_print( 00968 VL53L1_TRACE_LEVEL_INFO, 00969 "%s%s = %u\n", 00970 pprefix, 00971 "nvm__ews__test_program_minor", 00972 pdata->nvm__ews__test_program_minor); 00973 00974 trace_print( 00975 VL53L1_TRACE_LEVEL_INFO, 00976 "%s%s = %u\n", 00977 pprefix, 00978 "nvm__ews__probe_card_major", 00979 pdata->nvm__ews__probe_card_major); 00980 00981 trace_print( 00982 VL53L1_TRACE_LEVEL_INFO, 00983 "%s%s = %u\n", 00984 pprefix, 00985 "nvm__ews__probe_card_minor", 00986 pdata->nvm__ews__probe_card_minor); 00987 00988 trace_print( 00989 VL53L1_TRACE_LEVEL_INFO, 00990 "%s%s = %u\n", 00991 pprefix, 00992 "nvm__ews__tester_id", 00993 pdata->nvm__ews__tester_id); 00994 } 00995 00996 00997 void VL53L1_print_decoded_nvm_ews_info( 00998 VL53L1_decoded_nvm_ews_info_t *pdata, 00999 char *pprefix, 01000 uint32_t trace_flags) 01001 { 01002 trace_print(VL53L1_TRACE_LEVEL_INFO, 01003 "%s%s = \"%s\"\n", 01004 pprefix, 01005 "nvm__ews__lot", 01006 pdata->nvm__ews__lot); 01007 01008 trace_print( 01009 VL53L1_TRACE_LEVEL_INFO, 01010 "%s%s = %u\n", 01011 pprefix, 01012 "nvm__ews__wafer", 01013 pdata->nvm__ews__wafer); 01014 01015 trace_print( 01016 VL53L1_TRACE_LEVEL_INFO, 01017 "%s%s = %u\n", 01018 pprefix, 01019 "nvm__ews__xcoord", 01020 pdata->nvm__ews__xcoord); 01021 01022 trace_print( 01023 VL53L1_TRACE_LEVEL_INFO, 01024 "%s%s = %u\n", 01025 pprefix, 01026 "nvm__ews__ycoord", 01027 pdata->nvm__ews__ycoord); 01028 } 01029 01030 #endif 01031 01032
Generated on Thu Jul 14 2022 10:20:22 by
 1.7.2
 1.7.2