Rename library

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   VL53L3CX_NoShield_1Sensor_poll_Mb06x VL53L3_NoShield_1Sensor_polling_Mb63 X_NUCLEO_53L3A2 53L3A2_Ranging

Committer:
charlesmn
Date:
Wed Jul 21 14:07:59 2021 +0000
Revision:
7:7f1bbf370283
Parent:
5:89031b2f5316
Moved vl53l3cx_class.cpp and .h to 53l3a2_RangingClass

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Charles MacNeill 5:89031b2f5316 1
Charles MacNeill 5:89031b2f5316 2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
Charles MacNeill 5:89031b2f5316 3 /******************************************************************************
Charles MacNeill 5:89031b2f5316 4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
Charles MacNeill 5:89031b2f5316 5
Charles MacNeill 5:89031b2f5316 6 This file is part of VL53LX and is dual licensed,
Charles MacNeill 5:89031b2f5316 7 either GPL-2.0+
Charles MacNeill 5:89031b2f5316 8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
Charles MacNeill 5:89031b2f5316 9 ******************************************************************************
Charles MacNeill 5:89031b2f5316 10 */
Charles MacNeill 5:89031b2f5316 11
Charles MacNeill 5:89031b2f5316 12
Charles MacNeill 5:89031b2f5316 13
Charles MacNeill 5:89031b2f5316 14
Charles MacNeill 5:89031b2f5316 15
Charles MacNeill 5:89031b2f5316 16
Charles MacNeill 5:89031b2f5316 17
Charles MacNeill 5:89031b2f5316 18 #ifndef _VL53LX_NVM_STRUCTS_H_
Charles MacNeill 5:89031b2f5316 19 #define _VL53LX_NVM_STRUCTS_H_
Charles MacNeill 5:89031b2f5316 20
Charles MacNeill 5:89031b2f5316 21
Charles MacNeill 5:89031b2f5316 22 #ifdef __cplusplus
Charles MacNeill 5:89031b2f5316 23 extern "C"
Charles MacNeill 5:89031b2f5316 24 {
Charles MacNeill 5:89031b2f5316 25 #endif
Charles MacNeill 5:89031b2f5316 26
Charles MacNeill 5:89031b2f5316 27 #include "vl53lx_platform.h"
Charles MacNeill 5:89031b2f5316 28 #include "vl53lx_ll_def.h"
Charles MacNeill 5:89031b2f5316 29
Charles MacNeill 5:89031b2f5316 30
Charles MacNeill 5:89031b2f5316 31 typedef struct {
Charles MacNeill 5:89031b2f5316 32
Charles MacNeill 5:89031b2f5316 33 uint16_t result__actual_effective_rtn_spads;
Charles MacNeill 5:89031b2f5316 34 uint8_t ref_spad_array__num_requested_ref_spads;
Charles MacNeill 5:89031b2f5316 35 uint8_t ref_spad_array__ref_location;
Charles MacNeill 5:89031b2f5316 36 uint16_t result__peak_signal_count_rate_rtn_mcps;
Charles MacNeill 5:89031b2f5316 37 uint16_t result__ambient_count_rate_rtn_mcps;
Charles MacNeill 5:89031b2f5316 38 uint16_t result__peak_signal_count_rate_ref_mcps;
Charles MacNeill 5:89031b2f5316 39 uint16_t result__ambient_count_rate_ref_mcps;
Charles MacNeill 5:89031b2f5316 40 uint16_t measured_distance_mm;
Charles MacNeill 5:89031b2f5316 41 uint16_t measured_distance_stdev_mm;
Charles MacNeill 5:89031b2f5316 42 } VL53LX_decoded_nvm_fmt_range_data_t;
Charles MacNeill 5:89031b2f5316 43
Charles MacNeill 5:89031b2f5316 44
Charles MacNeill 5:89031b2f5316 45 typedef struct {
Charles MacNeill 5:89031b2f5316 46
Charles MacNeill 5:89031b2f5316 47 char nvm__fmt__fgc[19];
Charles MacNeill 5:89031b2f5316 48 uint8_t nvm__fmt__test_program_major;
Charles MacNeill 5:89031b2f5316 49 uint8_t nvm__fmt__test_program_minor;
Charles MacNeill 5:89031b2f5316 50 uint8_t nvm__fmt__map_major;
Charles MacNeill 5:89031b2f5316 51 uint8_t nvm__fmt__map_minor;
Charles MacNeill 5:89031b2f5316 52 uint8_t nvm__fmt__year;
Charles MacNeill 5:89031b2f5316 53 uint8_t nvm__fmt__month;
Charles MacNeill 5:89031b2f5316 54 uint8_t nvm__fmt__day;
Charles MacNeill 5:89031b2f5316 55 uint8_t nvm__fmt__module_date_phase;
Charles MacNeill 5:89031b2f5316 56 uint16_t nvm__fmt__time;
Charles MacNeill 5:89031b2f5316 57 uint8_t nvm__fmt__tester_id;
Charles MacNeill 5:89031b2f5316 58 uint8_t nvm__fmt__site_id;
Charles MacNeill 5:89031b2f5316 59 uint8_t nvm__ews__test_program_major;
Charles MacNeill 5:89031b2f5316 60 uint8_t nvm__ews__test_program_minor;
Charles MacNeill 5:89031b2f5316 61 uint8_t nvm__ews__probe_card_major;
Charles MacNeill 5:89031b2f5316 62 uint8_t nvm__ews__probe_card_minor;
Charles MacNeill 5:89031b2f5316 63 uint8_t nvm__ews__tester_id;
Charles MacNeill 5:89031b2f5316 64 char nvm__ews__lot[8];
Charles MacNeill 5:89031b2f5316 65 uint8_t nvm__ews__wafer;
Charles MacNeill 5:89031b2f5316 66 uint8_t nvm__ews__xcoord;
Charles MacNeill 5:89031b2f5316 67 uint8_t nvm__ews__ycoord;
Charles MacNeill 5:89031b2f5316 68 } VL53LX_decoded_nvm_fmt_info_t;
Charles MacNeill 5:89031b2f5316 69
Charles MacNeill 5:89031b2f5316 70
Charles MacNeill 5:89031b2f5316 71 typedef struct {
Charles MacNeill 5:89031b2f5316 72
Charles MacNeill 5:89031b2f5316 73 uint8_t nvm__ews__test_program_major;
Charles MacNeill 5:89031b2f5316 74 uint8_t nvm__ews__test_program_minor;
Charles MacNeill 5:89031b2f5316 75 uint8_t nvm__ews__probe_card_major;
Charles MacNeill 5:89031b2f5316 76 uint8_t nvm__ews__probe_card_minor;
Charles MacNeill 5:89031b2f5316 77 uint8_t nvm__ews__tester_id;
Charles MacNeill 5:89031b2f5316 78 char nvm__ews__lot[8];
Charles MacNeill 5:89031b2f5316 79 uint8_t nvm__ews__wafer;
Charles MacNeill 5:89031b2f5316 80 uint8_t nvm__ews__xcoord;
Charles MacNeill 5:89031b2f5316 81 uint8_t nvm__ews__ycoord;
Charles MacNeill 5:89031b2f5316 82 } VL53LX_decoded_nvm_ews_info_t;
Charles MacNeill 5:89031b2f5316 83
Charles MacNeill 5:89031b2f5316 84
Charles MacNeill 5:89031b2f5316 85 typedef struct {
Charles MacNeill 5:89031b2f5316 86 uint8_t nvm__identification_model_id;
Charles MacNeill 5:89031b2f5316 87 uint8_t nvm__identification_module_type;
Charles MacNeill 5:89031b2f5316 88 uint8_t nvm__identification_revision_id;
Charles MacNeill 5:89031b2f5316 89 uint16_t nvm__identification_module_id;
Charles MacNeill 5:89031b2f5316 90 uint8_t nvm__i2c_valid;
Charles MacNeill 5:89031b2f5316 91 uint8_t nvm__i2c_device_address_ews;
Charles MacNeill 5:89031b2f5316 92 uint16_t nvm__ews__fast_osc_frequency;
Charles MacNeill 5:89031b2f5316 93 uint8_t nvm__ews__fast_osc_trim_max;
Charles MacNeill 5:89031b2f5316 94 uint8_t nvm__ews__fast_osc_freq_set;
Charles MacNeill 5:89031b2f5316 95 uint16_t nvm__ews__slow_osc_calibration;
Charles MacNeill 5:89031b2f5316 96 uint16_t nvm__fmt__fast_osc_frequency;
Charles MacNeill 5:89031b2f5316 97 uint8_t nvm__fmt__fast_osc_trim_max;
Charles MacNeill 5:89031b2f5316 98 uint8_t nvm__fmt__fast_osc_freq_set;
Charles MacNeill 5:89031b2f5316 99 uint16_t nvm__fmt__slow_osc_calibration;
Charles MacNeill 5:89031b2f5316 100 uint8_t nvm__vhv_config_unlock;
Charles MacNeill 5:89031b2f5316 101 uint8_t nvm__ref_selvddpix;
Charles MacNeill 5:89031b2f5316 102 uint8_t nvm__ref_selvquench;
Charles MacNeill 5:89031b2f5316 103 uint8_t nvm__regavdd1v2_sel;
Charles MacNeill 5:89031b2f5316 104 uint8_t nvm__regdvdd1v2_sel;
Charles MacNeill 5:89031b2f5316 105 uint8_t nvm__vhv_timeout__macrop;
Charles MacNeill 5:89031b2f5316 106 uint8_t nvm__vhv_loop_bound;
Charles MacNeill 5:89031b2f5316 107 uint8_t nvm__vhv_count_threshold;
Charles MacNeill 5:89031b2f5316 108 uint8_t nvm__vhv_offset;
Charles MacNeill 5:89031b2f5316 109 uint8_t nvm__vhv_init_enable;
Charles MacNeill 5:89031b2f5316 110 uint8_t nvm__vhv_init_value;
Charles MacNeill 5:89031b2f5316 111 uint8_t nvm__laser_safety_vcsel_trim_ll;
Charles MacNeill 5:89031b2f5316 112 uint8_t nvm__laser_safety_vcsel_selion_ll;
Charles MacNeill 5:89031b2f5316 113 uint8_t nvm__laser_safety_vcsel_selion_max_ll;
Charles MacNeill 5:89031b2f5316 114 uint8_t nvm__laser_safety_mult_ll;
Charles MacNeill 5:89031b2f5316 115 uint8_t nvm__laser_safety_clip_ll;
Charles MacNeill 5:89031b2f5316 116 uint8_t nvm__laser_safety_vcsel_trim_ld;
Charles MacNeill 5:89031b2f5316 117 uint8_t nvm__laser_safety_vcsel_selion_ld;
Charles MacNeill 5:89031b2f5316 118 uint8_t nvm__laser_safety_vcsel_selion_max_ld;
Charles MacNeill 5:89031b2f5316 119 uint8_t nvm__laser_safety_mult_ld;
Charles MacNeill 5:89031b2f5316 120 uint8_t nvm__laser_safety_clip_ld;
Charles MacNeill 5:89031b2f5316 121 uint8_t nvm__laser_safety_lock_byte;
Charles MacNeill 5:89031b2f5316 122 uint8_t nvm__laser_safety_unlock_byte;
Charles MacNeill 5:89031b2f5316 123 uint8_t nvm__ews__spad_enables_rtn[VL53LX_RTN_SPAD_BUFFER_SIZE];
Charles MacNeill 5:89031b2f5316 124 uint8_t nvm__ews__spad_enables_ref__loc1[VL53LX_REF_SPAD_BUFFER_SIZE];
Charles MacNeill 5:89031b2f5316 125 uint8_t nvm__ews__spad_enables_ref__loc2[VL53LX_REF_SPAD_BUFFER_SIZE];
Charles MacNeill 5:89031b2f5316 126 uint8_t nvm__ews__spad_enables_ref__loc3[VL53LX_REF_SPAD_BUFFER_SIZE];
Charles MacNeill 5:89031b2f5316 127 uint8_t nvm__fmt__spad_enables_rtn[VL53LX_RTN_SPAD_BUFFER_SIZE];
Charles MacNeill 5:89031b2f5316 128 uint8_t nvm__fmt__spad_enables_ref__loc1[VL53LX_REF_SPAD_BUFFER_SIZE];
Charles MacNeill 5:89031b2f5316 129 uint8_t nvm__fmt__spad_enables_ref__loc2[VL53LX_REF_SPAD_BUFFER_SIZE];
Charles MacNeill 5:89031b2f5316 130 uint8_t nvm__fmt__spad_enables_ref__loc3[VL53LX_REF_SPAD_BUFFER_SIZE];
Charles MacNeill 5:89031b2f5316 131 uint8_t nvm__fmt__roi_config__mode_roi_centre_spad;
Charles MacNeill 5:89031b2f5316 132 uint8_t nvm__fmt__roi_config__mode_roi_x_size;
Charles MacNeill 5:89031b2f5316 133 uint8_t nvm__fmt__roi_config__mode_roi_y_size;
Charles MacNeill 5:89031b2f5316 134 uint8_t nvm__fmt__ref_spad_apply__num_requested_ref_spad;
Charles MacNeill 5:89031b2f5316 135 uint8_t nvm__fmt__ref_spad_man__ref_location;
Charles MacNeill 5:89031b2f5316 136 uint16_t nvm__fmt__mm_config__inner_offset_mm;
Charles MacNeill 5:89031b2f5316 137 uint16_t nvm__fmt__mm_config__outer_offset_mm;
Charles MacNeill 5:89031b2f5316 138 uint16_t nvm__fmt__algo_part_to_part_range_offset_mm;
Charles MacNeill 5:89031b2f5316 139 uint16_t nvm__fmt__algo__crosstalk_compensation_plane_offset_kcps;
Charles MacNeill 5:89031b2f5316 140 uint16_t nvm__fmt__algo__crosstalk_compensation_x_plane_gradient_kcps;
Charles MacNeill 5:89031b2f5316 141 uint16_t nvm__fmt__algo__crosstalk_compensation_y_plane_gradient_kcps;
Charles MacNeill 5:89031b2f5316 142 uint8_t nvm__fmt__spare__host_config__nvm_config_spare_0;
Charles MacNeill 5:89031b2f5316 143 uint8_t nvm__fmt__spare__host_config__nvm_config_spare_1;
Charles MacNeill 5:89031b2f5316 144 uint8_t nvm__customer_space_programmed;
Charles MacNeill 5:89031b2f5316 145 uint8_t nvm__cust__i2c_device_address;
Charles MacNeill 5:89031b2f5316 146 uint8_t nvm__cust__ref_spad_apply__num_requested_ref_spad;
Charles MacNeill 5:89031b2f5316 147 uint8_t nvm__cust__ref_spad_man__ref_location;
Charles MacNeill 5:89031b2f5316 148 uint16_t nvm__cust__mm_config__inner_offset_mm;
Charles MacNeill 5:89031b2f5316 149 uint16_t nvm__cust__mm_config__outer_offset_mm;
Charles MacNeill 5:89031b2f5316 150 uint16_t nvm__cust__algo_part_to_part_range_offset_mm;
Charles MacNeill 5:89031b2f5316 151 uint16_t nvm__cust__algo__crosstalk_compensation_plane_offset_kcps;
Charles MacNeill 5:89031b2f5316 152 uint16_t nvm__cust__algo__crosstalk_compensation_x_plane_gradient_kcps;
Charles MacNeill 5:89031b2f5316 153 uint16_t nvm__cust__algo__crosstalk_compensation_y_plane_gradient_kcps;
Charles MacNeill 5:89031b2f5316 154 uint8_t nvm__cust__spare__host_config__nvm_config_spare_0;
Charles MacNeill 5:89031b2f5316 155 uint8_t nvm__cust__spare__host_config__nvm_config_spare_1;
Charles MacNeill 5:89031b2f5316 156 VL53LX_optical_centre_t fmt_optical_centre;
Charles MacNeill 5:89031b2f5316 157 VL53LX_cal_peak_rate_map_t fmt_peak_rate_map;
Charles MacNeill 5:89031b2f5316 158 VL53LX_additional_offset_cal_data_t fmt_add_offset_data;
Charles MacNeill 5:89031b2f5316 159
Charles MacNeill 5:89031b2f5316 160 VL53LX_decoded_nvm_fmt_range_data_t
Charles MacNeill 5:89031b2f5316 161 fmt_range_data[VL53LX_NVM_MAX_FMT_RANGE_DATA];
Charles MacNeill 5:89031b2f5316 162
Charles MacNeill 5:89031b2f5316 163 VL53LX_decoded_nvm_fmt_info_t fmt_info;
Charles MacNeill 5:89031b2f5316 164 VL53LX_decoded_nvm_ews_info_t ews_info;
Charles MacNeill 5:89031b2f5316 165
Charles MacNeill 5:89031b2f5316 166 } VL53LX_decoded_nvm_data_t;
Charles MacNeill 5:89031b2f5316 167
Charles MacNeill 5:89031b2f5316 168
Charles MacNeill 5:89031b2f5316 169
Charles MacNeill 5:89031b2f5316 170 #ifdef __cplusplus
Charles MacNeill 5:89031b2f5316 171 }
Charles MacNeill 5:89031b2f5316 172 #endif
Charles MacNeill 5:89031b2f5316 173
Charles MacNeill 5:89031b2f5316 174 #endif
Charles MacNeill 5:89031b2f5316 175