lightranger4  2.0.0.0
lightranger4.h
Go to the documentation of this file.
1 /*
2  * MikroSDK - MikroE Software Development Kit
3  * Copyright© 2020 MikroElektronika d.o.o.
4  *
5  * Permission is hereby granted, free of charge, to any person
6  * obtaining a copy of this software and associated documentation
7  * files (the "Software"), to deal in the Software without restriction,
8  * including without limitation the rights to use, copy, modify, merge,
9  * publish, distribute, sublicense, and/or sell copies of the Software,
10  * and to permit persons to whom the Software is furnished to do so,
11  * subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be
14  * included in all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
20  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
22  * OR OTHER DEALINGS IN THE SOFTWARE.
23  */
24 
33 // ----------------------------------------------------------------------------
34 
35 #ifndef LIGHTRANGER4_H
36 #define LIGHTRANGER4_H
37 
38 #include "drv_digital_out.h"
39 #include "drv_digital_in.h"
40 #include "drv_i2c_master.h"
41 
42 // -------------------------------------------------------------- PUBLIC MACROS
52 #define LIGHTRANGER4_MAP_MIKROBUS( cfg, mikrobus ) \
53  cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
54  cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
55  cfg.xsh = MIKROBUS( mikrobus, MIKROBUS_RST ); \
56  cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT );
57 
63 #define LIGHTRANGER4_RETVAL uint8_t
64 
65 #define LIGHTRANGER4_OK 0x00
66 #define LIGHTRANGER4_INIT_ERROR 0xFF
67 
73 #define LR4_REG_SOFT_RESET 0x0000
74 #define LR4_REG_SLAVE_DEVICE_ADDRESS 0x0001
75 #define LR4_REG_CFG_VHV_REF_SEL_VDDPIX 0x0002
76 #define LR4_REG_CFG_VHV_REF_SEL_VQUENCH 0x0003
77 #define LR4_REG_CFG_AVDD1V2_SEL 0x0004
78 #define LR4_REG_FAST_OSC_TRIM 0x0005
79 #define LR4_REG_FAST_OSC_FREQUENCY 0x0006
80 #define LR4_REG_FAST_OSC_FREQUENCY_MSB 0x0006
81 #define LR4_REG_FAST_OSC_FREQUENCY_LSB 0x0007
82 #define LR4_REG_CFG_TIMEOUT_MACROP_LOOP_BOUND 0x0008
83 #define LR4_REG_CFG_COUNT_THRESH 0x0009
84 #define LR4_REG_CFG_OFFSET 0x000A
85 #define LR4_REG_CFG_INIT 0x000B
86 #define LR4_REG_GLOBAL_CFG_SPAD_ENABLES_REF_0 0x000D
87 #define LR4_REG_GLOBAL_CFG_SPAD_ENABLES_REF_1 0x000E
88 #define LR4_REG_GLOBAL_CFG_SPAD_ENABLES_REF_2 0x000F
89 #define LR4_REG_GLOBAL_CFG_SPAD_ENABLES_REF_3 0x0010
90 #define LR4_REG_GLOBAL_CFG_SPAD_ENABLES_REF_4 0x0011
91 #define LR4_REG_GLOBAL_CFG_SPAD_ENABLES_REF_5 0x0012
92 #define LR4_REG_GLOBAL_CFG_REF_EN_START_SELECT 0x0013
93 #define LR4_REG_NUM_REQUESTED_REF_SPADS 0x0014
94 #define LR4_REG_REF_LOCATION 0x0015
95 #define LR4_REG_COMP_PLANE_OFFSET_KCPS 0x0016
96 #define LR4_REG_COMP_PLANE_OFFSET_KCPS_LSB 0x0016
97 #define LR4_REG_COMP_PLANE_OFFSET_KCPS_MSB 0x0017
98 #define LR4_REG_COMP_X_PLANE_GRADIENT_KCPS 0x0018
99 #define LR4_REG_COMP_X_PLANE_GRADIENT_KCPS_MSB 0x0018
100 #define LR4_REG_COMP_X_PLANE_GRADIENT_KCPS_LSB 0x0019
101 #define LR4_REG_COMP_Y_PLANE_GRADIENT_KCPS 0x001A
102 #define LR4_REG_COMP_Y_PLANE_GRADIENT_KCPS_MSB 0x001A
103 #define LR4_REG_COMP_Y_PLANE_GRADIENT_KCPS_LSB 0x001B
104 #define LR4_REG_TOTAL_RATE_TARGET_MCPS 0x001C
105 #define LR4_REG_TOTAL_RATE_TARGET_MCPS_MSB 0x001C
106 #define LR4_REG_TOTAL_RATE_TARGET_MCPS_LSB 0x001D
107 #define LR4_REG_PART_TO_PART_RANGE_OFFSET_MM 0x001E
108 #define LR4_REG_PART_TO_PART_RANGE_OFFSET_MM_MSB 0x001E
109 #define LR4_REG_PART_TO_PART_RANGE_OFFSET_MM_LSB 0x001F
110 #define LR4_REG_INNER_OFFSET_MM 0x0020
111 #define LR4_REG_INNER_OFFSET_MM_MSB 0x0020
112 #define LR4_REG_INNER_OFFSET_MM_LSB 0x0021
113 #define LR4_REG_OUTER_OFFSET_MM 0x0022
114 #define LR4_REG_OUTER_OFFSET_MM_MSB 0x0022
115 #define LR4_REG_OUTER_OFFSET_MM_LSB 0x0023
116 #define LR4_REG_TARGET_TOTAL_RATE_MCPS 0x0024
117 #define LR4_REG_TARGET_TOTAL_RATE_MCPS_MSB 0x0024
118 #define LR4_REG_TARGET_TOTAL_RATE_MCPS_LSB 0x0025
119 #define LR4_REG_DEBUG_CTRL 0x0026
120 #define LR4_REG_TEST_MODE_CTRL 0x0027
121 #define LR4_REG_CLK_GATING_CTRL 0x0028
122 
123 
124 #define LR4_NVM_BIST_CTRL 0x0029
125 #define LR4_NVM_BIST_NUM_NVM_WORDS 0x002A
126 #define LR4_NVM_BIST_START_ADDRESS 0x002B
127 #define LR4_HOST_IF_STATUS 0x002C
128 #define LR4_PAD_I2C_HV_CONFIG 0x002D
129 #define LR4_PAD_I2C_HV_EXTSUP_CONFIG 0x002E
130 #define LR4_GPIO_HV_PAD_CTRL 0x002F
131 #define LR4_GPIO_HV_MUX_CTRL 0x0030
132 #define LR4_GPIO_TIO_HV_STATUS 0x0031
133 #define LR4_GPIO_FIO_HV_STATUS 0x0032
134 #define LR4_ANA_CONFIG_SPAD_SEL_PSWIDTH 0x0033
135 #define LR4_ANA_CONFIG_VCSEL_PULSE_WIDTH_OFFSET 0x0034
136 #define LR4_ANA_CONFIG_FAST_OSC_CONFIG_CTRL 0x0035
137 #define LR4_SIGMA_ESTIMATOR_EFFECTIVE_PULSE_WIDTH_NS 0x0036
138 #define LR4_SIGMA_ESTIMATOR_EFFECTIVE_AMBIENT_WIDTH_NS 0x0037
139 #define LR4_SIGMA_ESTIMATOR_SIGMA_REF_MM 0x0038
140 #define LR4_ALGO_CROSSTALK_COMPENSATION_VALID_HEIGHT_MM 0x0039
141 #define LR4_SPARE_HOST_CONFIG_STATIC_CONFIG_SPARE_0 0x003A
142 #define LR4_SPARE_HOST_CONFIG_STATIC_CONFIG_SPARE_1 0x003B
143 #define LR4_ALGO_RANGE_IGNORE_THRESHOLD_MCPS 0x003C
144 #define LR4_ALGO_RANGE_IGNORE_THRESHOLD_MCPS_HI 0x003C
145 #define LR4_ALGO_RANGE_IGNORE_THRESHOLD_MCPS_LO 0x003D
146 #define LR4_ALGO_RANGE_IGNORE_VALID_HEIGHT_MM 0x003E
147 #define LR4_ALGO_RANGE_MIN_CLIP 0x003F
148 #define LR4_ALGO_CONSISTENCY_CHECK_TOLERANCE 0x0040
149 #define LR4_SPARE_HOST_CONFIG_STATIC_CONFIG_SPARE_2 0x0041
150 #define LR4_SD_CONFIG_RESET_STAGES_MSB 0x0042
151 #define LR4_SD_CONFIG_RESET_STAGES_LSB 0x0043
152 #define LR4_GPH_CONFIG_STREAM_COUNT_UPDATE_VALUE 0x0044
153 #define LR4_GLOBAL_CONFIG_STREAM_DIVIDER 0x0045
154 #define LR4_SYSTEM_INTERRUPT_CONFIG_GPIO 0x0046
155 #define LR4_CAL_CONFIG_VCSEL_START 0x0047
156 #define LR4_CAL_CONFIG_REPEAT_RATE 0x0048
157 #define LR4_CAL_CONFIG_REPEAT_RATE_HI 0x0048
158 #define LR4_CAL_CONFIG_REPEAT_RATE_LO 0x0049
159 #define LR4_GLOBAL_CONFIG_VCSEL_WIDTH 0x004A
160 #define LR4_PHASECAL_CONFIG_TIMEOUT_MACROP 0x004B
161 #define LR4_PHASECAL_CONFIG_TARGET 0x004C
162 #define LR4_PHASECAL_CONFIG_OVERRIDE 0x004D
163 #define LR4_DSS_CONFIG_ROI_MODE_CONTROL 0x004F
164 #define LR4_SYSTEM_THRESH_RATE_HIGH 0x0050
165 #define LR4_SYSTEM_THRESH_RATE_HIGH_HI 0x0050
166 #define LR4_SYSTEM_THRESH_RATE_HIGH_LO 0x0051
167 #define LR4_SYSTEM_THRESH_RATE_LOW 0x0052
168 #define LR4_SYSTEM_THRESH_RATE_LOW_HI 0x0052
169 #define LR4_SYSTEM_THRESH_RATE_LOW_LO 0x0053
170 #define LR4_DSS_CONFIG_MANUAL_EFFECTIVE_SPADS_SELECT 0x0054
171 #define LR4_DSS_CONFIG_MANUAL_EFFECTIVE_SPADS_SELECT_HI 0x0054
172 #define LR4_DSS_CONFIG_MANUAL_EFFECTIVE_SPADS_SELECT_LO 0x0055
173 #define LR4_DSS_CONFIG_MANUAL_BLOCK_SELECT 0x0056
174 #define LR4_DSS_CONFIG_APERTURE_ATTENUATION 0x0057
175 #define LR4_DSS_CONFIG_MAX_SPADS_LIMIT 0x0058
176 #define LR4_DSS_CONFIG_MIN_SPADS_LIMIT 0x0059
177 #define LR4_MM_CONFIG_TIMEOUT_MACROP_A_HI 0x005A
178 #define LR4_MM_CONFIG_TIMEOUT_MACROP_A_LO 0x005B
179 #define LR4_MM_CONFIG_TIMEOUT_MACROP_B_HI 0x005C
180 #define LR4_MM_CONFIG_TIMEOUT_MACROP_B_LO 0x005D
181 #define LR4_RANGE_CONFIG_TIMEOUT_MACROP_A_HI 0x005E
182 #define LR4_RANGE_CONFIG_TIMEOUT_MACROP_A_LO 0x005F
183 #define LR4_RANGE_CONFIG_VCSEL_PERIOD_A 0x0060
184 #define LR4_RANGE_CONFIG_TIMEOUT_MACROP_B_HI 0x0061
185 #define LR4_RANGE_CONFIG_TIMEOUT_MACROP_B_LO 0x0062
186 #define LR4_RANGE_CONFIG_VCSEL_PERIOD_B 0x0063
187 #define LR4_RANGE_CONFIG_SIGMA_THRESH 0x0064
188 #define LR4_RANGE_CONFIG_SIGMA_THRESH_HI 0x0064
189 #define LR4_RANGE_CONFIG_SIGMA_THRESH_LO 0x0065
190 #define LR4_RANGE_CONFIG_MIN_COUNT_RATE_RTN_LIMIT_MCPS 0x0066
191 #define LR4_RANGE_CONFIG_MIN_COUNT_RATE_RTN_LIMIT_MCPS_HI 0x0066
192 #define LR4_RANGE_CONFIG_MIN_COUNT_RATE_RTN_LIMIT_MCPS_LO 0x0067
193 #define LR4_RANGE_CONFIG_VALID_PHASE_LOW 0x0068
194 #define LR4_RANGE_CONFIG_VALID_PHASE_HIGH 0x0069
195 #define LR4_SYSTEM_INTERMEASUREMENT_PERIOD 0x006C
196 #define LR4_SYSTEM_INTERMEASUREMENT_PERIOD_3 0x006C
197 #define LR4_SYSTEM_INTERMEASUREMENT_PERIOD_2 0x006D
198 #define LR4_SYSTEM_INTERMEASUREMENT_PERIOD_1 0x006E
199 #define LR4_SYSTEM_INTERMEASUREMENT_PERIOD_0 0x006F
200 #define LR4_SYSTEM_FRACTIONAL_ENABLE 0x0070
201 #define LR4_SYSTEM_GROUPED_PARAMETER_HOLD_0 0x0071
202 #define LR4_SYSTEM_THRESH_HIGH 0x0072
203 #define LR4_SYSTEM_THRESH_HIGH_HI 0x0072
204 #define LR4_SYSTEM_THRESH_HIGH_LO 0x0073
205 #define LR4_SYSTEM_THRESH_LOW 0x0074
206 #define LR4_SYSTEM_THRESH_LOW_HI 0x0074
207 #define LR4_SYSTEM_THRESH_LOW_LO 0x0075
208 #define LR4_SYSTEM_ENABLE_XTALK_PER_QUADRANT 0x0076
209 #define LR4_SYSTEM_SEED_CONFIG 0x0077
210 #define LR4_SD_CONFIG_WOI_SD0 0x0078
211 #define LR4_SD_CONFIG_WOI_SD1 0x0079
212 #define LR4_SD_CONFIG_INITIAL_PHASE_SD0 0x007A
213 #define LR4_SD_CONFIG_INITIAL_PHASE_SD1 0x007B
214 #define LR4_SYSTEM_GROUPED_PARAMETER_HOLD_1 0x007C
215 #define LR4_SD_CONFIG_FIRST_ORDER_SELECT 0x007D
216 #define LR4_SD_CONFIG_QUANTIFIER 0x007E
217 #define LR4_ROI_CONFIG_USER_ROI_CENTRE_SPAD 0x007F
218 #define LR4_ROI_CONFIG_USER_ROI_REQUESTED_GLOBAL_XY_SIZE 0x0080
219 #define LR4_SYSTEM_SEQUENCE_CONFIG 0x0081
220 #define LR4_SYSTEM_GROUPED_PARAMETER_HOLD 0x0082
221 #define LR4_POWER_MANAGEMENT_GO1_POWER_FORCE 0x0083
222 #define LR4_SYSTEM_STREAM_COUNT_CTRL 0x0084
223 #define LR4_FIRMWARE_ENABLE 0x0085
224 #define LR4_SYSTEM_INTERRUPT_CLEAR 0x0086
225 #define LR4_SYSTEM_MODE_START 0x0087
226 
232 #define LR4_RESULT_INTERRUPT_STATUS 0x0088
233 #define LR4_RESULT_RANGE_STATUS 0x0089
234 #define LR4_RESULT_REPORT_STATUS 0x008A
235 #define LR4_RESULT_STREAM_COUNT 0x008B
236 #define LR4_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD0 0x008C
237 #define LR4_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD0_HI 0x008C
238 #define LR4_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD0_LO 0x008D
239 #define LR4_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD0 0x008E
240 #define LR4_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_HI 0x008E
241 #define LR4_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_LO 0x008F
242 #define LR4_RESULT_AMBIENT_COUNT_RATE_MCPS_SD0 0x0090
243 #define LR4_RESULT_AMBIENT_COUNT_RATE_MCPS_SD0_HI 0x0090
244 #define LR4_RESULT_AMBIENT_COUNT_RATE_MCPS_SD0_LO 0x0091
245 #define LR4_RESULT_SIGMA_SD0 0x0092
246 #define LR4_RESULT_SIGMA_SD0_HI 0x0092
247 #define LR4_RESULT_SIGMA_SD0_LO 0x0093
248 #define LR4_RESULT_PHASE_SD0 0x0094
249 #define LR4_RESULT_PHASE_SD0_HI 0x0094
250 #define LR4_RESULT_PHASE_SD0_LO 0x0095
251 #define LR4_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0 0x0096
252 #define LR4_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_HI 0x009
253 #define LR4_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_LO 0x0097
254 #define LR4_RESULT_PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0 0x0098
255 #define LR4_RESULT_PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_HI 0x0098
256 #define LR4_RESULT_PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_LO 0x0099
257 #define LR4_RESULT_MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0 0x009A
258 #define LR4_RESULT_MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_HI 0x009A
259 #define LR4_RESULT_MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_LO 0x009B
260 #define LR4_RESULT_MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0 0x009C
261 #define LR4_RESULT_MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_HI 0x009C
262 #define LR4_RESULT_MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_LO 0x009D
263 #define LR4_RESULT_AVG_SIGNAL_COUNT_RATE_MCPS_SD0 0x009E
264 #define LR4_RESULT_AVG_SIGNAL_COUNT_RATE_MCPS_SD0_HI 0x009E
265 #define LR4_RESULT_AVG_SIGNAL_COUNT_RATE_MCPS_SD0_LO 0x009F
266 #define LR4_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD1 0x00A0
267 #define LR4_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD1_HI 0x00A0
268 #define LR4_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD1_LO 0x00A1
269 #define LR4_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD1 0x00A2
270 #define LR4_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_HI 0x00A2
271 #define LR4_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_LO 0x00A3
272 #define LR4_RESULT_AMBIENT_COUNT_RATE_MCPS_SD1 0x00A4
273 #define LR4_RESULT_AMBIENT_COUNT_RATE_MCPS_SD1_HI 0x00A4
274 #define LR4_RESULT_AMBIENT_COUNT_RATE_MCPS_SD1_LO 0x00A5
275 #define LR4_RESULT_SIGMA_SD1 0x00A6
276 #define LR4_RESULT_SIGMA_SD1_HI 0x00A6
277 #define LR4_RESULT_SIGMA_SD1_LO 0x00A7
278 #define LR4_RESULT_PHASE_SD1 0x00A8
279 #define LR4_RESULT_PHASE_SD1_HI 0x00A8
280 #define LR4_RESULT_PHASE_SD1_LO 0x00A9
281 #define LR4_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1 0x00AA
282 #define LR4_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_HI 0x00AA
283 #define LR4_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_LO 0x00AB
284 #define LR4_RESULT_SPARE_0_SD1 0x00AC
285 #define LR4_RESULT_SPARE_0_SD1_HI 0x00AC
286 #define LR4_RESULT_SPARE_0_SD1_LO 0x00AD
287 #define LR4_RESULT_SPARE_1_SD1 0x00AE
288 #define LR4_RESULT_SPARE_1_SD1_HI 0x00AE
289 #define LR4_RESULT_SPARE_1_SD1_LO 0x00AF
290 #define LR4_RESULT_SPARE_2_SD1 0x00B0
291 #define LR4_RESULT_SPARE_2_SD1_HI 0x00B0
292 #define LR4_RESULT_SPARE_2_SD1_LO 0x00B1
293 #define LR4_RESULT_SPARE_3_SD1 0x00B2
294 #define LR4_RESULT_THRESH_INFO 0x00B3
295 
301 #define LR4_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0 0x00B4
302 #define LR4_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_3 0x00B4
303 #define LR4_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_2 0x00B5
304 #define LR4_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_1 0x00B6
305 #define LR4_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_0 0x00B7
306 #define LR4_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0 0x00B8
307 #define LR4_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_3 0x00B8
308 #define LR4_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_2 0x00B9
309 #define LR4_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_1 0x00BA
310 #define LR4_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_0 0x00BB
311 #define LR4_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0 0x00BC
312 #define LR4_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_3 0x00BC
313 #define LR4_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_2 0x00BD
314 #define LR4_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_1 0x00BE
315 #define LR4_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_0 0x00BF
316 #define LR4_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0 0x00C0
317 #define LR4_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_3 0x00C0
318 #define LR4_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_2 0x00C1
319 #define LR4_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_1 0x00C2
320 #define LR4_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_0 0x00C3
321 #define LR4_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1 0x00C4
322 #define LR4_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_3 0x00C4
323 #define LR4_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_2 0x00C5
324 #define LR4_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_1 0x00C6
325 #define LR4_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_0 0x00C7
326 #define LR4_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1 0x00C8
327 #define LR4_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_3 0x00C8
328 #define LR4_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_2 0x00C9
329 #define LR4_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_1 0x00CA
330 #define LR4_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_0 0x00CB
331 #define LR4_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1 0x00CC
332 #define LR4_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_3 0x00CC
333 #define LR4_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_2 0x00CD
334 #define LR4_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_1 0x00CE
335 #define LR4_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_0 0x00CF
336 #define LR4_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1 0x00D0
337 #define LR4_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_3 0x00D0
338 #define LR4_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_2 0x00D1
339 #define LR4_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_1 0x00D2
340 #define LR4_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_0 0x00D3
341 #define LR4_RESULT_CORE_SPARE_0 0x00D4
342 
348 #define LR4_PHASECAL_RESULT_REFERENCE_PHASE 0x00D6
349 #define LR4_PHASECAL_RESULT_REFERENCE_PHASE_HI 0x00D6
350 #define LR4_PHASECAL_RESULT_REFERENCE_PHASE_LO 0x00D7
351 #define LR4_PHASECAL_RESULT_VCSEL_START 0x00D8
352 
353 
354 #define LR4_REF_SPAD_CHAR_RESULT__NUM_ACTUAL_REF_SPADS 0x00D9
355 #define LR4_REF_SPAD_CHAR_RESULT__REF_LOCATION 0x00DA
356 #define LR4_VHV_RESULT_COLDBOOT_STATUS 0x00DB
357 #define LR4_VHV_RESULT_SEARCH_RESULT 0x00DC
358 #define LR4_VHV_RESULT_LATEST_SETTING 0x00DD
359 #define LR4_RESULT_OSC_CALIBRATE_VAL 0x00DE
360 #define LR4_RESULT_OSC_CALIBRATE_VAL_HI 0x00DE
361 #define LR4_RESULT_OSC_CALIBRATE_VAL_LO 0x00DF
362 #define LR4_ANA_CONFIG_POWERDOWN_GO1 0x00E0
363 #define LR4_ANA_CONFIG_REF_BG_CTRL 0x00E1
364 #define LR4_ANA_CONFIG_REGDVDD1V2_CTRL 0x00E2
365 #define LR4_ANA_CONFIG_OSC_SLOW_CTRL 0x00E3
366 #define LR4_TEST_MODE_STATUS 0x00E4
367 
373 #define LR4_FIRMWARE_SYSTEM_STATUS 0x00E5
374 #define LR4_FIRMWARE_MODE_STATUS 0x00E6
375 #define LR4_FIRMWARE_SECONDARY_MODE_STATUS 0x00E7
376 #define LR4_FIRMWARE_CAL_REPEAT_RATE_COUNTER 0x00E8
377 #define LR4_FIRMWARE_CAL_REPEAT_RATE_COUNTER_HI 0x00E8
378 #define LR4_FIRMWARE_CAL_REPEAT_RATE_COUNTER_LO 0x00E9
379 #define LR4_FIRMWARE_HISTOGRAM_BIN 0x00EA
380 
386 #define LR4_GPH_SYSTEM_THRESH_HIGH 0x00EC
387 #define LR4_GPH_SYSTEM_THRESH_HIGH_HI 0x00EC
388 #define LR4_GPH_SYSTEM_THRESH_HIGH_LO 0x00ED
389 #define LR4_GPH_SYSTEM_THRESH_LOW 0x00EE
390 #define LR4_GPH_SYSTEM_THRESH_LOW_HI 0x00EE
391 #define LR4_GPH_SYSTEM_THRESH_LOW_LO 0x00EF
392 #define LR4_GPH_SYSTEM_ENABLE_XTALK_PER_QUADRANT 0x00F0
393 
394 #define LR4_GPH_SPARE_0 0x00F1
395 #define LR4_GPH_SD_CONFIG_WOI_SD0 0x00F2
396 #define LR4_GPH_SD_CONFIG_WOI_SD1 0x00F3
397 #define LR4_GPH_SD_CONFIG_INITIAL_PHASE_SD0 0x00F4
398 #define LR4_GPH_SD_CONFIG_INITIAL_PHASE_SD1 0x00F5
399 #define LR4_GPH_SD_CONFIG_FIRST_ORDER_SELECT 0x00F6
400 #define LR4_GPH_SD_CONFIG_QUANTIFIER 0x00F7
401 #define LR4_GPH_ROI_CONFIG_USER_ROI_CENTRE_SPAD 0x00F8
402 #define LR4_GPH_ROI_CONFIG_USER_ROI_REQUESTED_GLOBAL_XY_SIZE 0x00F9
403 #define LR4_GPH_SYSTEM_SEQUENCE_CONFIG 0x00FA
404 #define LR4_GPH_GPH_ID 0x00FB
405 
406 
407 #define LR4_SYSTEM_INTERRUPT_SET 0x00FC
408 #define LR4_INTERRUPT_MANAGER_ENABLES 0x00FD
409 #define LR4_INTERRUPT_MANAGER_CLEAR 0x00FE
410 #define LR4_INTERRUPT_MANAGER_STATUS 0x00FF
411 #define LR4_MCU_TO_HOST_BANK_WR_ACCESS_EN 0x0100
412 #define LR4_POWER_MANAGEMENT_GO1_RESET_STATUS 0x0101
413 #define LR4_PAD_STARTUP_MODE_VALUE_RO 0x0102
414 #define LR4_PAD_STARTUP_MODE_VALUE_CTRL 0x0103
415 #define LR4_PLL_PERIOD_US 0x0104
416 #define LR4_PLL_PERIOD_US_3 0x0104
417 #define LR4_PLL_PERIOD_US_2 0x0105
418 #define LR4_PLL_PERIOD_US_1 0x0106
419 #define LR4_PLL_PERIOD_US_0 0x0107
420 #define LR4_INTERRUPT_SCHEDULER_DATA_OUT 0x0108
421 #define LR4_INTERRUPT_SCHEDULER_DATA_OUT_3 0x0108
422 #define LR4_INTERRUPT_SCHEDULER_DATA_OUT_2 0x0109
423 #define LR4_INTERRUPT_SCHEDULER_DATA_OUT_1 0x010A
424 #define LR4_INTERRUPT_SCHEDULER_DATA_OUT_0 0x010B
425 #define LR4_NVM_BIST_COMPLETE 0x010C
426 #define LR4_NVM_BIST_STATUS 0x010D
427 
433 #define LR4_IDENTIFICATION_MODEL_ID 0x010F
434 #define LR4_IDENTIFICATION_MODULE_TYPE 0x0110
435 #define LR4_IDENTIFICATION_REVISION_ID 0x0111
436 #define LR4_IDENTIFICATION_MODULE_ID 0x0112
437 #define LR4_IDENTIFICATION_MODULE_ID_HI 0x0112
438 #define LR4_IDENTIFICATION_MODULE_ID_LO 0x0113
439 
445 #define LR4_ANA_CONFIG_FAST_OSC__TRIM_MAX 0x0114
446 #define LR4_ANA_CONFIG_FAST_OSC__FREQ_SET 0x0115
447 #define LR4_ANA_CONFIG_VCSEL_TRIM 0x0116
448 #define LR4_ANA_CONFIG_VCSEL_SELION 0x0117
449 #define LR4_ANA_CONFIG_VCSEL_SELION_MAX 0x0118
450 
456 #define LR4_PROTECTED_LASER_SAFETY__LOCK_BIT 0x0119
457 #define LR4_LASER_SAFETY_KEY 0x011A
458 #define LR4_LASER_SAFETY_KEY_RO 0x011B
459 #define LR4_LASER_SAFETY_CLIP 0x011C
460 #define LR4_LASER_SAFETY_MULT 0x011D
461 
467 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_0 0x011E
468 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_1 0x011F
469 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_2 0x0120
470 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_3 0x0121
471 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_4 0x0122
472 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_5 0x0123
473 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_6 0x0124
474 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_7 0x0125
475 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_8 0x0126
476 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_9 0x0127
477 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_10 0x0128
478 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_11 0x0129
479 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_12 0x012A
480 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_13 0x012B
481 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_14 0x012C
482 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_15 0x012D
483 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_16 0x012E
484 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_17 0x012F
485 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_18 0x0130
486 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_19 0x0131
487 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_20 0x0132
488 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_21 0x0133
489 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_22 0x0134
490 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_23 0x0135
491 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_24 0x0136
492 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_25 0x0137
493 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_26 0x0138
494 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_27 0x0139
495 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_28 0x013A
496 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_29 0x013B
497 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_30 0x013C
498 #define LR4_GLOBAL_CONFIG_SPAD_ENABLES_RTN_31 0x013D
499 
505 #define LR4_ROI_CONFIG_MODE_ROI_CENTRE_SPAD 0x013E
506 #define LR4_ROI_CONFIG_MODE_ROI_XY_SIZE 0x013F
507 
508 #define LR4_GO2_HOST_BANK_ACCESS_OVERRIDE 0x0300
509 
515 #define LR4_MCU_UTIL_MULTIPLIER_MULTIPLICAND 0x0400
516 #define LR4_MCU_UTIL_MULTIPLIER_MULTIPLICAND_3 0x0400
517 #define LR4_MCU_UTIL_MULTIPLIER_MULTIPLICAND_2 0x0401
518 #define LR4_MCU_UTIL_MULTIPLIER_MULTIPLICAND_1 0x0402
519 #define LR4_MCU_UTIL_MULTIPLIER_MULTIPLICAND_0 0x0403
520 #define LR4_MCU_UTIL_MULTIPLIER_MULTIPLIER 0x0404
521 #define LR4_MCU_UTIL_MULTIPLIER_MULTIPLIER_3 0x0404
522 #define LR4_MCU_UTIL_MULTIPLIER_MULTIPLIER_2 0x0405
523 #define LR4_MCU_UTIL_MULTIPLIER_MULTIPLIER_1 0x0406
524 #define LR4_MCU_UTIL_MULTIPLIER_MULTIPLIER_0 0x0407
525 #define LR4_MCU_UTIL_MULTIPLIER_PRODUCT_HI 0x0408
526 #define LR4_MCU_UTIL_MULTIPLIER_PRODUCT_HI_3 0x0408
527 #define LR4_MCU_UTIL_MULTIPLIER_PRODUCT_HI_2 0x0409
528 #define LR4_MCU_UTIL_MULTIPLIER_PRODUCT_HI_1 0x040A
529 #define LR4_MCU_UTIL_MULTIPLIER_PRODUCT_HI_0 0x040B
530 #define LR4_MCU_UTIL_MULTIPLIER_PRODUCT_LO 0x040C
531 #define LR4_MCU_UTIL_MULTIPLIER_PRODUCT_LO_3 0x040C
532 #define LR4_MCU_UTIL_MULTIPLIER_PRODUCT_LO_2 0x040D
533 #define LR4_MCU_UTIL_MULTIPLIER_PRODUCT_LO_1 0x040E
534 #define LR4_MCU_UTIL_MULTIPLIER_PRODUCT_LO_0 0x040F
535 #define LR4_MCU_UTIL_MULTIPLIER_START 0x0410
536 #define LR4_MCU_UTIL_MULTIPLIER_STATUS 0x0411
537 
543 #define LR4_MCU_UTIL_DIVIDER_START 0x0412
544 #define LR4_MCU_UTIL_DIVIDER_STATUS 0x0413
545 #define LR4_MCU_UTIL_DIVIDER_DIVIDEND 0x0414
546 #define LR4_MCU_UTIL_DIVIDER_DIVIDEND_3 0x0414
547 #define LR4_MCU_UTIL_DIVIDER_DIVIDEND_2 0x0415
548 #define LR4_MCU_UTIL_DIVIDER_DIVIDEND_1 0x0416
549 #define LR4_MCU_UTIL_DIVIDER_DIVIDEND_0 0x0417
550 #define LR4_MCU_UTIL_DIVIDER_DIVISOR 0x0418
551 #define LR4_MCU_UTIL_DIVIDER_DIVISOR_3 0x0418
552 #define LR4_MCU_UTIL_DIVIDER_DIVISOR_2 0x0419
553 #define LR4_MCU_UTIL_DIVIDER_DIVISOR_1 0x041A
554 #define LR4_MCU_UTIL_DIVIDER_DIVISOR_0 0x041B
555 #define LR4_MCU_UTIL_DIVIDER_QUOTIENT 0x041C
556 #define LR4_MCU_UTIL_DIVIDER_QUOTIENT_3 0x041C
557 #define LR4_MCU_UTIL_DIVIDER_QUOTIENT_2 0x041D
558 #define LR4_MCU_UTIL_DIVIDER_QUOTIENT_1 0x041E
559 #define LR4_MCU_UTIL_DIVIDER_QUOTIENT_0 0x041F
560 
566 #define LR4_TIMER0_VALUE_IN 0x0420
567 #define LR4_TIMER0_VALUE_IN_3 0x0420
568 #define LR4_TIMER0_VALUE_IN_2 0x0421
569 #define LR4_TIMER0_VALUE_IN_1 0x0422
570 #define LR4_TIMER0_VALUE_IN_0 0x0423
571 #define LR4_TIMER1_VALUE_IN 0x0424
572 #define LR4_TIMER1_VALUE_IN_3 0x0424
573 #define LR4_TIMER1_VALUE_IN_2 0x0425
574 #define LR4_TIMER1_VALUE_IN_1 0x0426
575 #define LR4_TIMER1_VALUE_IN_0 0x0427
576 #define LR4_TIMER0_CTRL 0x0428
577 #define LR4_TIMER1_CTRL 0x0429
578 
584 #define LR4_MCU_GENERAL_PURPOSE_GP_0 0x042C
585 #define LR4_MCU_GENERAL_PURPOSE_GP_1 0x042D
586 #define LR4_MCU_GENERAL_PURPOSE_GP_2 0x042E
587 #define LR4_MCU_GENERAL_PURPOSE_GP_3 0x042F
588 
594 #define LR4_MCU_RANGE_CALC_CONFIG 0x0430
595 #define LR4_MCU_RANGE_CALC_OFFSET_CORRECTED_RANGE 0x0432
596 #define LR4_MCU_RANGE_CALC_OFFSET_CORRECTED_RANGE_HI 0x0432
597 #define LR4_MCU_RANGE_CALC_OFFSET_CORRECTED_RANGE_LO 0x0433
598 #define LR4_MCU_RANGE_CALC_SPARE_4 0x0434
599 #define LR4_MCU_RANGE_CALC_SPARE_4_3 0x0434
600 #define LR4_MCU_RANGE_CALC_SPARE_4_2 0x0435
601 #define LR4_MCU_RANGE_CALC_SPARE_4_1 0x0436
602 #define LR4_MCU_RANGE_CALC_SPARE_4_0 0x0437
603 #define LR4_MCU_RANGE_CALC_AMBIENT_DURATION_PRE_CALC 0x0438
604 #define LR4_MCU_RANGE_CALC_AMBIENT_DURATION_PRE_CALC_HI 0x0438
605 #define LR4_MCU_RANGE_CALC_AMBIENT_DURATION_PRE_CALC_LO 0x0439
606 #define LR4_MCU_RANGE_CALC_ALGO_VCSEL_PERIOD 0x043C
607 #define LR4_MCU_RANGE_CALC_SPARE_5 0x043D
608 #define LR4_MCU_RANGE_CALC_ALGO_TOTAL_PERIODS 0x043E
609 #define LR4_MCU_RANGE_CALC_ALGO_TOTAL_PERIODS_HI 0x043E
610 #define LR4_MCU_RANGE_CALC_ALGO_TOTAL_PERIODS_LO 0x043F
611 #define LR4_MCU_RANGE_CALC_ALGO_ACCUM_PHASE 0x0440
612 #define LR4_MCU_RANGE_CALC_ALGO_ACCUM_PHASE_3 0x0440
613 #define LR4_MCU_RANGE_CALC_ALGO_ACCUM_PHASE_2 0x0441
614 #define LR4_MCU_RANGE_CALC_ALGO_ACCUM_PHASE_1 0x0442
615 #define LR4_MCU_RANGE_CALC_ALGO_ACCUM_PHASE_0 0x0443
616 #define LR4_MCU_RANGE_CALC_ALGO_SIGNAL_EVENTS 0x0444
617 #define LR4_MCU_RANGE_CALC_ALGO_SIGNAL_EVENTS_3 0x0444
618 #define LR4_MCU_RANGE_CALC_ALGO_SIGNAL_EVENTS_2 0x0445
619 #define LR4_MCU_RANGE_CALC_ALGO_SIGNAL_EVENTS_1 0x0446
620 #define LR4_MCU_RANGE_CALC_ALGO_SIGNAL_EVENTS_0 0x0447
621 #define LR4_MCU_RANGE_CALC_ALGO_AMBIENT_EVENTS 0x0448
622 #define LR4_MCU_RANGE_CALC_ALGO_AMBIENT_EVENTS_3 0x0448
623 #define LR4_MCU_RANGE_CALC_ALGO_AMBIENT_EVENTS_2 0x0449
624 #define LR4_MCU_RANGE_CALC_ALGO_AMBIENT_EVENTS_1 0x044A
625 #define LR4_MCU_RANGE_CALC_ALGO_AMBIENT_EVENTS_0 0x044B
626 #define LR4_MCU_RANGE_CALC_SPARE_6 0x044C
627 #define LR4_MCU_RANGE_CALC_SPARE_6_HI 0x044C
628 #define LR4_MCU_RANGE_CALC_SPARE_6_LO 0x044D
629 #define LR4_MCU_RANGE_CALC_ALGO_ADJUST_VCSEL_PERIOD 0x044E
630 #define LR4_MCU_RANGE_CALC_ALGO_ADJUST_VCSEL_PERIOD_HI 0x044E
631 #define LR4_MCU_RANGE_CALC_ALGO_ADJUST_VCSEL_PERIOD_LO 0x044F
632 #define LR4_MCU_RANGE_CALC_NUM_SPADS 0x0450
633 #define LR4_MCU_RANGE_CALC_NUM_SPADS_HI 0x0450
634 #define LR4_MCU_RANGE_CALC_NUM_SPADS_LO 0x0451
635 #define LR4_MCU_RANGE_CALC_PHASE_OUTPUT 0x0452
636 #define LR4_MCU_RANGE_CALC_PHASE_OUTPUT_HI 0x0452
637 #define LR4_MCU_RANGE_CALC_PHASE_OUTPUT_LO 0x0453
638 #define LR4_MCU_RANGE_CALC_RATE_PER_SPAD_MCPS 0x0454
639 #define LR4_MCU_RANGE_CALC_RATE_PER_SPAD_MCPS_3 0x0454
640 #define LR4_MCU_RANGE_CALC_RATE_PER_SPAD_MCPS_2 0x0455
641 #define LR4_MCU_RANGE_CALC_RATE_PER_SPAD_MCPS_1 0x0456
642 #define LR4_MCU_RANGE_CALC_RATE_PER_SPAD_MCPS_0 0x0457
643 #define LR4_MCU_RANGE_CALC_SPARE_7 0x0458
644 #define LR4_MCU_RANGE_CALC_SPARE_8 0x0459
645 #define LR4_MCU_RANGE_CALC_PEAK_SIGNAL_RATE_MCPS 0x045A
646 #define LR4_MCU_RANGE_CALC_PEAK_SIGNAL_RATE_MCPS_HI 0x045A
647 #define LR4_MCU_RANGE_CALC_PEAK_SIGNAL_RATE_MCPS_LO 0x045B
648 #define LR4_MCU_RANGE_CALC_AVG_SIGNAL_RATE_MCPS 0x045C
649 #define LR4_MCU_RANGE_CALC_AVG_SIGNAL_RATE_MCPS_HI 0x045C
650 #define LR4_MCU_RANGE_CALC_AVG_SIGNAL_RATE_MCPS_LO 0x045D
651 #define LR4_MCU_RANGE_CALC_AMBIENT_RATE_MCPS 0x045E
652 #define LR4_MCU_RANGE_CALC_AMBIENT_RATE_MCPS_HI 0x045E
653 #define LR4_MCU_RANGE_CALC_AMBIENT_RATE_MCPS_LO 0x045F
654 #define LR4_MCU_RANGE_CALC_XTALK 0x0460
655 #define LR4_MCU_RANGE_CALC_XTALK_HI 0x0460
656 #define LR4_MCU_RANGE_CALC_XTALK_LO 0x0461
657 #define LR4_MCU_RANGE_CALC_CALC_STATUS 0x0462
658 #define LR4_MCU_RANGE_CALC_DEBUG 0x0463
659 #define LR4_MCU_RANGE_CALC_PEAK_SIGNAL_RATE_XTALK_CORR_MCPS 0x0464
660 #define LR4_MCU_RANGE_CALC_PEAK_SIGNAL_RATE_XTALK_CORR_MCPS_HI 0x0464
661 #define LR4_MCU_RANGE_CALC_PEAK_SIGNAL_RATE_XTALK_CORR_MCPS_LO 0x0465
662 #define LR4_MCU_RANGE_CALC_SPARE_0 0x0468
663 #define LR4_MCU_RANGE_CALC_SPARE_1 0x0469
664 #define LR4_MCU_RANGE_CALC_SPARE_2 0x046A
665 #define LR4_MCU_RANGE_CALC_SPARE_3 0x046B
666 
672 #define LR4_PATCH_CTRL 0x0470
673 #define LR4_PATCH_JMP_ENABLES 0x0472
674 #define LR4_PATCH_JMP_ENABLES_HI 0x0472
675 #define LR4_PATCH_JMP_ENABLES_LO 0x0473
676 #define LR4_PATCH_DATA_ENABLES 0x0474
677 #define LR4_PATCH_DATA_ENABLES_HI 0x0474
678 #define LR4_PATCH_DATA_ENABLES_LO 0x0475
679 #define LR4_PATCH_OFFSET_0 0x0476
680 #define LR4_PATCH_OFFSET_0_HI 0x0476
681 #define LR4_PATCH_OFFSET_0_LO 0x0477
682 #define LR4_PATCH_OFFSET_1 0x0478
683 #define LR4_PATCH_OFFSET_1_HI 0x0478
684 #define LR4_PATCH_OFFSET_1_LO 0x0479
685 #define LR4_PATCH_OFFSET_2 0x047A
686 #define LR4_PATCH_OFFSET_2_HI 0x047A
687 #define LR4_PATCH_OFFSET_2_LO 0x047B
688 #define LR4_PATCH_OFFSET_3 0x047C
689 #define LR4_PATCH_OFFSET_3_HI 0x047C
690 #define LR4_PATCH_OFFSET_3_LO 0x047D
691 #define LR4_PATCH_OFFSET_4 0x047E
692 #define LR4_PATCH_OFFSET_4_HI 0x047E
693 #define LR4_PATCH_OFFSET_4_LO 0x047F
694 #define LR4_PATCH_OFFSET_5 0x0480
695 #define LR4_PATCH_OFFSET_5_HI 0x0480
696 #define LR4_PATCH_OFFSET_5_LO 0x0481
697 #define LR4_PATCH_OFFSET_6 0x0482
698 #define LR4_PATCH_OFFSET_6_HI 0x0482
699 #define LR4_PATCH_OFFSET_6_LO 0x0483
700 #define LR4_PATCH_OFFSET_7 0x0484
701 #define LR4_PATCH_OFFSET_7_HI 0x0484
702 #define LR4_PATCH_OFFSET_7_LO 0x0485
703 #define LR4_PATCH_OFFSET_8 0x0486
704 #define LR4_PATCH_OFFSET_8_HI 0x0486
705 #define LR4_PATCH_OFFSET_8_LO 0x0487
706 #define LR4_PATCH_OFFSET_9 0x0488
707 #define LR4_PATCH_OFFSET_9_HI 0x0488
708 #define LR4_PATCH_OFFSET_9_LO 0x0489
709 #define LR4_PATCH_OFFSET_10 0x048A
710 #define LR4_PATCH_OFFSET_10_HI 0x048A
711 #define LR4_PATCH_OFFSET_10_LO 0x048B
712 #define LR4_PATCH_OFFSET_11 0x048C
713 #define LR4_PATCH_OFFSET_11_HI 0x048C
714 #define LR4_PATCH_OFFSET_11_LO 0x048D
715 #define LR4_PATCH_OFFSET_12 0x048E
716 #define LR4_PATCH_OFFSET_12_HI 0x048E
717 #define LR4_PATCH_OFFSET_12_LO 0x048F
718 #define LR4_PATCH_OFFSET_13 0x0490
719 #define LR4_PATCH_OFFSET_13_HI 0x0490
720 #define LR4_PATCH_OFFSET_13_LO 0x0491
721 #define LR4_PATCH_OFFSET_14 0x0492
722 #define LR4_PATCH_OFFSET_14_HI 0x0492
723 #define LR4_PATCH_OFFSET_14_LO 0x0493
724 #define LR4_PATCH_OFFSET_15 0x0494
725 #define LR4_PATCH_OFFSET_15_HI 0x0494
726 #define LR4_PATCH_OFFSET_15_LO 0x0495
727 #define LR4_PATCH_ADDRESS_0 0x0496
728 #define LR4_PATCH_ADDRESS_0_HI 0x0496
729 #define LR4_PATCH_ADDRESS_0_LO 0x0497
730 #define LR4_PATCH_ADDRESS_1 0x0498
731 #define LR4_PATCH_ADDRESS_1_HI 0x0498
732 #define LR4_PATCH_ADDRESS_1_LO 0x0499
733 #define LR4_PATCH_ADDRESS_2 0x049A
734 #define LR4_PATCH_ADDRESS_2_HI 0x049A
735 #define LR4_PATCH_ADDRESS_2_LO 0x049B
736 #define LR4_PATCH_ADDRESS_3 0x049C
737 #define LR4_PATCH_ADDRESS_3_HI 0x049C
738 #define LR4_PATCH_ADDRESS_3_LO 0x049D
739 #define LR4_PATCH_ADDRESS_4 0x049E
740 #define LR4_PATCH_ADDRESS_4_HI 0x049E
741 #define LR4_PATCH_ADDRESS_4_LO 0x049F
742 #define LR4_PATCH_ADDRESS_5 0x04A0
743 #define LR4_PATCH_ADDRESS_5_HI 0x04A0
744 #define LR4_PATCH_ADDRESS_5_LO 0x04A1
745 #define LR4_PATCH_ADDRESS_6 0x04A2
746 #define LR4_PATCH_ADDRESS_6_HI 0x04A2
747 #define LR4_PATCH_ADDRESS_6_LO 0x04A3
748 #define LR4_PATCH_ADDRESS_7 0x04A4
749 #define LR4_PATCH_ADDRESS_7_HI 0x04A4
750 #define LR4_PATCH_ADDRESS_7_LO 0x04A5
751 #define LR4_PATCH_ADDRESS_8 0x04A6
752 #define LR4_PATCH_ADDRESS_8_HI 0x04A6
753 #define LR4_PATCH_ADDRESS_8_LO 0x04A7
754 #define LR4_PATCH_ADDRESS_9 0x04A8
755 #define LR4_PATCH_ADDRESS_9_HI 0x04A8
756 #define LR4_PATCH_ADDRESS_9_LO 0x04A9
757 #define LR4_PATCH_ADDRESS_10 0x04AA
758 #define LR4_PATCH_ADDRESS_10_HI 0x04AA
759 #define LR4_PATCH_ADDRESS_10_LO 0x04AB
760 #define LR4_PATCH_ADDRESS_11 0x04AC
761 #define LR4_PATCH_ADDRESS_11_HI 0x04AC
762 #define LR4_PATCH_ADDRESS_11_LO 0x04AD
763 #define LR4_PATCH_ADDRESS_12 0x04AE
764 #define LR4_PATCH_ADDRESS_12_HI 0x04AE
765 #define LR4_PATCH_ADDRESS_12_LO 0x04AF
766 #define LR4_PATCH_ADDRESS_13 0x04B0
767 #define LR4_PATCH_ADDRESS_13_HI 0x04B0
768 #define LR4_PATCH_ADDRESS_13_LO 0x04B1
769 #define LR4_PATCH_ADDRESS_14 0x04B2
770 #define LR4_PATCH_ADDRESS_14_HI 0x04B2
771 #define LR4_PATCH_ADDRESS_14_LO 0x04B3
772 #define LR4_PATCH_ADDRESS_15 0x04B4
773 #define LR4_PATCH_ADDRESS_15_HI 0x04B4
774 #define LR4_PATCH_ADDRESS_15_LO 0x04B5
775 
776 
777 #define LR4_SPI_ASYNC_MUX_CTRL 0x04C0
778 #define LR4_CLK_CONFIG 0x04C4
779 #define LR4_GPIO_LV_MUX_CTRL 0x04CC
780 #define LR4_GPIO_LV_PAD_CTRL 0x04CD
781 #define LR4_PAD_I2C_LV_CONFIG 0x04D0
782 #define LR4_PAD_STARTUP_MODE_VALUE_RO_GO1 0x04D4
783 #define LR4_HOST_IF_STATUS_GO1 0x04D5
784 #define LR4_MCU_CLK_GATING_CTRL 0x04D8
785 
791 #define LR4_TEST_BIST_ROM_CTRL 0x04E0
792 #define LR4_TEST_BIST_ROM_RESULT 0x04E1
793 #define LR4_TEST_BIST_ROM_MCU_SIG 0x04E2
794 #define LR4_TEST_BIST_ROM_MCU_SIG_HI 0x04E2
795 #define LR4_TEST_BIST_ROM_MCU_SIG_LO 0x04E3
796 #define LR4_TEST_BIST_RAM_CTRL 0x04E4
797 #define LR4_TEST_BIST_RAM_RESULT 0x04E5
798 #define LR4_TEST_TMC 0x04E8
799 #define LR4_TEST_PLL_BIST_MIN_THRESHOLD 0x04F0
800 #define LR4_TEST_PLL_BIST_MIN_THRESHOLD_HI 0x04F0
801 #define LR4_TEST_PLL_BIST_MIN_THRESHOLD_LO 0x04F1
802 #define LR4_TEST_PLL_BIST_MAX_THRESHOLD 0x04F2
803 #define LR4_TEST_PLL_BIST_MAX_THRESHOLD_HI 0x04F2
804 #define LR4_TEST_PLL_BIST_MAX_THRESHOLD_LO 0x04F3
805 #define LR4_TEST_PLL_BIST_COUNT_OUT 0x04F4
806 #define LR4_TEST_PLL_BIST_COUNT_OUT_HI 0x04F4
807 #define LR4_TEST_PLL_BIST_COUNT_OUT_LO 0x04F5
808 #define LR4_TEST_PLL_BIST_GONOGO 0x04F6
809 #define LR4_TEST_PLL_BIST_CTRL 0x04F7
810 
816 #define LR4_RANGING_CORE_DEVICE_ID 0x0680
817 #define LR4_RANGING_CORE_REVISION_ID 0x0681
818 #define LR4_RANGING_CORE_CLK_CTRL1 0x0683
819 #define LR4_RANGING_CORE_CLK_CTRL2 0x0684
820 #define LR4_RANGING_CORE_WOI_1 0x0685
821 #define LR4_RANGING_CORE_WOI_REF_1 0x0686
822 #define LR4_RANGING_CORE_START_RANGING 0x0687
823 #define LR4_RANGING_CORE_LOW_LIMIT_1 0x0690
824 #define LR4_RANGING_CORE_HIGH_LIMIT_1 0x0691
825 #define LR4_RANGING_CORE_LOW_LIMIT_REF_1 0x0692
826 #define LR4_RANGING_CORE_HIGH_LIMIT_REF_1 0x0693
827 #define LR4_RANGING_CORE_QUANTIFIER_1_MSB 0x0694
828 #define LR4_RANGING_CORE_QUANTIFIER_1_LSB 0x0695
829 #define LR4_RANGING_CORE_QUANTIFIER_REF_1_MSB 0x0696
830 #define LR4_RANGING_CORE_QUANTIFIER_REF_1_LSB 0x0697
831 #define LR4_RANGING_CORE_AMBIENT_OFFSET_1_MSB 0x0698
832 #define LR4_RANGING_CORE_AMBIENT_OFFSET_1_LSB 0x0699
833 #define LR4_RANGING_CORE_AMBIENT_OFFSET_REF_1_MSB 0x069A
834 #define LR4_RANGING_CORE_AMBIENT_OFFSET_REF_1_LSB 0x069B
835 #define LR4_RANGING_CORE_FILTER_STRENGTH_1 0x069C
836 #define LR4_RANGING_CORE_FILTER_STRENGTH_REF_1 0x069D
837 #define LR4_RANGING_CORE_SIGNAL_EVENT_LIMIT_1_MSB 0x069E
838 #define LR4_RANGING_CORE_SIGNAL_EVENT_LIMIT_1_LSB 0x069F
839 #define LR4_RANGING_CORE_SIGNAL_EVENT_LIMIT_REF_1_MSB 0x06A0
840 #define LR4_RANGING_CORE_SIGNAL_EVENT_LIMIT_REF_1_LSB 0x06A1
841 #define LR4_RANGING_CORE_TIMEOUT_OVERALL_PERIODS_MSB 0x06A4
842 #define LR4_RANGING_CORE_TIMEOUT_OVERALL_PERIODS_LSB 0x06A5
843 #define LR4_RANGING_CORE_INVERT_HW 0x06A6
844 #define LR4_RANGING_CORE_FORCE_HW 0x06A7
845 #define LR4_RANGING_CORE_STATIC_HW_VALUE 0x06A8
846 #define LR4_RANGING_CORE_FORCE_CONTINUOUS_AMBIENT 0x06A9
847 #define LR4_RANGING_CORE_TEST_PHASE_SELECT_TO_FILTER 0x06AA
848 #define LR4_RANGING_CORE_TEST_PHASE_SELECT_TO_TIMING_GEN 0x06AB
849 #define LR4_RANGING_CORE_INITIAL_PHASE_VALUE_1 0x06AC
850 #define LR4_RANGING_CORE_INITIAL_PHASE_VALUE_REF_1 0x06AD
851 #define LR4_RANGING_CORE_FORCE_UP_IN 0x06AE
852 #define LR4_RANGING_CORE_FORCE_DN_IN 0x06AF
853 #define LR4_RANGING_CORE_STATIC_UP_VALUE_1 0x06B0
854 #define LR4_RANGING_CORE_STATIC_UP_VALUE_REF_1 0x06B1
855 #define LR4_RANGING_CORE_STATIC_DN_VALUE_1 0x06B2
856 #define LR4_RANGING_CORE_STATIC_DN_VALUE_REF_1 0x06B3
857 #define LR4_RANGING_CORE_MONITOR_UP_DN 0x06B4
858 #define LR4_RANGING_CORE_INVERT_UP_DN 0x06B5
859 #define LR4_RANGING_CORE_CPUMP_1 0x06B6
860 #define LR4_RANGING_CORE_CPUMP_2 0x06B7
861 #define LR4_RANGING_CORE_CPUMP_3 0x06B8
862 #define LR4_RANGING_CORE_OSC_1 0x06B9
863 #define LR4_RANGING_CORE_PLL_1 0x06BB
864 #define LR4_RANGING_CORE_PLL_2 0x06BC
865 #define LR4_RANGING_CORE_REFERENCE_1 0x06BD
866 #define LR4_RANGING_CORE_REFERENCE_3 0x06BF
867 #define LR4_RANGING_CORE_REFERENCE_4 0x06C0
868 #define LR4_RANGING_CORE_REFERENCE_5 0x06C1
869 #define LR4_RANGING_CORE_REGAVDD1V2 0x06C3
870 #define LR4_RANGING_CORE_CALIB_1 0x06C4
871 #define LR4_RANGING_CORE_CALIB_2 0x06C5
872 #define LR4_RANGING_CORE_CALIB_3 0x06C6
873 #define LR4_RANGING_CORE_TST_MUX_SEL1 0x06C9
874 #define LR4_RANGING_CORE_TST_MUX_SEL2 0x06CA
875 #define LR4_RANGING_CORE_TST_MUX 0x06CB
876 #define LR4_RANGING_CORE_GPIO_OUT_TESTMUX 0x06CC
877 #define LR4_RANGING_CORE_CUSTOM_FE 0x06CD
878 #define LR4_RANGING_CORE_CUSTOM_FE_2 0x06CE
879 #define LR4_RANGING_CORE_SPAD_READOUT 0x06CF
880 #define LR4_RANGING_CORE_SPAD_READOUT_1 0x06D0
881 #define LR4_RANGING_CORE_SPAD_READOUT_2 0x06D1
882 #define LR4_RANGING_CORE_SPAD_PS 0x06D2
883 #define LR4_RANGING_CORE_LASER_SAFETY_2 0x06D4
884 #define LR4_RANGING_CORE_NVM_CTRL_MODE 0x0780
885 #define LR4_RANGING_CORE_NVM_CTRL_PDN 0x0781
886 #define LR4_RANGING_CORE_NVM_CTRL_PROGN 0x0782
887 #define LR4_RANGING_CORE_NVM_CTRL_READN 0x0783
888 #define LR4_RANGING_CORE_NVM_CTRL_PULSE_WIDTH_MSB 0x0784
889 #define LR4_RANGING_CORE_NVM_CTRL_PULSE_WIDTH_LSB 0x0785
890 #define LR4_RANGING_CORE_NVM_CTRL_HV_RISE_MSB 0x0786
891 #define LR4_RANGING_CORE_NVM_CTRL_HV_RISE_LSB 0x0787
892 #define LR4_RANGING_CORE_NVM_CTRL_HV_FALL_MSB 0x0788
893 #define LR4_RANGING_CORE_NVM_CTRL_HV_FALL_LSB 0x0789
894 #define LR4_RANGING_CORE_NVM_CTRL_TST 0x078A
895 #define LR4_RANGING_CORE_NVM_CTRL_TESTREAD 0x078B
896 #define LR4_RANGING_CORE_NVM_CTRL_DATAIN_MMM 0x078C
897 #define LR4_RANGING_CORE_NVM_CTRL_DATAIN_LMM 0x078D
898 #define LR4_RANGING_CORE_NVM_CTRL_DATAIN_LLM 0x078E
899 #define LR4_RANGING_CORE_NVM_CTRL_DATAIN_LLL 0x078F
900 #define LR4_RANGING_CORE_NVM_CTRL_DATAOUT_MMM 0x0790
901 #define LR4_RANGING_CORE_NVM_CTRL_DATAOUT_LMM 0x0791
902 #define LR4_RANGING_CORE_NVM_CTRL_DATAOUT_LLM 0x0792
903 #define LR4_RANGING_CORE_NVM_CTRL_DATAOUT_LLL 0x0793
904 #define LR4_RANGING_CORE_NVM_CTRL_ADDR 0x0794
905 #define LR4_RANGING_CORE_NVM_CTRL_DATAOUT_ECC 0x0795
906 #define LR4_RANGING_CORE_RET_SPAD_EN_0 0x0796
907 #define LR4_RANGING_CORE_RET_SPAD_EN_1 0x0797
908 #define LR4_RANGING_CORE_RET_SPAD_EN_2 0x0798
909 #define LR4_RANGING_CORE_RET_SPAD_EN_3 0x0799
910 #define LR4_RANGING_CORE_RET_SPAD_EN_4 0x079A
911 #define LR4_RANGING_CORE_RET_SPAD_EN_5 0x079B
912 #define LR4_RANGING_CORE_RET_SPAD_EN_6 0x079C
913 #define LR4_RANGING_CORE_RET_SPAD_EN_7 0x079D
914 #define LR4_RANGING_CORE_RET_SPAD_EN_8 0x079E
915 #define LR4_RANGING_CORE_RET_SPAD_EN_9 0x079F
916 #define LR4_RANGING_CORE_RET_SPAD_EN_10 0x07A0
917 #define LR4_RANGING_CORE_RET_SPAD_EN_11 0x07A1
918 #define LR4_RANGING_CORE_RET_SPAD_EN_12 0x07A2
919 #define LR4_RANGING_CORE_RET_SPAD_EN_13 0x07A3
920 #define LR4_RANGING_CORE_RET_SPAD_EN_14 0x07A4
921 #define LR4_RANGING_CORE_RET_SPAD_EN_15 0x07A5
922 #define LR4_RANGING_CORE_RET_SPAD_EN_16 0x07A6
923 #define LR4_RANGING_CORE_RET_SPAD_EN_17 0x07A7
924 #define LR4_RANGING_CORE_SPAD_SHIFT_EN 0x07BA
925 #define LR4_RANGING_CORE_SPAD_DISABLE_CTRL 0x07BB
926 #define LR4_RANGING_CORE_SPAD_EN_SHIFT_OUT_DEBUG 0x07BC
927 #define LR4_RANGING_CORE_SPI_MODE 0x07BD
928 #define LR4_RANGING_CORE_GPIO_DIR 0x07BE
929 #define LR4_RANGING_CORE_VCSEL_PERIOD 0x0880
930 #define LR4_RANGING_CORE_VCSEL_START 0x0881
931 #define LR4_RANGING_CORE_VCSEL_STOP 0x0882
932 #define LR4_RANGING_CORE_VCSEL_1 0x0885
933 #define LR4_RANGING_CORE_VCSEL_STATUS 0x088D
934 #define LR4_RANGING_CORE_STATUS 0x0980
935 #define LR4_RANGING_CORE_LASER_CONTINUITY_STATE 0x0981
936 #define LR4_RANGING_CORE_RANGE_1_MMM 0x0982
937 #define LR4_RANGING_CORE_RANGE_1_LMM 0x0983
938 #define LR4_RANGING_CORE_RANGE_1_LLM 0x0984
939 #define LR4_RANGING_CORE_RANGE_1_LLL 0x0985
940 #define LR4_RANGING_CORE_RANGE_REF_1_MMM 0x0986
941 #define LR4_RANGING_CORE_RANGE_REF_1_LMM 0x0987
942 #define LR4_RANGING_CORE_RANGE_REF_1_LLM 0x0988
943 #define LR4_RANGING_CORE_RANGE_REF_1_LLL 0x0989
944 #define LR4_RANGING_CORE_AMBIENT_WINDOW_EVENTS_1_MMM 0x098A
945 #define LR4_RANGING_CORE_AMBIENT_WINDOW_EVENTS_1_LMM 0x098B
946 #define LR4_RANGING_CORE_AMBIENT_WINDOW_EVENTS_1_LLM 0x098C
947 #define LR4_RANGING_CORE_AMBIENT_WINDOW_EVENTS_1_LLL 0x098D
948 #define LR4_RANGING_CORE_RANGING_TOTAL_EVENTS_1_MMM 0x098E
949 #define LR4_RANGING_CORE_RANGING_TOTAL_EVENTS_1_LMM 0x098F
950 #define LR4_RANGING_CORE_RANGING_TOTAL_EVENTS_1_LLM 0x0990
951 #define LR4_RANGING_CORE_RANGING_TOTAL_EVENTS_1_LLL 0x0991
952 #define LR4_RANGING_CORE_SIGNAL_TOTAL_EVENTS_1_MMM 0x0992
953 #define LR4_RANGING_CORE_SIGNAL_TOTAL_EVENTS_1_LMM 0x0993
954 #define LR4_RANGING_CORE_SIGNAL_TOTAL_EVENTS_1_LLM 0x0994
955 #define LR4_RANGING_CORE_SIGNAL_TOTAL_EVENTS_1_LLL 0x0995
956 #define LR4_RANGING_CORE_TOTAL_PERIODS_ELAPSED_1_MM 0x0996
957 #define LR4_RANGING_CORE_TOTAL_PERIODS_ELAPSED_1_LM 0x0997
958 #define LR4_RANGING_CORE_TOTAL_PERIODS_ELAPSED_1_LL 0x0998
959 #define LR4_RANGING_CORE_AMBIENT_MISMATCH_MM 0x0999
960 #define LR4_RANGING_CORE_AMBIENT_MISMATCH_LM 0x099A
961 #define LR4_RANGING_CORE_AMBIENT_MISMATCH_LL 0x099B
962 #define LR4_RANGING_CORE_AMBIENT_WINDOW_EVENTS_REF_1_MMM 0x099C
963 #define LR4_RANGING_CORE_AMBIENT_WINDOW_EVENTS_REF_1_LMM 0x099D
964 #define LR4_RANGING_CORE_AMBIENT_WINDOW_EVENTS_REF_1_LLM 0x099E
965 #define LR4_RANGING_CORE_AMBIENT_WINDOW_EVENTS_REF_1_LLL 0x099F
966 #define LR4_RANGING_CORE_RANGING_TOTAL_EVENTS_REF_1_MMM 0x09A0
967 #define LR4_RANGING_CORE_RANGING_TOTAL_EVENTS_REF_1_LMM 0x09A1
968 #define LR4_RANGING_CORE_RANGING_TOTAL_EVENTS_REF_1_LLM 0x09A2
969 #define LR4_RANGING_CORE_RANGING_TOTAL_EVENTS_REF_1_LLL 0x09A3
970 #define LR4_RANGING_CORE_SIGNAL_TOTAL_EVENTS_REF_1_MMM 0x09A4
971 #define LR4_RANGING_CORE_SIGNAL_TOTAL_EVENTS_REF_1_LMM 0x09A5
972 #define LR4_RANGING_CORE_SIGNAL_TOTAL_EVENTS_REF_1_LLM 0x09A6
973 #define LR4_RANGING_CORE_SIGNAL_TOTAL_EVENTS_REF_1_LLL 0x09A7
974 #define LR4_RANGING_CORE_TOTAL_PERIODS_ELAPSED_REF_1_MM 0x09A8
975 #define LR4_RANGING_CORE_TOTAL_PERIODS_ELAPSED_REF_1_LM 0x09A9
976 #define LR4_RANGING_CORE_TOTAL_PERIODS_ELAPSED_REF_1_LL 0x09AA
977 #define LR4_RANGING_CORE_AMBIENT_MISMATCH_REF_MM 0x09AB
978 #define LR4_RANGING_CORE_AMBIENT_MISMATCH_REF_LM 0x09AC
979 #define LR4_RANGING_CORE_AMBIENT_MISMATCH_REF_LL 0x09AD
980 #define LR4_RANGING_CORE_GPIO_CONFIG__A0 0x0A00
981 #define LR4_RANGING_CORE_RESET_CONTROL__A0 0x0A01
982 #define LR4_RANGING_CORE_INTR_MANAGER__A0 0x0A02
983 #define LR4_RANGING_CORE_POWER_FSM_TIME_OSC__A0 0x0A06
984 #define LR4_RANGING_CORE_VCSEL_ATEST__A0 0x0A07
985 #define LR4_RANGING_CORE_VCSEL_PERIOD_CLIPPED__A0 0x0A08
986 #define LR4_RANGING_CORE_VCSEL_STOP_CLIPPED__A0 0x0A09
987 #define LR4_RANGING_CORE_CALIB_2__A0 0x0A0A
988 #define LR4_RANGING_CORE_STOP_CONDITION__A0 0x0A0B
989 #define LR4_RANGING_CORE_STATUS_RESET__A0 0x0A0C
990 #define LR4_RANGING_CORE_READOUT_CFG__A0 0x0A0D
991 #define LR4_RANGING_CORE_WINDOW_SETTING__A0 0x0A0E
992 #define LR4_RANGING_CORE_VCSEL_DELAY__A0 0x0A1A
993 #define LR4_RANGING_CORE_REFERENCE_2__A0 0x0A1B
994 #define LR4_RANGING_CORE_REGAVDD1V2__A0 0x0A1D
995 #define LR4_RANGING_CORE_TST_MUX__A0 0x0A1F
996 #define LR4_RANGING_CORE_CUSTOM_FE_2__A0 0x0A20
997 #define LR4_RANGING_CORE_SPAD_READOUT__A0 0x0A21
998 #define LR4_RANGING_CORE_CPUMP_1__A0 0x0A22
999 #define LR4_RANGING_CORE_SPARE_REGISTER__A0 0x0A23
1000 #define LR4_RANGING_CORE_VCSEL_CONT_STAGE5_BYPASS__A0 0x0A24
1001 #define LR4_RANGING_CORE_RET_SPAD_EN_18 0x0A25
1002 #define LR4_RANGING_CORE_RET_SPAD_EN_19 0x0A26
1003 #define LR4_RANGING_CORE_RET_SPAD_EN_20 0x0A27
1004 #define LR4_RANGING_CORE_RET_SPAD_EN_21 0x0A28
1005 #define LR4_RANGING_CORE_RET_SPAD_EN_22 0x0A29
1006 #define LR4_RANGING_CORE_RET_SPAD_EN_23 0x0A2A
1007 #define LR4_RANGING_CORE_RET_SPAD_EN_24 0x0A2B
1008 #define LR4_RANGING_CORE_RET_SPAD_EN_25 0x0A2C
1009 #define LR4_RANGING_CORE_RET_SPAD_EN_26 0x0A2D
1010 #define LR4_RANGING_CORE_RET_SPAD_EN_27 0x0A2E
1011 #define LR4_RANGING_CORE_RET_SPAD_EN_28 0x0A2F
1012 #define LR4_RANGING_CORE_RET_SPAD_EN_29 0x0A30
1013 #define LR4_RANGING_CORE_RET_SPAD_EN_30 0x0A31
1014 #define LR4_RANGING_CORE_RET_SPAD_EN_31 0x0A32
1015 #define LR4_RANGING_CORE_REF_SPAD_EN_0__EWOK 0x0A33
1016 #define LR4_RANGING_CORE_REF_SPAD_EN_1__EWOK 0x0A34
1017 #define LR4_RANGING_CORE_REF_SPAD_EN_2__EWOK 0x0A35
1018 #define LR4_RANGING_CORE_REF_SPAD_EN_3__EWOK 0x0A36
1019 #define LR4_RANGING_CORE_REF_SPAD_EN_4__EWOK 0x0A37
1020 #define LR4_RANGING_CORE_REF_SPAD_EN_5__EWOK 0x0A38
1021 #define LR4_RANGING_CORE_REF_EN_START_SELECT 0x0A39
1022 #define LR4_RANGING_CORE_REGDVDD1V2_ATEST__EWOK 0x0A41
1023 
1024 #define LR4_SOFT_RESET_GO1 0x0B00
1025 #define LR4_PRIVATE__PATCH_BASE_ADDR_RSLV 0x0E00
1026 
1032 #define LR4_PREV_SHADOW_RESULT_INTERRUPT_STATUS 0x0ED0
1033 #define LR4_PREV_SHADOW_RESULT_RANGE_STATUS 0x0ED1
1034 #define LR4_PREV_SHADOW_RESULT_REPORT_STATUS 0x0ED2
1035 #define LR4_PREV_SHADOW_RESULT_STREAM_COUNT 0x0ED3
1036 #define LR4_PREV_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD0 0x0ED4
1037 #define LR4_PREV_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD0_HI 0x0ED4
1038 #define LR4_PREV_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD0_LO 0x0ED5
1039 #define LR4_PREV_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD0 0x0ED6
1040 #define LR4_PREV_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_HI 0x0ED6
1041 #define LR4_PREV_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_LO 0x0ED7
1042 #define LR4_PREV_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD0 0x0ED8
1043 #define LR4_PREV_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD0_HI 0x0ED8
1044 #define LR4_PREV_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD0_LO 0x0ED9
1045 #define LR4_PREV_SHADOW_RESULT_SIGMA_SD0 0x0EDA
1046 #define LR4_PREV_SHADOW_RESULT_SIGMA_SD0_HI 0x0EDA
1047 #define LR4_PREV_SHADOW_RESULT_SIGMA_SD0_LO 0x0EDB
1048 #define LR4_PREV_SHADOW_RESULT_PHASE_SD0 0x0EDC
1049 #define LR4_PREV_SHADOW_RESULT_PHASE_SD0_HI 0x0EDC
1050 #define LR4_PREV_SHADOW_RESULT_PHASE_SD0_LO 0x0EDD
1051 #define LR4_PREV_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0 0x0EDE
1052 #define LR4_PREV_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_HI 0x0EDE
1053 #define LR4_PREV_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_LO 0x0EDF
1054 
1055 #define LR4_PREV_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCP 0x0EE0
1056 #define LR4_PREV_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCP_MSB 0x0EE0
1057 #define LR4_PREV_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCP_LSB 0x0EE1
1058 
1059 #define LR4_PREV_SHADOW_RESULT_MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0 0x0EE2
1060 #define LR4_PREV_SHADOW_RESULT_MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_HI 0x0EE2
1061 #define LR4_PREV_SHADOW_RESULT_MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_LO 0x0EE3
1062 #define LR4_PREV_SHADOW_RESULT_MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0 0x0EE4
1063 #define LR4_PREV_SHADOW_RESULT_MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_HI 0x0EE4
1064 #define LR4_PREV_SHADOW_RESULT_MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_LO 0x0EE5
1065 #define LR4_PREV_SHADOW_RESULT_AVG_SIGNAL_COUNT_RATE_MCPS_SD0 0x0EE6
1066 #define LR4_PREV_SHADOW_RESULT_AVG_SIGNAL_COUNT_RATE_MCPS_SD0_HI 0x0EE6
1067 #define LR4_PREV_SHADOW_RESULT_AVG_SIGNAL_COUNT_RATE_MCPS_SD0_LO 0x0EE7
1068 #define LR4_PREV_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD1 0x0EE8
1069 #define LR4_PREV_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD1_HI 0x0EE8
1070 #define LR4_PREV_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD1_LO 0x0EE9
1071 #define LR4_PREV_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD1 0x0EEA
1072 #define LR4_PREV_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_HI 0x0EEA
1073 #define LR4_PREV_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_LO 0x0EEB
1074 #define LR4_PREV_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD1 0x0EEC
1075 #define LR4_PREV_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD1_HI 0x0EEC
1076 #define LR4_PREV_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD1_LO 0x0EED
1077 #define LR4_PREV_SHADOW_RESULT_SIGMA_SD1 0x0EEE
1078 #define LR4_PREV_SHADOW_RESULT_SIGMA_SD1_HI 0x0EEE
1079 #define LR4_PREV_SHADOW_RESULT_SIGMA_SD1_LO 0x0EEF
1080 #define LR4_PREV_SHADOW_RESULT_PHASE_SD1 0x0EF0
1081 #define LR4_PREV_SHADOW_RESULT_PHASE_SD1_HI 0x0EF0
1082 #define LR4_PREV_SHADOW_RESULT_PHASE_SD1_LO 0x0EF1
1083 #define LR4_PREV_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1 0x0EF2
1084 #define LR4_PREV_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_HI 0x0EF2
1085 #define LR4_PREV_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_LO 0x0EF3
1086 #define LR4_PREV_SHADOW_RESULT_SPARE_0_SD1 0x0EF4
1087 #define LR4_PREV_SHADOW_RESULT_SPARE_0_SD1_HI 0x0EF4
1088 #define LR4_PREV_SHADOW_RESULT_SPARE_0_SD1_LO 0x0EF5
1089 #define LR4_PREV_SHADOW_RESULT_SPARE_1_SD1 0x0EF6
1090 #define LR4_PREV_SHADOW_RESULT_SPARE_1_SD1_HI 0x0EF6
1091 #define LR4_PREV_SHADOW_RESULT_SPARE_1_SD1_LO 0x0EF7
1092 #define LR4_PREV_SHADOW_RESULT_SPARE_2_SD1 0x0EF8
1093 #define LR4_PREV_SHADOW_RESULT_SPARE_2_SD1_HI 0x0EF8
1094 #define LR4_PREV_SHADOW_RESULT_SPARE_2_SD1_LO 0x0EF9
1095 #define LR4_PREV_SHADOW_RESULT_SPARE_3_SD1 0x0EFA
1096 #define LR4_PREV_SHADOW_RESULT_SPARE_3_SD1_HI 0x0EFA
1097 #define LR4_PREV_SHADOW_RESULT_SPARE_3_SD1_LO 0x0EFB
1098 
1099 #define LR4_PREV_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0 0x0EFC
1100 #define LR4_PREV_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_3 0x0EFC
1101 #define LR4_PREV_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_2 0x0EFD
1102 #define LR4_PREV_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_1 0x0EFE
1103 #define LR4_PREV_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_0 0x0EFF
1104 #define LR4_PREV_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0 0x0F00
1105 #define LR4_PREV_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_3 0x0F00
1106 #define LR4_PREV_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_2 0x0F01
1107 #define LR4_PREV_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_1 0x0F02
1108 #define LR4_PREV_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_0 0x0F03
1109 #define LR4_PREV_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0 0x0F04
1110 #define LR4_PREV_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_3 0x0F04
1111 #define LR4_PREV_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_2 0x0F05
1112 #define LR4_PREV_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_1 0x0F06
1113 #define LR4_PREV_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_0 0x0F07
1114 #define LR4_PREV_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0 0x0F08
1115 #define LR4_PREV_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_3 0x0F08
1116 #define LR4_PREV_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_2 0x0F09
1117 #define LR4_PREV_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_1 0x0F0A
1118 #define LR4_PREV_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_0 0x0F0B
1119 #define LR4_PREV_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1 0x0F0C
1120 #define LR4_PREV_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_3 0x0F0C
1121 #define LR4_PREV_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_2 0x0F0D
1122 #define LR4_PREV_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_1 0x0F0E
1123 #define LR4_PREV_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_0 0x0F0F
1124 #define LR4_PREV_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1 0x0F10
1125 #define LR4_PREV_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_3 0x0F10
1126 #define LR4_PREV_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_2 0x0F11
1127 #define LR4_PREV_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_1 0x0F12
1128 #define LR4_PREV_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_0 0x0F13
1129 #define LR4_PREV_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1 0x0F14
1130 #define LR4_PREV_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_3 0x0F14
1131 #define LR4_PREV_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_2 0x0F15
1132 #define LR4_PREV_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_1 0x0F16
1133 #define LR4_PREV_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_0 0x0F17
1134 #define LR4_PREV_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1 0x0F18
1135 #define LR4_PREV_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_3 0x0F18
1136 #define LR4_PREV_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_2 0x0F19
1137 #define LR4_PREV_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_1 0x0F1A
1138 #define LR4_PREV_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_0 0x0F1B
1139 #define LR4_PREV_SHADOW_RESULT_CORE_SPARE_0 0x0F1C
1140 
1146 #define LR4_RESULT_DEBUG_STATUS 0x0F20
1147 #define LR4_RESULT_DEBUG_STAGE 0x0F21
1148 
1154 #define LR4_GPH_SYSTEM_THRESH_RATE_HIGH 0x0F24
1155 #define LR4_GPH_SYSTEM_THRESH_RATE_HIGH_HI 0x0F24
1156 #define LR4_GPH_SYSTEM_THRESH_RATE_HIGH_LO 0x0F25
1157 #define LR4_GPH_SYSTEM_THRESH_RATE_LOW 0x0F26
1158 #define LR4_GPH_SYSTEM_THRESH_RATE_LOW_HI 0x0F26
1159 #define LR4_GPH_SYSTEM_THRESH_RATE_LOW_LO 0x0F27
1160 #define LR4_GPH_SYSTEM_INTERRUPT_CONFIG_GPIO 0x0F28
1161 #define LR4_GPH_DSS_CONFIG_ROI_MODE_CONTROL 0x0F2F
1162 #define LR4_GPH_DSS_CONFIG_MANUAL_EFFECTIVE_SPADS_SELECT 0x0F30
1163 #define LR4_GPH_DSS_CONFIG_MANUAL_EFFECTIVE_SPADS_SELECT_HI 0x0F30
1164 #define LR4_GPH_DSS_CONFIG_MANUAL_EFFECTIVE_SPADS_SELECT_LO 0x0F31
1165 #define LR4_GPH_DSS_CONFIG_MANUAL_BLOCK_SELECT 0x0F32
1166 #define LR4_GPH_DSS_CONFIG_MAX_SPADS_LIMIT 0x0F33
1167 #define LR4_GPH_DSS_CONFIG_MIN_SPADS_LIMIT 0x0F34
1168 #define LR4_GPH_MM_CONFIG_TIMEOUT_MACROP_A_HI 0x0F36
1169 #define LR4_GPH_MM_CONFIG_TIMEOUT_MACROP_A_LO 0x0F37
1170 #define LR4_GPH_MM_CONFIG_TIMEOUT_MACROP_B_HI 0x0F38
1171 #define LR4_GPH_MM_CONFIG_TIMEOUT_MACROP_B_LO 0x0F39
1172 #define LR4_GPH_RANGE_CONFIG_TIMEOUT_MACROP_A_HI 0x0F3A
1173 #define LR4_GPH_RANGE_CONFIG_TIMEOUT_MACROP_A_LO 0x0F3B
1174 #define LR4_GPH_RANGE_CONFIG_VCSEL_PERIOD_A 0x0F3C
1175 #define LR4_GPH_RANGE_CONFIG_VCSEL_PERIOD_B 0x0F3D
1176 #define LR4_GPH_RANGE_CONFIG_TIMEOUT_MACROP_B_HI 0x0F3E
1177 #define LR4_GPH_RANGE_CONFIG_TIMEOUT_MACROP_B_LO 0x0F3F
1178 #define LR4_GPH_RANGE_CONFIG_SIGMA_THRESH 0x0F40
1179 #define LR4_GPH_RANGE_CONFIG_SIGMA_THRESH_HI 0x0F40
1180 #define LR4_GPH_RANGE_CONFIG_SIGMA_THRESH_LO 0x0F41
1181 #define LR4_GPH_RANGE_CONFIG_MIN_COUNT_RATE_RTN_LIMIT_MCPS 0x0F42
1182 #define LR4_GPH_RANGE_CONFIG_MIN_COUNT_RATE_RTN_LIMIT_MCPS_HI 0x0F42
1183 #define LR4_GPH_RANGE_CONFIG_MIN_COUNT_RATE_RTN_LIMIT_MCPS_LO 0x0F43
1184 #define LR4_GPH_RANGE_CONFIG_VALID_PHASE_LOW 0x0F44
1185 #define LR4_GPH_RANGE_CONFIG_VALID_PHASE_HIGH 0x0F45
1186 
1187 
1188 #define LR4_FIRMWARE__INTERNAL_STREAM_COUNT_DIV 0x0F46
1189 #define LR4_FIRMWARE__INTERNAL_STREAM_COUNTER_VAL 0x0F47
1190 
1196 #define LR4_DSS_CALC_ROI_CTRL 0x0F54
1197 #define LR4_DSS_CALC_SPARE_1 0x0F55
1198 #define LR4_DSS_CALC_SPARE_2 0x0F56
1199 #define LR4_DSS_CALC_SPARE_3 0x0F57
1200 #define LR4_DSS_CALC_SPARE_4 0x0F58
1201 #define LR4_DSS_CALC_SPARE_5 0x0F59
1202 #define LR4_DSS_CALC_SPARE_6 0x0F5A
1203 #define LR4_DSS_CALC_SPARE_7 0x0F5B
1204 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_0 0x0F5C
1205 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_1 0x0F5D
1206 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_2 0x0F5E
1207 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_3 0x0F5F
1208 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_4 0x0F60
1209 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_5 0x0F61
1210 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_6 0x0F62
1211 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_7 0x0F63
1212 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_8 0x0F64
1213 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_9 0x0F65
1214 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_10 0x0F66
1215 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_11 0x0F67
1216 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_12 0x0F68
1217 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_13 0x0F69
1218 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_14 0x0F6A
1219 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_15 0x0F6B
1220 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_16 0x0F6C
1221 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_17 0x0F6D
1222 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_18 0x0F6E
1223 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_19 0x0F6F
1224 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_20 0x0F70
1225 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_21 0x0F71
1226 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_22 0x0F72
1227 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_23 0x0F73
1228 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_24 0x0F74
1229 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_25 0x0F75
1230 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_26 0x0F76
1231 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_27 0x0F77
1232 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_28 0x0F78
1233 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_29 0x0F79
1234 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_30 0x0F7A
1235 #define LR4_DSS_CALC_USER_ROI_SPAD_EN_31 0x0F7B
1236 #define LR4_DSS_CALC_USER_ROI_0 0x0F7C
1237 #define LR4_DSS_CALC_USER_ROI_1 0x0F7D
1238 #define LR4_DSS_CALC_MODE_ROI_0 0x0F7E
1239 #define LR4_DSS_CALC_MODE_ROI_1 0x0F7F
1240 
1246 #define LR4_SIGMA_ESTIMATOR_CALC_SPARE_0 0x0F80
1247 
1253 #define LR4_VHV_RESULT_PEAK_SIGNAL_RATE_MCPS 0x0F82
1254 #define LR4_VHV_RESULT_PEAK_SIGNAL_RATE_MCPS_HI 0x0F82
1255 #define LR4_VHV_RESULT_PEAK_SIGNAL_RATE_MCPS_LO 0x0F83
1256 #define LR4_VHV_RESULT_SIGNAL_TOTAL_EVENTS_REF 0x0F84
1257 #define LR4_VHV_RESULT_SIGNAL_TOTAL_EVENTS_REF_3 0x0F84
1258 #define LR4_VHV_RESULT_SIGNAL_TOTAL_EVENTS_REF_2 0x0F85
1259 #define LR4_VHV_RESULT_SIGNAL_TOTAL_EVENTS_REF_1 0x0F86
1260 #define LR4_VHV_RESULT_SIGNAL_TOTAL_EVENTS_REF_0 0x0F87
1261 
1267 #define LR4_PHASECAL_RESULT_PHASE_OUTPUT_REF 0x0F88
1268 #define LR4_PHASECAL_RESULT_PHASE_OUTPUT_REF_HI 0x0F88
1269 #define LR4_PHASECAL_RESULT_PHASE_OUTPUT_REF_LO 0x0F89
1270 
1276 #define LR4_DSS_RESULT_TOTAL_RATE_PER_SPAD 0x0F8A
1277 #define LR4_DSS_RESULT_TOTAL_RATE_PER_SPAD_HI 0x0F8A
1278 #define LR4_DSS_RESULT_TOTAL_RATE_PER_SPAD_LO 0x0F8B
1279 #define LR4_DSS_RESULT_ENABLED_BLOCKS 0x0F8C
1280 #define LR4_DSS_RESULT_NUM_REQUESTED_SPADS 0x0F8E
1281 #define LR4_DSS_RESULT_NUM_REQUESTED_SPADS_HI 0x0F8E
1282 #define LR4_DSS_RESULT_NUM_REQUESTED_SPADS_LO 0x0F8F
1283 
1289 #define LR4_MM_RESULT_INNER_INTERSECTION_RATE 0x0F92
1290 #define LR4_MM_RESULT_INNER_INTERSECTION_RATE_HI 0x0F92
1291 #define LR4_MM_RESULT_INNER_INTERSECTION_RATE_LO 0x0F93
1292 #define LR4_MM_RESULT_OUTER_COMPLEMENT_RATE 0x0F94
1293 #define LR4_MM_RESULT_OUTER_COMPLEMENT_RATE_HI 0x0F94
1294 #define LR4_MM_RESULT_OUTER_COMPLEMENT_RATE_LO 0x0F95
1295 #define LR4_MM_RESULT_TOTAL_OFFSET 0x0F96
1296 #define LR4_MM_RESULT_TOTAL_OFFSET_HI 0x0F96
1297 #define LR4_MM_RESULT_TOTAL_OFFSET_LO 0x0F97
1298 
1304 #define LR4_XTALK_CALC_XTALK_FOR_ENABLED_SPADS 0x0F98
1305 #define LR4_XTALK_CALC_XTALK_FOR_ENABLED_SPADS_3 0x0F98
1306 #define LR4_XTALK_CALC_XTALK_FOR_ENABLED_SPADS_2 0x0F99
1307 #define LR4_XTALK_CALC_XTALK_FOR_ENABLED_SPADS_1 0x0F9A
1308 #define LR4_XTALK_CALC_XTALK_FOR_ENABLED_SPADS_0 0x0F9B
1309 
1315 #define LR4_XTALK_RESULT_AVG_XTALK_USER_ROI_KCPS 0x0F9C
1316 #define LR4_XTALK_RESULT_AVG_XTALK_USER_ROI_KCPS_3 0x0F9C
1317 #define LR4_XTALK_RESULT_AVG_XTALK_USER_ROI_KCPS_2 0x0F9D
1318 #define LR4_XTALK_RESULT_AVG_XTALK_USER_ROI_KCPS_1 0x0F9E
1319 #define LR4_XTALK_RESULT_AVG_XTALK_USER_ROI_KCPS_0 0x0F9F
1320 #define LR4_XTALK_RESULT_AVG_XTALK_MM_INNER_ROI_KCPS 0x0FA0
1321 #define LR4_XTALK_RESULT_AVG_XTALK_MM_INNER_ROI_KCPS_3 0x0FA0
1322 #define LR4_XTALK_RESULT_AVG_XTALK_MM_INNER_ROI_KCPS_2 0x0FA1
1323 #define LR4_XTALK_RESULT_AVG_XTALK_MM_INNER_ROI_KCPS_1 0x0FA2
1324 #define LR4_XTALK_RESULT_AVG_XTALK_MM_INNER_ROI_KCPS_0 0x0FA3
1325 #define LR4_XTALK_RESULT_AVG_XTALK_MM_OUTER_ROI_KCPS 0x0FA4
1326 #define LR4_XTALK_RESULT_AVG_XTALK_MM_OUTER_ROI_KCPS_3 0x0FA4
1327 #define LR4_XTALK_RESULT_AVG_XTALK_MM_OUTER_ROI_KCPS_2 0x0FA5
1328 #define LR4_XTALK_RESULT_AVG_XTALK_MM_OUTER_ROI_KCPS_1 0x0FA6
1329 #define LR4_XTALK_RESULT_AVG_XTALK_MM_OUTER_ROI_KCPS_0 0x0FA7
1330 #define LR4_RANGE_RESULT_ACCUM_PHASE 0x0FA8
1331 #define LR4_RANGE_RESULT_ACCUM_PHASE_3 0x0FA8
1332 #define LR4_RANGE_RESULT_ACCUM_PHASE_2 0x0FA9
1333 #define LR4_RANGE_RESULT_ACCUM_PHASE_1 0x0FAA
1334 #define LR4_RANGE_RESULT_ACCUM_PHASE_0 0x0FAB
1335 #define LR4_RANGE_RESULT_OFFSET_CORRECTED_RANGE 0x0FAC
1336 #define LR4_RANGE_RESULT_OFFSET_CORRECTED_RANGE_HI 0x0FAC
1337 #define LR4_RANGE_RESULT_OFFSET_CORRECTED_RANGE_LO 0x0FAD
1338 
1344 #define LR4_SHADOW_PHASECAL_RESULT_VCSEL_START 0x0FAE
1345 #define LR4_SHADOW_RESULT_INTERRUPT_STATUS 0x0FB0
1346 #define LR4_SHADOW_RESULT_RANGE_STATUS 0x0FB1
1347 #define LR4_SHADOW_RESULT_REPORT_STATUS 0x0FB2
1348 #define LR4_SHADOW_RESULT_STREAM_COUNT 0x0FB3
1349 #define LR4_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD0 0x0FB4
1350 #define LR4_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD0_HI 0x0FB4
1351 #define LR4_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD0_LO 0x0FB5
1352 #define LR4_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD0 0x0FB6
1353 #define LR4_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_HI 0x0FB6
1354 #define LR4_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_LO 0x0FB7
1355 #define LR4_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD0 0x0FB8
1356 #define LR4_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD0_HI 0x0FB8
1357 #define LR4_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD0_LO 0x0FB9
1358 #define LR4_SHADOW_RESULT_SIGMA_SD0 0x0FBA
1359 #define LR4_SHADOW_RESULT_SIGMA_SD0_HI 0x0FBA
1360 #define LR4_SHADOW_RESULT_SIGMA_SD0_LO 0x0FBB
1361 #define LR4_SHADOW_RESULT_PHASE_SD0 0x0FBC
1362 #define LR4_SHADOW_RESULT_PHASE_SD0_HI 0x0FBC
1363 #define LR4_SHADOW_RESULT_PHASE_SD0_LO 0x0FBD
1364 #define LR4_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0 0x0FBE
1365 #define LR4_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_HI 0x0FBE
1366 
1367 #define LR4_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_LO 0x0FBF
1368 #define LR4_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0 0x0FC0
1369 #define LR4_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_HI 0x0FC0
1370 #define LR4_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_LO 0x0FC1
1371 #define LR4_SHADOW_RESULT_MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0 0x0FC2
1372 #define LR4_SHADOW_RESULT_MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_HI 0x0FC2
1373 #define LR4_SHADOW_RESULT_MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_LO 0x0FC3
1374 #define LR4_SHADOW_RESULT_MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0 0x0FC4
1375 #define LR4_SHADOW_RESULT_MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_HI 0x0FC4
1376 #define LR4_SHADOW_RESULT_MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_LO 0x0FC5
1377 #define LR4_SHADOW_RESULT_AVG_SIGNAL_COUNT_RATE_MCPS_SD0 0x0FC6
1378 #define LR4_SHADOW_RESULT_AVG_SIGNAL_COUNT_RATE_MCPS_SD0_HI 0x0FC6
1379 #define LR4_SHADOW_RESULT_AVG_SIGNAL_COUNT_RATE_MCPS_SD0_LO 0x0FC7
1380 #define LR4_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD1 0x0FC8
1381 #define LR4_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD1_HI 0x0FC8
1382 #define LR4_SHADOW_RESULT_DSS_ACTUAL_EFFECTIVE_SPADS_SD1_LO 0x0FC9
1383 #define LR4_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD1 0x0FCA
1384 #define LR4_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_HI 0x0FCA
1385 #define LR4_SHADOW_RESULT_PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_LO 0x0FCB
1386 #define LR4_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD1 0x0FCC
1387 #define LR4_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD1_HI 0x0FCC
1388 #define LR4_SHADOW_RESULT_AMBIENT_COUNT_RATE_MCPS_SD1_LO 0x0FCD
1389 #define LR4_SHADOW_RESULT_SIGMA_SD1 0x0FCE
1390 #define LR4_SHADOW_RESULT_SIGMA_SD1_HI 0x0FCE
1391 #define LR4_SHADOW_RESULT_SIGMA_SD1_LO 0x0FCF
1392 #define LR4_SHADOW_RESULT_PHASE_SD1 0x0FD0
1393 #define LR4_SHADOW_RESULT_PHASE_SD1_HI 0x0FD0
1394 #define LR4_SHADOW_RESULT_PHASE_SD1_LO 0x0FD1
1395 #define LR4_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1 0x0FD2
1396 #define LR4_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_HI 0x0FD2
1397 #define LR4_SHADOW_RESULT_FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_LO 0x0FD3
1398 #define LR4_SHADOW_RESULT_SPARE_0_SD1 0x0FD4
1399 #define LR4_SHADOW_RESULT_SPARE_0_SD1_HI 0x0FD4
1400 #define LR4_SHADOW_RESULT_SPARE_0_SD1_LO 0x0FD5
1401 #define LR4_SHADOW_RESULT_SPARE_1_SD1 0x0FD6
1402 #define LR4_SHADOW_RESULT_SPARE_1_SD1_HI 0x0FD6
1403 #define LR4_SHADOW_RESULT_SPARE_1_SD1_LO 0x0FD7
1404 #define LR4_SHADOW_RESULT_SPARE_2_SD1 0x0FD8
1405 #define LR4_SHADOW_RESULT_SPARE_2_SD1_HI 0x0FD8
1406 #define LR4_SHADOW_RESULT_SPARE_2_SD1_LO 0x0FD9
1407 #define LR4_SHADOW_RESULT_SPARE_3_SD1 0x0FDA
1408 #define LR4_SHADOW_RESULT_THRESH_INFO 0x0FDB
1409 #define LR4_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0 0x0FDC
1410 #define LR4_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_3 0x0FDC
1411 #define LR4_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_2 0x0FDD
1412 #define LR4_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_1 0x0FDE
1413 #define LR4_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD0_0 0x0FDF
1414 #define LR4_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0 0x0FE0
1415 #define LR4_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_3 0x0FE0
1416 #define LR4_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_2 0x0FE1
1417 #define LR4_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_1 0x0FE2
1418 #define LR4_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD0_0 0x0FE3
1419 #define LR4_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0 0x0FE4
1420 #define LR4_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_3 0x0FE4
1421 #define LR4_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_2 0x0FE5
1422 #define LR4_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_1 0x0FE6
1423 #define LR4_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD0_0 0x0FE7
1424 #define LR4_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0 0x0FE8
1425 #define LR4_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_3 0x0FE8
1426 #define LR4_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_2 0x0FE9
1427 #define LR4_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_1 0x0FEA
1428 #define LR4_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD0_0 0x0FEB
1429 #define LR4_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1 0x0FEC
1430 #define LR4_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_3 0x0FEC
1431 #define LR4_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_2 0x0FED
1432 #define LR4_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_1 0x0FEE
1433 #define LR4_SHADOW_RESULT_CORE_AMBIENT_WINDOW_EVENTS_SD1_0 0x0FEF
1434 #define LR4_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1 0x0FF0
1435 #define LR4_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_3 0x0FF0
1436 #define LR4_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_2 0x0FF1
1437 #define LR4_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_1 0x0FF2
1438 #define LR4_SHADOW_RESULT_CORE_RANGING_TOTAL_EVENTS_SD1_0 0x0FF3
1439 #define LR4_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1 0x0FF4
1440 #define LR4_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_3 0x0FF4
1441 #define LR4_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_2 0x0FF5
1442 #define LR4_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_1 0x0FF6
1443 #define LR4_SHADOW_RESULT_CORE_SIGNAL_TOTAL_EVENTS_SD1_0 0x0FF7
1444 #define LR4_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1 0x0FF8
1445 #define LR4_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_3 0x0FF8
1446 #define LR4_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_2 0x0FF9
1447 #define LR4_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_1 0x0FFA
1448 #define LR4_SHADOW_RESULT_CORE_TOTAL_PERIODS_ELAPSED_SD1_0 0x0FFB
1449 #define LR4_SHADOW_RESULT_CORE_SPARE_0 0x0FFC
1450 #define LR4_SHADOW_PHASECAL_RESULT_REFERENCE_PHASE_HI 0x0FFE
1451 #define LR4_SHADOW_PHASECAL_RESULT_REFERENCE_PHASE_LO 0x0FFF
1452 
1458 #define LR4_DISTANCE_MODE_SHORT 0x00
1459 #define LR4_DISTANCE_MODE_MEDIUM 0x01
1460 #define LR4_DISTANCE_MODE_LONG 0x02
1461 
1467 #define LR4_RESP_INSUFFICIENT_BUDGET 0x02
1468 #define LR4_RESP_TOO_HIGH_BUDGET 0x01
1469 #define LR4_RESP_BUDGET_IS_SUCCESSFULLY_SET 0x00
1470 #define LR4_RESP_DEVICE_ERROR_ID_IS_NOT_VALID 0x01
1471 #define LR4_RESP_FIRMWARE_TIMEOUT_ERROR 0x02
1472 #define LR4_RESP_INIT_IS_SUCCESSFUL 0x00
1473 #define LR4_RESP_WRONG_MODE 0x01
1474 #define LR4_RESP_MODE_SUCCESSFULLY_SET 0x00
1475 #define LR4_MRESP_SIGNAL_FAIL 0x04
1476 #define LR4_MRESP_PHASE_OUT_OF_VALID_LIMITS 0x05
1477 #define LR4_MRESP_SIGMA_FAIL 0x06
1478 #define LR4_MRESP_WRAP_TARGET_FAIL 0x07
1479 #define LR4_MRESP_MINIMUM_DETECTION_THRESHOLD 0x08
1480 
1486 #define LR4_DEFAULT_SLAVE_ADDRESS 0x29
1487  // End group macro
1490 // --------------------------------------------------------------- PUBLIC TYPES
1499 typedef struct
1500 {
1501  // Output pins
1502 
1503  digital_out_t xsh;
1504 
1505  // Input pins
1506 
1507  digital_in_t int_pin;
1508 
1509  // Modules
1510 
1511  i2c_master_t i2c;
1512 
1513  // ctx variable
1514 
1515  uint8_t slave_address;
1516 
1519 
1520 } lightranger4_t;
1521 
1525 typedef struct
1526 {
1527  // Communication gpio pins
1528 
1529  pin_name_t scl;
1530  pin_name_t sda;
1531 
1532  // Additional gpio pins
1533 
1534  pin_name_t xsh;
1535  pin_name_t int_pin;
1536 
1537  // static variable
1538 
1539  uint32_t i2c_speed;
1540  uint8_t i2c_address;
1541 
1543 
1547 typedef struct
1548 {
1549  uint8_t top_left_x;
1550  uint8_t top_left_y;
1553 
1555  // End types group
1557 // ----------------------------------------------- PUBLIC FUNCTION DECLARATIONS
1558 
1564 #ifdef __cplusplus
1565 extern "C"{
1566 #endif
1567 
1577 
1586 
1597 
1608 void lightranger4_generic_write ( lightranger4_t *ctx, uint16_t reg, uint8_t *data_buf, uint8_t len );
1609 
1621 void lightranger4_generic_read ( lightranger4_t *ctx, uint16_t reg, uint8_t *data_buf, uint8_t len );
1622 
1629 
1637 void lightranger4_start_measurement ( lightranger4_t *ctx, uint32_t period_ms );
1638 
1639 
1648 
1660 uint16_t lightranger4_get_distance ( lightranger4_t *ctx );
1661 
1669 
1681 uint8_t lightranger4_set_distance_mode ( lightranger4_t *ctx, uint8_t mode );
1682 
1690 
1698 void lightranger4_set_center ( lightranger4_t *ctx, uint8_t center_x, uint8_t center_y);
1699 
1707 void lightranger4_set_zone_size ( lightranger4_t *ctx, uint8_t width, uint8_t height );
1708 
1716 
1726 
1734 
1743 void lightranger4_set_xshut_pin ( lightranger4_t *ctx, uint8_t state );
1744 
1751 
1752 #ifdef __cplusplus
1753 }
1754 #endif
1755 #endif // _LIGHTRANGER4_H_
1756  // End public_function group
1759 
1760 // ------------------------------------------------------------------------- END
lightranger4_set_xshut_pin
void lightranger4_set_xshut_pin(lightranger4_t *ctx, uint8_t state)
Function for sets XSHUT pin.
lightranger4_get_range_status
uint8_t lightranger4_get_range_status(lightranger4_t *ctx)
Function reads range status.
lightranger4_get_intrrupt_state
uint8_t lightranger4_get_intrrupt_state(lightranger4_t *ctx)
Function reads interrupt pin state.
lightranger4_cfg_t::i2c_address
uint8_t i2c_address
Definition: lightranger4.h:1540
lightranger4_set_user_roi
void lightranger4_set_user_roi(lightranger4_t *ctx, lightranger4_user_roi_t *roi)
Functions for sets user Roi.
lightranger4_software_reset
void lightranger4_software_reset(lightranger4_t *ctx)
Function for software reset.
lightranger4_t::osc_calibrate_val
uint16_t osc_calibrate_val
Definition: lightranger4.h:1518
lightranger4_t::int_pin
digital_in_t int_pin
Definition: lightranger4.h:1507
lightranger4_get_signal_rate
uint16_t lightranger4_get_signal_rate(lightranger4_t *ctx)
Function reads signal rate.
lightranger4_generic_write
void lightranger4_generic_write(lightranger4_t *ctx, uint16_t reg, uint8_t *data_buf, uint8_t len)
Generic write function.
lightranger4_cfg_t
Click configuration structure definition.
Definition: lightranger4.h:1525
lightranger4_user_roi_t::bottom_right_x
uint8_t bottom_right_x
Definition: lightranger4.h:1551
lightranger4_init
LIGHTRANGER4_RETVAL lightranger4_init(lightranger4_t *ctx, lightranger4_cfg_t *cfg)
Initialization function.
lightranger4_set_zone_size
void lightranger4_set_zone_size(lightranger4_t *ctx, uint8_t width, uint8_t height)
Functions for sets zone size.
lightranger4_get_distance
uint16_t lightranger4_get_distance(lightranger4_t *ctx)
Function reads distance of the object in front of the sensor.
lightranger4_start_measurement
void lightranger4_start_measurement(lightranger4_t *ctx, uint32_t period_ms)
Functions for start measurement.
lightranger4_cfg_t::sda
pin_name_t sda
Definition: lightranger4.h:1530
lightranger4_cfg_t::i2c_speed
uint32_t i2c_speed
Definition: lightranger4.h:1539
lightranger4_t::i2c
i2c_master_t i2c
Definition: lightranger4.h:1511
lightranger4_user_roi_t::top_left_x
uint8_t top_left_x
Definition: lightranger4.h:1549
lightranger4_cfg_t::scl
pin_name_t scl
Definition: lightranger4.h:1529
lightranger4_power_on
void lightranger4_power_on(lightranger4_t *ctx)
Function for starts power ON procedure.
lightranger4_cfg_t::int_pin
pin_name_t int_pin
Definition: lightranger4.h:1535
lightranger4_cfg_setup
void lightranger4_cfg_setup(lightranger4_cfg_t *cfg)
Config Object Initialization function.
lightranger4_set_distance_mode
uint8_t lightranger4_set_distance_mode(lightranger4_t *ctx, uint8_t mode)
Functions for sets distance measurement mode.
lightranger4_default_cfg
LIGHTRANGER4_RETVAL lightranger4_default_cfg(lightranger4_t *ctx)
Click Default Configuration function.
lightranger4_new_data_ready
uint8_t lightranger4_new_data_ready(lightranger4_t *ctx)
Function that checks whether the new data is ready for reading.
lightranger4_user_roi_t::top_left_y
uint8_t top_left_y
Definition: lightranger4.h:1550
LIGHTRANGER4_RETVAL
#define LIGHTRANGER4_RETVAL
Definition: lightranger4.h:63
lightranger4_set_center
void lightranger4_set_center(lightranger4_t *ctx, uint8_t center_x, uint8_t center_y)
Functions for set center position.
lightranger4_t
Click ctx object definition.
Definition: lightranger4.h:1499
lightranger4_user_roi_t::bottom_right_y
uint8_t bottom_right_y
Definition: lightranger4.h:1552
lightranger4_user_roi_t
User ROI structure definition.
Definition: lightranger4.h:1547
lightranger4_t::fast_osc_frequency
uint16_t fast_osc_frequency
Definition: lightranger4.h:1517
lightranger4_cfg_t::xsh
pin_name_t xsh
Definition: lightranger4.h:1534
lightranger4_t::slave_address
uint8_t slave_address
Definition: lightranger4.h:1515
lightranger4_generic_read
void lightranger4_generic_read(lightranger4_t *ctx, uint16_t reg, uint8_t *data_buf, uint8_t len)
Generic read function.
lightranger4_set_measurement_timing_budget
LIGHTRANGER4_RETVAL lightranger4_set_measurement_timing_budget(lightranger4_t *ctx, uint32_t budget_us)
Functions for sets measurement timing budget.
lightranger4_t::xsh
digital_out_t xsh
Definition: lightranger4.h:1503