amiro-lld / drivers / VL53L1X / v1 / api / core / vl53l1_ll_device.h @ 4dba9195
History | View | Annotate | Download (32.094 KB)
1 |
/*
|
---|---|
2 |
* Copyright (c) 2017, STMicroelectronics - All Rights Reserved
|
3 |
*
|
4 |
* This file is part of VL53L1 Core and is dual licensed,
|
5 |
* either 'STMicroelectronics
|
6 |
* Proprietary license'
|
7 |
* or 'BSD 3-clause "New" or "Revised" License' , at your option.
|
8 |
*
|
9 |
********************************************************************************
|
10 |
*
|
11 |
* 'STMicroelectronics Proprietary license'
|
12 |
*
|
13 |
********************************************************************************
|
14 |
*
|
15 |
* License terms: STMicroelectronics Proprietary in accordance with licensing
|
16 |
* terms at www.st.com/sla0081
|
17 |
*
|
18 |
* STMicroelectronics confidential
|
19 |
* Reproduction and Communication of this document is strictly prohibited unless
|
20 |
* specifically authorized in writing by STMicroelectronics.
|
21 |
*
|
22 |
*
|
23 |
********************************************************************************
|
24 |
*
|
25 |
* Alternatively, VL53L1 Core may be distributed under the terms of
|
26 |
* 'BSD 3-clause "New" or "Revised" License', in which case the following
|
27 |
* provisions apply instead of the ones mentioned above :
|
28 |
*
|
29 |
********************************************************************************
|
30 |
*
|
31 |
* License terms: BSD 3-clause "New" or "Revised" License.
|
32 |
*
|
33 |
* Redistribution and use in source and binary forms, with or without
|
34 |
* modification, are permitted provided that the following conditions are met:
|
35 |
*
|
36 |
* 1. Redistributions of source code must retain the above copyright notice, this
|
37 |
* list of conditions and the following disclaimer.
|
38 |
*
|
39 |
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
40 |
* this list of conditions and the following disclaimer in the documentation
|
41 |
* and/or other materials provided with the distribution.
|
42 |
*
|
43 |
* 3. Neither the name of the copyright holder nor the names of its contributors
|
44 |
* may be used to endorse or promote products derived from this software
|
45 |
* without specific prior written permission.
|
46 |
*
|
47 |
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
48 |
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
49 |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
50 |
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
51 |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
52 |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
53 |
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
54 |
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
55 |
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
56 |
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
57 |
*
|
58 |
*
|
59 |
********************************************************************************
|
60 |
*
|
61 |
*/
|
62 |
|
63 |
/**
|
64 |
* @file vl53l1_ll_device.h
|
65 |
*
|
66 |
* @brief LL Driver Device specific defines. To be adapted by implementer for the
|
67 |
* targeted device.
|
68 |
*/
|
69 |
|
70 |
#ifndef _VL53L1_LL_DEVICE_H_
|
71 |
#define _VL53L1_LL_DEVICE_H_
|
72 |
|
73 |
#include "vl53l1_types.h" |
74 |
#include "vl53l1_platform_user_config.h" |
75 |
|
76 |
#define VL53L1_I2C 0x01 |
77 |
#define VL53L1_SPI 0x00 |
78 |
|
79 |
|
80 |
/** @defgroup VL53L1_DevSpecDefines_group VL53L1 Device Specific Defines
|
81 |
* @brief VL53L1 cut1.0 Device Specific Defines
|
82 |
* @{
|
83 |
*/
|
84 |
|
85 |
/** @defgroup VL53L1_define_WaitMethod_group Defines Wait method used
|
86 |
* For example blocking versus non blocking
|
87 |
* @{
|
88 |
*/
|
89 |
typedef uint8_t VL53L1_WaitMethod;
|
90 |
|
91 |
#define VL53L1_WAIT_METHOD_BLOCKING ((VL53L1_WaitMethod) 0) |
92 |
#define VL53L1_WAIT_METHOD_NON_BLOCKING ((VL53L1_WaitMethod) 1) |
93 |
|
94 |
/** @} end of VL53L1_define_WaitMethod_group */
|
95 |
|
96 |
/** @defgroup VL53L1_define_DeviceState_group Device State
|
97 |
*
|
98 |
* @brief Defines all possible device states for the device
|
99 |
* @{
|
100 |
*/
|
101 |
typedef uint8_t VL53L1_DeviceState;
|
102 |
|
103 |
#define VL53L1_DEVICESTATE_POWERDOWN ((VL53L1_DeviceState) 0) |
104 |
#define VL53L1_DEVICESTATE_HW_STANDBY ((VL53L1_DeviceState) 1) |
105 |
#define VL53L1_DEVICESTATE_FW_COLDBOOT ((VL53L1_DeviceState) 2) |
106 |
#define VL53L1_DEVICESTATE_SW_STANDBY ((VL53L1_DeviceState) 3) |
107 |
#define VL53L1_DEVICESTATE_RANGING_DSS_AUTO ((VL53L1_DeviceState) 4) |
108 |
#define VL53L1_DEVICESTATE_RANGING_DSS_MANUAL ((VL53L1_DeviceState) 5) |
109 |
#define VL53L1_DEVICESTATE_RANGING_WAIT_GPH_SYNC ((VL53L1_DeviceState) 6) |
110 |
#define VL53L1_DEVICESTATE_RANGING_GATHER_DATA ((VL53L1_DeviceState) 7) |
111 |
#define VL53L1_DEVICESTATE_RANGING_OUTPUT_DATA ((VL53L1_DeviceState) 8) |
112 |
|
113 |
#define VL53L1_DEVICESTATE_UNKNOWN ((VL53L1_DeviceState) 98) |
114 |
#define VL53L1_DEVICESTATE_ERROR ((VL53L1_DeviceState) 99) |
115 |
|
116 |
/** @} end of VL53L1_define_DeviceState_group */
|
117 |
|
118 |
|
119 |
/** @defgroup VL53L1_define_DevicePresetModes_group Device Preset Modes
|
120 |
*
|
121 |
* @brief Defines all possible device preset modes. The integer values are
|
122 |
* kept the same as main EwokPlus driver branch
|
123 |
* @{
|
124 |
*/
|
125 |
typedef uint8_t VL53L1_DevicePresetModes;
|
126 |
|
127 |
#define VL53L1_DEVICEPRESETMODE_NONE ((VL53L1_DevicePresetModes) 0) |
128 |
#define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING ((VL53L1_DevicePresetModes) 1) |
129 |
#define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING_SHORT_RANGE ((VL53L1_DevicePresetModes) 2) |
130 |
#define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING_LONG_RANGE ((VL53L1_DevicePresetModes) 3) |
131 |
#define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING_MM1_CAL ((VL53L1_DevicePresetModes) 4) |
132 |
#define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING_MM2_CAL ((VL53L1_DevicePresetModes) 5) |
133 |
#define VL53L1_DEVICEPRESETMODE_TIMED_RANGING ((VL53L1_DevicePresetModes) 6) |
134 |
#define VL53L1_DEVICEPRESETMODE_TIMED_RANGING_SHORT_RANGE ((VL53L1_DevicePresetModes) 7) |
135 |
#define VL53L1_DEVICEPRESETMODE_TIMED_RANGING_LONG_RANGE ((VL53L1_DevicePresetModes) 8) |
136 |
#define VL53L1_DEVICEPRESETMODE_OLT ((VL53L1_DevicePresetModes) 17) |
137 |
#define VL53L1_DEVICEPRESETMODE_SINGLESHOT_RANGING ((VL53L1_DevicePresetModes) 18) |
138 |
#define VL53L1_DEVICEPRESETMODE_LOWPOWERAUTO_SHORT_RANGE ((VL53L1_DevicePresetModes) 36) |
139 |
#define VL53L1_DEVICEPRESETMODE_LOWPOWERAUTO_MEDIUM_RANGE ((VL53L1_DevicePresetModes) 37) |
140 |
#define VL53L1_DEVICEPRESETMODE_LOWPOWERAUTO_LONG_RANGE ((VL53L1_DevicePresetModes) 38) |
141 |
|
142 |
/** @} end of VL53L1_define_DevicePresetModes_group */
|
143 |
|
144 |
|
145 |
/** @defgroup VL53L1_define_DeviceMeasurementModes_group Device Measurement Modes
|
146 |
*
|
147 |
* @brief Defines all possible measurement modes for the device
|
148 |
* @{
|
149 |
*/
|
150 |
typedef uint8_t VL53L1_DeviceMeasurementModes;
|
151 |
|
152 |
#define VL53L1_DEVICEMEASUREMENTMODE_STOP ((VL53L1_DeviceMeasurementModes) 0x00) |
153 |
#define VL53L1_DEVICEMEASUREMENTMODE_SINGLESHOT ((VL53L1_DeviceMeasurementModes) 0x10) |
154 |
#define VL53L1_DEVICEMEASUREMENTMODE_BACKTOBACK ((VL53L1_DeviceMeasurementModes) 0x20) |
155 |
#define VL53L1_DEVICEMEASUREMENTMODE_TIMED ((VL53L1_DeviceMeasurementModes) 0x40) |
156 |
#define VL53L1_DEVICEMEASUREMENTMODE_ABORT ((VL53L1_DeviceMeasurementModes) 0x80) |
157 |
|
158 |
/** @} VL53L1_define_DeviceMeasurementModes_group */
|
159 |
|
160 |
/** @defgroup VL53L1_define_OffsetCalibrationModes_group Device Offset Calibration Mode
|
161 |
*
|
162 |
* @brief Defines possible offset calibration modes for the device
|
163 |
* @{
|
164 |
*/
|
165 |
typedef uint8_t VL53L1_OffsetCalibrationMode;
|
166 |
|
167 |
#define VL53L1_OFFSETCALIBRATIONMODE__NONE ((VL53L1_OffsetCalibrationMode) 0) |
168 |
#define VL53L1_OFFSETCALIBRATIONMODE__MM1_MM2__STANDARD ((VL53L1_OffsetCalibrationMode) 1) |
169 |
#define VL53L1_OFFSETCALIBRATIONMODE__MM1_MM2__HISTOGRAM ((VL53L1_OffsetCalibrationMode) 2) |
170 |
#define VL53L1_OFFSETCALIBRATIONMODE__MM1_MM2__STANDARD_PRE_RANGE_ONLY ((VL53L1_OffsetCalibrationMode) 3) |
171 |
#define VL53L1_OFFSETCALIBRATIONMODE__MM1_MM2__HISTOGRAM_PRE_RANGE_ONLY ((VL53L1_OffsetCalibrationMode) 4) |
172 |
#define VL53L1_OFFSETCALIBRATIONMODE__PER_ZONE ((VL53L1_OffsetCalibrationMode) 5) |
173 |
|
174 |
/** @} VL53L1_define_OffsetCalibrationModes_group */
|
175 |
|
176 |
|
177 |
/** @defgroup VL53L1_define_OffsetCalibrationModes_group Device Offset Correction Mode
|
178 |
*
|
179 |
* @brief Defines all possible offset correction modes for the device
|
180 |
* @{
|
181 |
*/
|
182 |
typedef uint8_t VL53L1_OffsetCorrectionMode;
|
183 |
|
184 |
#define VL53L1_OFFSETCORRECTIONMODE__NONE ((VL53L1_OffsetCorrectionMode) 0) |
185 |
#define VL53L1_OFFSETCORRECTIONMODE__MM1_MM2_OFFSETS ((VL53L1_OffsetCorrectionMode) 1) |
186 |
#define VL53L1_OFFSETCORRECTIONMODE__PER_ZONE_OFFSETS ((VL53L1_OffsetCorrectionMode) 2) |
187 |
|
188 |
/** @} VL53L1_define_OffsetCalibrationModes_group */
|
189 |
|
190 |
|
191 |
|
192 |
/** @defgroup VL53L1_DeviceSequenceConfig_group Device Sequence Config
|
193 |
*
|
194 |
* @brief Individual bit enables for each stage in the ranging scheduler
|
195 |
* The values below encode the bit shift for each bit
|
196 |
* @{
|
197 |
*/
|
198 |
typedef uint8_t VL53L1_DeviceSequenceConfig;
|
199 |
|
200 |
#define VL53L1_DEVICESEQUENCECONFIG_VHV ((VL53L1_DeviceSequenceConfig) 0) |
201 |
#define VL53L1_DEVICESEQUENCECONFIG_PHASECAL ((VL53L1_DeviceSequenceConfig) 1) |
202 |
#define VL53L1_DEVICESEQUENCECONFIG_REFERENCE_PHASE ((VL53L1_DeviceSequenceConfig) 2) |
203 |
#define VL53L1_DEVICESEQUENCECONFIG_DSS1 ((VL53L1_DeviceSequenceConfig) 3) |
204 |
#define VL53L1_DEVICESEQUENCECONFIG_DSS2 ((VL53L1_DeviceSequenceConfig) 4) |
205 |
#define VL53L1_DEVICESEQUENCECONFIG_MM1 ((VL53L1_DeviceSequenceConfig) 5) |
206 |
#define VL53L1_DEVICESEQUENCECONFIG_MM2 ((VL53L1_DeviceSequenceConfig) 6) |
207 |
#define VL53L1_DEVICESEQUENCECONFIG_RANGE ((VL53L1_DeviceSequenceConfig) 7) |
208 |
|
209 |
/** @} VL53L1_DeviceSequenceConfig_group */
|
210 |
|
211 |
|
212 |
/** @defgroup VL53L1_DeviceInterruptPolarity_group Device Interrupt Polarity
|
213 |
*
|
214 |
* @brief Device Interrupt Polarity
|
215 |
* @{
|
216 |
*/
|
217 |
typedef uint8_t VL53L1_DeviceInterruptPolarity;
|
218 |
|
219 |
#define VL53L1_DEVICEINTERRUPTPOLARITY_ACTIVE_HIGH ((VL53L1_DeviceInterruptPolarity) 0x00) |
220 |
#define VL53L1_DEVICEINTERRUPTPOLARITY_ACTIVE_LOW ((VL53L1_DeviceInterruptPolarity) 0x10) |
221 |
#define VL53L1_DEVICEINTERRUPTPOLARITY_BIT_MASK ((VL53L1_DeviceInterruptPolarity) 0x10) |
222 |
#define VL53L1_DEVICEINTERRUPTPOLARITY_CLEAR_MASK ((VL53L1_DeviceInterruptPolarity) 0xEF) |
223 |
|
224 |
/** @} VL53L1_DeviceInterruptPolarity_group */
|
225 |
|
226 |
|
227 |
/** @defgroup VL53L1_DeviceGpioMode_group Device GPIO Mode
|
228 |
*
|
229 |
* @brief Device Gpio Mode
|
230 |
* @{
|
231 |
*/
|
232 |
typedef uint8_t VL53L1_DeviceGpioMode;
|
233 |
|
234 |
#define VL53L1_DEVICEGPIOMODE_OUTPUT_CONSTANT_ZERO ((VL53L1_DeviceGpioMode) 0x00) |
235 |
#define VL53L1_DEVICEGPIOMODE_OUTPUT_RANGE_AND_ERROR_INTERRUPTS ((VL53L1_DeviceGpioMode) 0x01) |
236 |
#define VL53L1_DEVICEGPIOMODE_OUTPUT_TIMIER_INTERRUPTS ((VL53L1_DeviceGpioMode) 0x02) |
237 |
#define VL53L1_DEVICEGPIOMODE_OUTPUT_RANGE_MODE_INTERRUPT_STATUS ((VL53L1_DeviceGpioMode) 0x03) |
238 |
#define VL53L1_DEVICEGPIOMODE_OUTPUT_SLOW_OSCILLATOR_CLOCK ((VL53L1_DeviceGpioMode) 0x04) |
239 |
#define VL53L1_DEVICEGPIOMODE_BIT_MASK ((VL53L1_DeviceGpioMode) 0x0F) |
240 |
#define VL53L1_DEVICEGPIOMODE_CLEAR_MASK ((VL53L1_DeviceGpioMode) 0xF0) |
241 |
|
242 |
/** @} VL53L1_DeviceGpioMode_group */
|
243 |
|
244 |
|
245 |
/** @defgroup VL53L1_DeviceError_group Device Error
|
246 |
*
|
247 |
* @brief Device Error code in the range status
|
248 |
*
|
249 |
* This enum is Device specific it should be updated in the implementation
|
250 |
* Use @a VL53L1_GetStatusErrorString() to get the string.
|
251 |
* It is related to Status Register of the Device.
|
252 |
* @{
|
253 |
*/
|
254 |
typedef uint8_t VL53L1_DeviceError;
|
255 |
|
256 |
#define VL53L1_DEVICEERROR_NOUPDATE ((VL53L1_DeviceError) 0) |
257 |
/*!< 0 No Update */
|
258 |
#define VL53L1_DEVICEERROR_VCSELCONTINUITYTESTFAILURE ((VL53L1_DeviceError) 1) |
259 |
#define VL53L1_DEVICEERROR_VCSELWATCHDOGTESTFAILURE ((VL53L1_DeviceError) 2) |
260 |
#define VL53L1_DEVICEERROR_NOVHVVALUEFOUND ((VL53L1_DeviceError) 3) |
261 |
#define VL53L1_DEVICEERROR_MSRCNOTARGET ((VL53L1_DeviceError) 4) |
262 |
#define VL53L1_DEVICEERROR_RANGEPHASECHECK ((VL53L1_DeviceError) 5) |
263 |
#define VL53L1_DEVICEERROR_SIGMATHRESHOLDCHECK ((VL53L1_DeviceError) 6) |
264 |
#define VL53L1_DEVICEERROR_PHASECONSISTENCY ((VL53L1_DeviceError) 7) |
265 |
#define VL53L1_DEVICEERROR_MINCLIP ((VL53L1_DeviceError) 8) |
266 |
#define VL53L1_DEVICEERROR_RANGECOMPLETE ((VL53L1_DeviceError) 9) |
267 |
#define VL53L1_DEVICEERROR_ALGOUNDERFLOW ((VL53L1_DeviceError) 10) |
268 |
#define VL53L1_DEVICEERROR_ALGOOVERFLOW ((VL53L1_DeviceError) 11) |
269 |
#define VL53L1_DEVICEERROR_RANGEIGNORETHRESHOLD ((VL53L1_DeviceError) 12) |
270 |
#define VL53L1_DEVICEERROR_USERROICLIP ((VL53L1_DeviceError) 13) |
271 |
#define VL53L1_DEVICEERROR_REFSPADCHARNOTENOUGHDPADS ((VL53L1_DeviceError) 14) |
272 |
#define VL53L1_DEVICEERROR_REFSPADCHARMORETHANTARGET ((VL53L1_DeviceError) 15) |
273 |
#define VL53L1_DEVICEERROR_REFSPADCHARLESSTHANTARGET ((VL53L1_DeviceError) 16) |
274 |
#define VL53L1_DEVICEERROR_MULTCLIPFAIL ((VL53L1_DeviceError) 17) |
275 |
#define VL53L1_DEVICEERROR_GPHSTREAMCOUNT0READY ((VL53L1_DeviceError) 18) |
276 |
#define VL53L1_DEVICEERROR_RANGECOMPLETE_NO_WRAP_CHECK ((VL53L1_DeviceError) 19) |
277 |
#define VL53L1_DEVICEERROR_EVENTCONSISTENCY ((VL53L1_DeviceError) 20) |
278 |
#define VL53L1_DEVICEERROR_MINSIGNALEVENTCHECK ((VL53L1_DeviceError) 21) |
279 |
#define VL53L1_DEVICEERROR_RANGECOMPLETE_MERGED_PULSE ((VL53L1_DeviceError) 22) |
280 |
|
281 |
/* Patch_NewDeviceErrorCodePrevRangeNoTargets_11786 */
|
282 |
#define VL53L1_DEVICEERROR_PREV_RANGE_NO_TARGETS ((VL53L1_DeviceError) 23) |
283 |
|
284 |
/** @} end of VL53L1_DeviceError_group */
|
285 |
|
286 |
|
287 |
/** @defgroup VL53L1_DeviceReportStatus_group Device Report Status
|
288 |
* @brief Device Report Status code
|
289 |
*
|
290 |
* @{
|
291 |
*/
|
292 |
typedef uint8_t VL53L1_DeviceReportStatus;
|
293 |
|
294 |
#define VL53L1_DEVICEREPORTSTATUS_NOUPDATE ((VL53L1_DeviceReportStatus) 0) |
295 |
/*!< 0 No Update */
|
296 |
#define VL53L1_DEVICEREPORTSTATUS_ROI_SETUP ((VL53L1_DeviceReportStatus) 1) |
297 |
#define VL53L1_DEVICEREPORTSTATUS_VHV ((VL53L1_DeviceReportStatus) 2) |
298 |
#define VL53L1_DEVICEREPORTSTATUS_PHASECAL ((VL53L1_DeviceReportStatus) 3) |
299 |
#define VL53L1_DEVICEREPORTSTATUS_REFERENCE_PHASE ((VL53L1_DeviceReportStatus) 4) |
300 |
#define VL53L1_DEVICEREPORTSTATUS_DSS1 ((VL53L1_DeviceReportStatus) 5) |
301 |
#define VL53L1_DEVICEREPORTSTATUS_DSS2 ((VL53L1_DeviceReportStatus) 6) |
302 |
#define VL53L1_DEVICEREPORTSTATUS_MM1 ((VL53L1_DeviceReportStatus) 7) |
303 |
#define VL53L1_DEVICEREPORTSTATUS_MM2 ((VL53L1_DeviceReportStatus) 8) |
304 |
#define VL53L1_DEVICEREPORTSTATUS_RANGE ((VL53L1_DeviceReportStatus) 9) |
305 |
#define VL53L1_DEVICEREPORTSTATUS_HISTOGRAM ((VL53L1_DeviceReportStatus) 10) |
306 |
|
307 |
/** @} end of VL53L1_DeviceReportStatus_group */
|
308 |
|
309 |
/** @defgroup VL53L1_DeviceDssMode_group Dynamic SPAD Selection Mode
|
310 |
* @brief Selects the device Dynamic SPAD Selection Mode
|
311 |
* @{
|
312 |
*/
|
313 |
|
314 |
typedef uint8_t VL53L1_DeviceDssMode;
|
315 |
|
316 |
#define VL53L1_DEVICEDSSMODE__DISABLED \
|
317 |
((VL53L1_DeviceDssMode) 0)
|
318 |
#define VL53L1_DEVICEDSSMODE__TARGET_RATE \
|
319 |
((VL53L1_DeviceDssMode) 1)
|
320 |
#define VL53L1_DEVICEDSSMODE__REQUESTED_EFFFECTIVE_SPADS \
|
321 |
((VL53L1_DeviceDssMode) 2)
|
322 |
#define VL53L1_DEVICEDSSMODE__BLOCK_SELECT \
|
323 |
((VL53L1_DeviceDssMode) 3)
|
324 |
|
325 |
/** @} end of VL53L1_DeviceDssMode_group */
|
326 |
|
327 |
/** @defgroup VL53L1_DeviceConfigLevel_group Device Config Level
|
328 |
*
|
329 |
* @brief Defines the contents of the config & start range I2C multi byte transaction
|
330 |
* @{
|
331 |
*/
|
332 |
typedef uint8_t VL53L1_DeviceConfigLevel;
|
333 |
|
334 |
#define VL53L1_DEVICECONFIGLEVEL_SYSTEM_CONTROL \
|
335 |
((VL53L1_DeviceConfigLevel) 0)
|
336 |
/*!< Configs system control & start range */
|
337 |
#define VL53L1_DEVICECONFIGLEVEL_DYNAMIC_ONWARDS \
|
338 |
((VL53L1_DeviceConfigLevel) 1)
|
339 |
/*!< Dynamic config onwards (dynamic_config, system_control) & start range */
|
340 |
#define VL53L1_DEVICECONFIGLEVEL_TIMING_ONWARDS \
|
341 |
((VL53L1_DeviceConfigLevel) 2)
|
342 |
/*!< Dynamic config onwards (timing config, dynamic_config, system_control) &
|
343 |
start range */
|
344 |
#define VL53L1_DEVICECONFIGLEVEL_GENERAL_ONWARDS \
|
345 |
((VL53L1_DeviceConfigLevel) 3)
|
346 |
/*!< General config onwards (general_config, timing config, dynamic_config,
|
347 |
system_control) & start range */
|
348 |
#define VL53L1_DEVICECONFIGLEVEL_STATIC_ONWARDS \
|
349 |
((VL53L1_DeviceConfigLevel) 4)
|
350 |
/*!< Static config onwards (static_config, general_config, timing_config,
|
351 |
dynamic_config, system_control) & start range */
|
352 |
#define VL53L1_DEVICECONFIGLEVEL_CUSTOMER_ONWARDS \
|
353 |
((VL53L1_DeviceConfigLevel) 5)
|
354 |
/*!< Full device config (customer_nvm_managed, static_config, general_config,
|
355 |
timing config, dynamic_config, system_control) & start range */
|
356 |
#define VL53L1_DEVICECONFIGLEVEL_FULL \
|
357 |
((VL53L1_DeviceConfigLevel) 6)
|
358 |
/*!< Full device config (static_nvm_managed, customer_nvm_managed, static_config,
|
359 |
general_config, timing config, dynamic_config, system_control) & start range */
|
360 |
|
361 |
/** @} end of VL53L1_DeviceConfigLevel_group */
|
362 |
|
363 |
|
364 |
/** @defgroup VL53L1_DeviceResultsLevel_group Device Results Level
|
365 |
*
|
366 |
* @brief Defines the contents of the read results I2C multi byte transaction
|
367 |
* @{
|
368 |
*/
|
369 |
typedef uint8_t VL53L1_DeviceResultsLevel;
|
370 |
|
371 |
#define VL53L1_DEVICERESULTSLEVEL_SYSTEM_RESULTS \
|
372 |
((VL53L1_DeviceResultsLevel) 0)
|
373 |
/*!< Read just system_results */
|
374 |
#define VL53L1_DEVICERESULTSLEVEL_UPTO_CORE \
|
375 |
((VL53L1_DeviceResultsLevel) 1)
|
376 |
/*!< Read both system and core results */
|
377 |
#define VL53L1_DEVICERESULTSLEVEL_FULL \
|
378 |
((VL53L1_DeviceResultsLevel) 2)
|
379 |
/*!< Read system, core and debug results */
|
380 |
|
381 |
/** @} end of VL53L1_DeviceResultsLevel_group */
|
382 |
|
383 |
|
384 |
/** @defgroup VL53L1_DeviceTestMode_group Device Test Mode
|
385 |
*
|
386 |
* @brief Values below match the the TEST_MODE__CTRL register
|
387 |
* do not change
|
388 |
* @{
|
389 |
*/
|
390 |
|
391 |
typedef uint8_t VL53L1_DeviceTestMode;
|
392 |
|
393 |
#define VL53L1_DEVICETESTMODE_NONE \
|
394 |
((VL53L1_DeviceTestMode) 0x00)
|
395 |
/*!< Idle */
|
396 |
#define VL53L1_DEVICETESTMODE_NVM_ZERO \
|
397 |
((VL53L1_DeviceTestMode) 0x01)
|
398 |
/*!< NVM zero */
|
399 |
#define VL53L1_DEVICETESTMODE_NVM_COPY \
|
400 |
((VL53L1_DeviceTestMode) 0x02)
|
401 |
/*!< NVM copy */
|
402 |
#define VL53L1_DEVICETESTMODE_PATCH \
|
403 |
((VL53L1_DeviceTestMode) 0x03)
|
404 |
/*!< Patch */
|
405 |
#define VL53L1_DEVICETESTMODE_DCR \
|
406 |
((VL53L1_DeviceTestMode) 0x04)
|
407 |
/*!< DCR - SPAD Self-Check (Pass if Count Rate is less than Threshold) */
|
408 |
#define VL53L1_DEVICETESTMODE_LCR_VCSEL_OFF \
|
409 |
((VL53L1_DeviceTestMode) 0x05)
|
410 |
/*!< LCR - SPAD Self-Check (Pass if Count Rate is greater than Threshold
|
411 |
and VCSEL off) */
|
412 |
#define VL53L1_DEVICETESTMODE_LCR_VCSEL_ON \
|
413 |
((VL53L1_DeviceTestMode) 0x06)
|
414 |
/*!< LCR - SPAD Self-Check (Pass if Count Rate is greater than Threshold
|
415 |
and VCSEL on) */
|
416 |
#define VL53L1_DEVICETESTMODE_SPOT_CENTRE_LOCATE \
|
417 |
((VL53L1_DeviceTestMode) 0x07)
|
418 |
/*!< Spot centre locate */
|
419 |
#define VL53L1_DEVICETESTMODE_REF_SPAD_CHAR_WITH_PRE_VHV \
|
420 |
((VL53L1_DeviceTestMode) 0x08)
|
421 |
/*!<Reference SPAD Characterisation with pre-VHV */
|
422 |
#define VL53L1_DEVICETESTMODE_REF_SPAD_CHAR_ONLY \
|
423 |
((VL53L1_DeviceTestMode) 0x09)
|
424 |
/*!< Reference SPAD Characterisation Only */
|
425 |
|
426 |
/** @} end of VL53L1_DeviceTestMode_group */
|
427 |
|
428 |
|
429 |
/** @defgroup VL53L1_DeviceSscArray_group Device Test Mode
|
430 |
*
|
431 |
* @{
|
432 |
*/
|
433 |
|
434 |
typedef uint8_t VL53L1_DeviceSscArray;
|
435 |
|
436 |
#define VL53L1_DEVICESSCARRAY_RTN ((VL53L1_DeviceSscArray) 0x00) |
437 |
/*!<Return Array Rates */
|
438 |
#define VL53L1_DEVICETESTMODE_REF ((VL53L1_DeviceSscArray) 0x01) |
439 |
/*!< Reference Array Rates Only */
|
440 |
|
441 |
/** @} end of VL53L1_DeviceSscArray_group */
|
442 |
|
443 |
|
444 |
/** @defgroup VL53L1_SpadArraySelection_group SPAD Array Selection Functionality
|
445 |
* @brief SPAD array selection definitions
|
446 |
* @{
|
447 |
*/
|
448 |
|
449 |
#define VL53L1_RETURN_ARRAY_ONLY 0x01 |
450 |
/*!< Return SPAD Array only */
|
451 |
#define VL53L1_REFERENCE_ARRAY_ONLY 0x10 |
452 |
/*!< Reference SPAD Array only */
|
453 |
#define VL53L1_BOTH_RETURN_AND_REFERENCE_ARRAYS 0x11 |
454 |
/*!< Both Return and Reference SPAD Arrays */
|
455 |
#define VL53L1_NEITHER_RETURN_AND_REFERENCE_ARRAYS 0x00 |
456 |
/*!< Neither Return or Reference SPAD Array */
|
457 |
|
458 |
/** @} end of VL53L1_SpadArraySelection_group */
|
459 |
|
460 |
/** @defgroup VL53L1_DeviceInterruptLevel_group Interrupt Level Functionality
|
461 |
* @brief Interrupt Output Level types
|
462 |
* @{
|
463 |
*/
|
464 |
|
465 |
#define VL53L1_DEVICEINTERRUPTLEVEL_ACTIVE_HIGH 0x00 |
466 |
/*!< Active High Interrupt */
|
467 |
#define VL53L1_DEVICEINTERRUPTLEVEL_ACTIVE_LOW 0x10 |
468 |
/*!< Active Low Interrupt */
|
469 |
#define VL53L1_DEVICEINTERRUPTLEVEL_ACTIVE_MASK 0x10 |
470 |
/*!< Active Bit Mask */
|
471 |
|
472 |
/** @} end of VL53L1_DeviceInterruptLevel_group */
|
473 |
|
474 |
/** @defgroup VL53L1_ApiCore_group Misc Functionality
|
475 |
* @brief API core specific definitions
|
476 |
* @{
|
477 |
*/
|
478 |
|
479 |
#define VL53L1_POLLING_DELAY_US 1000 |
480 |
/*!< 1000us delay for register polling */
|
481 |
#define VL53L1_SOFTWARE_RESET_DURATION_US 100 |
482 |
/*!< 100us software reset duration */
|
483 |
#define VL53L1_FIRMWARE_BOOT_TIME_US 1200 |
484 |
/*!< Duration of firmware boot time for which I2C
|
485 |
access is blocked. Real Device 1ms, FPGA 15ms */
|
486 |
#define VL53L1_ENABLE_POWERFORCE_SETTLING_TIME_US 250 |
487 |
/*!< After enabling power force a delay is required
|
488 |
to bring regulator, bandgap, oscillator time
|
489 |
to power up and settle */
|
490 |
#define VL53L1_SPAD_ARRAY_WIDTH 16 |
491 |
/*!< SPAD array width */
|
492 |
#define VL53L1_SPAD_ARRAY_HEIGHT 16 |
493 |
/*!< SPAD array height */
|
494 |
#define VL53L1_NVM_SIZE_IN_BYTES 512 |
495 |
/*!< NVM (OTP) size in bytes */
|
496 |
#define VL53L1_NO_OF_SPAD_ENABLES 256 |
497 |
/*!< Number of SPADs each SPAD array */
|
498 |
#define VL53L1_RTN_SPAD_BUFFER_SIZE 32 |
499 |
/*!< Number of Return SPAD enable registers (bytes) */
|
500 |
#define VL53L1_REF_SPAD_BUFFER_SIZE 6 |
501 |
/*!< Number of Reference SPAD enable registers (bytes) */
|
502 |
#define VL53L1_AMBIENT_WINDOW_VCSEL_PERIODS 256 |
503 |
/*!< Sigma Delta Ambient window in VCSEL Periods */
|
504 |
#define VL53L1_RANGING_WINDOW_VCSEL_PERIODS 2048 |
505 |
/*!< Sigma Delta Ranging window in VCSEL periods */
|
506 |
#define VL53L1_MACRO_PERIOD_VCSEL_PERIODS \
|
507 |
(VL53L1_AMBIENT_WINDOW_VCSEL_PERIODS + VL53L1_RANGING_WINDOW_VCSEL_PERIODS) |
508 |
/*!< Macro Period in VCSEL periods */
|
509 |
#define VL53L1_MAX_ALLOWED_PHASE 0xFFFF |
510 |
/*!< Maximum Allowed phase 0xFFFF means 31.999 PLL Clocks */
|
511 |
|
512 |
#define VL53L1_RTN_SPAD_UNITY_TRANSMISSION 0x0100 |
513 |
/*!< SPAD unity transmission value - 1.0 in 8.8 format */
|
514 |
#define VL53L1_RTN_SPAD_APERTURE_TRANSMISSION 0x0038 |
515 |
/*!< Apertured SPAD transmission value - 8.8 format
|
516 |
Nominal: 5x -> 0.200000 * 256 = 51 = 0x33
|
517 |
Measured: 4.6x -> 0.217391 * 256 = 56 = 0x38 */
|
518 |
|
519 |
#define VL53L1_SPAD_TOTAL_COUNT_MAX ((0x01 << 29) - 1) |
520 |
/*!< Maximum SPAD count - 512Mcps * 1sec = 29bits) */
|
521 |
#define VL53L1_SPAD_TOTAL_COUNT_RES_THRES (0x01 << 24) |
522 |
/*!< SPAD count threshold for reduced 3-bit fractional resolution */
|
523 |
#define VL53L1_COUNT_RATE_INTERNAL_MAX ((0x01 << 24) - 1) |
524 |
/*!< Maximum internal count rate is a 17.7 (24-b) value */
|
525 |
#define VL53L1_SPEED_OF_LIGHT_IN_AIR 299704 |
526 |
/*!< Speed of light in air in mm/sec */
|
527 |
#define VL53L1_SPEED_OF_LIGHT_IN_AIR_DIV_8 (299704 >> 3) |
528 |
/*!< Speed of light in air in divided by 8, 2 for round trip
|
529 |
and 4 as an additional scaling factor */
|
530 |
|
531 |
/** @} end of VL53L1_ApiCore_group */
|
532 |
|
533 |
/** @} end of VL53L1_DevSpecDefines_group */
|
534 |
|
535 |
/** @defgroup VL53L1_GPIO_Interrupt_Mode_group Interrupt modes
|
536 |
* @brief Selects between four interrupt modes
|
537 |
* @{
|
538 |
*/
|
539 |
|
540 |
typedef uint8_t VL53L1_GPIO_Interrupt_Mode;
|
541 |
|
542 |
#define VL53L1_GPIOINTMODE_LEVEL_LOW \
|
543 |
((VL53L1_GPIO_Interrupt_Mode) 0)
|
544 |
/*!< Trigger interupt if value < thresh_low */
|
545 |
#define VL53L1_GPIOINTMODE_LEVEL_HIGH \
|
546 |
((VL53L1_GPIO_Interrupt_Mode) 1)
|
547 |
/*!< Trigger interupt if value > thresh_high */
|
548 |
#define VL53L1_GPIOINTMODE_OUT_OF_WINDOW \
|
549 |
((VL53L1_GPIO_Interrupt_Mode) 2)
|
550 |
/*!< Trigger interupt if value < thresh_low OR value > thresh_high */
|
551 |
#define VL53L1_GPIOINTMODE_IN_WINDOW \
|
552 |
((VL53L1_GPIO_Interrupt_Mode) 3)
|
553 |
/*!< Trigger interupt if value > thresh_low AND value < thresh_high */
|
554 |
|
555 |
/** @} end of VL53L1_GPIO_Interrupt_Mode_group */
|
556 |
|
557 |
/** @defgroup VL53L1_TuningParms_group Tuning Parameters
|
558 |
* @brief Selects specific tuning parameter inputs to get/set \
|
559 |
* Added as part of Patch_AddedTuningParms_11761
|
560 |
* @{
|
561 |
*/
|
562 |
|
563 |
typedef uint16_t VL53L1_TuningParms;
|
564 |
|
565 |
#define VL53L1_TUNINGPARMS_LLD_PUBLIC_MIN_ADDRESS \
|
566 |
((VL53L1_TuningParms) VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS) |
567 |
#define VL53L1_TUNINGPARMS_LLD_PUBLIC_MAX_ADDRESS \
|
568 |
((VL53L1_TuningParms) VL53L1_TUNINGPARM_LOWPOWERAUTO_RANGE_CONFIG_TIMEOUT_US) |
569 |
|
570 |
#define VL53L1_TUNINGPARMS_LLD_PRIVATE_MIN_ADDRESS \
|
571 |
((VL53L1_TuningParms) VL53L1_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS) |
572 |
#define VL53L1_TUNINGPARMS_LLD_PRIVATE_MAX_ADDRESS \
|
573 |
((VL53L1_TuningParms) VL53L1_TUNINGPARMS_LLD_PRIVATE_MIN_ADDRESS) |
574 |
|
575 |
#define VL53L1_TUNINGPARM_VERSION \
|
576 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 0))
|
577 |
#define VL53L1_TUNINGPARM_KEY_TABLE_VERSION \
|
578 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 1))
|
579 |
#define VL53L1_TUNINGPARM_LLD_VERSION \
|
580 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 2))
|
581 |
#define VL53L1_TUNINGPARM_CONSISTENCY_LITE_PHASE_TOLERANCE \
|
582 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 3))
|
583 |
#define VL53L1_TUNINGPARM_PHASECAL_TARGET \
|
584 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 4))
|
585 |
#define VL53L1_TUNINGPARM_LITE_CAL_REPEAT_RATE \
|
586 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 5))
|
587 |
#define VL53L1_TUNINGPARM_LITE_RANGING_GAIN_FACTOR \
|
588 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 6))
|
589 |
#define VL53L1_TUNINGPARM_LITE_MIN_CLIP_MM \
|
590 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 7))
|
591 |
#define VL53L1_TUNINGPARM_LITE_LONG_SIGMA_THRESH_MM \
|
592 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 8))
|
593 |
#define VL53L1_TUNINGPARM_LITE_MED_SIGMA_THRESH_MM \
|
594 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 9))
|
595 |
#define VL53L1_TUNINGPARM_LITE_SHORT_SIGMA_THRESH_MM \
|
596 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 10))
|
597 |
#define VL53L1_TUNINGPARM_LITE_LONG_MIN_COUNT_RATE_RTN_MCPS \
|
598 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 11))
|
599 |
#define VL53L1_TUNINGPARM_LITE_MED_MIN_COUNT_RATE_RTN_MCPS \
|
600 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 12))
|
601 |
#define VL53L1_TUNINGPARM_LITE_SHORT_MIN_COUNT_RATE_RTN_MCPS \
|
602 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 13))
|
603 |
#define VL53L1_TUNINGPARM_LITE_SIGMA_EST_PULSE_WIDTH \
|
604 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 14))
|
605 |
#define VL53L1_TUNINGPARM_LITE_SIGMA_EST_AMB_WIDTH_NS \
|
606 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 15))
|
607 |
#define VL53L1_TUNINGPARM_LITE_SIGMA_REF_MM \
|
608 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 16))
|
609 |
#define VL53L1_TUNINGPARM_LITE_RIT_MULT \
|
610 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 17))
|
611 |
#define VL53L1_TUNINGPARM_LITE_SEED_CONFIG \
|
612 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 18))
|
613 |
#define VL53L1_TUNINGPARM_LITE_QUANTIFIER \
|
614 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 19))
|
615 |
#define VL53L1_TUNINGPARM_LITE_FIRST_ORDER_SELECT \
|
616 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 20))
|
617 |
#define VL53L1_TUNINGPARM_LITE_XTALK_MARGIN_KCPS \
|
618 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 21))
|
619 |
#define VL53L1_TUNINGPARM_INITIAL_PHASE_RTN_LITE_LONG_RANGE \
|
620 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 22))
|
621 |
#define VL53L1_TUNINGPARM_INITIAL_PHASE_RTN_LITE_MED_RANGE \
|
622 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 23))
|
623 |
#define VL53L1_TUNINGPARM_INITIAL_PHASE_RTN_LITE_SHORT_RANGE \
|
624 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 24))
|
625 |
#define VL53L1_TUNINGPARM_INITIAL_PHASE_REF_LITE_LONG_RANGE \
|
626 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 25))
|
627 |
#define VL53L1_TUNINGPARM_INITIAL_PHASE_REF_LITE_MED_RANGE \
|
628 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 26))
|
629 |
#define VL53L1_TUNINGPARM_INITIAL_PHASE_REF_LITE_SHORT_RANGE \
|
630 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 27))
|
631 |
#define VL53L1_TUNINGPARM_TIMED_SEED_CONFIG \
|
632 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 28))
|
633 |
#define VL53L1_TUNINGPARM_VHV_LOOPBOUND \
|
634 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 29))
|
635 |
#define VL53L1_TUNINGPARM_REFSPADCHAR_DEVICE_TEST_MODE \
|
636 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 30))
|
637 |
#define VL53L1_TUNINGPARM_REFSPADCHAR_VCSEL_PERIOD \
|
638 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 31))
|
639 |
#define VL53L1_TUNINGPARM_REFSPADCHAR_PHASECAL_TIMEOUT_US \
|
640 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 32))
|
641 |
#define VL53L1_TUNINGPARM_REFSPADCHAR_TARGET_COUNT_RATE_MCPS \
|
642 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 33))
|
643 |
#define VL53L1_TUNINGPARM_REFSPADCHAR_MIN_COUNTRATE_LIMIT_MCPS \
|
644 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 34))
|
645 |
#define VL53L1_TUNINGPARM_REFSPADCHAR_MAX_COUNTRATE_LIMIT_MCPS \
|
646 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 35))
|
647 |
#define VL53L1_TUNINGPARM_OFFSET_CAL_DSS_RATE_MCPS \
|
648 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 36))
|
649 |
#define VL53L1_TUNINGPARM_OFFSET_CAL_PHASECAL_TIMEOUT_US \
|
650 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 37))
|
651 |
#define VL53L1_TUNINGPARM_OFFSET_CAL_MM_TIMEOUT_US \
|
652 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 38))
|
653 |
#define VL53L1_TUNINGPARM_OFFSET_CAL_RANGE_TIMEOUT_US \
|
654 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 39))
|
655 |
#define VL53L1_TUNINGPARM_OFFSET_CAL_PRE_SAMPLES \
|
656 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 40))
|
657 |
#define VL53L1_TUNINGPARM_OFFSET_CAL_MM1_SAMPLES \
|
658 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 41))
|
659 |
#define VL53L1_TUNINGPARM_OFFSET_CAL_MM2_SAMPLES \
|
660 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 42))
|
661 |
#define VL53L1_TUNINGPARM_SPADMAP_VCSEL_PERIOD \
|
662 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 43))
|
663 |
#define VL53L1_TUNINGPARM_SPADMAP_VCSEL_START \
|
664 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 44))
|
665 |
#define VL53L1_TUNINGPARM_SPADMAP_RATE_LIMIT_MCPS \
|
666 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 45))
|
667 |
#define VL53L1_TUNINGPARM_LITE_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS \
|
668 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 46))
|
669 |
#define VL53L1_TUNINGPARM_TIMED_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS \
|
670 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 47))
|
671 |
#define VL53L1_TUNINGPARM_LITE_PHASECAL_CONFIG_TIMEOUT_US \
|
672 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 48))
|
673 |
#define VL53L1_TUNINGPARM_TIMED_PHASECAL_CONFIG_TIMEOUT_US \
|
674 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 49))
|
675 |
#define VL53L1_TUNINGPARM_LITE_MM_CONFIG_TIMEOUT_US \
|
676 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 50))
|
677 |
#define VL53L1_TUNINGPARM_TIMED_MM_CONFIG_TIMEOUT_US \
|
678 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 51))
|
679 |
#define VL53L1_TUNINGPARM_LITE_RANGE_CONFIG_TIMEOUT_US \
|
680 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 52))
|
681 |
#define VL53L1_TUNINGPARM_TIMED_RANGE_CONFIG_TIMEOUT_US \
|
682 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 53))
|
683 |
#define VL53L1_TUNINGPARM_LOWPOWERAUTO_VHV_LOOP_BOUND \
|
684 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 54))
|
685 |
#define VL53L1_TUNINGPARM_LOWPOWERAUTO_MM_CONFIG_TIMEOUT_US \
|
686 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 55))
|
687 |
#define VL53L1_TUNINGPARM_LOWPOWERAUTO_RANGE_CONFIG_TIMEOUT_US \
|
688 |
((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 56))
|
689 |
|
690 |
|
691 |
/** @} end of VL53L1_TuningParms_group */
|
692 |
|
693 |
|
694 |
#endif
|
695 |
|
696 |
/* _VL53L1_DEVICE_H_ */
|
697 |
|
698 |
|