x-cube-tof1/Drivers/BSP/Components/vl53l4cx/modules/vl53lx_nvm_debug.c

1033 lines
22 KiB
C

/**
******************************************************************************
* Copyright (c) 2020, STMicroelectronics - All Rights Reserved
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
#include "vl53lx_platform.h"
#include <vl53lx_platform_log.h>
#include "vl53lx_ll_def.h"
#include "vl53lx_register_map.h"
#include "vl53lx_api_debug.h"
#include "vl53lx_nvm_structs.h"
#include "vl53lx_nvm_debug.h"
#define LOG_FUNCTION_START(fmt, ...) \
_LOG_FUNCTION_START(VL53LX_TRACE_MODULE_NVM, fmt, ##__VA_ARGS__)
#define LOG_FUNCTION_END(status, ...) \
_LOG_FUNCTION_END(VL53LX_TRACE_MODULE_NVM, status, ##__VA_ARGS__)
#define LOG_FUNCTION_END_FMT(status, fmt, ...) \
_LOG_FUNCTION_END_FMT(VL53LX_TRACE_MODULE_NVM,\
status, fmt, ##__VA_ARGS__)
#define trace_print(level, ...) \
_LOG_TRACE_PRINT(trace_flags, \
level, VL53LX_TRACE_FUNCTION_NONE, ##__VA_ARGS__)
#ifdef VL53LX_LOG_ENABLE
void VL53LX_print_nvm_raw_data(
uint8_t *pnvm_raw_data,
uint32_t trace_flags)
{
int i = 0;
LOG_FUNCTION_START("");
for (i = 0 ; i < VL53LX_NVM_SIZE_IN_BYTES ; i++) {
if (i % 4 == 0)
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"\n NVM Addr 0x%02X : 0x",
i/4);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%02X",
*pnvm_raw_data++);
}
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"\n");
LOG_FUNCTION_END(0);
}
void VL53LX_print_decoded_nvm_data(
VL53LX_decoded_nvm_data_t *pdata,
char *pprefix,
uint32_t trace_flags)
{
char fp_text[VL53LX_MAX_STRING_LENGTH];
char pre_text[VL53LX_MAX_STRING_LENGTH];
char *ppre_text = &(pre_text[0]);
uint8_t i = 0;
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__identification_model_id",
pdata->nvm__identification_model_id);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__identification_module_type",
pdata->nvm__identification_module_type);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__identification_revision_id",
pdata->nvm__identification_revision_id);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__identification_module_id",
pdata->nvm__identification_module_id);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__i2c_valid",
pdata->nvm__i2c_valid);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__i2c_device_address_ews",
pdata->nvm__i2c_device_address_ews);
VL53LX_signed_fixed_point_sprintf(
(int32_t)pdata->nvm__ews__fast_osc_frequency,
12,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"nvm__ews__fast_osc_frequency",
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__fast_osc_trim_max",
pdata->nvm__ews__fast_osc_trim_max);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__fast_osc_freq_set",
pdata->nvm__ews__fast_osc_freq_set);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__slow_osc_calibration",
pdata->nvm__ews__slow_osc_calibration);
VL53LX_signed_fixed_point_sprintf(
(int32_t)pdata->nvm__fmt__fast_osc_frequency,
12,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"nvm__fmt__fast_osc_frequency",
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__fast_osc_trim_max",
pdata->nvm__fmt__fast_osc_trim_max);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__fast_osc_freq_set",
pdata->nvm__fmt__fast_osc_freq_set);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__slow_osc_calibration",
pdata->nvm__fmt__slow_osc_calibration);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__vhv_config_unlock",
pdata->nvm__vhv_config_unlock);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ref_selvddpix",
pdata->nvm__ref_selvddpix);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ref_selvquench",
pdata->nvm__ref_selvquench);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__regavdd1v2_sel",
pdata->nvm__regavdd1v2_sel);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__regdvdd1v2_sel",
pdata->nvm__regdvdd1v2_sel);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__vhv_timeout__macrop",
pdata->nvm__vhv_timeout__macrop);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__vhv_loop_bound",
pdata->nvm__vhv_loop_bound);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__vhv_count_threshold",
pdata->nvm__vhv_count_threshold);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__vhv_offset",
pdata->nvm__vhv_offset);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__vhv_init_enable",
pdata->nvm__vhv_init_enable);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__vhv_init_value",
pdata->nvm__vhv_init_value);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_vcsel_trim_ll",
pdata->nvm__laser_safety_vcsel_trim_ll);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_vcsel_selion_ll",
pdata->nvm__laser_safety_vcsel_selion_ll);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_vcsel_selion_max_ll",
pdata->nvm__laser_safety_vcsel_selion_max_ll);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_mult_ll",
pdata->nvm__laser_safety_mult_ll);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_clip_ll",
pdata->nvm__laser_safety_clip_ll);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_vcsel_trim_ld",
pdata->nvm__laser_safety_vcsel_trim_ld);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_vcsel_selion_ld",
pdata->nvm__laser_safety_vcsel_selion_ld);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_vcsel_selion_max_ld",
pdata->nvm__laser_safety_vcsel_selion_max_ld);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_mult_ld",
pdata->nvm__laser_safety_mult_ld);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_clip_ld",
pdata->nvm__laser_safety_clip_ld);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_lock_byte",
pdata->nvm__laser_safety_lock_byte);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__laser_safety_unlock_byte",
pdata->nvm__laser_safety_unlock_byte);
for (i = 0 ; i < VL53LX_RTN_SPAD_BUFFER_SIZE ; i++) {
sprintf(
ppre_text,
"%snvm__ews__spad_enables_rtn[%u]",
pprefix, i);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s = %u\n",
ppre_text,
pdata->nvm__ews__spad_enables_rtn[i]);
}
for (i = 0 ; i < VL53LX_REF_SPAD_BUFFER_SIZE ; i++) {
sprintf(
ppre_text,
"%snvm__ews__spad_enables_ref__loc1[%u]",
pprefix, i);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s = %u\n",
ppre_text,
pdata->nvm__ews__spad_enables_ref__loc1[i]);
}
for (i = 0 ; i < VL53LX_REF_SPAD_BUFFER_SIZE ; i++) {
sprintf(
ppre_text,
"%snvm__ews__spad_enables_ref__loc2[%u]",
pprefix, i);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s = %u\n",
ppre_text,
pdata->nvm__ews__spad_enables_ref__loc2[i]);
}
for (i = 0 ; i < VL53LX_REF_SPAD_BUFFER_SIZE ; i++) {
sprintf(
ppre_text,
"%snvm__ews__spad_enables_ref__loc3[%u]",
pprefix, i);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s = %u\n",
ppre_text,
pdata->nvm__ews__spad_enables_ref__loc3[i]);
}
for (i = 0 ; i < VL53LX_RTN_SPAD_BUFFER_SIZE ; i++) {
sprintf(
ppre_text,
"%snvm__fmt__spad_enables_rtn[%u]",
pprefix, i);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s = %u\n",
ppre_text,
pdata->nvm__fmt__spad_enables_rtn[i]);
}
for (i = 0 ; i < VL53LX_REF_SPAD_BUFFER_SIZE ; i++) {
sprintf(
ppre_text,
"%snvm__fmt__spad_enables_ref__loc1[%u]",
pprefix, i);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s = %u\n",
ppre_text,
pdata->nvm__fmt__spad_enables_ref__loc1[i]);
}
for (i = 0 ; i < VL53LX_REF_SPAD_BUFFER_SIZE ; i++) {
sprintf(
ppre_text,
"%snvm__fmt__spad_enables_ref__loc2[%u]",
pprefix, i);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s = %u\n",
ppre_text,
pdata->nvm__fmt__spad_enables_ref__loc2[i]);
}
for (i = 0 ; i < VL53LX_REF_SPAD_BUFFER_SIZE ; i++) {
sprintf(
ppre_text,
"%snvm__fmt__spad_enables_ref__loc3[%u]",
pprefix, i);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s = %u\n",
ppre_text,
pdata->nvm__fmt__spad_enables_ref__loc3[i]);
}
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__roi_config__mode_roi_centre_spad",
pdata->nvm__fmt__roi_config__mode_roi_centre_spad);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__roi_config__mode_roi_x_size",
pdata->nvm__fmt__roi_config__mode_roi_x_size);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__roi_config__mode_roi_y_size",
pdata->nvm__fmt__roi_config__mode_roi_y_size);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__ref_spad_apply__num_requested_ref_spad",
pdata->nvm__fmt__ref_spad_apply__num_requested_ref_spad);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__ref_spad_man__ref_location",
pdata->nvm__fmt__ref_spad_man__ref_location);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %d\n",
pprefix,
"nvm__fmt__mm_config__inner_offset_mm",
pdata->nvm__fmt__mm_config__inner_offset_mm);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %d\n",
pprefix,
"nvm__fmt__mm_config__outer_offset_mm",
pdata->nvm__fmt__mm_config__outer_offset_mm);
VL53LX_signed_fixed_point_sprintf(
(int32_t)pdata->nvm__fmt__algo_part_to_part_range_offset_mm,
2,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"nvm__fmt__algo_part_to_part_range_offset_mm",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(int32_t)(
pdata->nvm__fmt__algo__crosstalk_compensation_plane_offset_kcps),
9,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"nvm__fmt__algo__crosstalk_compensation_plane_offset_kcps",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(int32_t)(
pdata->nvm__fmt__algo__crosstalk_compensation_x_plane_gradient_kcps),
11,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"nvm__fmt__algo__crosstalk_compensation_x_plane_gradient_kcps",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(int32_t)(
pdata->nvm__fmt__algo__crosstalk_compensation_y_plane_gradient_kcps),
11,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"nvm__fmt__algo__crosstalk_compensation_y_plane_gradient_kcps",
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__spare__host_config__nvm_config_spare_0",
pdata->nvm__fmt__spare__host_config__nvm_config_spare_0);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__spare__host_config__nvm_config_spare_1",
pdata->nvm__fmt__spare__host_config__nvm_config_spare_1);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__customer_space_programmed",
pdata->nvm__customer_space_programmed);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__cust__i2c_device_address",
pdata->nvm__cust__i2c_device_address);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__cust__ref_spad_apply__num_requested_ref_spad",
pdata->nvm__cust__ref_spad_apply__num_requested_ref_spad);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__cust__ref_spad_man__ref_location",
pdata->nvm__cust__ref_spad_man__ref_location);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %d\n",
pprefix,
"nvm__cust__mm_config__inner_offset_mm",
pdata->nvm__cust__mm_config__inner_offset_mm);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %d\n",
pprefix,
"nvm__cust__mm_config__outer_offset_mm",
pdata->nvm__cust__mm_config__outer_offset_mm);
VL53LX_signed_fixed_point_sprintf(
(int32_t)pdata->nvm__cust__algo_part_to_part_range_offset_mm,
2,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"nvm__cust__algo_part_to_part_range_offset_mm",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(uint32_t)(
pdata->nvm__cust__algo__crosstalk_compensation_plane_offset_kcps),
9,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"nvm__cust__algo__crosstalk_compensation_plane_offset_kcps",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(int32_t)(
pdata->nvm__cust__algo__crosstalk_compensation_x_plane_gradient_kcps),
11,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"nvm__cust__algo__crosstalk_compensation_x_plane_gradient_kcps",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(int32_t)(
pdata->nvm__cust__algo__crosstalk_compensation_y_plane_gradient_kcps),
11,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"nvm__cust__algo__crosstalk_compensation_y_plane_gradient_kcps",
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__cust__spare__host_config__nvm_config_spare_0",
pdata->nvm__cust__spare__host_config__nvm_config_spare_0);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__cust__spare__host_config__nvm_config_spare_1",
pdata->nvm__cust__spare__host_config__nvm_config_spare_1);
sprintf(
ppre_text,
"%sfmt_optical_centre.", pprefix);
VL53LX_print_optical_centre(
&(pdata->fmt_optical_centre),
ppre_text,
VL53LX_TRACE_MODULE_NVM_DATA);
sprintf(
ppre_text,
"%sfmt_peak_rate_map.", pprefix);
VL53LX_print_cal_peak_rate_map(
&(pdata->fmt_peak_rate_map),
ppre_text,
VL53LX_TRACE_MODULE_NVM_DATA);
sprintf(
ppre_text,
"%sfmt_add_offset_data.",
pprefix);
VL53LX_print_additional_offset_cal_data(
&(pdata->fmt_add_offset_data),
ppre_text,
VL53LX_TRACE_MODULE_NVM_DATA);
for (i = 0 ; i < VL53LX_NVM_MAX_FMT_RANGE_DATA ; i++) {
sprintf(
ppre_text,
"%sfmt_range_data[%u].",
pprefix, i);
VL53LX_print_decoded_nvm_fmt_range_data(
&(pdata->fmt_range_data[i]),
ppre_text,
trace_flags);
}
sprintf(
ppre_text,
"%sfmt_info.",
pprefix);
VL53LX_print_decoded_nvm_fmt_info(
&(pdata->fmt_info),
ppre_text,
trace_flags);
sprintf(
ppre_text,
"%sews_info.",
pprefix);
VL53LX_print_decoded_nvm_ews_info(
&(pdata->ews_info),
ppre_text,
trace_flags);
}
void VL53LX_print_decoded_nvm_fmt_range_data(
VL53LX_decoded_nvm_fmt_range_data_t *pdata,
char *pprefix,
uint32_t trace_flags)
{
char fp_text[VL53LX_MAX_STRING_LENGTH];
VL53LX_signed_fixed_point_sprintf(
(int32_t)pdata->result__actual_effective_rtn_spads,
8,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"result__actual_effective_rtn_spads",
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"ref_spad_array__num_requested_ref_spads",
pdata->ref_spad_array__num_requested_ref_spads);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"ref_spad_array__ref_location",
pdata->ref_spad_array__ref_location);
VL53LX_signed_fixed_point_sprintf(
(int32_t)pdata->result__peak_signal_count_rate_rtn_mcps,
7,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"result__peak_signal_count_rate_rtn_mcps",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(int32_t)pdata->result__ambient_count_rate_rtn_mcps,
7,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"result__ambient_count_rate_rtn_mcps",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(int32_t)pdata->result__peak_signal_count_rate_ref_mcps,
7,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"result__peak_signal_count_rate_ref_mcps",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(int32_t)pdata->result__ambient_count_rate_ref_mcps,
7,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"result__ambient_count_rate_ref_mcps",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(int32_t)pdata->measured_distance_mm,
4,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"measured_distance_mm",
fp_text);
VL53LX_signed_fixed_point_sprintf(
(uint32_t)pdata->measured_distance_stdev_mm,
4,
VL53LX_MAX_STRING_LENGTH,
fp_text);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %s\n",
pprefix,
"measured_distance_stdev_mm",
fp_text);
}
void VL53LX_print_decoded_nvm_fmt_info(
VL53LX_decoded_nvm_fmt_info_t *pdata,
char *pprefix,
uint32_t trace_flags)
{
trace_print(VL53LX_TRACE_LEVEL_INFO,
"%s%s = \"%s\"\n",
pprefix,
"nvm__fmt__fgc",
pdata->nvm__fmt__fgc);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__test_program_major",
pdata->nvm__fmt__test_program_major);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__test_program_minor",
pdata->nvm__fmt__test_program_minor);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__map_major",
pdata->nvm__fmt__map_major);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__map_minor",
pdata->nvm__fmt__map_minor);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__year",
pdata->nvm__fmt__year);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__month",
pdata->nvm__fmt__month);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__day",
pdata->nvm__fmt__day);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__module_date_phase",
pdata->nvm__fmt__module_date_phase);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__time",
pdata->nvm__fmt__time);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__tester_id",
pdata->nvm__fmt__tester_id);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__fmt__site_id",
pdata->nvm__fmt__site_id);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__test_program_major",
pdata->nvm__ews__test_program_major);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__test_program_minor",
pdata->nvm__ews__test_program_minor);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__probe_card_major",
pdata->nvm__ews__probe_card_major);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__probe_card_minor",
pdata->nvm__ews__probe_card_minor);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__tester_id",
pdata->nvm__ews__tester_id);
}
void VL53LX_print_decoded_nvm_ews_info(
VL53LX_decoded_nvm_ews_info_t *pdata,
char *pprefix,
uint32_t trace_flags)
{
trace_print(VL53LX_TRACE_LEVEL_INFO,
"%s%s = \"%s\"\n",
pprefix,
"nvm__ews__lot",
pdata->nvm__ews__lot);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__wafer",
pdata->nvm__ews__wafer);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__xcoord",
pdata->nvm__ews__xcoord);
trace_print(
VL53LX_TRACE_LEVEL_INFO,
"%s%s = %u\n",
pprefix,
"nvm__ews__ycoord",
pdata->nvm__ews__ycoord);
}
#endif