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:
Charles MacNeill
Date:
Wed Jul 14 12:45:49 2021 +0100
Revision:
5:89031b2f5316
The class files now just are wrappers for the files in the "MODULES" directory.The porting directory includes the mbed interface

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