Rename library

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   VL53L3CX_NoShield_1Sensor_poll_Mb06x VL53L3_NoShield_1Sensor_polling_Mb63 X_NUCLEO_53L3A2 53L3A2_Ranging

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

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Charles MacNeill 5:89031b2f5316 1
Charles MacNeill 5:89031b2f5316 2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
Charles MacNeill 5:89031b2f5316 3 /******************************************************************************
Charles MacNeill 5:89031b2f5316 4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
Charles MacNeill 5:89031b2f5316 5
Charles MacNeill 5:89031b2f5316 6 This file is part of VL53LX and is dual licensed,
Charles MacNeill 5:89031b2f5316 7 either GPL-2.0+
Charles MacNeill 5:89031b2f5316 8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
Charles MacNeill 5:89031b2f5316 9 ******************************************************************************
Charles MacNeill 5:89031b2f5316 10 */
Charles MacNeill 5:89031b2f5316 11
Charles MacNeill 5:89031b2f5316 12
Charles MacNeill 5:89031b2f5316 13
Charles MacNeill 5:89031b2f5316 14
Charles MacNeill 5:89031b2f5316 15 #ifndef _VL53LX_CORE_H_
Charles MacNeill 5:89031b2f5316 16 #define _VL53LX_CORE_H_
Charles MacNeill 5:89031b2f5316 17
Charles MacNeill 5:89031b2f5316 18 #include "vl53lx_platform.h"
Charles MacNeill 5:89031b2f5316 19 #include "vl53lx_core_support.h"
Charles MacNeill 5:89031b2f5316 20
Charles MacNeill 5:89031b2f5316 21 #ifdef __cplusplus
Charles MacNeill 5:89031b2f5316 22 extern "C" {
Charles MacNeill 5:89031b2f5316 23 #endif
Charles MacNeill 5:89031b2f5316 24
Charles MacNeill 5:89031b2f5316 25
Charles MacNeill 5:89031b2f5316 26
Charles MacNeill 5:89031b2f5316 27
Charles MacNeill 5:89031b2f5316 28 void VL53LX_init_version(
Charles MacNeill 5:89031b2f5316 29 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 30
Charles MacNeill 5:89031b2f5316 31
Charles MacNeill 5:89031b2f5316 32
Charles MacNeill 5:89031b2f5316 33
Charles MacNeill 5:89031b2f5316 34 void VL53LX_init_ll_driver_state(
Charles MacNeill 5:89031b2f5316 35 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 36 VL53LX_DeviceState ll_state);
Charles MacNeill 5:89031b2f5316 37
Charles MacNeill 5:89031b2f5316 38
Charles MacNeill 5:89031b2f5316 39
Charles MacNeill 5:89031b2f5316 40
Charles MacNeill 5:89031b2f5316 41 VL53LX_Error VL53LX_update_ll_driver_rd_state(
Charles MacNeill 5:89031b2f5316 42 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 43
Charles MacNeill 5:89031b2f5316 44
Charles MacNeill 5:89031b2f5316 45
Charles MacNeill 5:89031b2f5316 46
Charles MacNeill 5:89031b2f5316 47 VL53LX_Error VL53LX_check_ll_driver_rd_state(
Charles MacNeill 5:89031b2f5316 48 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 49
Charles MacNeill 5:89031b2f5316 50
Charles MacNeill 5:89031b2f5316 51
Charles MacNeill 5:89031b2f5316 52
Charles MacNeill 5:89031b2f5316 53 VL53LX_Error VL53LX_update_ll_driver_cfg_state(
Charles MacNeill 5:89031b2f5316 54 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 55
Charles MacNeill 5:89031b2f5316 56
Charles MacNeill 5:89031b2f5316 57
Charles MacNeill 5:89031b2f5316 58
Charles MacNeill 5:89031b2f5316 59 void VL53LX_copy_rtn_good_spads_to_buffer(
Charles MacNeill 5:89031b2f5316 60 VL53LX_nvm_copy_data_t *pdata,
Charles MacNeill 5:89031b2f5316 61 uint8_t *pbuffer);
Charles MacNeill 5:89031b2f5316 62
Charles MacNeill 5:89031b2f5316 63
Charles MacNeill 5:89031b2f5316 64
Charles MacNeill 5:89031b2f5316 65
Charles MacNeill 5:89031b2f5316 66 void VL53LX_init_system_results(
Charles MacNeill 5:89031b2f5316 67 VL53LX_system_results_t *pdata);
Charles MacNeill 5:89031b2f5316 68
Charles MacNeill 5:89031b2f5316 69
Charles MacNeill 5:89031b2f5316 70
Charles MacNeill 5:89031b2f5316 71
Charles MacNeill 5:89031b2f5316 72 void V53L1_init_zone_results_structure(
Charles MacNeill 5:89031b2f5316 73 uint8_t active_zones,
Charles MacNeill 5:89031b2f5316 74 VL53LX_zone_results_t *pdata);
Charles MacNeill 5:89031b2f5316 75
Charles MacNeill 5:89031b2f5316 76
Charles MacNeill 5:89031b2f5316 77
Charles MacNeill 5:89031b2f5316 78
Charles MacNeill 5:89031b2f5316 79 void V53L1_init_zone_dss_configs(
Charles MacNeill 5:89031b2f5316 80 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 81
Charles MacNeill 5:89031b2f5316 82
Charles MacNeill 5:89031b2f5316 83
Charles MacNeill 5:89031b2f5316 84
Charles MacNeill 5:89031b2f5316 85 void VL53LX_init_histogram_config_structure(
Charles MacNeill 5:89031b2f5316 86 uint8_t even_bin0,
Charles MacNeill 5:89031b2f5316 87 uint8_t even_bin1,
Charles MacNeill 5:89031b2f5316 88 uint8_t even_bin2,
Charles MacNeill 5:89031b2f5316 89 uint8_t even_bin3,
Charles MacNeill 5:89031b2f5316 90 uint8_t even_bin4,
Charles MacNeill 5:89031b2f5316 91 uint8_t even_bin5,
Charles MacNeill 5:89031b2f5316 92 uint8_t odd_bin0,
Charles MacNeill 5:89031b2f5316 93 uint8_t odd_bin1,
Charles MacNeill 5:89031b2f5316 94 uint8_t odd_bin2,
Charles MacNeill 5:89031b2f5316 95 uint8_t odd_bin3,
Charles MacNeill 5:89031b2f5316 96 uint8_t odd_bin4,
Charles MacNeill 5:89031b2f5316 97 uint8_t odd_bin5,
Charles MacNeill 5:89031b2f5316 98 VL53LX_histogram_config_t *pdata);
Charles MacNeill 5:89031b2f5316 99
Charles MacNeill 5:89031b2f5316 100
Charles MacNeill 5:89031b2f5316 101
Charles MacNeill 5:89031b2f5316 102 void VL53LX_init_histogram_multizone_config_structure(
Charles MacNeill 5:89031b2f5316 103 uint8_t even_bin0,
Charles MacNeill 5:89031b2f5316 104 uint8_t even_bin1,
Charles MacNeill 5:89031b2f5316 105 uint8_t even_bin2,
Charles MacNeill 5:89031b2f5316 106 uint8_t even_bin3,
Charles MacNeill 5:89031b2f5316 107 uint8_t even_bin4,
Charles MacNeill 5:89031b2f5316 108 uint8_t even_bin5,
Charles MacNeill 5:89031b2f5316 109 uint8_t odd_bin0,
Charles MacNeill 5:89031b2f5316 110 uint8_t odd_bin1,
Charles MacNeill 5:89031b2f5316 111 uint8_t odd_bin2,
Charles MacNeill 5:89031b2f5316 112 uint8_t odd_bin3,
Charles MacNeill 5:89031b2f5316 113 uint8_t odd_bin4,
Charles MacNeill 5:89031b2f5316 114 uint8_t odd_bin5,
Charles MacNeill 5:89031b2f5316 115 VL53LX_histogram_config_t *pdata);
Charles MacNeill 5:89031b2f5316 116
Charles MacNeill 5:89031b2f5316 117
Charles MacNeill 5:89031b2f5316 118
Charles MacNeill 5:89031b2f5316 119
Charles MacNeill 5:89031b2f5316 120 void VL53LX_init_xtalk_bin_data_struct(
Charles MacNeill 5:89031b2f5316 121 uint32_t bin_value,
Charles MacNeill 5:89031b2f5316 122 uint16_t VL53LX_p_021,
Charles MacNeill 5:89031b2f5316 123 VL53LX_xtalk_histogram_shape_t *pdata);
Charles MacNeill 5:89031b2f5316 124
Charles MacNeill 5:89031b2f5316 125
Charles MacNeill 5:89031b2f5316 126
Charles MacNeill 5:89031b2f5316 127
Charles MacNeill 5:89031b2f5316 128 void VL53LX_i2c_encode_uint16_t(
Charles MacNeill 5:89031b2f5316 129 uint16_t ip_value,
Charles MacNeill 5:89031b2f5316 130 uint16_t count,
Charles MacNeill 5:89031b2f5316 131 uint8_t *pbuffer);
Charles MacNeill 5:89031b2f5316 132
Charles MacNeill 5:89031b2f5316 133
Charles MacNeill 5:89031b2f5316 134
Charles MacNeill 5:89031b2f5316 135
Charles MacNeill 5:89031b2f5316 136 uint16_t VL53LX_i2c_decode_uint16_t(
Charles MacNeill 5:89031b2f5316 137 uint16_t count,
Charles MacNeill 5:89031b2f5316 138 uint8_t *pbuffer);
Charles MacNeill 5:89031b2f5316 139
Charles MacNeill 5:89031b2f5316 140
Charles MacNeill 5:89031b2f5316 141
Charles MacNeill 5:89031b2f5316 142
Charles MacNeill 5:89031b2f5316 143 void VL53LX_i2c_encode_int16_t(
Charles MacNeill 5:89031b2f5316 144 int16_t ip_value,
Charles MacNeill 5:89031b2f5316 145 uint16_t count,
Charles MacNeill 5:89031b2f5316 146 uint8_t *pbuffer);
Charles MacNeill 5:89031b2f5316 147
Charles MacNeill 5:89031b2f5316 148
Charles MacNeill 5:89031b2f5316 149
Charles MacNeill 5:89031b2f5316 150
Charles MacNeill 5:89031b2f5316 151 int16_t VL53LX_i2c_decode_int16_t(
Charles MacNeill 5:89031b2f5316 152 uint16_t count,
Charles MacNeill 5:89031b2f5316 153 uint8_t *pbuffer);
Charles MacNeill 5:89031b2f5316 154
Charles MacNeill 5:89031b2f5316 155
Charles MacNeill 5:89031b2f5316 156
Charles MacNeill 5:89031b2f5316 157
Charles MacNeill 5:89031b2f5316 158 void VL53LX_i2c_encode_uint32_t(
Charles MacNeill 5:89031b2f5316 159 uint32_t ip_value,
Charles MacNeill 5:89031b2f5316 160 uint16_t count,
Charles MacNeill 5:89031b2f5316 161 uint8_t *pbuffer);
Charles MacNeill 5:89031b2f5316 162
Charles MacNeill 5:89031b2f5316 163
Charles MacNeill 5:89031b2f5316 164
Charles MacNeill 5:89031b2f5316 165
Charles MacNeill 5:89031b2f5316 166 uint32_t VL53LX_i2c_decode_uint32_t(
Charles MacNeill 5:89031b2f5316 167 uint16_t count,
Charles MacNeill 5:89031b2f5316 168 uint8_t *pbuffer);
Charles MacNeill 5:89031b2f5316 169
Charles MacNeill 5:89031b2f5316 170
Charles MacNeill 5:89031b2f5316 171
Charles MacNeill 5:89031b2f5316 172
Charles MacNeill 5:89031b2f5316 173 uint32_t VL53LX_i2c_decode_with_mask(
Charles MacNeill 5:89031b2f5316 174 uint16_t count,
Charles MacNeill 5:89031b2f5316 175 uint8_t *pbuffer,
Charles MacNeill 5:89031b2f5316 176 uint32_t bit_mask,
Charles MacNeill 5:89031b2f5316 177 uint32_t down_shift,
Charles MacNeill 5:89031b2f5316 178 uint32_t offset);
Charles MacNeill 5:89031b2f5316 179
Charles MacNeill 5:89031b2f5316 180
Charles MacNeill 5:89031b2f5316 181
Charles MacNeill 5:89031b2f5316 182
Charles MacNeill 5:89031b2f5316 183 void VL53LX_i2c_encode_int32_t(
Charles MacNeill 5:89031b2f5316 184 int32_t ip_value,
Charles MacNeill 5:89031b2f5316 185 uint16_t count,
Charles MacNeill 5:89031b2f5316 186 uint8_t *pbuffer);
Charles MacNeill 5:89031b2f5316 187
Charles MacNeill 5:89031b2f5316 188
Charles MacNeill 5:89031b2f5316 189
Charles MacNeill 5:89031b2f5316 190
Charles MacNeill 5:89031b2f5316 191 int32_t VL53LX_i2c_decode_int32_t(
Charles MacNeill 5:89031b2f5316 192 uint16_t count,
Charles MacNeill 5:89031b2f5316 193 uint8_t *pbuffer);
Charles MacNeill 5:89031b2f5316 194
Charles MacNeill 5:89031b2f5316 195
Charles MacNeill 5:89031b2f5316 196
Charles MacNeill 5:89031b2f5316 197
Charles MacNeill 5:89031b2f5316 198 VL53LX_Error VL53LX_start_test(
Charles MacNeill 5:89031b2f5316 199 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 200 uint8_t test_mode__ctrl);
Charles MacNeill 5:89031b2f5316 201
Charles MacNeill 5:89031b2f5316 202
Charles MacNeill 5:89031b2f5316 203
Charles MacNeill 5:89031b2f5316 204
Charles MacNeill 5:89031b2f5316 205 VL53LX_Error VL53LX_set_firmware_enable_register(
Charles MacNeill 5:89031b2f5316 206 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 207 uint8_t value);
Charles MacNeill 5:89031b2f5316 208
Charles MacNeill 5:89031b2f5316 209
Charles MacNeill 5:89031b2f5316 210
Charles MacNeill 5:89031b2f5316 211
Charles MacNeill 5:89031b2f5316 212 VL53LX_Error VL53LX_enable_firmware(
Charles MacNeill 5:89031b2f5316 213 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 214
Charles MacNeill 5:89031b2f5316 215
Charles MacNeill 5:89031b2f5316 216
Charles MacNeill 5:89031b2f5316 217
Charles MacNeill 5:89031b2f5316 218 VL53LX_Error VL53LX_disable_firmware(
Charles MacNeill 5:89031b2f5316 219 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 220
Charles MacNeill 5:89031b2f5316 221
Charles MacNeill 5:89031b2f5316 222
Charles MacNeill 5:89031b2f5316 223
Charles MacNeill 5:89031b2f5316 224 VL53LX_Error VL53LX_set_powerforce_register(
Charles MacNeill 5:89031b2f5316 225 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 226 uint8_t value);
Charles MacNeill 5:89031b2f5316 227
Charles MacNeill 5:89031b2f5316 228
Charles MacNeill 5:89031b2f5316 229
Charles MacNeill 5:89031b2f5316 230
Charles MacNeill 5:89031b2f5316 231
Charles MacNeill 5:89031b2f5316 232 VL53LX_Error VL53LX_enable_powerforce(
Charles MacNeill 5:89031b2f5316 233 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 234
Charles MacNeill 5:89031b2f5316 235
Charles MacNeill 5:89031b2f5316 236
Charles MacNeill 5:89031b2f5316 237 VL53LX_Error VL53LX_disable_powerforce(
Charles MacNeill 5:89031b2f5316 238 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 239
Charles MacNeill 5:89031b2f5316 240
Charles MacNeill 5:89031b2f5316 241
Charles MacNeill 5:89031b2f5316 242
Charles MacNeill 5:89031b2f5316 243
Charles MacNeill 5:89031b2f5316 244 VL53LX_Error VL53LX_clear_interrupt(
Charles MacNeill 5:89031b2f5316 245 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 246
Charles MacNeill 5:89031b2f5316 247
Charles MacNeill 5:89031b2f5316 248
Charles MacNeill 5:89031b2f5316 249
Charles MacNeill 5:89031b2f5316 250
Charles MacNeill 5:89031b2f5316 251 VL53LX_Error VL53LX_force_shadow_stream_count_to_zero(
Charles MacNeill 5:89031b2f5316 252 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 253
Charles MacNeill 5:89031b2f5316 254
Charles MacNeill 5:89031b2f5316 255
Charles MacNeill 5:89031b2f5316 256
Charles MacNeill 5:89031b2f5316 257 uint32_t VL53LX_calc_macro_period_us(
Charles MacNeill 5:89031b2f5316 258 uint16_t fast_osc_frequency,
Charles MacNeill 5:89031b2f5316 259 uint8_t VL53LX_p_005);
Charles MacNeill 5:89031b2f5316 260
Charles MacNeill 5:89031b2f5316 261
Charles MacNeill 5:89031b2f5316 262
Charles MacNeill 5:89031b2f5316 263
Charles MacNeill 5:89031b2f5316 264 uint16_t VL53LX_calc_range_ignore_threshold(
Charles MacNeill 5:89031b2f5316 265 uint32_t central_rate,
Charles MacNeill 5:89031b2f5316 266 int16_t x_gradient,
Charles MacNeill 5:89031b2f5316 267 int16_t y_gradient,
Charles MacNeill 5:89031b2f5316 268 uint8_t rate_mult);
Charles MacNeill 5:89031b2f5316 269
Charles MacNeill 5:89031b2f5316 270
Charles MacNeill 5:89031b2f5316 271
Charles MacNeill 5:89031b2f5316 272
Charles MacNeill 5:89031b2f5316 273 uint32_t VL53LX_calc_timeout_mclks(
Charles MacNeill 5:89031b2f5316 274 uint32_t timeout_us,
Charles MacNeill 5:89031b2f5316 275 uint32_t macro_period_us);
Charles MacNeill 5:89031b2f5316 276
Charles MacNeill 5:89031b2f5316 277
Charles MacNeill 5:89031b2f5316 278
Charles MacNeill 5:89031b2f5316 279 uint16_t VL53LX_calc_encoded_timeout(
Charles MacNeill 5:89031b2f5316 280 uint32_t timeout_us,
Charles MacNeill 5:89031b2f5316 281 uint32_t macro_period_us);
Charles MacNeill 5:89031b2f5316 282
Charles MacNeill 5:89031b2f5316 283
Charles MacNeill 5:89031b2f5316 284
Charles MacNeill 5:89031b2f5316 285
Charles MacNeill 5:89031b2f5316 286 uint32_t VL53LX_calc_timeout_us(
Charles MacNeill 5:89031b2f5316 287 uint32_t timeout_mclks,
Charles MacNeill 5:89031b2f5316 288 uint32_t macro_period_us);
Charles MacNeill 5:89031b2f5316 289
Charles MacNeill 5:89031b2f5316 290
Charles MacNeill 5:89031b2f5316 291
Charles MacNeill 5:89031b2f5316 292 uint32_t VL53LX_calc_decoded_timeout_us(
Charles MacNeill 5:89031b2f5316 293 uint16_t timeout_encoded,
Charles MacNeill 5:89031b2f5316 294 uint32_t macro_period_us);
Charles MacNeill 5:89031b2f5316 295
Charles MacNeill 5:89031b2f5316 296
Charles MacNeill 5:89031b2f5316 297
Charles MacNeill 5:89031b2f5316 298
Charles MacNeill 5:89031b2f5316 299 uint16_t VL53LX_encode_timeout(
Charles MacNeill 5:89031b2f5316 300 uint32_t timeout_mclks);
Charles MacNeill 5:89031b2f5316 301
Charles MacNeill 5:89031b2f5316 302
Charles MacNeill 5:89031b2f5316 303
Charles MacNeill 5:89031b2f5316 304
Charles MacNeill 5:89031b2f5316 305 uint32_t VL53LX_decode_timeout(
Charles MacNeill 5:89031b2f5316 306 uint16_t encoded_timeout);
Charles MacNeill 5:89031b2f5316 307
Charles MacNeill 5:89031b2f5316 308
Charles MacNeill 5:89031b2f5316 309
Charles MacNeill 5:89031b2f5316 310
Charles MacNeill 5:89031b2f5316 311 VL53LX_Error VL53LX_calc_timeout_register_values(
Charles MacNeill 5:89031b2f5316 312 uint32_t phasecal_config_timeout_us,
Charles MacNeill 5:89031b2f5316 313 uint32_t mm_config_timeout_us,
Charles MacNeill 5:89031b2f5316 314 uint32_t range_config_timeout_us,
Charles MacNeill 5:89031b2f5316 315 uint16_t fast_osc_frequency,
Charles MacNeill 5:89031b2f5316 316 VL53LX_general_config_t *pgeneral,
Charles MacNeill 5:89031b2f5316 317 VL53LX_timing_config_t *ptiming);
Charles MacNeill 5:89031b2f5316 318
Charles MacNeill 5:89031b2f5316 319
Charles MacNeill 5:89031b2f5316 320
Charles MacNeill 5:89031b2f5316 321
Charles MacNeill 5:89031b2f5316 322 uint8_t VL53LX_encode_vcsel_period(
Charles MacNeill 5:89031b2f5316 323 uint8_t VL53LX_p_030);
Charles MacNeill 5:89031b2f5316 324
Charles MacNeill 5:89031b2f5316 325
Charles MacNeill 5:89031b2f5316 326
Charles MacNeill 5:89031b2f5316 327
Charles MacNeill 5:89031b2f5316 328 uint32_t VL53LX_decode_unsigned_integer(
Charles MacNeill 5:89031b2f5316 329 uint8_t *pbuffer,
Charles MacNeill 5:89031b2f5316 330 uint8_t no_of_bytes);
Charles MacNeill 5:89031b2f5316 331
Charles MacNeill 5:89031b2f5316 332
Charles MacNeill 5:89031b2f5316 333
Charles MacNeill 5:89031b2f5316 334
Charles MacNeill 5:89031b2f5316 335 void VL53LX_encode_unsigned_integer(
Charles MacNeill 5:89031b2f5316 336 uint32_t ip_value,
Charles MacNeill 5:89031b2f5316 337 uint8_t no_of_bytes,
Charles MacNeill 5:89031b2f5316 338 uint8_t *pbuffer);
Charles MacNeill 5:89031b2f5316 339
Charles MacNeill 5:89031b2f5316 340
Charles MacNeill 5:89031b2f5316 341
Charles MacNeill 5:89031b2f5316 342
Charles MacNeill 5:89031b2f5316 343 VL53LX_Error VL53LX_hist_copy_and_scale_ambient_info(
Charles MacNeill 5:89031b2f5316 344 VL53LX_zone_hist_info_t *pidata,
Charles MacNeill 5:89031b2f5316 345 VL53LX_histogram_bin_data_t *podata);
Charles MacNeill 5:89031b2f5316 346
Charles MacNeill 5:89031b2f5316 347
Charles MacNeill 5:89031b2f5316 348
Charles MacNeill 5:89031b2f5316 349
Charles MacNeill 5:89031b2f5316 350 void VL53LX_hist_get_bin_sequence_config(
Charles MacNeill 5:89031b2f5316 351 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 352 VL53LX_histogram_bin_data_t *pdata);
Charles MacNeill 5:89031b2f5316 353
Charles MacNeill 5:89031b2f5316 354
Charles MacNeill 5:89031b2f5316 355
Charles MacNeill 5:89031b2f5316 356
Charles MacNeill 5:89031b2f5316 357 VL53LX_Error VL53LX_hist_phase_consistency_check(
Charles MacNeill 5:89031b2f5316 358 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 359 VL53LX_zone_hist_info_t *phist_prev,
Charles MacNeill 5:89031b2f5316 360 VL53LX_zone_objects_t *prange_prev,
Charles MacNeill 5:89031b2f5316 361 VL53LX_range_results_t *prange_curr);
Charles MacNeill 5:89031b2f5316 362
Charles MacNeill 5:89031b2f5316 363
Charles MacNeill 5:89031b2f5316 364
Charles MacNeill 5:89031b2f5316 365
Charles MacNeill 5:89031b2f5316 366
Charles MacNeill 5:89031b2f5316 367
Charles MacNeill 5:89031b2f5316 368
Charles MacNeill 5:89031b2f5316 369 VL53LX_Error VL53LX_hist_events_consistency_check(
Charles MacNeill 5:89031b2f5316 370 uint8_t event_sigma,
Charles MacNeill 5:89031b2f5316 371 uint16_t min_effective_spad_count,
Charles MacNeill 5:89031b2f5316 372 VL53LX_zone_hist_info_t *phist_prev,
Charles MacNeill 5:89031b2f5316 373 VL53LX_object_data_t *prange_prev,
Charles MacNeill 5:89031b2f5316 374 VL53LX_range_data_t *prange_curr,
Charles MacNeill 5:89031b2f5316 375 int32_t *pevents_tolerance,
Charles MacNeill 5:89031b2f5316 376 int32_t *pevents_delta,
Charles MacNeill 5:89031b2f5316 377 VL53LX_DeviceError *prange_status);
Charles MacNeill 5:89031b2f5316 378
Charles MacNeill 5:89031b2f5316 379
Charles MacNeill 5:89031b2f5316 380
Charles MacNeill 5:89031b2f5316 381
Charles MacNeill 5:89031b2f5316 382
Charles MacNeill 5:89031b2f5316 383
Charles MacNeill 5:89031b2f5316 384
Charles MacNeill 5:89031b2f5316 385 VL53LX_Error VL53LX_hist_merged_pulse_check(
Charles MacNeill 5:89031b2f5316 386 int16_t min_max_tolerance_mm,
Charles MacNeill 5:89031b2f5316 387 VL53LX_range_data_t *pdata,
Charles MacNeill 5:89031b2f5316 388 VL53LX_DeviceError *prange_status);
Charles MacNeill 5:89031b2f5316 389
Charles MacNeill 5:89031b2f5316 390
Charles MacNeill 5:89031b2f5316 391
Charles MacNeill 5:89031b2f5316 392
Charles MacNeill 5:89031b2f5316 393
Charles MacNeill 5:89031b2f5316 394
Charles MacNeill 5:89031b2f5316 395 VL53LX_Error VL53LX_hist_xmonitor_consistency_check(
Charles MacNeill 5:89031b2f5316 396 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 397 VL53LX_zone_hist_info_t *phist_prev,
Charles MacNeill 5:89031b2f5316 398 VL53LX_zone_objects_t *prange_prev,
Charles MacNeill 5:89031b2f5316 399 VL53LX_range_data_t *prange_curr);
Charles MacNeill 5:89031b2f5316 400
Charles MacNeill 5:89031b2f5316 401
Charles MacNeill 5:89031b2f5316 402
Charles MacNeill 5:89031b2f5316 403
Charles MacNeill 5:89031b2f5316 404
Charles MacNeill 5:89031b2f5316 405
Charles MacNeill 5:89031b2f5316 406 VL53LX_Error VL53LX_hist_wrap_dmax(
Charles MacNeill 5:89031b2f5316 407 VL53LX_hist_post_process_config_t *phistpostprocess,
Charles MacNeill 5:89031b2f5316 408 VL53LX_histogram_bin_data_t *pcurrent,
Charles MacNeill 5:89031b2f5316 409 int16_t *pwrap_dmax_mm);
Charles MacNeill 5:89031b2f5316 410
Charles MacNeill 5:89031b2f5316 411
Charles MacNeill 5:89031b2f5316 412
Charles MacNeill 5:89031b2f5316 413
Charles MacNeill 5:89031b2f5316 414 void VL53LX_hist_combine_mm1_mm2_offsets(
Charles MacNeill 5:89031b2f5316 415 int16_t mm1_offset_mm,
Charles MacNeill 5:89031b2f5316 416 int16_t mm2_offset_mm,
Charles MacNeill 5:89031b2f5316 417 uint8_t encoded_mm_roi_centre,
Charles MacNeill 5:89031b2f5316 418 uint8_t encoded_mm_roi_size,
Charles MacNeill 5:89031b2f5316 419 uint8_t encoded_zone_centre,
Charles MacNeill 5:89031b2f5316 420 uint8_t encoded_zone_size,
Charles MacNeill 5:89031b2f5316 421 VL53LX_additional_offset_cal_data_t *pcal_data,
Charles MacNeill 5:89031b2f5316 422 uint8_t *pgood_spads,
Charles MacNeill 5:89031b2f5316 423 uint16_t aperture_attenuation,
Charles MacNeill 5:89031b2f5316 424 int16_t *prange_offset_mm);
Charles MacNeill 5:89031b2f5316 425
Charles MacNeill 5:89031b2f5316 426
Charles MacNeill 5:89031b2f5316 427
Charles MacNeill 5:89031b2f5316 428
Charles MacNeill 5:89031b2f5316 429 VL53LX_Error VL53LX_hist_xtalk_extract_calc_window(
Charles MacNeill 5:89031b2f5316 430 int16_t target_distance_mm,
Charles MacNeill 5:89031b2f5316 431 uint16_t target_width_oversize,
Charles MacNeill 5:89031b2f5316 432 VL53LX_histogram_bin_data_t *phist_bins,
Charles MacNeill 5:89031b2f5316 433 VL53LX_hist_xtalk_extract_data_t *pxtalk_data);
Charles MacNeill 5:89031b2f5316 434
Charles MacNeill 5:89031b2f5316 435
Charles MacNeill 5:89031b2f5316 436
Charles MacNeill 5:89031b2f5316 437
Charles MacNeill 5:89031b2f5316 438 VL53LX_Error VL53LX_hist_xtalk_extract_calc_event_sums(
Charles MacNeill 5:89031b2f5316 439 VL53LX_histogram_bin_data_t *phist_bins,
Charles MacNeill 5:89031b2f5316 440 VL53LX_hist_xtalk_extract_data_t *pxtalk_data);
Charles MacNeill 5:89031b2f5316 441
Charles MacNeill 5:89031b2f5316 442
Charles MacNeill 5:89031b2f5316 443
Charles MacNeill 5:89031b2f5316 444
Charles MacNeill 5:89031b2f5316 445 VL53LX_Error VL53LX_hist_xtalk_extract_calc_rate_per_spad(
Charles MacNeill 5:89031b2f5316 446 VL53LX_hist_xtalk_extract_data_t *pxtalk_data);
Charles MacNeill 5:89031b2f5316 447
Charles MacNeill 5:89031b2f5316 448
Charles MacNeill 5:89031b2f5316 449
Charles MacNeill 5:89031b2f5316 450 VL53LX_Error VL53LX_hist_xtalk_extract_calc_shape(
Charles MacNeill 5:89031b2f5316 451 VL53LX_hist_xtalk_extract_data_t *pxtalk_data,
Charles MacNeill 5:89031b2f5316 452 VL53LX_xtalk_histogram_shape_t *pxtalk_shape);
Charles MacNeill 5:89031b2f5316 453
Charles MacNeill 5:89031b2f5316 454
Charles MacNeill 5:89031b2f5316 455
Charles MacNeill 5:89031b2f5316 456 VL53LX_Error VL53LX_hist_xtalk_shape_model(
Charles MacNeill 5:89031b2f5316 457 uint16_t events_per_bin,
Charles MacNeill 5:89031b2f5316 458 uint16_t pulse_centre,
Charles MacNeill 5:89031b2f5316 459 uint16_t pulse_width,
Charles MacNeill 5:89031b2f5316 460 VL53LX_xtalk_histogram_shape_t *pxtalk_shape);
Charles MacNeill 5:89031b2f5316 461
Charles MacNeill 5:89031b2f5316 462
Charles MacNeill 5:89031b2f5316 463
Charles MacNeill 5:89031b2f5316 464
Charles MacNeill 5:89031b2f5316 465 uint16_t VL53LX_hist_xtalk_shape_model_interp(
Charles MacNeill 5:89031b2f5316 466 uint16_t events_per_bin,
Charles MacNeill 5:89031b2f5316 467 uint32_t phase_delta);
Charles MacNeill 5:89031b2f5316 468
Charles MacNeill 5:89031b2f5316 469
Charles MacNeill 5:89031b2f5316 470
Charles MacNeill 5:89031b2f5316 471
Charles MacNeill 5:89031b2f5316 472 void VL53LX_spad_number_to_byte_bit_index(
Charles MacNeill 5:89031b2f5316 473 uint8_t spad_number,
Charles MacNeill 5:89031b2f5316 474 uint8_t *pbyte_index,
Charles MacNeill 5:89031b2f5316 475 uint8_t *pbit_index,
Charles MacNeill 5:89031b2f5316 476 uint8_t *pbit_mask);
Charles MacNeill 5:89031b2f5316 477
Charles MacNeill 5:89031b2f5316 478
Charles MacNeill 5:89031b2f5316 479
Charles MacNeill 5:89031b2f5316 480
Charles MacNeill 5:89031b2f5316 481 void VL53LX_encode_row_col(
Charles MacNeill 5:89031b2f5316 482 uint8_t row,
Charles MacNeill 5:89031b2f5316 483 uint8_t col,
Charles MacNeill 5:89031b2f5316 484 uint8_t *pspad_number);
Charles MacNeill 5:89031b2f5316 485
Charles MacNeill 5:89031b2f5316 486
Charles MacNeill 5:89031b2f5316 487
Charles MacNeill 5:89031b2f5316 488
Charles MacNeill 5:89031b2f5316 489 void VL53LX_decode_zone_size(
Charles MacNeill 5:89031b2f5316 490 uint8_t encoded_xy_size,
Charles MacNeill 5:89031b2f5316 491 uint8_t *pwidth,
Charles MacNeill 5:89031b2f5316 492 uint8_t *pheight);
Charles MacNeill 5:89031b2f5316 493
Charles MacNeill 5:89031b2f5316 494
Charles MacNeill 5:89031b2f5316 495
Charles MacNeill 5:89031b2f5316 496
Charles MacNeill 5:89031b2f5316 497 void VL53LX_encode_zone_size(
Charles MacNeill 5:89031b2f5316 498 uint8_t width,
Charles MacNeill 5:89031b2f5316 499 uint8_t height,
Charles MacNeill 5:89031b2f5316 500 uint8_t *pencoded_xy_size);
Charles MacNeill 5:89031b2f5316 501
Charles MacNeill 5:89031b2f5316 502
Charles MacNeill 5:89031b2f5316 503
Charles MacNeill 5:89031b2f5316 504
Charles MacNeill 5:89031b2f5316 505 void VL53LX_decode_zone_limits(
Charles MacNeill 5:89031b2f5316 506 uint8_t encoded_xy_centre,
Charles MacNeill 5:89031b2f5316 507 uint8_t encoded_xy_size,
Charles MacNeill 5:89031b2f5316 508 int16_t *px_ll,
Charles MacNeill 5:89031b2f5316 509 int16_t *py_ll,
Charles MacNeill 5:89031b2f5316 510 int16_t *px_ur,
Charles MacNeill 5:89031b2f5316 511 int16_t *py_ur);
Charles MacNeill 5:89031b2f5316 512
Charles MacNeill 5:89031b2f5316 513
Charles MacNeill 5:89031b2f5316 514
Charles MacNeill 5:89031b2f5316 515
Charles MacNeill 5:89031b2f5316 516 uint8_t VL53LX_is_aperture_location(
Charles MacNeill 5:89031b2f5316 517 uint8_t row,
Charles MacNeill 5:89031b2f5316 518 uint8_t col);
Charles MacNeill 5:89031b2f5316 519
Charles MacNeill 5:89031b2f5316 520
Charles MacNeill 5:89031b2f5316 521
Charles MacNeill 5:89031b2f5316 522
Charles MacNeill 5:89031b2f5316 523 void VL53LX_calc_max_effective_spads(
Charles MacNeill 5:89031b2f5316 524 uint8_t encoded_zone_centre,
Charles MacNeill 5:89031b2f5316 525 uint8_t encoded_zone_size,
Charles MacNeill 5:89031b2f5316 526 uint8_t *pgood_spads,
Charles MacNeill 5:89031b2f5316 527 uint16_t aperture_attenuation,
Charles MacNeill 5:89031b2f5316 528 uint16_t *pmax_effective_spads);
Charles MacNeill 5:89031b2f5316 529
Charles MacNeill 5:89031b2f5316 530
Charles MacNeill 5:89031b2f5316 531
Charles MacNeill 5:89031b2f5316 532
Charles MacNeill 5:89031b2f5316 533 void VL53LX_calc_mm_effective_spads(
Charles MacNeill 5:89031b2f5316 534 uint8_t encoded_mm_roi_centre,
Charles MacNeill 5:89031b2f5316 535 uint8_t encoded_mm_roi_size,
Charles MacNeill 5:89031b2f5316 536 uint8_t encoded_zone_centre,
Charles MacNeill 5:89031b2f5316 537 uint8_t encoded_zone_size,
Charles MacNeill 5:89031b2f5316 538 uint8_t *pgood_spads,
Charles MacNeill 5:89031b2f5316 539 uint16_t aperture_attenuation,
Charles MacNeill 5:89031b2f5316 540 uint16_t *pmm_inner_effective_spads,
Charles MacNeill 5:89031b2f5316 541 uint16_t *pmm_outer_effective_spads);
Charles MacNeill 5:89031b2f5316 542
Charles MacNeill 5:89031b2f5316 543
Charles MacNeill 5:89031b2f5316 544
Charles MacNeill 5:89031b2f5316 545
Charles MacNeill 5:89031b2f5316 546 void VL53LX_hist_copy_results_to_sys_and_core(
Charles MacNeill 5:89031b2f5316 547 VL53LX_histogram_bin_data_t *pbins,
Charles MacNeill 5:89031b2f5316 548 VL53LX_range_results_t *phist,
Charles MacNeill 5:89031b2f5316 549 VL53LX_system_results_t *psys,
Charles MacNeill 5:89031b2f5316 550 VL53LX_core_results_t *pcore);
Charles MacNeill 5:89031b2f5316 551
Charles MacNeill 5:89031b2f5316 552
Charles MacNeill 5:89031b2f5316 553
Charles MacNeill 5:89031b2f5316 554
Charles MacNeill 5:89031b2f5316 555 VL53LX_Error VL53LX_sum_histogram_data(
Charles MacNeill 5:89031b2f5316 556 VL53LX_histogram_bin_data_t *phist_input,
Charles MacNeill 5:89031b2f5316 557 VL53LX_histogram_bin_data_t *phist_output);
Charles MacNeill 5:89031b2f5316 558
Charles MacNeill 5:89031b2f5316 559
Charles MacNeill 5:89031b2f5316 560
Charles MacNeill 5:89031b2f5316 561
Charles MacNeill 5:89031b2f5316 562 VL53LX_Error VL53LX_avg_histogram_data(
Charles MacNeill 5:89031b2f5316 563 uint8_t no_of_samples,
Charles MacNeill 5:89031b2f5316 564 VL53LX_histogram_bin_data_t *phist_sum,
Charles MacNeill 5:89031b2f5316 565 VL53LX_histogram_bin_data_t *phist_avg);
Charles MacNeill 5:89031b2f5316 566
Charles MacNeill 5:89031b2f5316 567
Charles MacNeill 5:89031b2f5316 568
Charles MacNeill 5:89031b2f5316 569
Charles MacNeill 5:89031b2f5316 570 VL53LX_Error VL53LX_save_cfg_data(
Charles MacNeill 5:89031b2f5316 571 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 572
Charles MacNeill 5:89031b2f5316 573
Charles MacNeill 5:89031b2f5316 574
Charles MacNeill 5:89031b2f5316 575
Charles MacNeill 5:89031b2f5316 576 VL53LX_Error VL53LX_dynamic_zone_update(
Charles MacNeill 5:89031b2f5316 577 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 578 VL53LX_range_results_t *presults);
Charles MacNeill 5:89031b2f5316 579
Charles MacNeill 5:89031b2f5316 580
Charles MacNeill 5:89031b2f5316 581
Charles MacNeill 5:89031b2f5316 582
Charles MacNeill 5:89031b2f5316 583 VL53LX_Error VL53LX_update_internal_stream_counters(
Charles MacNeill 5:89031b2f5316 584 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 585 uint8_t external_stream_count,
Charles MacNeill 5:89031b2f5316 586 uint8_t *pinternal_stream_count,
Charles MacNeill 5:89031b2f5316 587 uint8_t *pinternal_stream_count_val
Charles MacNeill 5:89031b2f5316 588 );
Charles MacNeill 5:89031b2f5316 589
Charles MacNeill 5:89031b2f5316 590
Charles MacNeill 5:89031b2f5316 591
Charles MacNeill 5:89031b2f5316 592 VL53LX_Error VL53LX_multizone_hist_bins_update(
Charles MacNeill 5:89031b2f5316 593 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 594
Charles MacNeill 5:89031b2f5316 595
Charles MacNeill 5:89031b2f5316 596
Charles MacNeill 5:89031b2f5316 597 VL53LX_Error VL53LX_set_histogram_multizone_initial_bin_config(
Charles MacNeill 5:89031b2f5316 598 VL53LX_zone_config_t *pzone_cfg,
Charles MacNeill 5:89031b2f5316 599 VL53LX_histogram_config_t *phist_cfg,
Charles MacNeill 5:89031b2f5316 600 VL53LX_histogram_config_t *pmulti_hist
Charles MacNeill 5:89031b2f5316 601 );
Charles MacNeill 5:89031b2f5316 602
Charles MacNeill 5:89031b2f5316 603
Charles MacNeill 5:89031b2f5316 604
Charles MacNeill 5:89031b2f5316 605 uint8_t VL53LX_encode_GPIO_interrupt_config(
Charles MacNeill 5:89031b2f5316 606 VL53LX_GPIO_interrupt_config_t *pintconf);
Charles MacNeill 5:89031b2f5316 607
Charles MacNeill 5:89031b2f5316 608
Charles MacNeill 5:89031b2f5316 609
Charles MacNeill 5:89031b2f5316 610 VL53LX_GPIO_interrupt_config_t VL53LX_decode_GPIO_interrupt_config(
Charles MacNeill 5:89031b2f5316 611 uint8_t system__interrupt_config);
Charles MacNeill 5:89031b2f5316 612
Charles MacNeill 5:89031b2f5316 613
Charles MacNeill 5:89031b2f5316 614
Charles MacNeill 5:89031b2f5316 615 VL53LX_Error VL53LX_set_GPIO_distance_threshold(
Charles MacNeill 5:89031b2f5316 616 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 617 uint16_t threshold_high,
Charles MacNeill 5:89031b2f5316 618 uint16_t threshold_low);
Charles MacNeill 5:89031b2f5316 619
Charles MacNeill 5:89031b2f5316 620
Charles MacNeill 5:89031b2f5316 621
Charles MacNeill 5:89031b2f5316 622 VL53LX_Error VL53LX_set_GPIO_rate_threshold(
Charles MacNeill 5:89031b2f5316 623 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 624 uint16_t threshold_high,
Charles MacNeill 5:89031b2f5316 625 uint16_t threshold_low);
Charles MacNeill 5:89031b2f5316 626
Charles MacNeill 5:89031b2f5316 627
Charles MacNeill 5:89031b2f5316 628
Charles MacNeill 5:89031b2f5316 629 VL53LX_Error VL53LX_set_GPIO_thresholds_from_struct(
Charles MacNeill 5:89031b2f5316 630 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 631 VL53LX_GPIO_interrupt_config_t *pintconf);
Charles MacNeill 5:89031b2f5316 632
Charles MacNeill 5:89031b2f5316 633
Charles MacNeill 5:89031b2f5316 634
Charles MacNeill 5:89031b2f5316 635
Charles MacNeill 5:89031b2f5316 636
Charles MacNeill 5:89031b2f5316 637 VL53LX_Error VL53LX_set_ref_spad_char_config(
Charles MacNeill 5:89031b2f5316 638 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 639 uint8_t vcsel_period_a,
Charles MacNeill 5:89031b2f5316 640 uint32_t phasecal_timeout_us,
Charles MacNeill 5:89031b2f5316 641 uint16_t total_rate_target_mcps,
Charles MacNeill 5:89031b2f5316 642 uint16_t max_count_rate_rtn_limit_mcps,
Charles MacNeill 5:89031b2f5316 643 uint16_t min_count_rate_rtn_limit_mcps,
Charles MacNeill 5:89031b2f5316 644 uint16_t fast_osc_frequency);
Charles MacNeill 5:89031b2f5316 645
Charles MacNeill 5:89031b2f5316 646
Charles MacNeill 5:89031b2f5316 647
Charles MacNeill 5:89031b2f5316 648
Charles MacNeill 5:89031b2f5316 649 VL53LX_Error VL53LX_set_ssc_config(
Charles MacNeill 5:89031b2f5316 650 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 651 VL53LX_ssc_config_t *pssc_cfg,
Charles MacNeill 5:89031b2f5316 652 uint16_t fast_osc_frequency);
Charles MacNeill 5:89031b2f5316 653
Charles MacNeill 5:89031b2f5316 654
Charles MacNeill 5:89031b2f5316 655
Charles MacNeill 5:89031b2f5316 656
Charles MacNeill 5:89031b2f5316 657 VL53LX_Error VL53LX_get_spad_rate_data(
Charles MacNeill 5:89031b2f5316 658 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 659 VL53LX_spad_rate_data_t *pspad_rates);
Charles MacNeill 5:89031b2f5316 660
Charles MacNeill 5:89031b2f5316 661
Charles MacNeill 5:89031b2f5316 662
Charles MacNeill 5:89031b2f5316 663 uint32_t VL53LX_calc_crosstalk_plane_offset_with_margin(
Charles MacNeill 5:89031b2f5316 664 uint32_t plane_offset_kcps,
Charles MacNeill 5:89031b2f5316 665 int16_t margin_offset_kcps);
Charles MacNeill 5:89031b2f5316 666
Charles MacNeill 5:89031b2f5316 667
Charles MacNeill 5:89031b2f5316 668
Charles MacNeill 5:89031b2f5316 669 VL53LX_Error VL53LX_low_power_auto_data_init(
Charles MacNeill 5:89031b2f5316 670 VL53LX_DEV Dev
Charles MacNeill 5:89031b2f5316 671 );
Charles MacNeill 5:89031b2f5316 672
Charles MacNeill 5:89031b2f5316 673
Charles MacNeill 5:89031b2f5316 674
Charles MacNeill 5:89031b2f5316 675 VL53LX_Error VL53LX_low_power_auto_data_stop_range(
Charles MacNeill 5:89031b2f5316 676 VL53LX_DEV Dev
Charles MacNeill 5:89031b2f5316 677 );
Charles MacNeill 5:89031b2f5316 678
Charles MacNeill 5:89031b2f5316 679
Charles MacNeill 5:89031b2f5316 680
Charles MacNeill 5:89031b2f5316 681
Charles MacNeill 5:89031b2f5316 682 VL53LX_Error VL53LX_dynamic_xtalk_correction_calc_required_samples(
Charles MacNeill 5:89031b2f5316 683 VL53LX_DEV Dev
Charles MacNeill 5:89031b2f5316 684 );
Charles MacNeill 5:89031b2f5316 685
Charles MacNeill 5:89031b2f5316 686
Charles MacNeill 5:89031b2f5316 687
Charles MacNeill 5:89031b2f5316 688 VL53LX_Error VL53LX_dynamic_xtalk_correction_calc_new_xtalk(
Charles MacNeill 5:89031b2f5316 689 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 690 uint32_t xtalk_offset_out,
Charles MacNeill 5:89031b2f5316 691 VL53LX_smudge_corrector_config_t *pconfig,
Charles MacNeill 5:89031b2f5316 692 VL53LX_smudge_corrector_data_t *pout,
Charles MacNeill 5:89031b2f5316 693 uint8_t add_smudge,
Charles MacNeill 5:89031b2f5316 694 uint8_t soft_update
Charles MacNeill 5:89031b2f5316 695 );
Charles MacNeill 5:89031b2f5316 696
Charles MacNeill 5:89031b2f5316 697
Charles MacNeill 5:89031b2f5316 698
Charles MacNeill 5:89031b2f5316 699 VL53LX_Error VL53LX_dynamic_xtalk_correction_corrector(
Charles MacNeill 5:89031b2f5316 700 VL53LX_DEV Dev
Charles MacNeill 5:89031b2f5316 701 );
Charles MacNeill 5:89031b2f5316 702
Charles MacNeill 5:89031b2f5316 703
Charles MacNeill 5:89031b2f5316 704
Charles MacNeill 5:89031b2f5316 705 VL53LX_Error VL53LX_dynamic_xtalk_correction_data_init(
Charles MacNeill 5:89031b2f5316 706 VL53LX_DEV Dev
Charles MacNeill 5:89031b2f5316 707 );
Charles MacNeill 5:89031b2f5316 708
Charles MacNeill 5:89031b2f5316 709
Charles MacNeill 5:89031b2f5316 710
Charles MacNeill 5:89031b2f5316 711 VL53LX_Error VL53LX_dynamic_xtalk_correction_output_init(
Charles MacNeill 5:89031b2f5316 712 VL53LX_LLDriverResults_t *pres
Charles MacNeill 5:89031b2f5316 713 );
Charles MacNeill 5:89031b2f5316 714
Charles MacNeill 5:89031b2f5316 715
Charles MacNeill 5:89031b2f5316 716
Charles MacNeill 5:89031b2f5316 717 VL53LX_Error VL53LX_xtalk_cal_data_init(
Charles MacNeill 5:89031b2f5316 718 VL53LX_DEV Dev
Charles MacNeill 5:89031b2f5316 719 );
Charles MacNeill 5:89031b2f5316 720
Charles MacNeill 5:89031b2f5316 721
Charles MacNeill 5:89031b2f5316 722
Charles MacNeill 5:89031b2f5316 723 VL53LX_Error VL53LX_config_low_power_auto_mode(
Charles MacNeill 5:89031b2f5316 724 VL53LX_general_config_t *pgeneral,
Charles MacNeill 5:89031b2f5316 725 VL53LX_dynamic_config_t *pdynamic,
Charles MacNeill 5:89031b2f5316 726 VL53LX_low_power_auto_data_t *plpadata
Charles MacNeill 5:89031b2f5316 727 );
Charles MacNeill 5:89031b2f5316 728
Charles MacNeill 5:89031b2f5316 729
Charles MacNeill 5:89031b2f5316 730
Charles MacNeill 5:89031b2f5316 731 VL53LX_Error VL53LX_low_power_auto_setup_manual_calibration(
Charles MacNeill 5:89031b2f5316 732 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 733
Charles MacNeill 5:89031b2f5316 734
Charles MacNeill 5:89031b2f5316 735
Charles MacNeill 5:89031b2f5316 736 VL53LX_Error VL53LX_low_power_auto_update_DSS(
Charles MacNeill 5:89031b2f5316 737 VL53LX_DEV Dev);
Charles MacNeill 5:89031b2f5316 738
Charles MacNeill 5:89031b2f5316 739
Charles MacNeill 5:89031b2f5316 740 VL53LX_Error VL53LX_compute_histo_merge_nb(
Charles MacNeill 5:89031b2f5316 741 VL53LX_DEV Dev, uint8_t *histo_merge_nb);
Charles MacNeill 5:89031b2f5316 742
Charles MacNeill 5:89031b2f5316 743 #ifdef __cplusplus
Charles MacNeill 5:89031b2f5316 744 }
Charles MacNeill 5:89031b2f5316 745 #endif
Charles MacNeill 5:89031b2f5316 746
Charles MacNeill 5:89031b2f5316 747 #endif
Charles MacNeill 5:89031b2f5316 748