The VL53L1CB proximity sensor, based on ST’s FlightSense™, Time-of-Flight technology.

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   VL53L1CB_noshield_1sensor_polls_auton VL53L1CB_noshield_1sensor_interrupt_auton X_NUCLEO_53L1A2

Based on VL53L1 library, this is a library for the VL53L1CB ToF chip.

Committer:
lugandc
Date:
Wed Jul 21 17:06:38 2021 +0200
Revision:
18:0696efe39d08
Parent:
7:1add29d51e72
Cleanup i2c functions, removed all bad references to L1X
Cleanup VL53L1CB class:
- i2c device object is passed in a consistent way in MyDevice structure
- removed useless functions
Updated VL53L1CB component driver with bare driver release 6.6.7 content

Who changed what in which revision?

UserRevisionLine numberNew contents of line
charlesmn 0:3ac96e360672 1
Charles MacNeill 7:1add29d51e72 2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
Charles MacNeill 7:1add29d51e72 3 /******************************************************************************
charlesmn 0:3ac96e360672 4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
charlesmn 0:3ac96e360672 5
Charles MacNeill 7:1add29d51e72 6 This file is part of VL53L1 and is dual licensed,
Charles MacNeill 7:1add29d51e72 7 either GPL-2.0+
charlesmn 0:3ac96e360672 8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
Charles MacNeill 7:1add29d51e72 9 ******************************************************************************
Charles MacNeill 7:1add29d51e72 10 */
charlesmn 0:3ac96e360672 11
charlesmn 0:3ac96e360672 12
charlesmn 0:3ac96e360672 13
charlesmn 0:3ac96e360672 14
charlesmn 0:3ac96e360672 15 #ifndef _VL53L1_LL_DEVICE_H_
charlesmn 0:3ac96e360672 16 #define _VL53L1_LL_DEVICE_H_
charlesmn 0:3ac96e360672 17
charlesmn 0:3ac96e360672 18 #include "vl53l1_types.h"
charlesmn 0:3ac96e360672 19 #include "vl53l1_platform_user_config.h"
charlesmn 0:3ac96e360672 20
charlesmn 0:3ac96e360672 21 #define VL53L1_I2C 0x01
charlesmn 0:3ac96e360672 22 #define VL53L1_SPI 0x00
charlesmn 0:3ac96e360672 23
charlesmn 0:3ac96e360672 24
charlesmn 0:3ac96e360672 25
charlesmn 0:3ac96e360672 26
charlesmn 0:3ac96e360672 27
charlesmn 0:3ac96e360672 28 typedef uint8_t VL53L1_WaitMethod;
charlesmn 0:3ac96e360672 29
charlesmn 0:3ac96e360672 30 #define VL53L1_WAIT_METHOD_BLOCKING ((VL53L1_WaitMethod) 0)
charlesmn 0:3ac96e360672 31 #define VL53L1_WAIT_METHOD_NON_BLOCKING ((VL53L1_WaitMethod) 1)
charlesmn 0:3ac96e360672 32
charlesmn 0:3ac96e360672 33
charlesmn 0:3ac96e360672 34
charlesmn 0:3ac96e360672 35
charlesmn 0:3ac96e360672 36 typedef uint8_t VL53L1_DeviceState;
charlesmn 0:3ac96e360672 37
charlesmn 0:3ac96e360672 38 #define VL53L1_DEVICESTATE_POWERDOWN ((VL53L1_DeviceState) 0)
charlesmn 0:3ac96e360672 39 #define VL53L1_DEVICESTATE_HW_STANDBY ((VL53L1_DeviceState) 1)
charlesmn 0:3ac96e360672 40 #define VL53L1_DEVICESTATE_FW_COLDBOOT ((VL53L1_DeviceState) 2)
charlesmn 0:3ac96e360672 41 #define VL53L1_DEVICESTATE_SW_STANDBY ((VL53L1_DeviceState) 3)
charlesmn 0:3ac96e360672 42 #define VL53L1_DEVICESTATE_RANGING_DSS_AUTO ((VL53L1_DeviceState) 4)
charlesmn 0:3ac96e360672 43 #define VL53L1_DEVICESTATE_RANGING_DSS_MANUAL ((VL53L1_DeviceState) 5)
charlesmn 0:3ac96e360672 44 #define VL53L1_DEVICESTATE_RANGING_WAIT_GPH_SYNC ((VL53L1_DeviceState) 6)
charlesmn 0:3ac96e360672 45 #define VL53L1_DEVICESTATE_RANGING_GATHER_DATA ((VL53L1_DeviceState) 7)
charlesmn 0:3ac96e360672 46 #define VL53L1_DEVICESTATE_RANGING_OUTPUT_DATA ((VL53L1_DeviceState) 8)
charlesmn 0:3ac96e360672 47
charlesmn 0:3ac96e360672 48 #define VL53L1_DEVICESTATE_UNKNOWN ((VL53L1_DeviceState) 98)
charlesmn 0:3ac96e360672 49 #define VL53L1_DEVICESTATE_ERROR ((VL53L1_DeviceState) 99)
charlesmn 0:3ac96e360672 50
charlesmn 0:3ac96e360672 51
charlesmn 0:3ac96e360672 52
charlesmn 0:3ac96e360672 53
charlesmn 0:3ac96e360672 54
charlesmn 0:3ac96e360672 55 typedef uint8_t VL53L1_DeviceZonePreset;
charlesmn 0:3ac96e360672 56
charlesmn 0:3ac96e360672 57 #define VL53L1_DEVICEZONEPRESET_NONE \
charlesmn 0:3ac96e360672 58 ((VL53L1_DeviceZonePreset) 0)
charlesmn 0:3ac96e360672 59
charlesmn 0:3ac96e360672 60 #define VL53L1_DEVICEZONEPRESET_XTALK_PLANAR \
charlesmn 0:3ac96e360672 61 ((VL53L1_DeviceZonePreset) 1)
charlesmn 0:3ac96e360672 62 #define VL53L1_DEVICEZONEPRESET_1X1_SIZE_16X16 \
charlesmn 0:3ac96e360672 63 ((VL53L1_DeviceZonePreset) 2)
charlesmn 0:3ac96e360672 64 #define VL53L1_DEVICEZONEPRESET_1X2_SIZE_16X8 \
charlesmn 0:3ac96e360672 65 ((VL53L1_DeviceZonePreset) 3)
charlesmn 0:3ac96e360672 66 #define VL53L1_DEVICEZONEPRESET_2X1_SIZE_8X16 \
charlesmn 0:3ac96e360672 67 ((VL53L1_DeviceZonePreset) 4)
charlesmn 0:3ac96e360672 68 #define VL53L1_DEVICEZONEPRESET_2X2_SIZE_8X8 \
charlesmn 0:3ac96e360672 69 ((VL53L1_DeviceZonePreset) 5)
charlesmn 0:3ac96e360672 70 #define VL53L1_DEVICEZONEPRESET_3X3_SIZE_5X5 \
charlesmn 0:3ac96e360672 71 ((VL53L1_DeviceZonePreset) 6)
charlesmn 0:3ac96e360672 72 #define VL53L1_DEVICEZONEPRESET_4X4_SIZE_4X4 \
charlesmn 0:3ac96e360672 73 ((VL53L1_DeviceZonePreset) 7)
charlesmn 0:3ac96e360672 74 #define VL53L1_DEVICEZONEPRESET_5X5_SIZE_4X4 \
charlesmn 0:3ac96e360672 75 ((VL53L1_DeviceZonePreset) 8)
charlesmn 0:3ac96e360672 76 #define VL53L1_DEVICEZONEPRESET_11X11_SIZE_5X5 \
charlesmn 0:3ac96e360672 77 ((VL53L1_DeviceZonePreset) 9)
charlesmn 0:3ac96e360672 78 #define VL53L1_DEVICEZONEPRESET_13X13_SIZE_4X4 \
charlesmn 0:3ac96e360672 79 ((VL53L1_DeviceZonePreset) 10)
charlesmn 0:3ac96e360672 80
charlesmn 0:3ac96e360672 81 #define VL53L1_DEVICEZONEPRESET_1X1_SIZE_4X4_POS_8X8 \
charlesmn 0:3ac96e360672 82 ((VL53L1_DeviceZonePreset) 11)
charlesmn 0:3ac96e360672 83
charlesmn 0:3ac96e360672 84 #define VL53L1_DEVICEZONEPRESET_CUSTOM \
charlesmn 0:3ac96e360672 85 ((VL53L1_DeviceZonePreset) 255)
charlesmn 0:3ac96e360672 86
charlesmn 0:3ac96e360672 87
charlesmn 0:3ac96e360672 88
charlesmn 0:3ac96e360672 89
charlesmn 0:3ac96e360672 90
charlesmn 0:3ac96e360672 91 typedef uint8_t VL53L1_DevicePresetModes;
charlesmn 0:3ac96e360672 92
charlesmn 0:3ac96e360672 93 #define VL53L1_DEVICEPRESETMODE_NONE \
charlesmn 0:3ac96e360672 94 ((VL53L1_DevicePresetModes) 0)
charlesmn 0:3ac96e360672 95 #define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING \
charlesmn 0:3ac96e360672 96 ((VL53L1_DevicePresetModes) 1)
charlesmn 0:3ac96e360672 97 #define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING_SHORT_RANGE \
charlesmn 0:3ac96e360672 98 ((VL53L1_DevicePresetModes) 2)
charlesmn 0:3ac96e360672 99 #define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING_LONG_RANGE \
charlesmn 0:3ac96e360672 100 ((VL53L1_DevicePresetModes) 3)
charlesmn 0:3ac96e360672 101 #define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING_MM1_CAL \
charlesmn 0:3ac96e360672 102 ((VL53L1_DevicePresetModes) 4)
charlesmn 0:3ac96e360672 103 #define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING_MM2_CAL \
charlesmn 0:3ac96e360672 104 ((VL53L1_DevicePresetModes) 5)
charlesmn 0:3ac96e360672 105 #define VL53L1_DEVICEPRESETMODE_TIMED_RANGING \
charlesmn 0:3ac96e360672 106 ((VL53L1_DevicePresetModes) 6)
charlesmn 0:3ac96e360672 107 #define VL53L1_DEVICEPRESETMODE_TIMED_RANGING_SHORT_RANGE \
charlesmn 0:3ac96e360672 108 ((VL53L1_DevicePresetModes) 7)
charlesmn 0:3ac96e360672 109 #define VL53L1_DEVICEPRESETMODE_TIMED_RANGING_LONG_RANGE \
charlesmn 0:3ac96e360672 110 ((VL53L1_DevicePresetModes) 8)
charlesmn 0:3ac96e360672 111 #define VL53L1_DEVICEPRESETMODE_NEAR_FARRANGING \
charlesmn 0:3ac96e360672 112 ((VL53L1_DevicePresetModes) 9)
charlesmn 0:3ac96e360672 113 #define VL53L1_DEVICEPRESETMODE_QUADRANT_RANGING \
charlesmn 0:3ac96e360672 114 ((VL53L1_DevicePresetModes) 10)
charlesmn 0:3ac96e360672 115 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_RANGING \
charlesmn 0:3ac96e360672 116 ((VL53L1_DevicePresetModes) 11)
charlesmn 0:3ac96e360672 117 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_RANGING_SHORT_TIMING \
charlesmn 0:3ac96e360672 118 ((VL53L1_DevicePresetModes) 12)
charlesmn 0:3ac96e360672 119 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_CHARACTERISATION \
charlesmn 0:3ac96e360672 120 ((VL53L1_DevicePresetModes) 13)
charlesmn 0:3ac96e360672 121 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_XTALK_PLANAR \
charlesmn 0:3ac96e360672 122 ((VL53L1_DevicePresetModes) 14)
charlesmn 0:3ac96e360672 123 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_XTALK_MM1 \
charlesmn 0:3ac96e360672 124 ((VL53L1_DevicePresetModes) 15)
charlesmn 0:3ac96e360672 125 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_XTALK_MM2 \
charlesmn 0:3ac96e360672 126 ((VL53L1_DevicePresetModes) 16)
charlesmn 0:3ac96e360672 127 #define VL53L1_DEVICEPRESETMODE_OLT \
charlesmn 0:3ac96e360672 128 ((VL53L1_DevicePresetModes) 17)
charlesmn 0:3ac96e360672 129 #define VL53L1_DEVICEPRESETMODE_SINGLESHOT_RANGING \
charlesmn 0:3ac96e360672 130 ((VL53L1_DevicePresetModes) 18)
charlesmn 0:3ac96e360672 131 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_REF_ARRAY \
charlesmn 0:3ac96e360672 132 ((VL53L1_DevicePresetModes) 19)
charlesmn 0:3ac96e360672 133 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_RANGING_WITH_MM1 \
charlesmn 0:3ac96e360672 134 ((VL53L1_DevicePresetModes) 20)
charlesmn 0:3ac96e360672 135 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_RANGING_WITH_MM2 \
charlesmn 0:3ac96e360672 136 ((VL53L1_DevicePresetModes) 21)
charlesmn 0:3ac96e360672 137 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_RANGING_MM1_CAL \
charlesmn 0:3ac96e360672 138 ((VL53L1_DevicePresetModes) 22)
charlesmn 0:3ac96e360672 139 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_RANGING_MM2_CAL \
charlesmn 0:3ac96e360672 140 ((VL53L1_DevicePresetModes) 23)
charlesmn 0:3ac96e360672 141 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_MULTIZONE \
charlesmn 0:3ac96e360672 142 ((VL53L1_DevicePresetModes) 24)
charlesmn 0:3ac96e360672 143 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_MULTIZONE_SHORT_RANGE \
charlesmn 0:3ac96e360672 144 ((VL53L1_DevicePresetModes) 25)
charlesmn 0:3ac96e360672 145 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_MULTIZONE_LONG_RANGE \
charlesmn 0:3ac96e360672 146 ((VL53L1_DevicePresetModes) 26)
charlesmn 0:3ac96e360672 147 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_LONG_RANGE \
charlesmn 0:3ac96e360672 148 ((VL53L1_DevicePresetModes) 27)
charlesmn 0:3ac96e360672 149 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_LONG_RANGE_MM1 \
charlesmn 0:3ac96e360672 150 ((VL53L1_DevicePresetModes) 28)
charlesmn 0:3ac96e360672 151 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_LONG_RANGE_MM2 \
charlesmn 0:3ac96e360672 152 ((VL53L1_DevicePresetModes) 29)
charlesmn 0:3ac96e360672 153 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_MEDIUM_RANGE \
charlesmn 0:3ac96e360672 154 ((VL53L1_DevicePresetModes) 30)
charlesmn 0:3ac96e360672 155 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_MEDIUM_RANGE_MM1 \
charlesmn 0:3ac96e360672 156 ((VL53L1_DevicePresetModes) 31)
charlesmn 0:3ac96e360672 157 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_MEDIUM_RANGE_MM2 \
charlesmn 0:3ac96e360672 158 ((VL53L1_DevicePresetModes) 32)
charlesmn 0:3ac96e360672 159 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_SHORT_RANGE \
charlesmn 0:3ac96e360672 160 ((VL53L1_DevicePresetModes) 33)
charlesmn 0:3ac96e360672 161 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_SHORT_RANGE_MM1 \
charlesmn 0:3ac96e360672 162 ((VL53L1_DevicePresetModes) 34)
charlesmn 0:3ac96e360672 163 #define VL53L1_DEVICEPRESETMODE_HISTOGRAM_SHORT_RANGE_MM2 \
charlesmn 0:3ac96e360672 164 ((VL53L1_DevicePresetModes) 35)
charlesmn 0:3ac96e360672 165 #define VL53L1_DEVICEPRESETMODE_LOWPOWERAUTO_SHORT_RANGE \
charlesmn 0:3ac96e360672 166 ((VL53L1_DevicePresetModes) 36)
charlesmn 0:3ac96e360672 167 #define VL53L1_DEVICEPRESETMODE_LOWPOWERAUTO_MEDIUM_RANGE \
charlesmn 0:3ac96e360672 168 ((VL53L1_DevicePresetModes) 37)
charlesmn 0:3ac96e360672 169 #define VL53L1_DEVICEPRESETMODE_LOWPOWERAUTO_LONG_RANGE \
charlesmn 0:3ac96e360672 170 ((VL53L1_DevicePresetModes) 38)
charlesmn 0:3ac96e360672 171 #define VL53L1_DEVICEPRESETMODE_SPECIAL_HISTOGRAM_SHORT_RANGE \
charlesmn 0:3ac96e360672 172 ((VL53L1_DevicePresetModes) 39)
charlesmn 0:3ac96e360672 173
charlesmn 0:3ac96e360672 174
charlesmn 0:3ac96e360672 175
charlesmn 0:3ac96e360672 176
charlesmn 0:3ac96e360672 177
charlesmn 0:3ac96e360672 178 typedef uint8_t VL53L1_DeviceMeasurementModes;
charlesmn 0:3ac96e360672 179
charlesmn 0:3ac96e360672 180 #define VL53L1_DEVICEMEASUREMENTMODE_STOP \
charlesmn 0:3ac96e360672 181 ((VL53L1_DeviceMeasurementModes) 0x00)
charlesmn 0:3ac96e360672 182 #define VL53L1_DEVICEMEASUREMENTMODE_SINGLESHOT \
charlesmn 0:3ac96e360672 183 ((VL53L1_DeviceMeasurementModes) 0x10)
charlesmn 0:3ac96e360672 184 #define VL53L1_DEVICEMEASUREMENTMODE_BACKTOBACK \
charlesmn 0:3ac96e360672 185 ((VL53L1_DeviceMeasurementModes) 0x20)
charlesmn 0:3ac96e360672 186 #define VL53L1_DEVICEMEASUREMENTMODE_TIMED \
charlesmn 0:3ac96e360672 187 ((VL53L1_DeviceMeasurementModes) 0x40)
charlesmn 0:3ac96e360672 188 #define VL53L1_DEVICEMEASUREMENTMODE_ABORT \
charlesmn 0:3ac96e360672 189 ((VL53L1_DeviceMeasurementModes) 0x80)
charlesmn 0:3ac96e360672 190
charlesmn 0:3ac96e360672 191
charlesmn 0:3ac96e360672 192
charlesmn 0:3ac96e360672 193
charlesmn 0:3ac96e360672 194
charlesmn 0:3ac96e360672 195 typedef uint8_t VL53L1_OffsetCalibrationMode;
charlesmn 0:3ac96e360672 196
charlesmn 0:3ac96e360672 197 #define VL53L1_OFFSETCALIBRATIONMODE__NONE \
charlesmn 0:3ac96e360672 198 ((VL53L1_OffsetCalibrationMode) 0)
charlesmn 0:3ac96e360672 199 #define VL53L1_OFFSETCALIBRATIONMODE__MM1_MM2__STANDARD \
charlesmn 0:3ac96e360672 200 ((VL53L1_OffsetCalibrationMode) 1)
charlesmn 0:3ac96e360672 201 #define VL53L1_OFFSETCALIBRATIONMODE__MM1_MM2__HISTOGRAM \
charlesmn 0:3ac96e360672 202 ((VL53L1_OffsetCalibrationMode) 2)
charlesmn 0:3ac96e360672 203 #define VL53L1_OFFSETCALIBRATIONMODE__MM1_MM2__STANDARD_PRE_RANGE_ONLY \
charlesmn 0:3ac96e360672 204 ((VL53L1_OffsetCalibrationMode) 3)
charlesmn 0:3ac96e360672 205 #define VL53L1_OFFSETCALIBRATIONMODE__MM1_MM2__HISTOGRAM_PRE_RANGE_ONLY \
charlesmn 0:3ac96e360672 206 ((VL53L1_OffsetCalibrationMode) 4)
charlesmn 0:3ac96e360672 207 #define VL53L1_OFFSETCALIBRATIONMODE__PER_ZONE \
charlesmn 0:3ac96e360672 208 ((VL53L1_OffsetCalibrationMode) 5)
charlesmn 0:3ac96e360672 209
charlesmn 0:3ac96e360672 210
charlesmn 0:3ac96e360672 211
charlesmn 0:3ac96e360672 212
charlesmn 0:3ac96e360672 213
charlesmn 0:3ac96e360672 214 typedef uint8_t VL53L1_OffsetCorrectionMode;
charlesmn 0:3ac96e360672 215
charlesmn 0:3ac96e360672 216 #define VL53L1_OFFSETCORRECTIONMODE__NONE \
charlesmn 0:3ac96e360672 217 ((VL53L1_OffsetCorrectionMode) 0)
charlesmn 0:3ac96e360672 218 #define VL53L1_OFFSETCORRECTIONMODE__MM1_MM2_OFFSETS \
charlesmn 0:3ac96e360672 219 ((VL53L1_OffsetCorrectionMode) 1)
charlesmn 0:3ac96e360672 220 #define VL53L1_OFFSETCORRECTIONMODE__PER_ZONE_OFFSETS \
charlesmn 0:3ac96e360672 221 ((VL53L1_OffsetCorrectionMode) 2)
charlesmn 0:3ac96e360672 222 #define VL53L1_OFFSETCORRECTIONMODE__PER_VCSEL_OFFSETS \
charlesmn 0:3ac96e360672 223 ((VL53L1_OffsetCorrectionMode) 3)
charlesmn 0:3ac96e360672 224
charlesmn 0:3ac96e360672 225
charlesmn 0:3ac96e360672 226
charlesmn 0:3ac96e360672 227
charlesmn 0:3ac96e360672 228
charlesmn 0:3ac96e360672 229 typedef uint8_t VL53L1_DeviceDmaxMode;
charlesmn 0:3ac96e360672 230
charlesmn 0:3ac96e360672 231 #define VL53L1_DEVICEDMAXMODE__NONE \
charlesmn 0:3ac96e360672 232 ((VL53L1_DeviceDmaxMode) 0)
charlesmn 0:3ac96e360672 233 #define VL53L1_DEVICEDMAXMODE__FMT_CAL_DATA \
charlesmn 0:3ac96e360672 234 ((VL53L1_DeviceDmaxMode) 1)
charlesmn 0:3ac96e360672 235 #define VL53L1_DEVICEDMAXMODE__CUST_CAL_DATA \
charlesmn 0:3ac96e360672 236 ((VL53L1_DeviceDmaxMode) 2)
charlesmn 0:3ac96e360672 237 #define VL53L1_DEVICEDMAXMODE__PER_ZONE_CAL_DATA \
charlesmn 0:3ac96e360672 238 ((VL53L1_DeviceDmaxMode) 3)
charlesmn 0:3ac96e360672 239
charlesmn 0:3ac96e360672 240
charlesmn 0:3ac96e360672 241
charlesmn 0:3ac96e360672 242
charlesmn 0:3ac96e360672 243
charlesmn 0:3ac96e360672 244 typedef uint8_t VL53L1_DeviceSequenceConfig;
charlesmn 0:3ac96e360672 245
charlesmn 0:3ac96e360672 246 #define VL53L1_DEVICESEQUENCECONFIG_VHV \
charlesmn 0:3ac96e360672 247 ((VL53L1_DeviceSequenceConfig) 0)
charlesmn 0:3ac96e360672 248 #define VL53L1_DEVICESEQUENCECONFIG_PHASECAL \
charlesmn 0:3ac96e360672 249 ((VL53L1_DeviceSequenceConfig) 1)
charlesmn 0:3ac96e360672 250 #define VL53L1_DEVICESEQUENCECONFIG_REFERENCE_PHASE \
charlesmn 0:3ac96e360672 251 ((VL53L1_DeviceSequenceConfig) 2)
charlesmn 0:3ac96e360672 252 #define VL53L1_DEVICESEQUENCECONFIG_DSS1 \
charlesmn 0:3ac96e360672 253 ((VL53L1_DeviceSequenceConfig) 3)
charlesmn 0:3ac96e360672 254 #define VL53L1_DEVICESEQUENCECONFIG_DSS2 \
charlesmn 0:3ac96e360672 255 ((VL53L1_DeviceSequenceConfig) 4)
charlesmn 0:3ac96e360672 256 #define VL53L1_DEVICESEQUENCECONFIG_MM1 \
charlesmn 0:3ac96e360672 257 ((VL53L1_DeviceSequenceConfig) 5)
charlesmn 0:3ac96e360672 258 #define VL53L1_DEVICESEQUENCECONFIG_MM2 \
charlesmn 0:3ac96e360672 259 ((VL53L1_DeviceSequenceConfig) 6)
charlesmn 0:3ac96e360672 260 #define VL53L1_DEVICESEQUENCECONFIG_RANGE \
charlesmn 0:3ac96e360672 261 ((VL53L1_DeviceSequenceConfig) 7)
charlesmn 0:3ac96e360672 262
charlesmn 0:3ac96e360672 263
charlesmn 0:3ac96e360672 264
charlesmn 0:3ac96e360672 265
charlesmn 0:3ac96e360672 266
charlesmn 0:3ac96e360672 267 typedef uint8_t VL53L1_DeviceInterruptPolarity;
charlesmn 0:3ac96e360672 268
charlesmn 0:3ac96e360672 269 #define VL53L1_DEVICEINTERRUPTPOLARITY_ACTIVE_HIGH \
charlesmn 0:3ac96e360672 270 ((VL53L1_DeviceInterruptPolarity) 0x00)
charlesmn 0:3ac96e360672 271 #define VL53L1_DEVICEINTERRUPTPOLARITY_ACTIVE_LOW \
charlesmn 0:3ac96e360672 272 ((VL53L1_DeviceInterruptPolarity) 0x10)
charlesmn 0:3ac96e360672 273 #define VL53L1_DEVICEINTERRUPTPOLARITY_BIT_MASK \
charlesmn 0:3ac96e360672 274 ((VL53L1_DeviceInterruptPolarity) 0x10)
charlesmn 0:3ac96e360672 275 #define VL53L1_DEVICEINTERRUPTPOLARITY_CLEAR_MASK \
charlesmn 0:3ac96e360672 276 ((VL53L1_DeviceInterruptPolarity) 0xEF)
charlesmn 0:3ac96e360672 277
charlesmn 0:3ac96e360672 278
charlesmn 0:3ac96e360672 279
charlesmn 0:3ac96e360672 280
charlesmn 0:3ac96e360672 281
charlesmn 0:3ac96e360672 282 typedef uint8_t VL53L1_DeviceGpioMode;
charlesmn 0:3ac96e360672 283
charlesmn 0:3ac96e360672 284 #define VL53L1_DEVICEGPIOMODE_OUTPUT_CONSTANT_ZERO \
charlesmn 0:3ac96e360672 285 ((VL53L1_DeviceGpioMode) 0x00)
charlesmn 0:3ac96e360672 286 #define VL53L1_DEVICEGPIOMODE_OUTPUT_RANGE_AND_ERROR_INTERRUPTS \
charlesmn 0:3ac96e360672 287 ((VL53L1_DeviceGpioMode) 0x01)
charlesmn 0:3ac96e360672 288 #define VL53L1_DEVICEGPIOMODE_OUTPUT_TIMIER_INTERRUPTS \
charlesmn 0:3ac96e360672 289 ((VL53L1_DeviceGpioMode) 0x02)
charlesmn 0:3ac96e360672 290 #define VL53L1_DEVICEGPIOMODE_OUTPUT_RANGE_MODE_INTERRUPT_STATUS \
charlesmn 0:3ac96e360672 291 ((VL53L1_DeviceGpioMode) 0x03)
charlesmn 0:3ac96e360672 292 #define VL53L1_DEVICEGPIOMODE_OUTPUT_SLOW_OSCILLATOR_CLOCK \
charlesmn 0:3ac96e360672 293 ((VL53L1_DeviceGpioMode) 0x04)
charlesmn 0:3ac96e360672 294 #define VL53L1_DEVICEGPIOMODE_BIT_MASK \
charlesmn 0:3ac96e360672 295 ((VL53L1_DeviceGpioMode) 0x0F)
charlesmn 0:3ac96e360672 296 #define VL53L1_DEVICEGPIOMODE_CLEAR_MASK \
charlesmn 0:3ac96e360672 297 ((VL53L1_DeviceGpioMode) 0xF0)
charlesmn 0:3ac96e360672 298
charlesmn 0:3ac96e360672 299
charlesmn 0:3ac96e360672 300
charlesmn 0:3ac96e360672 301
charlesmn 0:3ac96e360672 302
charlesmn 0:3ac96e360672 303 typedef uint8_t VL53L1_DeviceError;
charlesmn 0:3ac96e360672 304
charlesmn 0:3ac96e360672 305 #define VL53L1_DEVICEERROR_NOUPDATE \
charlesmn 0:3ac96e360672 306 ((VL53L1_DeviceError) 0)
charlesmn 0:3ac96e360672 307
charlesmn 0:3ac96e360672 308 #define VL53L1_DEVICEERROR_VCSELCONTINUITYTESTFAILURE \
charlesmn 0:3ac96e360672 309 ((VL53L1_DeviceError) 1)
charlesmn 0:3ac96e360672 310 #define VL53L1_DEVICEERROR_VCSELWATCHDOGTESTFAILURE \
charlesmn 0:3ac96e360672 311 ((VL53L1_DeviceError) 2)
charlesmn 0:3ac96e360672 312 #define VL53L1_DEVICEERROR_NOVHVVALUEFOUND \
charlesmn 0:3ac96e360672 313 ((VL53L1_DeviceError) 3)
charlesmn 0:3ac96e360672 314 #define VL53L1_DEVICEERROR_MSRCNOTARGET \
charlesmn 0:3ac96e360672 315 ((VL53L1_DeviceError) 4)
charlesmn 0:3ac96e360672 316 #define VL53L1_DEVICEERROR_RANGEPHASECHECK \
charlesmn 0:3ac96e360672 317 ((VL53L1_DeviceError) 5)
charlesmn 0:3ac96e360672 318 #define VL53L1_DEVICEERROR_SIGMATHRESHOLDCHECK \
charlesmn 0:3ac96e360672 319 ((VL53L1_DeviceError) 6)
charlesmn 0:3ac96e360672 320 #define VL53L1_DEVICEERROR_PHASECONSISTENCY \
charlesmn 0:3ac96e360672 321 ((VL53L1_DeviceError) 7)
charlesmn 0:3ac96e360672 322 #define VL53L1_DEVICEERROR_MINCLIP \
charlesmn 0:3ac96e360672 323 ((VL53L1_DeviceError) 8)
charlesmn 0:3ac96e360672 324 #define VL53L1_DEVICEERROR_RANGECOMPLETE \
charlesmn 0:3ac96e360672 325 ((VL53L1_DeviceError) 9)
charlesmn 0:3ac96e360672 326 #define VL53L1_DEVICEERROR_ALGOUNDERFLOW \
charlesmn 0:3ac96e360672 327 ((VL53L1_DeviceError) 10)
charlesmn 0:3ac96e360672 328 #define VL53L1_DEVICEERROR_ALGOOVERFLOW \
charlesmn 0:3ac96e360672 329 ((VL53L1_DeviceError) 11)
charlesmn 0:3ac96e360672 330 #define VL53L1_DEVICEERROR_RANGEIGNORETHRESHOLD \
charlesmn 0:3ac96e360672 331 ((VL53L1_DeviceError) 12)
charlesmn 0:3ac96e360672 332 #define VL53L1_DEVICEERROR_USERROICLIP \
charlesmn 0:3ac96e360672 333 ((VL53L1_DeviceError) 13)
charlesmn 0:3ac96e360672 334 #define VL53L1_DEVICEERROR_REFSPADCHARNOTENOUGHDPADS \
charlesmn 0:3ac96e360672 335 ((VL53L1_DeviceError) 14)
charlesmn 0:3ac96e360672 336 #define VL53L1_DEVICEERROR_REFSPADCHARMORETHANTARGET \
charlesmn 0:3ac96e360672 337 ((VL53L1_DeviceError) 15)
charlesmn 0:3ac96e360672 338 #define VL53L1_DEVICEERROR_REFSPADCHARLESSTHANTARGET \
charlesmn 0:3ac96e360672 339 ((VL53L1_DeviceError) 16)
charlesmn 0:3ac96e360672 340 #define VL53L1_DEVICEERROR_MULTCLIPFAIL \
charlesmn 0:3ac96e360672 341 ((VL53L1_DeviceError) 17)
charlesmn 0:3ac96e360672 342 #define VL53L1_DEVICEERROR_GPHSTREAMCOUNT0READY \
charlesmn 0:3ac96e360672 343 ((VL53L1_DeviceError) 18)
charlesmn 0:3ac96e360672 344 #define VL53L1_DEVICEERROR_RANGECOMPLETE_NO_WRAP_CHECK \
charlesmn 0:3ac96e360672 345 ((VL53L1_DeviceError) 19)
charlesmn 0:3ac96e360672 346 #define VL53L1_DEVICEERROR_EVENTCONSISTENCY \
charlesmn 0:3ac96e360672 347 ((VL53L1_DeviceError) 20)
charlesmn 0:3ac96e360672 348 #define VL53L1_DEVICEERROR_MINSIGNALEVENTCHECK \
charlesmn 0:3ac96e360672 349 ((VL53L1_DeviceError) 21)
charlesmn 0:3ac96e360672 350 #define VL53L1_DEVICEERROR_RANGECOMPLETE_MERGED_PULSE \
charlesmn 0:3ac96e360672 351 ((VL53L1_DeviceError) 22)
charlesmn 0:3ac96e360672 352
charlesmn 0:3ac96e360672 353
charlesmn 0:3ac96e360672 354 #define VL53L1_DEVICEERROR_PREV_RANGE_NO_TARGETS \
charlesmn 0:3ac96e360672 355 ((VL53L1_DeviceError) 23)
charlesmn 0:3ac96e360672 356
charlesmn 0:3ac96e360672 357
charlesmn 0:3ac96e360672 358
charlesmn 0:3ac96e360672 359
charlesmn 0:3ac96e360672 360
charlesmn 0:3ac96e360672 361 typedef uint8_t VL53L1_DeviceReportStatus;
charlesmn 0:3ac96e360672 362
charlesmn 0:3ac96e360672 363 #define VL53L1_DEVICEREPORTSTATUS_NOUPDATE \
charlesmn 0:3ac96e360672 364 ((VL53L1_DeviceReportStatus) 0)
charlesmn 0:3ac96e360672 365
charlesmn 0:3ac96e360672 366 #define VL53L1_DEVICEREPORTSTATUS_ROI_SETUP \
charlesmn 0:3ac96e360672 367 ((VL53L1_DeviceReportStatus) 1)
charlesmn 0:3ac96e360672 368 #define VL53L1_DEVICEREPORTSTATUS_VHV \
charlesmn 0:3ac96e360672 369 ((VL53L1_DeviceReportStatus) 2)
charlesmn 0:3ac96e360672 370 #define VL53L1_DEVICEREPORTSTATUS_PHASECAL \
charlesmn 0:3ac96e360672 371 ((VL53L1_DeviceReportStatus) 3)
charlesmn 0:3ac96e360672 372 #define VL53L1_DEVICEREPORTSTATUS_REFERENCE_PHASE \
charlesmn 0:3ac96e360672 373 ((VL53L1_DeviceReportStatus) 4)
charlesmn 0:3ac96e360672 374 #define VL53L1_DEVICEREPORTSTATUS_DSS1 \
charlesmn 0:3ac96e360672 375 ((VL53L1_DeviceReportStatus) 5)
charlesmn 0:3ac96e360672 376 #define VL53L1_DEVICEREPORTSTATUS_DSS2 \
charlesmn 0:3ac96e360672 377 ((VL53L1_DeviceReportStatus) 6)
charlesmn 0:3ac96e360672 378 #define VL53L1_DEVICEREPORTSTATUS_MM1 \
charlesmn 0:3ac96e360672 379 ((VL53L1_DeviceReportStatus) 7)
charlesmn 0:3ac96e360672 380 #define VL53L1_DEVICEREPORTSTATUS_MM2 \
charlesmn 0:3ac96e360672 381 ((VL53L1_DeviceReportStatus) 8)
charlesmn 0:3ac96e360672 382 #define VL53L1_DEVICEREPORTSTATUS_RANGE \
charlesmn 0:3ac96e360672 383 ((VL53L1_DeviceReportStatus) 9)
charlesmn 0:3ac96e360672 384 #define VL53L1_DEVICEREPORTSTATUS_HISTOGRAM \
charlesmn 0:3ac96e360672 385 ((VL53L1_DeviceReportStatus) 10)
charlesmn 0:3ac96e360672 386
charlesmn 0:3ac96e360672 387
charlesmn 0:3ac96e360672 388
charlesmn 0:3ac96e360672 389
charlesmn 0:3ac96e360672 390
charlesmn 0:3ac96e360672 391 typedef uint8_t VL53L1_DeviceDssMode;
charlesmn 0:3ac96e360672 392
charlesmn 0:3ac96e360672 393 #define VL53L1_DEVICEDSSMODE__DISABLED \
charlesmn 0:3ac96e360672 394 ((VL53L1_DeviceDssMode) 0)
charlesmn 0:3ac96e360672 395 #define VL53L1_DEVICEDSSMODE__TARGET_RATE \
charlesmn 0:3ac96e360672 396 ((VL53L1_DeviceDssMode) 1)
charlesmn 0:3ac96e360672 397 #define VL53L1_DEVICEDSSMODE__REQUESTED_EFFFECTIVE_SPADS \
charlesmn 0:3ac96e360672 398 ((VL53L1_DeviceDssMode) 2)
charlesmn 0:3ac96e360672 399 #define VL53L1_DEVICEDSSMODE__BLOCK_SELECT \
charlesmn 0:3ac96e360672 400 ((VL53L1_DeviceDssMode) 3)
charlesmn 0:3ac96e360672 401
charlesmn 0:3ac96e360672 402
charlesmn 0:3ac96e360672 403
charlesmn 0:3ac96e360672 404
charlesmn 0:3ac96e360672 405
charlesmn 0:3ac96e360672 406
charlesmn 0:3ac96e360672 407 typedef uint8_t VL53L1_HistAlgoSelect;
charlesmn 0:3ac96e360672 408
charlesmn 0:3ac96e360672 409 #define VL53L1_HIST_ALGO_SELECT__PW_HIST_GEN1 \
charlesmn 0:3ac96e360672 410 ((VL53L1_HistAlgoSelect) 1)
charlesmn 0:3ac96e360672 411 #define VL53L1_HIST_ALGO_SELECT__PW_HIST_GEN2 \
charlesmn 0:3ac96e360672 412 ((VL53L1_HistAlgoSelect) 2)
charlesmn 0:3ac96e360672 413 #define VL53L1_HIST_ALGO_SELECT__PW_HIST_GEN3 \
charlesmn 0:3ac96e360672 414 ((VL53L1_HistAlgoSelect) 3)
charlesmn 0:3ac96e360672 415 #define VL53L1_HIST_ALGO_SELECT__PW_HIST_GEN4 \
charlesmn 0:3ac96e360672 416 ((VL53L1_HistAlgoSelect) 4)
charlesmn 0:3ac96e360672 417
charlesmn 0:3ac96e360672 418
charlesmn 0:3ac96e360672 419
charlesmn 0:3ac96e360672 420
charlesmn 0:3ac96e360672 421
charlesmn 0:3ac96e360672 422
charlesmn 0:3ac96e360672 423 typedef uint8_t VL53L1_HistTargetOrder;
charlesmn 0:3ac96e360672 424
charlesmn 0:3ac96e360672 425 #define VL53L1_HIST_TARGET_ORDER__INCREASING_DISTANCE \
charlesmn 0:3ac96e360672 426 ((VL53L1_HistTargetOrder) 1)
charlesmn 0:3ac96e360672 427 #define VL53L1_HIST_TARGET_ORDER__STRONGEST_FIRST \
charlesmn 0:3ac96e360672 428 ((VL53L1_HistTargetOrder) 2)
charlesmn 0:3ac96e360672 429
charlesmn 0:3ac96e360672 430
charlesmn 0:3ac96e360672 431
charlesmn 0:3ac96e360672 432
charlesmn 0:3ac96e360672 433
charlesmn 0:3ac96e360672 434
charlesmn 0:3ac96e360672 435 typedef uint8_t VL53L1_HistAmbEstMethod;
charlesmn 0:3ac96e360672 436
charlesmn 0:3ac96e360672 437 #define VL53L1_HIST_AMB_EST_METHOD__AMBIENT_BINS \
charlesmn 0:3ac96e360672 438 ((VL53L1_HistAmbEstMethod) 1)
charlesmn 0:3ac96e360672 439 #define VL53L1_HIST_AMB_EST_METHOD__THRESHOLDED_BINS \
charlesmn 0:3ac96e360672 440 ((VL53L1_HistAmbEstMethod) 2)
charlesmn 0:3ac96e360672 441
charlesmn 0:3ac96e360672 442
charlesmn 0:3ac96e360672 443
charlesmn 0:3ac96e360672 444
charlesmn 0:3ac96e360672 445
charlesmn 0:3ac96e360672 446
charlesmn 0:3ac96e360672 447 typedef uint8_t VL53L1_HistXtalkCompEnable;
charlesmn 0:3ac96e360672 448
charlesmn 0:3ac96e360672 449 #define VL53L1_HIST_XTALK_COMP__DIS \
charlesmn 0:3ac96e360672 450 ((VL53L1_HistXtalkCompEnable) 0)
charlesmn 0:3ac96e360672 451 #define VL53L1_HIST_XTALK_COMP__EN \
charlesmn 0:3ac96e360672 452 ((VL53L1_HistXtalkCompEnable) 1)
charlesmn 0:3ac96e360672 453
charlesmn 0:3ac96e360672 454
charlesmn 0:3ac96e360672 455
charlesmn 0:3ac96e360672 456
charlesmn 0:3ac96e360672 457 typedef uint8_t VL53L1_DeviceConfigLevel;
charlesmn 0:3ac96e360672 458
charlesmn 0:3ac96e360672 459 #define VL53L1_DEVICECONFIGLEVEL_SYSTEM_CONTROL \
charlesmn 0:3ac96e360672 460 ((VL53L1_DeviceConfigLevel) 0)
charlesmn 0:3ac96e360672 461
charlesmn 0:3ac96e360672 462 #define VL53L1_DEVICECONFIGLEVEL_DYNAMIC_ONWARDS \
charlesmn 0:3ac96e360672 463 ((VL53L1_DeviceConfigLevel) 1)
charlesmn 0:3ac96e360672 464
charlesmn 0:3ac96e360672 465 #define VL53L1_DEVICECONFIGLEVEL_TIMING_ONWARDS \
charlesmn 0:3ac96e360672 466 ((VL53L1_DeviceConfigLevel) 2)
charlesmn 0:3ac96e360672 467
charlesmn 0:3ac96e360672 468 #define VL53L1_DEVICECONFIGLEVEL_GENERAL_ONWARDS \
charlesmn 0:3ac96e360672 469 ((VL53L1_DeviceConfigLevel) 3)
charlesmn 0:3ac96e360672 470
charlesmn 0:3ac96e360672 471 #define VL53L1_DEVICECONFIGLEVEL_STATIC_ONWARDS \
charlesmn 0:3ac96e360672 472 ((VL53L1_DeviceConfigLevel) 4)
charlesmn 0:3ac96e360672 473
charlesmn 0:3ac96e360672 474 #define VL53L1_DEVICECONFIGLEVEL_CUSTOMER_ONWARDS \
charlesmn 0:3ac96e360672 475 ((VL53L1_DeviceConfigLevel) 5)
charlesmn 0:3ac96e360672 476
charlesmn 0:3ac96e360672 477 #define VL53L1_DEVICECONFIGLEVEL_FULL \
charlesmn 0:3ac96e360672 478 ((VL53L1_DeviceConfigLevel) 6)
charlesmn 0:3ac96e360672 479
charlesmn 0:3ac96e360672 480
charlesmn 0:3ac96e360672 481
charlesmn 0:3ac96e360672 482
charlesmn 0:3ac96e360672 483
charlesmn 0:3ac96e360672 484
charlesmn 0:3ac96e360672 485 typedef uint8_t VL53L1_DeviceResultsLevel;
charlesmn 0:3ac96e360672 486
charlesmn 0:3ac96e360672 487 #define VL53L1_DEVICERESULTSLEVEL_SYSTEM_RESULTS \
charlesmn 0:3ac96e360672 488 ((VL53L1_DeviceResultsLevel) 0)
charlesmn 0:3ac96e360672 489
charlesmn 0:3ac96e360672 490 #define VL53L1_DEVICERESULTSLEVEL_UPTO_CORE \
charlesmn 0:3ac96e360672 491 ((VL53L1_DeviceResultsLevel) 1)
charlesmn 0:3ac96e360672 492
charlesmn 0:3ac96e360672 493 #define VL53L1_DEVICERESULTSLEVEL_FULL \
charlesmn 0:3ac96e360672 494 ((VL53L1_DeviceResultsLevel) 2)
charlesmn 0:3ac96e360672 495
charlesmn 0:3ac96e360672 496
charlesmn 0:3ac96e360672 497
charlesmn 0:3ac96e360672 498
charlesmn 0:3ac96e360672 499
charlesmn 0:3ac96e360672 500
charlesmn 0:3ac96e360672 501
charlesmn 0:3ac96e360672 502 typedef uint8_t VL53L1_DeviceTestMode;
charlesmn 0:3ac96e360672 503
charlesmn 0:3ac96e360672 504 #define VL53L1_DEVICETESTMODE_NONE \
charlesmn 0:3ac96e360672 505 ((VL53L1_DeviceTestMode) 0x00)
charlesmn 0:3ac96e360672 506
charlesmn 0:3ac96e360672 507 #define VL53L1_DEVICETESTMODE_NVM_ZERO \
charlesmn 0:3ac96e360672 508 ((VL53L1_DeviceTestMode) 0x01)
charlesmn 0:3ac96e360672 509
charlesmn 0:3ac96e360672 510 #define VL53L1_DEVICETESTMODE_NVM_COPY \
charlesmn 0:3ac96e360672 511 ((VL53L1_DeviceTestMode) 0x02)
charlesmn 0:3ac96e360672 512
charlesmn 0:3ac96e360672 513 #define VL53L1_DEVICETESTMODE_PATCH \
charlesmn 0:3ac96e360672 514 ((VL53L1_DeviceTestMode) 0x03)
charlesmn 0:3ac96e360672 515
charlesmn 0:3ac96e360672 516 #define VL53L1_DEVICETESTMODE_DCR \
charlesmn 0:3ac96e360672 517 ((VL53L1_DeviceTestMode) 0x04)
charlesmn 0:3ac96e360672 518
charlesmn 0:3ac96e360672 519 #define VL53L1_DEVICETESTMODE_LCR_VCSEL_OFF \
charlesmn 0:3ac96e360672 520 ((VL53L1_DeviceTestMode) 0x05)
charlesmn 0:3ac96e360672 521
charlesmn 0:3ac96e360672 522 #define VL53L1_DEVICETESTMODE_LCR_VCSEL_ON \
charlesmn 0:3ac96e360672 523 ((VL53L1_DeviceTestMode) 0x06)
charlesmn 0:3ac96e360672 524
charlesmn 0:3ac96e360672 525 #define VL53L1_DEVICETESTMODE_SPOT_CENTRE_LOCATE \
charlesmn 0:3ac96e360672 526 ((VL53L1_DeviceTestMode) 0x07)
charlesmn 0:3ac96e360672 527
charlesmn 0:3ac96e360672 528 #define VL53L1_DEVICETESTMODE_REF_SPAD_CHAR_WITH_PRE_VHV \
charlesmn 0:3ac96e360672 529 ((VL53L1_DeviceTestMode) 0x08)
charlesmn 0:3ac96e360672 530
charlesmn 0:3ac96e360672 531 #define VL53L1_DEVICETESTMODE_REF_SPAD_CHAR_ONLY \
charlesmn 0:3ac96e360672 532 ((VL53L1_DeviceTestMode) 0x09)
charlesmn 0:3ac96e360672 533
charlesmn 0:3ac96e360672 534
charlesmn 0:3ac96e360672 535
charlesmn 0:3ac96e360672 536
charlesmn 0:3ac96e360672 537
charlesmn 0:3ac96e360672 538
charlesmn 0:3ac96e360672 539
charlesmn 0:3ac96e360672 540 typedef uint8_t VL53L1_DeviceSscArray;
charlesmn 0:3ac96e360672 541
charlesmn 0:3ac96e360672 542 #define VL53L1_DEVICESSCARRAY_RTN ((VL53L1_DeviceSscArray) 0x00)
charlesmn 0:3ac96e360672 543
charlesmn 0:3ac96e360672 544 #define VL53L1_DEVICETESTMODE_REF ((VL53L1_DeviceSscArray) 0x01)
charlesmn 0:3ac96e360672 545
charlesmn 0:3ac96e360672 546
charlesmn 0:3ac96e360672 547
charlesmn 0:3ac96e360672 548
charlesmn 0:3ac96e360672 549
charlesmn 0:3ac96e360672 550
charlesmn 0:3ac96e360672 551
charlesmn 0:3ac96e360672 552 #define VL53L1_RETURN_ARRAY_ONLY 0x01
charlesmn 0:3ac96e360672 553
charlesmn 0:3ac96e360672 554 #define VL53L1_REFERENCE_ARRAY_ONLY 0x10
charlesmn 0:3ac96e360672 555
charlesmn 0:3ac96e360672 556 #define VL53L1_BOTH_RETURN_AND_REFERENCE_ARRAYS 0x11
charlesmn 0:3ac96e360672 557
charlesmn 0:3ac96e360672 558 #define VL53L1_NEITHER_RETURN_AND_REFERENCE_ARRAYS 0x00
charlesmn 0:3ac96e360672 559
charlesmn 0:3ac96e360672 560
charlesmn 0:3ac96e360672 561
charlesmn 0:3ac96e360672 562
charlesmn 0:3ac96e360672 563
charlesmn 0:3ac96e360672 564
charlesmn 0:3ac96e360672 565 #define VL53L1_DEVICEINTERRUPTLEVEL_ACTIVE_HIGH 0x00
charlesmn 0:3ac96e360672 566
charlesmn 0:3ac96e360672 567 #define VL53L1_DEVICEINTERRUPTLEVEL_ACTIVE_LOW 0x10
charlesmn 0:3ac96e360672 568
charlesmn 0:3ac96e360672 569 #define VL53L1_DEVICEINTERRUPTLEVEL_ACTIVE_MASK 0x10
charlesmn 0:3ac96e360672 570
charlesmn 0:3ac96e360672 571
charlesmn 0:3ac96e360672 572
charlesmn 0:3ac96e360672 573
charlesmn 0:3ac96e360672 574
charlesmn 0:3ac96e360672 575
charlesmn 0:3ac96e360672 576 #define VL53L1_POLLING_DELAY_US 1000
charlesmn 0:3ac96e360672 577
charlesmn 0:3ac96e360672 578 #define VL53L1_SOFTWARE_RESET_DURATION_US 100
charlesmn 0:3ac96e360672 579
charlesmn 0:3ac96e360672 580 #define VL53L1_FIRMWARE_BOOT_TIME_US 1200
charlesmn 0:3ac96e360672 581
charlesmn 0:3ac96e360672 582 #define VL53L1_ENABLE_POWERFORCE_SETTLING_TIME_US 250
charlesmn 0:3ac96e360672 583
charlesmn 0:3ac96e360672 584 #define VL53L1_SPAD_ARRAY_WIDTH 16
charlesmn 0:3ac96e360672 585
charlesmn 0:3ac96e360672 586 #define VL53L1_SPAD_ARRAY_HEIGHT 16
charlesmn 0:3ac96e360672 587
charlesmn 0:3ac96e360672 588 #define VL53L1_NVM_SIZE_IN_BYTES 512
charlesmn 0:3ac96e360672 589
charlesmn 0:3ac96e360672 590 #define VL53L1_NO_OF_SPAD_ENABLES 256
charlesmn 0:3ac96e360672 591
charlesmn 0:3ac96e360672 592 #define VL53L1_RTN_SPAD_BUFFER_SIZE 32
charlesmn 0:3ac96e360672 593
charlesmn 0:3ac96e360672 594 #define VL53L1_REF_SPAD_BUFFER_SIZE 6
charlesmn 0:3ac96e360672 595
charlesmn 0:3ac96e360672 596 #define VL53L1_AMBIENT_WINDOW_VCSEL_PERIODS 256
charlesmn 0:3ac96e360672 597
charlesmn 0:3ac96e360672 598 #define VL53L1_RANGING_WINDOW_VCSEL_PERIODS 2048
charlesmn 0:3ac96e360672 599
charlesmn 0:3ac96e360672 600 #define VL53L1_MACRO_PERIOD_VCSEL_PERIODS \
charlesmn 0:3ac96e360672 601 (VL53L1_AMBIENT_WINDOW_VCSEL_PERIODS + \
charlesmn 0:3ac96e360672 602 VL53L1_RANGING_WINDOW_VCSEL_PERIODS)
charlesmn 0:3ac96e360672 603
charlesmn 0:3ac96e360672 604 #define VL53L1_MAX_ALLOWED_PHASE 0xFFFF
charlesmn 0:3ac96e360672 605
charlesmn 0:3ac96e360672 606
charlesmn 0:3ac96e360672 607 #define VL53L1_RTN_SPAD_UNITY_TRANSMISSION 0x0100
charlesmn 0:3ac96e360672 608
charlesmn 0:3ac96e360672 609 #define VL53L1_RTN_SPAD_APERTURE_TRANSMISSION 0x0038
charlesmn 0:3ac96e360672 610
charlesmn 0:3ac96e360672 611
charlesmn 0:3ac96e360672 612 #define VL53L1_SPAD_TOTAL_COUNT_MAX ((0x01 << 29) - 1)
charlesmn 0:3ac96e360672 613
charlesmn 0:3ac96e360672 614 #define VL53L1_SPAD_TOTAL_COUNT_RES_THRES (0x01 << 24)
charlesmn 0:3ac96e360672 615
charlesmn 0:3ac96e360672 616 #define VL53L1_COUNT_RATE_INTERNAL_MAX ((0x01 << 24) - 1)
charlesmn 0:3ac96e360672 617
charlesmn 0:3ac96e360672 618 #define VL53L1_SPEED_OF_LIGHT_IN_AIR 299704
charlesmn 0:3ac96e360672 619
charlesmn 0:3ac96e360672 620 #define VL53L1_SPEED_OF_LIGHT_IN_AIR_DIV_8 (299704 >> 3)
charlesmn 0:3ac96e360672 621
charlesmn 0:3ac96e360672 622
charlesmn 0:3ac96e360672 623
charlesmn 0:3ac96e360672 624
charlesmn 0:3ac96e360672 625
charlesmn 0:3ac96e360672 626
charlesmn 0:3ac96e360672 627
charlesmn 0:3ac96e360672 628
charlesmn 0:3ac96e360672 629 typedef uint8_t VL53L1_ZoneConfig_BinConfig_select;
charlesmn 0:3ac96e360672 630
charlesmn 0:3ac96e360672 631 #define VL53L1_ZONECONFIG_BINCONFIG__LOWAMB \
charlesmn 0:3ac96e360672 632 ((VL53L1_ZoneConfig_BinConfig_select) 1)
charlesmn 0:3ac96e360672 633 #define VL53L1_ZONECONFIG_BINCONFIG__MIDAMB \
charlesmn 0:3ac96e360672 634 ((VL53L1_ZoneConfig_BinConfig_select) 2)
charlesmn 0:3ac96e360672 635 #define VL53L1_ZONECONFIG_BINCONFIG__HIGHAMB \
charlesmn 0:3ac96e360672 636 ((VL53L1_ZoneConfig_BinConfig_select) 3)
charlesmn 0:3ac96e360672 637
charlesmn 0:3ac96e360672 638
charlesmn 0:3ac96e360672 639
charlesmn 0:3ac96e360672 640
charlesmn 0:3ac96e360672 641
charlesmn 0:3ac96e360672 642 typedef uint8_t VL53L1_GPIO_Interrupt_Mode;
charlesmn 0:3ac96e360672 643
charlesmn 0:3ac96e360672 644 #define VL53L1_GPIOINTMODE_LEVEL_LOW \
charlesmn 0:3ac96e360672 645 ((VL53L1_GPIO_Interrupt_Mode) 0)
charlesmn 0:3ac96e360672 646
charlesmn 0:3ac96e360672 647 #define VL53L1_GPIOINTMODE_LEVEL_HIGH \
charlesmn 0:3ac96e360672 648 ((VL53L1_GPIO_Interrupt_Mode) 1)
charlesmn 0:3ac96e360672 649
charlesmn 0:3ac96e360672 650 #define VL53L1_GPIOINTMODE_OUT_OF_WINDOW \
charlesmn 0:3ac96e360672 651 ((VL53L1_GPIO_Interrupt_Mode) 2)
charlesmn 0:3ac96e360672 652
charlesmn 0:3ac96e360672 653 #define VL53L1_GPIOINTMODE_IN_WINDOW \
charlesmn 0:3ac96e360672 654 ((VL53L1_GPIO_Interrupt_Mode) 3)
charlesmn 0:3ac96e360672 655
charlesmn 0:3ac96e360672 656
charlesmn 0:3ac96e360672 657
charlesmn 0:3ac96e360672 658
charlesmn 0:3ac96e360672 659
charlesmn 0:3ac96e360672 660
charlesmn 0:3ac96e360672 661 typedef uint16_t VL53L1_TuningParms;
charlesmn 0:3ac96e360672 662
charlesmn 0:3ac96e360672 663 #define VL53L1_TUNINGPARMS_LLD_PUBLIC_MIN_ADDRESS \
charlesmn 0:3ac96e360672 664 ((VL53L1_TuningParms) VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS)
charlesmn 0:3ac96e360672 665 #define VL53L1_TUNINGPARMS_LLD_PUBLIC_MAX_ADDRESS \
lugandc 18:0696efe39d08 666 ((VL53L1_TuningParms) VL53L1_TUNINGPARM_MIN_SIGNAL_SECONDARY_TARGETS)
charlesmn 0:3ac96e360672 667
charlesmn 0:3ac96e360672 668 #define VL53L1_TUNINGPARMS_LLD_PRIVATE_MIN_ADDRESS \
charlesmn 0:3ac96e360672 669 ((VL53L1_TuningParms) VL53L1_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS)
charlesmn 0:3ac96e360672 670 #define VL53L1_TUNINGPARMS_LLD_PRIVATE_MAX_ADDRESS \
charlesmn 0:3ac96e360672 671 ((VL53L1_TuningParms) VL53L1_TUNINGPARMS_LLD_PRIVATE_MIN_ADDRESS)
charlesmn 0:3ac96e360672 672
charlesmn 0:3ac96e360672 673 #define VL53L1_TUNINGPARM_VERSION \
charlesmn 0:3ac96e360672 674 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 0))
charlesmn 0:3ac96e360672 675 #define VL53L1_TUNINGPARM_KEY_TABLE_VERSION \
charlesmn 0:3ac96e360672 676 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 1))
charlesmn 0:3ac96e360672 677 #define VL53L1_TUNINGPARM_LLD_VERSION \
charlesmn 0:3ac96e360672 678 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 2))
charlesmn 0:3ac96e360672 679 #define VL53L1_TUNINGPARM_HIST_ALGO_SELECT \
charlesmn 0:3ac96e360672 680 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 3))
charlesmn 0:3ac96e360672 681 #define VL53L1_TUNINGPARM_HIST_TARGET_ORDER \
charlesmn 0:3ac96e360672 682 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 4))
charlesmn 0:3ac96e360672 683 #define VL53L1_TUNINGPARM_HIST_FILTER_WOI_0 \
charlesmn 0:3ac96e360672 684 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 5))
charlesmn 0:3ac96e360672 685 #define VL53L1_TUNINGPARM_HIST_FILTER_WOI_1 \
charlesmn 0:3ac96e360672 686 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 6))
charlesmn 0:3ac96e360672 687 #define VL53L1_TUNINGPARM_HIST_AMB_EST_METHOD \
charlesmn 0:3ac96e360672 688 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 7))
charlesmn 0:3ac96e360672 689 #define VL53L1_TUNINGPARM_HIST_AMB_THRESH_SIGMA_0 \
charlesmn 0:3ac96e360672 690 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 8))
charlesmn 0:3ac96e360672 691 #define VL53L1_TUNINGPARM_HIST_AMB_THRESH_SIGMA_1 \
charlesmn 0:3ac96e360672 692 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 9))
charlesmn 0:3ac96e360672 693 #define VL53L1_TUNINGPARM_HIST_MIN_AMB_THRESH_EVENTS \
charlesmn 0:3ac96e360672 694 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 10))
charlesmn 0:3ac96e360672 695 #define VL53L1_TUNINGPARM_HIST_AMB_EVENTS_SCALER \
charlesmn 0:3ac96e360672 696 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 11))
charlesmn 0:3ac96e360672 697 #define VL53L1_TUNINGPARM_HIST_NOISE_THRESHOLD \
charlesmn 0:3ac96e360672 698 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 12))
charlesmn 0:3ac96e360672 699 #define VL53L1_TUNINGPARM_HIST_SIGNAL_TOTAL_EVENTS_LIMIT \
charlesmn 0:3ac96e360672 700 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 13))
charlesmn 0:3ac96e360672 701 #define VL53L1_TUNINGPARM_HIST_SIGMA_EST_REF_MM \
charlesmn 0:3ac96e360672 702 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 14))
charlesmn 0:3ac96e360672 703 #define VL53L1_TUNINGPARM_HIST_SIGMA_THRESH_MM \
charlesmn 0:3ac96e360672 704 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 15))
charlesmn 0:3ac96e360672 705 #define VL53L1_TUNINGPARM_HIST_GAIN_FACTOR \
charlesmn 0:3ac96e360672 706 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 16))
charlesmn 0:3ac96e360672 707 #define VL53L1_TUNINGPARM_CONSISTENCY_HIST_PHASE_TOLERANCE \
charlesmn 0:3ac96e360672 708 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 17))
charlesmn 0:3ac96e360672 709 #define VL53L1_TUNINGPARM_CONSISTENCY_HIST_MIN_MAX_TOLERANCE_MM \
charlesmn 0:3ac96e360672 710 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 18))
charlesmn 0:3ac96e360672 711 #define VL53L1_TUNINGPARM_CONSISTENCY_HIST_EVENT_SIGMA \
charlesmn 0:3ac96e360672 712 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 19))
charlesmn 0:3ac96e360672 713 #define VL53L1_TUNINGPARM_CONSISTENCY_HIST_EVENT_SIGMA_MIN_SPAD_LIMIT \
charlesmn 0:3ac96e360672 714 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 20))
charlesmn 0:3ac96e360672 715 #define VL53L1_TUNINGPARM_INITIAL_PHASE_RTN_HISTO_LONG_RANGE \
charlesmn 0:3ac96e360672 716 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 21))
charlesmn 0:3ac96e360672 717 #define VL53L1_TUNINGPARM_INITIAL_PHASE_RTN_HISTO_MED_RANGE \
charlesmn 0:3ac96e360672 718 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 22))
charlesmn 0:3ac96e360672 719 #define VL53L1_TUNINGPARM_INITIAL_PHASE_RTN_HISTO_SHORT_RANGE \
charlesmn 0:3ac96e360672 720 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 23))
charlesmn 0:3ac96e360672 721 #define VL53L1_TUNINGPARM_INITIAL_PHASE_REF_HISTO_LONG_RANGE \
charlesmn 0:3ac96e360672 722 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 24))
charlesmn 0:3ac96e360672 723 #define VL53L1_TUNINGPARM_INITIAL_PHASE_REF_HISTO_MED_RANGE \
charlesmn 0:3ac96e360672 724 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 25))
charlesmn 0:3ac96e360672 725 #define VL53L1_TUNINGPARM_INITIAL_PHASE_REF_HISTO_SHORT_RANGE \
charlesmn 0:3ac96e360672 726 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 26))
charlesmn 0:3ac96e360672 727 #define VL53L1_TUNINGPARM_XTALK_DETECT_MIN_VALID_RANGE_MM \
charlesmn 0:3ac96e360672 728 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 27))
charlesmn 0:3ac96e360672 729 #define VL53L1_TUNINGPARM_XTALK_DETECT_MAX_VALID_RANGE_MM \
charlesmn 0:3ac96e360672 730 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 28))
charlesmn 0:3ac96e360672 731 #define VL53L1_TUNINGPARM_XTALK_DETECT_MAX_SIGMA_MM \
charlesmn 0:3ac96e360672 732 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 29))
charlesmn 0:3ac96e360672 733 #define VL53L1_TUNINGPARM_XTALK_DETECT_MIN_MAX_TOLERANCE \
charlesmn 0:3ac96e360672 734 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 30))
charlesmn 0:3ac96e360672 735 #define VL53L1_TUNINGPARM_XTALK_DETECT_MAX_VALID_RATE_KCPS \
charlesmn 0:3ac96e360672 736 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 31))
charlesmn 0:3ac96e360672 737 #define VL53L1_TUNINGPARM_XTALK_DETECT_EVENT_SIGMA \
charlesmn 0:3ac96e360672 738 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 32))
charlesmn 0:3ac96e360672 739 #define VL53L1_TUNINGPARM_HIST_XTALK_MARGIN_KCPS \
charlesmn 0:3ac96e360672 740 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 33))
charlesmn 0:3ac96e360672 741 #define VL53L1_TUNINGPARM_CONSISTENCY_LITE_PHASE_TOLERANCE \
charlesmn 0:3ac96e360672 742 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 34))
charlesmn 0:3ac96e360672 743 #define VL53L1_TUNINGPARM_PHASECAL_TARGET \
charlesmn 0:3ac96e360672 744 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 35))
charlesmn 0:3ac96e360672 745 #define VL53L1_TUNINGPARM_LITE_CAL_REPEAT_RATE \
charlesmn 0:3ac96e360672 746 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 36))
charlesmn 0:3ac96e360672 747 #define VL53L1_TUNINGPARM_LITE_RANGING_GAIN_FACTOR \
charlesmn 0:3ac96e360672 748 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 37))
charlesmn 0:3ac96e360672 749 #define VL53L1_TUNINGPARM_LITE_MIN_CLIP_MM \
charlesmn 0:3ac96e360672 750 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 38))
charlesmn 0:3ac96e360672 751 #define VL53L1_TUNINGPARM_LITE_LONG_SIGMA_THRESH_MM \
charlesmn 0:3ac96e360672 752 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 39))
charlesmn 0:3ac96e360672 753 #define VL53L1_TUNINGPARM_LITE_MED_SIGMA_THRESH_MM \
charlesmn 0:3ac96e360672 754 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 40))
charlesmn 0:3ac96e360672 755 #define VL53L1_TUNINGPARM_LITE_SHORT_SIGMA_THRESH_MM \
charlesmn 0:3ac96e360672 756 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 41))
charlesmn 0:3ac96e360672 757 #define VL53L1_TUNINGPARM_LITE_LONG_MIN_COUNT_RATE_RTN_MCPS \
charlesmn 0:3ac96e360672 758 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 42))
charlesmn 0:3ac96e360672 759 #define VL53L1_TUNINGPARM_LITE_MED_MIN_COUNT_RATE_RTN_MCPS \
charlesmn 0:3ac96e360672 760 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 43))
charlesmn 0:3ac96e360672 761 #define VL53L1_TUNINGPARM_LITE_SHORT_MIN_COUNT_RATE_RTN_MCPS \
charlesmn 0:3ac96e360672 762 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 44))
charlesmn 0:3ac96e360672 763 #define VL53L1_TUNINGPARM_LITE_SIGMA_EST_PULSE_WIDTH \
charlesmn 0:3ac96e360672 764 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 45))
charlesmn 0:3ac96e360672 765 #define VL53L1_TUNINGPARM_LITE_SIGMA_EST_AMB_WIDTH_NS \
charlesmn 0:3ac96e360672 766 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 46))
charlesmn 0:3ac96e360672 767 #define VL53L1_TUNINGPARM_LITE_SIGMA_REF_MM \
charlesmn 0:3ac96e360672 768 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 47))
charlesmn 0:3ac96e360672 769 #define VL53L1_TUNINGPARM_LITE_RIT_MULT \
charlesmn 0:3ac96e360672 770 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 48))
charlesmn 0:3ac96e360672 771 #define VL53L1_TUNINGPARM_LITE_SEED_CONFIG \
charlesmn 0:3ac96e360672 772 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 49))
charlesmn 0:3ac96e360672 773 #define VL53L1_TUNINGPARM_LITE_QUANTIFIER \
charlesmn 0:3ac96e360672 774 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 50))
charlesmn 0:3ac96e360672 775 #define VL53L1_TUNINGPARM_LITE_FIRST_ORDER_SELECT \
charlesmn 0:3ac96e360672 776 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 51))
charlesmn 0:3ac96e360672 777 #define VL53L1_TUNINGPARM_LITE_XTALK_MARGIN_KCPS \
charlesmn 0:3ac96e360672 778 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 52))
charlesmn 0:3ac96e360672 779 #define VL53L1_TUNINGPARM_INITIAL_PHASE_RTN_LITE_LONG_RANGE \
charlesmn 0:3ac96e360672 780 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 53))
charlesmn 0:3ac96e360672 781 #define VL53L1_TUNINGPARM_INITIAL_PHASE_RTN_LITE_MED_RANGE \
charlesmn 0:3ac96e360672 782 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 54))
charlesmn 0:3ac96e360672 783 #define VL53L1_TUNINGPARM_INITIAL_PHASE_RTN_LITE_SHORT_RANGE \
charlesmn 0:3ac96e360672 784 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 55))
charlesmn 0:3ac96e360672 785 #define VL53L1_TUNINGPARM_INITIAL_PHASE_REF_LITE_LONG_RANGE \
charlesmn 0:3ac96e360672 786 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 56))
charlesmn 0:3ac96e360672 787 #define VL53L1_TUNINGPARM_INITIAL_PHASE_REF_LITE_MED_RANGE \
charlesmn 0:3ac96e360672 788 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 57))
charlesmn 0:3ac96e360672 789 #define VL53L1_TUNINGPARM_INITIAL_PHASE_REF_LITE_SHORT_RANGE \
charlesmn 0:3ac96e360672 790 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 58))
charlesmn 0:3ac96e360672 791 #define VL53L1_TUNINGPARM_TIMED_SEED_CONFIG \
charlesmn 0:3ac96e360672 792 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 59))
charlesmn 0:3ac96e360672 793 #define VL53L1_TUNINGPARM_DMAX_CFG_SIGNAL_THRESH_SIGMA \
charlesmn 0:3ac96e360672 794 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 60))
charlesmn 0:3ac96e360672 795 #define VL53L1_TUNINGPARM_DMAX_CFG_REFLECTANCE_ARRAY_0 \
charlesmn 0:3ac96e360672 796 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 61))
charlesmn 0:3ac96e360672 797 #define VL53L1_TUNINGPARM_DMAX_CFG_REFLECTANCE_ARRAY_1 \
charlesmn 0:3ac96e360672 798 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 62))
charlesmn 0:3ac96e360672 799 #define VL53L1_TUNINGPARM_DMAX_CFG_REFLECTANCE_ARRAY_2 \
charlesmn 0:3ac96e360672 800 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 63))
charlesmn 0:3ac96e360672 801 #define VL53L1_TUNINGPARM_DMAX_CFG_REFLECTANCE_ARRAY_3 \
charlesmn 0:3ac96e360672 802 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 64))
charlesmn 0:3ac96e360672 803 #define VL53L1_TUNINGPARM_DMAX_CFG_REFLECTANCE_ARRAY_4 \
charlesmn 0:3ac96e360672 804 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 65))
charlesmn 0:3ac96e360672 805 #define VL53L1_TUNINGPARM_VHV_LOOPBOUND \
charlesmn 0:3ac96e360672 806 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 66))
charlesmn 0:3ac96e360672 807 #define VL53L1_TUNINGPARM_REFSPADCHAR_DEVICE_TEST_MODE \
charlesmn 0:3ac96e360672 808 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 67))
charlesmn 0:3ac96e360672 809 #define VL53L1_TUNINGPARM_REFSPADCHAR_VCSEL_PERIOD \
charlesmn 0:3ac96e360672 810 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 68))
charlesmn 0:3ac96e360672 811 #define VL53L1_TUNINGPARM_REFSPADCHAR_PHASECAL_TIMEOUT_US \
charlesmn 0:3ac96e360672 812 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 69))
charlesmn 0:3ac96e360672 813 #define VL53L1_TUNINGPARM_REFSPADCHAR_TARGET_COUNT_RATE_MCPS \
charlesmn 0:3ac96e360672 814 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 70))
charlesmn 0:3ac96e360672 815 #define VL53L1_TUNINGPARM_REFSPADCHAR_MIN_COUNTRATE_LIMIT_MCPS \
charlesmn 0:3ac96e360672 816 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 71))
charlesmn 0:3ac96e360672 817 #define VL53L1_TUNINGPARM_REFSPADCHAR_MAX_COUNTRATE_LIMIT_MCPS \
charlesmn 0:3ac96e360672 818 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 72))
charlesmn 0:3ac96e360672 819 #define VL53L1_TUNINGPARM_XTALK_EXTRACT_NUM_OF_SAMPLES \
charlesmn 0:3ac96e360672 820 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 73))
charlesmn 0:3ac96e360672 821 #define VL53L1_TUNINGPARM_XTALK_EXTRACT_MIN_FILTER_THRESH_MM \
charlesmn 0:3ac96e360672 822 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 74))
charlesmn 0:3ac96e360672 823 #define VL53L1_TUNINGPARM_XTALK_EXTRACT_MAX_FILTER_THRESH_MM \
charlesmn 0:3ac96e360672 824 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 75))
charlesmn 0:3ac96e360672 825 #define VL53L1_TUNINGPARM_XTALK_EXTRACT_DSS_RATE_MCPS \
charlesmn 0:3ac96e360672 826 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 76))
charlesmn 0:3ac96e360672 827 #define VL53L1_TUNINGPARM_XTALK_EXTRACT_PHASECAL_TIMEOUT_US \
charlesmn 0:3ac96e360672 828 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 77))
charlesmn 0:3ac96e360672 829 #define VL53L1_TUNINGPARM_XTALK_EXTRACT_MAX_VALID_RATE_KCPS \
charlesmn 0:3ac96e360672 830 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 78))
charlesmn 0:3ac96e360672 831 #define VL53L1_TUNINGPARM_XTALK_EXTRACT_SIGMA_THRESHOLD_MM \
charlesmn 0:3ac96e360672 832 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 79))
charlesmn 0:3ac96e360672 833 #define VL53L1_TUNINGPARM_XTALK_EXTRACT_DSS_TIMEOUT_US \
charlesmn 0:3ac96e360672 834 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 80))
charlesmn 0:3ac96e360672 835 #define VL53L1_TUNINGPARM_XTALK_EXTRACT_BIN_TIMEOUT_US \
charlesmn 0:3ac96e360672 836 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 81))
charlesmn 0:3ac96e360672 837 #define VL53L1_TUNINGPARM_OFFSET_CAL_DSS_RATE_MCPS \
charlesmn 0:3ac96e360672 838 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 82))
charlesmn 0:3ac96e360672 839 #define VL53L1_TUNINGPARM_OFFSET_CAL_PHASECAL_TIMEOUT_US \
charlesmn 0:3ac96e360672 840 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 83))
charlesmn 0:3ac96e360672 841 #define VL53L1_TUNINGPARM_OFFSET_CAL_MM_TIMEOUT_US \
charlesmn 0:3ac96e360672 842 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 84))
charlesmn 0:3ac96e360672 843 #define VL53L1_TUNINGPARM_OFFSET_CAL_RANGE_TIMEOUT_US \
charlesmn 0:3ac96e360672 844 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 85))
charlesmn 0:3ac96e360672 845 #define VL53L1_TUNINGPARM_OFFSET_CAL_PRE_SAMPLES \
charlesmn 0:3ac96e360672 846 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 86))
charlesmn 0:3ac96e360672 847 #define VL53L1_TUNINGPARM_OFFSET_CAL_MM1_SAMPLES \
charlesmn 0:3ac96e360672 848 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 87))
charlesmn 0:3ac96e360672 849 #define VL53L1_TUNINGPARM_OFFSET_CAL_MM2_SAMPLES \
charlesmn 0:3ac96e360672 850 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 88))
charlesmn 0:3ac96e360672 851 #define VL53L1_TUNINGPARM_ZONE_CAL_DSS_RATE_MCPS \
charlesmn 0:3ac96e360672 852 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 89))
charlesmn 0:3ac96e360672 853 #define VL53L1_TUNINGPARM_ZONE_CAL_PHASECAL_TIMEOUT_US \
charlesmn 0:3ac96e360672 854 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 90))
charlesmn 0:3ac96e360672 855 #define VL53L1_TUNINGPARM_ZONE_CAL_DSS_TIMEOUT_US \
charlesmn 0:3ac96e360672 856 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 91))
charlesmn 0:3ac96e360672 857 #define VL53L1_TUNINGPARM_ZONE_CAL_PHASECAL_NUM_SAMPLES \
charlesmn 0:3ac96e360672 858 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 92))
charlesmn 0:3ac96e360672 859 #define VL53L1_TUNINGPARM_ZONE_CAL_RANGE_TIMEOUT_US \
charlesmn 0:3ac96e360672 860 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 93))
charlesmn 0:3ac96e360672 861 #define VL53L1_TUNINGPARM_ZONE_CAL_ZONE_NUM_SAMPLES \
charlesmn 0:3ac96e360672 862 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 94))
charlesmn 0:3ac96e360672 863 #define VL53L1_TUNINGPARM_SPADMAP_VCSEL_PERIOD \
charlesmn 0:3ac96e360672 864 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 95))
charlesmn 0:3ac96e360672 865 #define VL53L1_TUNINGPARM_SPADMAP_VCSEL_START \
charlesmn 0:3ac96e360672 866 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 96))
charlesmn 0:3ac96e360672 867 #define VL53L1_TUNINGPARM_SPADMAP_RATE_LIMIT_MCPS \
charlesmn 0:3ac96e360672 868 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 97))
charlesmn 0:3ac96e360672 869 #define VL53L1_TUNINGPARM_LITE_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS \
charlesmn 0:3ac96e360672 870 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 98))
charlesmn 0:3ac96e360672 871 #define VL53L1_TUNINGPARM_RANGING_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS \
charlesmn 0:3ac96e360672 872 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 99))
charlesmn 0:3ac96e360672 873 #define VL53L1_TUNINGPARM_MZ_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS \
charlesmn 0:3ac96e360672 874 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 100))
charlesmn 0:3ac96e360672 875 #define VL53L1_TUNINGPARM_TIMED_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS \
charlesmn 0:3ac96e360672 876 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 101))
charlesmn 0:3ac96e360672 877 #define VL53L1_TUNINGPARM_LITE_PHASECAL_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 878 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 102))
charlesmn 0:3ac96e360672 879 #define VL53L1_TUNINGPARM_RANGING_LONG_PHASECAL_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 880 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 103))
charlesmn 0:3ac96e360672 881 #define VL53L1_TUNINGPARM_RANGING_MED_PHASECAL_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 882 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 104))
charlesmn 0:3ac96e360672 883 #define VL53L1_TUNINGPARM_RANGING_SHORT_PHASECAL_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 884 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 105))
charlesmn 0:3ac96e360672 885 #define VL53L1_TUNINGPARM_MZ_LONG_PHASECAL_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 886 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 106))
charlesmn 0:3ac96e360672 887 #define VL53L1_TUNINGPARM_MZ_MED_PHASECAL_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 888 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 107))
charlesmn 0:3ac96e360672 889 #define VL53L1_TUNINGPARM_MZ_SHORT_PHASECAL_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 890 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 108))
charlesmn 0:3ac96e360672 891 #define VL53L1_TUNINGPARM_TIMED_PHASECAL_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 892 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 109))
charlesmn 0:3ac96e360672 893 #define VL53L1_TUNINGPARM_LITE_MM_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 894 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 110))
charlesmn 0:3ac96e360672 895 #define VL53L1_TUNINGPARM_RANGING_MM_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 896 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 111))
charlesmn 0:3ac96e360672 897 #define VL53L1_TUNINGPARM_MZ_MM_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 898 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 112))
charlesmn 0:3ac96e360672 899 #define VL53L1_TUNINGPARM_TIMED_MM_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 900 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 113))
charlesmn 0:3ac96e360672 901 #define VL53L1_TUNINGPARM_LITE_RANGE_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 902 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 114))
charlesmn 0:3ac96e360672 903 #define VL53L1_TUNINGPARM_RANGING_RANGE_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 904 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 115))
charlesmn 0:3ac96e360672 905 #define VL53L1_TUNINGPARM_MZ_RANGE_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 906 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 116))
charlesmn 0:3ac96e360672 907 #define VL53L1_TUNINGPARM_TIMED_RANGE_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 908 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 117))
charlesmn 0:3ac96e360672 909 #define VL53L1_TUNINGPARM_DYNXTALK_SMUDGE_MARGIN \
charlesmn 0:3ac96e360672 910 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 118))
charlesmn 0:3ac96e360672 911 #define VL53L1_TUNINGPARM_DYNXTALK_NOISE_MARGIN \
charlesmn 0:3ac96e360672 912 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 119))
charlesmn 0:3ac96e360672 913 #define VL53L1_TUNINGPARM_DYNXTALK_XTALK_OFFSET_LIMIT \
charlesmn 0:3ac96e360672 914 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 120))
charlesmn 0:3ac96e360672 915 #define VL53L1_TUNINGPARM_DYNXTALK_XTALK_OFFSET_LIMIT_HI \
charlesmn 0:3ac96e360672 916 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 121))
charlesmn 0:3ac96e360672 917 #define VL53L1_TUNINGPARM_DYNXTALK_SAMPLE_LIMIT \
charlesmn 0:3ac96e360672 918 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 122))
charlesmn 0:3ac96e360672 919 #define VL53L1_TUNINGPARM_DYNXTALK_SINGLE_XTALK_DELTA \
charlesmn 0:3ac96e360672 920 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 123))
charlesmn 0:3ac96e360672 921 #define VL53L1_TUNINGPARM_DYNXTALK_AVERAGED_XTALK_DELTA \
charlesmn 0:3ac96e360672 922 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 124))
charlesmn 0:3ac96e360672 923 #define VL53L1_TUNINGPARM_DYNXTALK_CLIP_LIMIT \
charlesmn 0:3ac96e360672 924 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 125))
charlesmn 0:3ac96e360672 925 #define VL53L1_TUNINGPARM_DYNXTALK_SCALER_CALC_METHOD \
charlesmn 0:3ac96e360672 926 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 126))
charlesmn 0:3ac96e360672 927 #define VL53L1_TUNINGPARM_DYNXTALK_XGRADIENT_SCALER \
charlesmn 0:3ac96e360672 928 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 127))
charlesmn 0:3ac96e360672 929 #define VL53L1_TUNINGPARM_DYNXTALK_YGRADIENT_SCALER \
charlesmn 0:3ac96e360672 930 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 128))
charlesmn 0:3ac96e360672 931 #define VL53L1_TUNINGPARM_DYNXTALK_USER_SCALER_SET \
charlesmn 0:3ac96e360672 932 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 129))
charlesmn 0:3ac96e360672 933 #define VL53L1_TUNINGPARM_DYNXTALK_SMUDGE_COR_SINGLE_APPLY \
charlesmn 0:3ac96e360672 934 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 130))
charlesmn 0:3ac96e360672 935 #define VL53L1_TUNINGPARM_DYNXTALK_XTALK_AMB_THRESHOLD \
charlesmn 0:3ac96e360672 936 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 131))
charlesmn 0:3ac96e360672 937 #define VL53L1_TUNINGPARM_DYNXTALK_NODETECT_AMB_THRESHOLD_KCPS \
charlesmn 0:3ac96e360672 938 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 132))
charlesmn 0:3ac96e360672 939 #define VL53L1_TUNINGPARM_DYNXTALK_NODETECT_SAMPLE_LIMIT \
charlesmn 0:3ac96e360672 940 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 133))
charlesmn 0:3ac96e360672 941 #define VL53L1_TUNINGPARM_DYNXTALK_NODETECT_XTALK_OFFSET_KCPS \
charlesmn 0:3ac96e360672 942 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 134))
charlesmn 0:3ac96e360672 943 #define VL53L1_TUNINGPARM_DYNXTALK_NODETECT_MIN_RANGE_MM \
charlesmn 0:3ac96e360672 944 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 135))
charlesmn 0:3ac96e360672 945 #define VL53L1_TUNINGPARM_LOWPOWERAUTO_VHV_LOOP_BOUND \
charlesmn 0:3ac96e360672 946 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 136))
charlesmn 0:3ac96e360672 947 #define VL53L1_TUNINGPARM_LOWPOWERAUTO_MM_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 948 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 137))
charlesmn 0:3ac96e360672 949 #define VL53L1_TUNINGPARM_LOWPOWERAUTO_RANGE_CONFIG_TIMEOUT_US \
charlesmn 0:3ac96e360672 950 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 138))
charlesmn 0:3ac96e360672 951 #define VL53L1_TUNINGPARM_VERY_SHORT_DSS_RATE_MCPS \
charlesmn 0:3ac96e360672 952 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 139))
charlesmn 0:3ac96e360672 953 #define VL53L1_TUNINGPARM_PHASECAL_PATCH_POWER \
charlesmn 0:3ac96e360672 954 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 140))
charlesmn 0:3ac96e360672 955 #define VL53L1_TUNINGPARM_HIST_MERGE \
charlesmn 0:3ac96e360672 956 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 141))
charlesmn 0:3ac96e360672 957 #define VL53L1_TUNINGPARM_RESET_MERGE_THRESHOLD \
charlesmn 0:3ac96e360672 958 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 142))
charlesmn 0:3ac96e360672 959 #define VL53L1_TUNINGPARM_HIST_MERGE_MAX_SIZE \
charlesmn 0:3ac96e360672 960 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 143))
charlesmn 0:3ac96e360672 961 #define VL53L1_TUNINGPARM_DYNXTALK_MAX_SMUDGE_FACTOR \
charlesmn 0:3ac96e360672 962 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 144))
charlesmn 0:3ac96e360672 963 #define VL53L1_TUNINGPARM_UWR_ENABLE \
charlesmn 0:3ac96e360672 964 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 145))
charlesmn 0:3ac96e360672 965 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_1_MIN \
charlesmn 0:3ac96e360672 966 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 146))
charlesmn 0:3ac96e360672 967 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_1_MAX \
charlesmn 0:3ac96e360672 968 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 147))
charlesmn 0:3ac96e360672 969 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_2_MIN \
charlesmn 0:3ac96e360672 970 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 148))
charlesmn 0:3ac96e360672 971 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_2_MAX \
charlesmn 0:3ac96e360672 972 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 149))
charlesmn 0:3ac96e360672 973 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_3_MIN \
charlesmn 0:3ac96e360672 974 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 150))
charlesmn 0:3ac96e360672 975 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_3_MAX \
charlesmn 0:3ac96e360672 976 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 151))
charlesmn 0:3ac96e360672 977 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_4_MIN \
charlesmn 0:3ac96e360672 978 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 152))
charlesmn 0:3ac96e360672 979 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_4_MAX \
charlesmn 0:3ac96e360672 980 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 153))
charlesmn 0:3ac96e360672 981 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_5_MIN \
charlesmn 0:3ac96e360672 982 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 154))
charlesmn 0:3ac96e360672 983 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_5_MAX \
charlesmn 0:3ac96e360672 984 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 155))
charlesmn 0:3ac96e360672 985 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_6_MIN \
charlesmn 0:3ac96e360672 986 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 156))
charlesmn 0:3ac96e360672 987 #define VL53L1_TUNINGPARM_UWR_MEDIUM_ZONE_6_MAX \
charlesmn 0:3ac96e360672 988 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 157))
charlesmn 0:3ac96e360672 989 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_1_RANGEA \
charlesmn 0:3ac96e360672 990 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 158))
charlesmn 0:3ac96e360672 991 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_1_RANGEB \
charlesmn 0:3ac96e360672 992 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 159))
charlesmn 0:3ac96e360672 993 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_2_RANGEA \
charlesmn 0:3ac96e360672 994 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 160))
charlesmn 0:3ac96e360672 995 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_2_RANGEB \
charlesmn 0:3ac96e360672 996 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 161))
charlesmn 0:3ac96e360672 997 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_3_RANGEA \
charlesmn 0:3ac96e360672 998 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 162))
charlesmn 0:3ac96e360672 999 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_3_RANGEB \
charlesmn 0:3ac96e360672 1000 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 163))
charlesmn 0:3ac96e360672 1001 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_4_RANGEA \
charlesmn 0:3ac96e360672 1002 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 164))
charlesmn 0:3ac96e360672 1003 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_4_RANGEB \
charlesmn 0:3ac96e360672 1004 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 165))
charlesmn 0:3ac96e360672 1005 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_5_RANGEA \
charlesmn 0:3ac96e360672 1006 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 166))
charlesmn 0:3ac96e360672 1007 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_5_RANGEB \
charlesmn 0:3ac96e360672 1008 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 167))
charlesmn 0:3ac96e360672 1009 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_6_RANGEA \
charlesmn 0:3ac96e360672 1010 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 168))
charlesmn 0:3ac96e360672 1011 #define VL53L1_TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_6_RANGEB \
charlesmn 0:3ac96e360672 1012 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 169))
charlesmn 0:3ac96e360672 1013 #define VL53L1_TUNINGPARM_UWR_LONG_ZONE_1_MIN \
charlesmn 0:3ac96e360672 1014 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 170))
charlesmn 0:3ac96e360672 1015 #define VL53L1_TUNINGPARM_UWR_LONG_ZONE_1_MAX \
charlesmn 0:3ac96e360672 1016 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 171))
charlesmn 0:3ac96e360672 1017 #define VL53L1_TUNINGPARM_UWR_LONG_ZONE_2_MIN \
charlesmn 0:3ac96e360672 1018 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 172))
charlesmn 0:3ac96e360672 1019 #define VL53L1_TUNINGPARM_UWR_LONG_ZONE_2_MAX \
charlesmn 0:3ac96e360672 1020 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 173))
charlesmn 0:3ac96e360672 1021 #define VL53L1_TUNINGPARM_UWR_LONG_ZONE_3_MIN \
charlesmn 0:3ac96e360672 1022 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 174))
charlesmn 0:3ac96e360672 1023 #define VL53L1_TUNINGPARM_UWR_LONG_ZONE_3_MAX \
charlesmn 0:3ac96e360672 1024 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 175))
charlesmn 0:3ac96e360672 1025 #define VL53L1_TUNINGPARM_UWR_LONG_ZONE_4_MIN \
charlesmn 0:3ac96e360672 1026 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 176))
charlesmn 0:3ac96e360672 1027 #define VL53L1_TUNINGPARM_UWR_LONG_ZONE_4_MAX \
charlesmn 0:3ac96e360672 1028 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 177))
charlesmn 0:3ac96e360672 1029 #define VL53L1_TUNINGPARM_UWR_LONG_ZONE_5_MIN \
charlesmn 0:3ac96e360672 1030 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 178))
charlesmn 0:3ac96e360672 1031 #define VL53L1_TUNINGPARM_UWR_LONG_ZONE_5_MAX \
charlesmn 0:3ac96e360672 1032 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 179))
charlesmn 0:3ac96e360672 1033 #define VL53L1_TUNINGPARM_UWR_LONG_CORRECTION_ZONE_1_RANGEA \
charlesmn 0:3ac96e360672 1034 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 180))
charlesmn 0:3ac96e360672 1035 #define VL53L1_TUNINGPARM_UWR_LONG_CORRECTION_ZONE_1_RANGEB \
charlesmn 0:3ac96e360672 1036 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 181))
charlesmn 0:3ac96e360672 1037 #define VL53L1_TUNINGPARM_UWR_LONG_CORRECTION_ZONE_2_RANGEA \
charlesmn 0:3ac96e360672 1038 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 182))
charlesmn 0:3ac96e360672 1039 #define VL53L1_TUNINGPARM_UWR_LONG_CORRECTION_ZONE_2_RANGEB \
charlesmn 0:3ac96e360672 1040 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 183))
charlesmn 0:3ac96e360672 1041 #define VL53L1_TUNINGPARM_UWR_LONG_CORRECTION_ZONE_3_RANGEA \
charlesmn 0:3ac96e360672 1042 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 184))
charlesmn 0:3ac96e360672 1043 #define VL53L1_TUNINGPARM_UWR_LONG_CORRECTION_ZONE_3_RANGEB \
charlesmn 0:3ac96e360672 1044 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 185))
charlesmn 0:3ac96e360672 1045 #define VL53L1_TUNINGPARM_UWR_LONG_CORRECTION_ZONE_4_RANGEA \
charlesmn 0:3ac96e360672 1046 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 186))
charlesmn 0:3ac96e360672 1047 #define VL53L1_TUNINGPARM_UWR_LONG_CORRECTION_ZONE_4_RANGEB \
charlesmn 0:3ac96e360672 1048 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 187))
charlesmn 0:3ac96e360672 1049 #define VL53L1_TUNINGPARM_UWR_LONG_CORRECTION_ZONE_5_RANGEA \
charlesmn 0:3ac96e360672 1050 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 188))
charlesmn 0:3ac96e360672 1051 #define VL53L1_TUNINGPARM_UWR_LONG_CORRECTION_ZONE_5_RANGEB \
charlesmn 0:3ac96e360672 1052 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 189))
lugandc 18:0696efe39d08 1053 #define VL53L1_TUNINGPARM_MIN_SIGNAL_SECONDARY_TARGETS \
lugandc 18:0696efe39d08 1054 ((VL53L1_TuningParms) (VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS + 190))
charlesmn 0:3ac96e360672 1055
charlesmn 0:3ac96e360672 1056
charlesmn 0:3ac96e360672 1057
charlesmn 0:3ac96e360672 1058
charlesmn 0:3ac96e360672 1059
charlesmn 0:3ac96e360672 1060 #endif
charlesmn 0:3ac96e360672 1061
charlesmn 0:3ac96e360672 1062
charlesmn 0:3ac96e360672 1063
charlesmn 0:3ac96e360672 1064
charlesmn 0:3ac96e360672 1065