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
Dependents: VL53L3CX_NoShield_1Sensor_poll_Mb06x VL53L3_NoShield_1Sensor_polling_Mb63 X_NUCLEO_53L3A2 53L3A2_Ranging
vl53lx_register_structs.h
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 VL53LX 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 #ifndef _VL53LX_REGISTER_STRUCTS_H_ 00014 #define _VL53LX_REGISTER_STRUCTS_H_ 00015 00016 #include "vl53lx_types.h" 00017 #include "vl53lx_register_map.h" 00018 00019 #define VL53LX_STATIC_NVM_MANAGED_I2C_INDEX \ 00020 VL53LX_I2C_SLAVE__DEVICE_ADDRESS 00021 #define VL53LX_CUSTOMER_NVM_MANAGED_I2C_INDEX \ 00022 VL53LX_GLOBAL_CONFIG__SPAD_ENABLES_REF_0 00023 #define VL53LX_STATIC_CONFIG_I2C_INDEX \ 00024 VL53LX_DSS_CONFIG__TARGET_TOTAL_RATE_MCPS 00025 #define VL53LX_GENERAL_CONFIG_I2C_INDEX \ 00026 VL53LX_GPH_CONFIG__STREAM_COUNT_UPDATE_VALUE 00027 #define VL53LX_TIMING_CONFIG_I2C_INDEX \ 00028 VL53LX_MM_CONFIG__TIMEOUT_MACROP_A_HI 00029 #define VL53LX_DYNAMIC_CONFIG_I2C_INDEX \ 00030 VL53LX_SYSTEM__GROUPED_PARAMETER_HOLD_0 00031 #define VL53LX_SYSTEM_CONTROL_I2C_INDEX \ 00032 VL53LX_POWER_MANAGEMENT__GO1_POWER_FORCE 00033 #define VL53LX_SYSTEM_RESULTS_I2C_INDEX \ 00034 VL53LX_RESULT__INTERRUPT_STATUS 00035 #define VL53LX_CORE_RESULTS_I2C_INDEX \ 00036 VL53LX_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0 00037 #define VL53LX_DEBUG_RESULTS_I2C_INDEX \ 00038 VL53LX_PHASECAL_RESULT__REFERENCE_PHASE 00039 #define VL53LX_NVM_COPY_DATA_I2C_INDEX \ 00040 VL53LX_IDENTIFICATION__MODEL_ID 00041 #define VL53LX_PREV_SHADOW_SYSTEM_RESULTS_I2C_INDEX \ 00042 VL53LX_PREV_SHADOW_RESULT__INTERRUPT_STATUS 00043 #define VL53LX_PREV_SHADOW_CORE_RESULTS_I2C_INDEX \ 00044 VL53LX_PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0 00045 #define VL53LX_PATCH_DEBUG_I2C_INDEX \ 00046 VL53LX_RESULT__DEBUG_STATUS 00047 #define VL53LX_GPH_GENERAL_CONFIG_I2C_INDEX \ 00048 VL53LX_GPH__SYSTEM__THRESH_RATE_HIGH 00049 #define VL53LX_GPH_STATIC_CONFIG_I2C_INDEX \ 00050 VL53LX_GPH__DSS_CONFIG__ROI_MODE_CONTROL 00051 #define VL53LX_GPH_TIMING_CONFIG_I2C_INDEX \ 00052 VL53LX_GPH__MM_CONFIG__TIMEOUT_MACROP_A_HI 00053 #define VL53LX_FW_INTERNAL_I2C_INDEX \ 00054 VL53LX_FIRMWARE__INTERNAL_STREAM_COUNT_DIV 00055 #define VL53LX_PATCH_RESULTS_I2C_INDEX \ 00056 VL53LX_DSS_CALC__ROI_CTRL 00057 #define VL53LX_SHADOW_SYSTEM_RESULTS_I2C_INDEX \ 00058 VL53LX_SHADOW_PHASECAL_RESULT__VCSEL_START 00059 #define VL53LX_SHADOW_CORE_RESULTS_I2C_INDEX \ 00060 VL53LX_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0 00061 00062 #define VL53LX_STATIC_NVM_MANAGED_I2C_SIZE_BYTES 11 00063 #define VL53LX_CUSTOMER_NVM_MANAGED_I2C_SIZE_BYTES 23 00064 #define VL53LX_STATIC_CONFIG_I2C_SIZE_BYTES 32 00065 #define VL53LX_GENERAL_CONFIG_I2C_SIZE_BYTES 22 00066 #define VL53LX_TIMING_CONFIG_I2C_SIZE_BYTES 23 00067 #define VL53LX_DYNAMIC_CONFIG_I2C_SIZE_BYTES 18 00068 #define VL53LX_SYSTEM_CONTROL_I2C_SIZE_BYTES 5 00069 #define VL53LX_SYSTEM_RESULTS_I2C_SIZE_BYTES 44 00070 #define VL53LX_CORE_RESULTS_I2C_SIZE_BYTES 33 00071 #define VL53LX_DEBUG_RESULTS_I2C_SIZE_BYTES 56 00072 #define VL53LX_NVM_COPY_DATA_I2C_SIZE_BYTES 49 00073 #define VL53LX_PREV_SHADOW_SYSTEM_RESULTS_I2C_SIZE_BYTES 44 00074 #define VL53LX_PREV_SHADOW_CORE_RESULTS_I2C_SIZE_BYTES 33 00075 #define VL53LX_PATCH_DEBUG_I2C_SIZE_BYTES 2 00076 #define VL53LX_GPH_GENERAL_CONFIG_I2C_SIZE_BYTES 5 00077 #define VL53LX_GPH_STATIC_CONFIG_I2C_SIZE_BYTES 6 00078 #define VL53LX_GPH_TIMING_CONFIG_I2C_SIZE_BYTES 16 00079 #define VL53LX_FW_INTERNAL_I2C_SIZE_BYTES 2 00080 #define VL53LX_PATCH_RESULTS_I2C_SIZE_BYTES 90 00081 #define VL53LX_SHADOW_SYSTEM_RESULTS_I2C_SIZE_BYTES 82 00082 #define VL53LX_SHADOW_CORE_RESULTS_I2C_SIZE_BYTES 33 00083 00084 00085 00086 00087 typedef struct { 00088 uint8_t i2c_slave__device_address; 00089 00090 uint8_t ana_config__vhv_ref_sel_vddpix; 00091 00092 uint8_t ana_config__vhv_ref_sel_vquench; 00093 00094 uint8_t ana_config__reg_avdd1v2_sel; 00095 00096 uint8_t ana_config__fast_osc__trim; 00097 00098 uint16_t osc_measured__fast_osc__frequency; 00099 00100 uint8_t vhv_config__timeout_macrop_loop_bound; 00101 00102 uint8_t vhv_config__count_thresh; 00103 00104 uint8_t vhv_config__offset; 00105 00106 uint8_t vhv_config__init; 00107 00108 } VL53LX_static_nvm_managed_t; 00109 00110 00111 00112 00113 typedef struct { 00114 uint8_t global_config__spad_enables_ref_0; 00115 00116 uint8_t global_config__spad_enables_ref_1; 00117 00118 uint8_t global_config__spad_enables_ref_2; 00119 00120 uint8_t global_config__spad_enables_ref_3; 00121 00122 uint8_t global_config__spad_enables_ref_4; 00123 00124 uint8_t global_config__spad_enables_ref_5; 00125 00126 uint8_t global_config__ref_en_start_select; 00127 00128 uint8_t ref_spad_man__num_requested_ref_spads; 00129 00130 uint8_t ref_spad_man__ref_location; 00131 00132 uint16_t algo__crosstalk_compensation_plane_offset_kcps; 00133 00134 int16_t algo__crosstalk_compensation_x_plane_gradient_kcps; 00135 00136 int16_t algo__crosstalk_compensation_y_plane_gradient_kcps; 00137 00138 uint16_t ref_spad_char__total_rate_target_mcps; 00139 00140 int16_t algo__part_to_part_range_offset_mm; 00141 00142 int16_t mm_config__inner_offset_mm; 00143 00144 int16_t mm_config__outer_offset_mm; 00145 00146 } VL53LX_customer_nvm_managed_t; 00147 00148 00149 00150 00151 typedef struct { 00152 uint16_t dss_config__target_total_rate_mcps; 00153 00154 uint8_t debug__ctrl; 00155 00156 uint8_t test_mode__ctrl; 00157 00158 uint8_t clk_gating__ctrl; 00159 00160 uint8_t nvm_bist__ctrl; 00161 00162 uint8_t nvm_bist__num_nvm_words; 00163 00164 uint8_t nvm_bist__start_address; 00165 00166 uint8_t host_if__status; 00167 00168 uint8_t pad_i2c_hv__config; 00169 00170 uint8_t pad_i2c_hv__extsup_config; 00171 00172 uint8_t gpio_hv_pad__ctrl; 00173 00174 uint8_t gpio_hv_mux__ctrl; 00175 00176 uint8_t gpio__tio_hv_status; 00177 00178 uint8_t gpio__fio_hv_status; 00179 00180 uint8_t ana_config__spad_sel_pswidth; 00181 00182 uint8_t ana_config__vcsel_pulse_width_offset; 00183 00184 uint8_t ana_config__fast_osc__config_ctrl; 00185 00186 uint8_t sigma_estimator__effective_pulse_width_ns; 00187 00188 uint8_t sigma_estimator__effective_ambient_width_ns; 00189 00190 uint8_t sigma_estimator__sigma_ref_mm; 00191 00192 uint8_t algo__crosstalk_compensation_valid_height_mm; 00193 00194 uint8_t spare_host_config__static_config_spare_0; 00195 00196 uint8_t spare_host_config__static_config_spare_1; 00197 00198 uint16_t algo__range_ignore_threshold_mcps; 00199 00200 uint8_t algo__range_ignore_valid_height_mm; 00201 00202 uint8_t algo__range_min_clip; 00203 00204 uint8_t algo__consistency_check__tolerance; 00205 00206 uint8_t spare_host_config__static_config_spare_2; 00207 00208 uint8_t sd_config__reset_stages_msb; 00209 00210 uint8_t sd_config__reset_stages_lsb; 00211 00212 } VL53LX_static_config_t; 00213 00214 00215 00216 00217 typedef struct { 00218 uint8_t gph_config__stream_count_update_value; 00219 00220 uint8_t global_config__stream_divider; 00221 00222 uint8_t system__interrupt_config_gpio; 00223 00224 uint8_t cal_config__vcsel_start; 00225 00226 uint16_t cal_config__repeat_rate; 00227 00228 uint8_t global_config__vcsel_width; 00229 00230 uint8_t phasecal_config__timeout_macrop; 00231 00232 uint8_t phasecal_config__target; 00233 00234 uint8_t phasecal_config__override; 00235 00236 uint8_t dss_config__roi_mode_control; 00237 00238 uint16_t system__thresh_rate_high; 00239 00240 uint16_t system__thresh_rate_low; 00241 00242 uint16_t dss_config__manual_effective_spads_select; 00243 00244 uint8_t dss_config__manual_block_select; 00245 00246 uint8_t dss_config__aperture_attenuation; 00247 00248 uint8_t dss_config__max_spads_limit; 00249 00250 uint8_t dss_config__min_spads_limit; 00251 00252 } VL53LX_general_config_t; 00253 00254 00255 00256 00257 typedef struct { 00258 uint8_t mm_config__timeout_macrop_a_hi; 00259 00260 uint8_t mm_config__timeout_macrop_a_lo; 00261 00262 uint8_t mm_config__timeout_macrop_b_hi; 00263 00264 uint8_t mm_config__timeout_macrop_b_lo; 00265 00266 uint8_t range_config__timeout_macrop_a_hi; 00267 00268 uint8_t range_config__timeout_macrop_a_lo; 00269 00270 uint8_t range_config__vcsel_period_a; 00271 00272 uint8_t range_config__timeout_macrop_b_hi; 00273 00274 uint8_t range_config__timeout_macrop_b_lo; 00275 00276 uint8_t range_config__vcsel_period_b; 00277 00278 uint16_t range_config__sigma_thresh; 00279 00280 uint16_t range_config__min_count_rate_rtn_limit_mcps; 00281 00282 uint8_t range_config__valid_phase_low; 00283 00284 uint8_t range_config__valid_phase_high; 00285 00286 uint32_t system__intermeasurement_period; 00287 00288 uint8_t system__fractional_enable; 00289 00290 } VL53LX_timing_config_t; 00291 00292 00293 00294 00295 typedef struct { 00296 uint8_t system__grouped_parameter_hold_0; 00297 00298 uint16_t system__thresh_high; 00299 00300 uint16_t system__thresh_low; 00301 00302 uint8_t system__enable_xtalk_per_quadrant; 00303 00304 uint8_t system__seed_config; 00305 00306 uint8_t sd_config__woi_sd0; 00307 00308 uint8_t sd_config__woi_sd1; 00309 00310 uint8_t sd_config__initial_phase_sd0; 00311 00312 uint8_t sd_config__initial_phase_sd1; 00313 00314 uint8_t system__grouped_parameter_hold_1; 00315 00316 uint8_t sd_config__first_order_select; 00317 00318 uint8_t sd_config__quantifier; 00319 00320 uint8_t roi_config__user_roi_centre_spad; 00321 00322 uint8_t roi_config__user_roi_requested_global_xy_size; 00323 00324 uint8_t system__sequence_config; 00325 00326 uint8_t system__grouped_parameter_hold; 00327 00328 } VL53LX_dynamic_config_t; 00329 00330 00331 00332 00333 typedef struct { 00334 uint8_t power_management__go1_power_force; 00335 00336 uint8_t system__stream_count_ctrl; 00337 00338 uint8_t firmware__enable; 00339 00340 uint8_t system__interrupt_clear; 00341 00342 uint8_t system__mode_start; 00343 00344 } VL53LX_system_control_t; 00345 00346 00347 00348 00349 typedef struct { 00350 uint8_t result__interrupt_status; 00351 00352 uint8_t result__range_status; 00353 00354 uint8_t result__report_status; 00355 00356 uint8_t result__stream_count; 00357 00358 uint16_t result__dss_actual_effective_spads_sd0; 00359 00360 uint16_t result__peak_signal_count_rate_mcps_sd0; 00361 00362 uint16_t result__ambient_count_rate_mcps_sd0; 00363 00364 uint16_t result__sigma_sd0; 00365 00366 uint16_t result__phase_sd0; 00367 00368 uint16_t result__final_crosstalk_corrected_range_mm_sd0; 00369 00370 uint16_t result__peak_signal_count_rate_crosstalk_corrected_mcps_sd0; 00371 00372 uint16_t result__mm_inner_actual_effective_spads_sd0; 00373 00374 uint16_t result__mm_outer_actual_effective_spads_sd0; 00375 00376 uint16_t result__avg_signal_count_rate_mcps_sd0; 00377 00378 uint16_t result__dss_actual_effective_spads_sd1; 00379 00380 uint16_t result__peak_signal_count_rate_mcps_sd1; 00381 00382 uint16_t result__ambient_count_rate_mcps_sd1; 00383 00384 uint16_t result__sigma_sd1; 00385 00386 uint16_t result__phase_sd1; 00387 00388 uint16_t result__final_crosstalk_corrected_range_mm_sd1; 00389 00390 uint16_t result__spare_0_sd1; 00391 00392 uint16_t result__spare_1_sd1; 00393 00394 uint16_t result__spare_2_sd1; 00395 00396 uint8_t result__spare_3_sd1; 00397 00398 uint8_t result__thresh_info; 00399 00400 } VL53LX_system_results_t; 00401 00402 00403 00404 00405 typedef struct { 00406 uint32_t result_core__ambient_window_events_sd0; 00407 00408 uint32_t result_core__ranging_total_events_sd0; 00409 00410 int32_t result_core__signal_total_events_sd0; 00411 00412 uint32_t result_core__total_periods_elapsed_sd0; 00413 00414 uint32_t result_core__ambient_window_events_sd1; 00415 00416 uint32_t result_core__ranging_total_events_sd1; 00417 00418 int32_t result_core__signal_total_events_sd1; 00419 00420 uint32_t result_core__total_periods_elapsed_sd1; 00421 00422 uint8_t result_core__spare_0; 00423 00424 } VL53LX_core_results_t; 00425 00426 00427 00428 00429 typedef struct { 00430 uint16_t phasecal_result__reference_phase; 00431 00432 uint8_t phasecal_result__vcsel_start; 00433 00434 uint8_t ref_spad_char_result__num_actual_ref_spads; 00435 00436 uint8_t ref_spad_char_result__ref_location; 00437 00438 uint8_t vhv_result__coldboot_status; 00439 00440 uint8_t vhv_result__search_result; 00441 00442 uint8_t vhv_result__latest_setting; 00443 00444 uint16_t result__osc_calibrate_val; 00445 00446 uint8_t ana_config__powerdown_go1; 00447 00448 uint8_t ana_config__ref_bg_ctrl; 00449 00450 uint8_t ana_config__regdvdd1v2_ctrl; 00451 00452 uint8_t ana_config__osc_slow_ctrl; 00453 00454 uint8_t test_mode__status; 00455 00456 uint8_t firmware__system_status; 00457 00458 uint8_t firmware__mode_status; 00459 00460 uint8_t firmware__secondary_mode_status; 00461 00462 uint16_t firmware__cal_repeat_rate_counter; 00463 00464 uint16_t gph__system__thresh_high; 00465 00466 uint16_t gph__system__thresh_low; 00467 00468 uint8_t gph__system__enable_xtalk_per_quadrant; 00469 00470 uint8_t gph__spare_0; 00471 00472 uint8_t gph__sd_config__woi_sd0; 00473 00474 uint8_t gph__sd_config__woi_sd1; 00475 00476 uint8_t gph__sd_config__initial_phase_sd0; 00477 00478 uint8_t gph__sd_config__initial_phase_sd1; 00479 00480 uint8_t gph__sd_config__first_order_select; 00481 00482 uint8_t gph__sd_config__quantifier; 00483 00484 uint8_t gph__roi_config__user_roi_centre_spad; 00485 00486 uint8_t gph__roi_config__user_roi_requested_global_xy_size; 00487 00488 uint8_t gph__system__sequence_config; 00489 00490 uint8_t gph__gph_id; 00491 00492 uint8_t system__interrupt_set; 00493 00494 uint8_t interrupt_manager__enables; 00495 00496 uint8_t interrupt_manager__clear; 00497 00498 uint8_t interrupt_manager__status; 00499 00500 uint8_t mcu_to_host_bank__wr_access_en; 00501 00502 uint8_t power_management__go1_reset_status; 00503 00504 uint8_t pad_startup_mode__value_ro; 00505 00506 uint8_t pad_startup_mode__value_ctrl; 00507 00508 uint32_t pll_period_us; 00509 00510 uint32_t interrupt_scheduler__data_out; 00511 00512 uint8_t nvm_bist__complete; 00513 00514 uint8_t nvm_bist__status; 00515 00516 } VL53LX_debug_results_t; 00517 00518 00519 00520 00521 typedef struct { 00522 uint8_t identification__model_id; 00523 00524 uint8_t identification__module_type; 00525 00526 uint8_t identification__revision_id; 00527 00528 uint16_t identification__module_id; 00529 00530 uint8_t ana_config__fast_osc__trim_max; 00531 00532 uint8_t ana_config__fast_osc__freq_set; 00533 00534 uint8_t ana_config__vcsel_trim; 00535 00536 uint8_t ana_config__vcsel_selion; 00537 00538 uint8_t ana_config__vcsel_selion_max; 00539 00540 uint8_t protected_laser_safety__lock_bit; 00541 00542 uint8_t laser_safety__key; 00543 00544 uint8_t laser_safety__key_ro; 00545 00546 uint8_t laser_safety__clip; 00547 00548 uint8_t laser_safety__mult; 00549 00550 uint8_t global_config__spad_enables_rtn_0; 00551 00552 uint8_t global_config__spad_enables_rtn_1; 00553 00554 uint8_t global_config__spad_enables_rtn_2; 00555 00556 uint8_t global_config__spad_enables_rtn_3; 00557 00558 uint8_t global_config__spad_enables_rtn_4; 00559 00560 uint8_t global_config__spad_enables_rtn_5; 00561 00562 uint8_t global_config__spad_enables_rtn_6; 00563 00564 uint8_t global_config__spad_enables_rtn_7; 00565 00566 uint8_t global_config__spad_enables_rtn_8; 00567 00568 uint8_t global_config__spad_enables_rtn_9; 00569 00570 uint8_t global_config__spad_enables_rtn_10; 00571 00572 uint8_t global_config__spad_enables_rtn_11; 00573 00574 uint8_t global_config__spad_enables_rtn_12; 00575 00576 uint8_t global_config__spad_enables_rtn_13; 00577 00578 uint8_t global_config__spad_enables_rtn_14; 00579 00580 uint8_t global_config__spad_enables_rtn_15; 00581 00582 uint8_t global_config__spad_enables_rtn_16; 00583 00584 uint8_t global_config__spad_enables_rtn_17; 00585 00586 uint8_t global_config__spad_enables_rtn_18; 00587 00588 uint8_t global_config__spad_enables_rtn_19; 00589 00590 uint8_t global_config__spad_enables_rtn_20; 00591 00592 uint8_t global_config__spad_enables_rtn_21; 00593 00594 uint8_t global_config__spad_enables_rtn_22; 00595 00596 uint8_t global_config__spad_enables_rtn_23; 00597 00598 uint8_t global_config__spad_enables_rtn_24; 00599 00600 uint8_t global_config__spad_enables_rtn_25; 00601 00602 uint8_t global_config__spad_enables_rtn_26; 00603 00604 uint8_t global_config__spad_enables_rtn_27; 00605 00606 uint8_t global_config__spad_enables_rtn_28; 00607 00608 uint8_t global_config__spad_enables_rtn_29; 00609 00610 uint8_t global_config__spad_enables_rtn_30; 00611 00612 uint8_t global_config__spad_enables_rtn_31; 00613 00614 uint8_t roi_config__mode_roi_centre_spad; 00615 00616 uint8_t roi_config__mode_roi_xy_size; 00617 00618 } VL53LX_nvm_copy_data_t; 00619 00620 00621 00622 00623 typedef struct { 00624 uint8_t prev_shadow_result__interrupt_status; 00625 00626 uint8_t prev_shadow_result__range_status; 00627 00628 uint8_t prev_shadow_result__report_status; 00629 00630 uint8_t prev_shadow_result__stream_count; 00631 00632 uint16_t prev_shadow_result__dss_actual_effective_spads_sd0; 00633 00634 uint16_t prev_shadow_result__peak_signal_count_rate_mcps_sd0; 00635 00636 uint16_t prev_shadow_result__ambient_count_rate_mcps_sd0; 00637 00638 uint16_t prev_shadow_result__sigma_sd0; 00639 00640 uint16_t prev_shadow_result__phase_sd0; 00641 00642 uint16_t prev_shadow_result__final_crosstalk_corrected_range_mm_sd0; 00643 00644 uint16_t 00645 psr__peak_signal_count_rate_crosstalk_corrected_mcps_sd0; 00646 00647 uint16_t prev_shadow_result__mm_inner_actual_effective_spads_sd0; 00648 00649 uint16_t prev_shadow_result__mm_outer_actual_effective_spads_sd0; 00650 00651 uint16_t prev_shadow_result__avg_signal_count_rate_mcps_sd0; 00652 00653 uint16_t prev_shadow_result__dss_actual_effective_spads_sd1; 00654 00655 uint16_t prev_shadow_result__peak_signal_count_rate_mcps_sd1; 00656 00657 uint16_t prev_shadow_result__ambient_count_rate_mcps_sd1; 00658 00659 uint16_t prev_shadow_result__sigma_sd1; 00660 00661 uint16_t prev_shadow_result__phase_sd1; 00662 00663 uint16_t prev_shadow_result__final_crosstalk_corrected_range_mm_sd1; 00664 00665 uint16_t prev_shadow_result__spare_0_sd1; 00666 00667 uint16_t prev_shadow_result__spare_1_sd1; 00668 00669 uint16_t prev_shadow_result__spare_2_sd1; 00670 00671 uint16_t prev_shadow_result__spare_3_sd1; 00672 00673 } VL53LX_prev_shadow_system_results_t; 00674 00675 00676 00677 00678 typedef struct { 00679 uint32_t prev_shadow_result_core__ambient_window_events_sd0; 00680 00681 uint32_t prev_shadow_result_core__ranging_total_events_sd0; 00682 00683 int32_t prev_shadow_result_core__signal_total_events_sd0; 00684 00685 uint32_t prev_shadow_result_core__total_periods_elapsed_sd0; 00686 00687 uint32_t prev_shadow_result_core__ambient_window_events_sd1; 00688 00689 uint32_t prev_shadow_result_core__ranging_total_events_sd1; 00690 00691 int32_t prev_shadow_result_core__signal_total_events_sd1; 00692 00693 uint32_t prev_shadow_result_core__total_periods_elapsed_sd1; 00694 00695 uint8_t prev_shadow_result_core__spare_0; 00696 00697 } VL53LX_prev_shadow_core_results_t; 00698 00699 00700 00701 00702 typedef struct { 00703 uint8_t result__debug_status; 00704 00705 uint8_t result__debug_stage; 00706 00707 } VL53LX_patch_debug_t; 00708 00709 00710 00711 00712 typedef struct { 00713 uint16_t gph__system__thresh_rate_high; 00714 00715 uint16_t gph__system__thresh_rate_low; 00716 00717 uint8_t gph__system__interrupt_config_gpio; 00718 00719 } VL53LX_gph_general_config_t; 00720 00721 00722 00723 00724 typedef struct { 00725 uint8_t gph__dss_config__roi_mode_control; 00726 00727 uint16_t gph__dss_config__manual_effective_spads_select; 00728 00729 uint8_t gph__dss_config__manual_block_select; 00730 00731 uint8_t gph__dss_config__max_spads_limit; 00732 00733 uint8_t gph__dss_config__min_spads_limit; 00734 00735 } VL53LX_gph_static_config_t; 00736 00737 00738 00739 00740 typedef struct { 00741 uint8_t gph__mm_config__timeout_macrop_a_hi; 00742 00743 uint8_t gph__mm_config__timeout_macrop_a_lo; 00744 00745 uint8_t gph__mm_config__timeout_macrop_b_hi; 00746 00747 uint8_t gph__mm_config__timeout_macrop_b_lo; 00748 00749 uint8_t gph__range_config__timeout_macrop_a_hi; 00750 00751 uint8_t gph__range_config__timeout_macrop_a_lo; 00752 00753 uint8_t gph__range_config__vcsel_period_a; 00754 00755 uint8_t gph__range_config__vcsel_period_b; 00756 00757 uint8_t gph__range_config__timeout_macrop_b_hi; 00758 00759 uint8_t gph__range_config__timeout_macrop_b_lo; 00760 00761 uint16_t gph__range_config__sigma_thresh; 00762 00763 uint16_t gph__range_config__min_count_rate_rtn_limit_mcps; 00764 00765 uint8_t gph__range_config__valid_phase_low; 00766 00767 uint8_t gph__range_config__valid_phase_high; 00768 00769 } VL53LX_gph_timing_config_t; 00770 00771 00772 00773 00774 typedef struct { 00775 uint8_t firmware__internal_stream_count_div; 00776 00777 uint8_t firmware__internal_stream_counter_val; 00778 00779 } VL53LX_fw_internal_t; 00780 00781 00782 00783 00784 typedef struct { 00785 uint8_t dss_calc__roi_ctrl; 00786 00787 uint8_t dss_calc__spare_1; 00788 00789 uint8_t dss_calc__spare_2; 00790 00791 uint8_t dss_calc__spare_3; 00792 00793 uint8_t dss_calc__spare_4; 00794 00795 uint8_t dss_calc__spare_5; 00796 00797 uint8_t dss_calc__spare_6; 00798 00799 uint8_t dss_calc__spare_7; 00800 00801 uint8_t dss_calc__user_roi_spad_en_0; 00802 00803 uint8_t dss_calc__user_roi_spad_en_1; 00804 00805 uint8_t dss_calc__user_roi_spad_en_2; 00806 00807 uint8_t dss_calc__user_roi_spad_en_3; 00808 00809 uint8_t dss_calc__user_roi_spad_en_4; 00810 00811 uint8_t dss_calc__user_roi_spad_en_5; 00812 00813 uint8_t dss_calc__user_roi_spad_en_6; 00814 00815 uint8_t dss_calc__user_roi_spad_en_7; 00816 00817 uint8_t dss_calc__user_roi_spad_en_8; 00818 00819 uint8_t dss_calc__user_roi_spad_en_9; 00820 00821 uint8_t dss_calc__user_roi_spad_en_10; 00822 00823 uint8_t dss_calc__user_roi_spad_en_11; 00824 00825 uint8_t dss_calc__user_roi_spad_en_12; 00826 00827 uint8_t dss_calc__user_roi_spad_en_13; 00828 00829 uint8_t dss_calc__user_roi_spad_en_14; 00830 00831 uint8_t dss_calc__user_roi_spad_en_15; 00832 00833 uint8_t dss_calc__user_roi_spad_en_16; 00834 00835 uint8_t dss_calc__user_roi_spad_en_17; 00836 00837 uint8_t dss_calc__user_roi_spad_en_18; 00838 00839 uint8_t dss_calc__user_roi_spad_en_19; 00840 00841 uint8_t dss_calc__user_roi_spad_en_20; 00842 00843 uint8_t dss_calc__user_roi_spad_en_21; 00844 00845 uint8_t dss_calc__user_roi_spad_en_22; 00846 00847 uint8_t dss_calc__user_roi_spad_en_23; 00848 00849 uint8_t dss_calc__user_roi_spad_en_24; 00850 00851 uint8_t dss_calc__user_roi_spad_en_25; 00852 00853 uint8_t dss_calc__user_roi_spad_en_26; 00854 00855 uint8_t dss_calc__user_roi_spad_en_27; 00856 00857 uint8_t dss_calc__user_roi_spad_en_28; 00858 00859 uint8_t dss_calc__user_roi_spad_en_29; 00860 00861 uint8_t dss_calc__user_roi_spad_en_30; 00862 00863 uint8_t dss_calc__user_roi_spad_en_31; 00864 00865 uint8_t dss_calc__user_roi_0; 00866 00867 uint8_t dss_calc__user_roi_1; 00868 00869 uint8_t dss_calc__mode_roi_0; 00870 00871 uint8_t dss_calc__mode_roi_1; 00872 00873 uint8_t sigma_estimator_calc__spare_0; 00874 00875 uint16_t vhv_result__peak_signal_rate_mcps; 00876 00877 uint32_t vhv_result__signal_total_events_ref; 00878 00879 uint16_t phasecal_result__phase_output_ref; 00880 00881 uint16_t dss_result__total_rate_per_spad; 00882 00883 uint8_t dss_result__enabled_blocks; 00884 00885 uint16_t dss_result__num_requested_spads; 00886 00887 uint16_t mm_result__inner_intersection_rate; 00888 00889 uint16_t mm_result__outer_complement_rate; 00890 00891 uint16_t mm_result__total_offset; 00892 00893 uint32_t xtalk_calc__xtalk_for_enabled_spads; 00894 00895 uint32_t xtalk_result__avg_xtalk_user_roi_kcps; 00896 00897 uint32_t xtalk_result__avg_xtalk_mm_inner_roi_kcps; 00898 00899 uint32_t xtalk_result__avg_xtalk_mm_outer_roi_kcps; 00900 00901 uint32_t range_result__accum_phase; 00902 00903 uint16_t range_result__offset_corrected_range; 00904 00905 } VL53LX_patch_results_t; 00906 00907 00908 00909 00910 typedef struct { 00911 uint8_t shadow_phasecal_result__vcsel_start; 00912 00913 uint8_t shadow_result__interrupt_status; 00914 00915 uint8_t shadow_result__range_status; 00916 00917 uint8_t shadow_result__report_status; 00918 00919 uint8_t shadow_result__stream_count; 00920 00921 uint16_t shadow_result__dss_actual_effective_spads_sd0; 00922 00923 uint16_t shadow_result__peak_signal_count_rate_mcps_sd0; 00924 00925 uint16_t shadow_result__ambient_count_rate_mcps_sd0; 00926 00927 uint16_t shadow_result__sigma_sd0; 00928 00929 uint16_t shadow_result__phase_sd0; 00930 00931 uint16_t shadow_result__final_crosstalk_corrected_range_mm_sd0; 00932 00933 uint16_t 00934 shr__peak_signal_count_rate_crosstalk_corrected_mcps_sd0; 00935 00936 uint16_t shadow_result__mm_inner_actual_effective_spads_sd0; 00937 00938 uint16_t shadow_result__mm_outer_actual_effective_spads_sd0; 00939 00940 uint16_t shadow_result__avg_signal_count_rate_mcps_sd0; 00941 00942 uint16_t shadow_result__dss_actual_effective_spads_sd1; 00943 00944 uint16_t shadow_result__peak_signal_count_rate_mcps_sd1; 00945 00946 uint16_t shadow_result__ambient_count_rate_mcps_sd1; 00947 00948 uint16_t shadow_result__sigma_sd1; 00949 00950 uint16_t shadow_result__phase_sd1; 00951 00952 uint16_t shadow_result__final_crosstalk_corrected_range_mm_sd1; 00953 00954 uint16_t shadow_result__spare_0_sd1; 00955 00956 uint16_t shadow_result__spare_1_sd1; 00957 00958 uint16_t shadow_result__spare_2_sd1; 00959 00960 uint8_t shadow_result__spare_3_sd1; 00961 00962 uint8_t shadow_result__thresh_info; 00963 00964 uint8_t shadow_phasecal_result__reference_phase_hi; 00965 00966 uint8_t shadow_phasecal_result__reference_phase_lo; 00967 00968 } VL53LX_shadow_system_results_t; 00969 00970 00971 00972 00973 typedef struct { 00974 uint32_t shadow_result_core__ambient_window_events_sd0; 00975 00976 uint32_t shadow_result_core__ranging_total_events_sd0; 00977 00978 int32_t shadow_result_core__signal_total_events_sd0; 00979 00980 uint32_t shadow_result_core__total_periods_elapsed_sd0; 00981 00982 uint32_t shadow_result_core__ambient_window_events_sd1; 00983 00984 uint32_t shadow_result_core__ranging_total_events_sd1; 00985 00986 int32_t shadow_result_core__signal_total_events_sd1; 00987 00988 uint32_t shadow_result_core__total_periods_elapsed_sd1; 00989 00990 uint8_t shadow_result_core__spare_0; 00991 00992 } VL53LX_shadow_core_results_t; 00993 00994 00995 #endif 00996 00997
Generated on Mon Jul 18 2022 15:35:58 by
1.7.2