Fork, renaming of VL53L1CB-2

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   X_NUCLEO_53L1CB

Committer:
Charles MacNeill
Date:
Fri Jun 11 17:08:27 2021 +0100
Revision:
13:3f1b341901dd
Parent:
7:1add29d51e72
changing case of vl53l1cb.* so it works in linux

Who changed what in which revision?

UserRevisionLine numberNew contents of line
charlesmn 0:3ac96e360672 1
Charles MacNeill 7:1add29d51e72 2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
Charles MacNeill 7:1add29d51e72 3 /******************************************************************************
charlesmn 0:3ac96e360672 4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
charlesmn 0:3ac96e360672 5
Charles MacNeill 7:1add29d51e72 6 This file is part of VL53L1 and is dual licensed,
Charles MacNeill 7:1add29d51e72 7 either GPL-2.0+
charlesmn 0:3ac96e360672 8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
Charles MacNeill 7:1add29d51e72 9 ******************************************************************************
Charles MacNeill 7:1add29d51e72 10 */
charlesmn 0:3ac96e360672 11
charlesmn 0:3ac96e360672 12
charlesmn 0:3ac96e360672 13
charlesmn 0:3ac96e360672 14
charlesmn 0:3ac96e360672 15 #ifndef _VL53L1_API_CORE_H_
charlesmn 0:3ac96e360672 16 #define _VL53L1_API_CORE_H_
charlesmn 0:3ac96e360672 17
charlesmn 0:3ac96e360672 18 #include "vl53l1_platform.h"
charlesmn 0:3ac96e360672 19
charlesmn 0:3ac96e360672 20 #ifdef __cplusplus
charlesmn 0:3ac96e360672 21 extern "C" {
charlesmn 0:3ac96e360672 22 #endif
charlesmn 0:3ac96e360672 23
charlesmn 0:3ac96e360672 24
charlesmn 0:3ac96e360672 25
charlesmn 0:3ac96e360672 26
charlesmn 0:3ac96e360672 27 VL53L1_Error VL53L1_get_version(
charlesmn 0:3ac96e360672 28 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 29 VL53L1_ll_version_t *pversion);
charlesmn 0:3ac96e360672 30
charlesmn 0:3ac96e360672 31
charlesmn 0:3ac96e360672 32
charlesmn 0:3ac96e360672 33
charlesmn 0:3ac96e360672 34 VL53L1_Error VL53L1_get_device_firmware_version(
charlesmn 0:3ac96e360672 35 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 36 uint16_t *pfw_version);
charlesmn 0:3ac96e360672 37
charlesmn 0:3ac96e360672 38
charlesmn 0:3ac96e360672 39
charlesmn 0:3ac96e360672 40
charlesmn 0:3ac96e360672 41 VL53L1_Error VL53L1_data_init(
charlesmn 0:3ac96e360672 42 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 43 uint8_t read_p2p_data);
charlesmn 0:3ac96e360672 44
charlesmn 0:3ac96e360672 45
charlesmn 0:3ac96e360672 46
charlesmn 0:3ac96e360672 47
charlesmn 0:3ac96e360672 48 VL53L1_Error VL53L1_read_p2p_data(
charlesmn 0:3ac96e360672 49 VL53L1_DEV Dev);
charlesmn 0:3ac96e360672 50
charlesmn 0:3ac96e360672 51
charlesmn 0:3ac96e360672 52
charlesmn 0:3ac96e360672 53
charlesmn 0:3ac96e360672 54 VL53L1_Error VL53L1_software_reset(
charlesmn 0:3ac96e360672 55 VL53L1_DEV Dev);
charlesmn 0:3ac96e360672 56
charlesmn 0:3ac96e360672 57
charlesmn 0:3ac96e360672 58
charlesmn 0:3ac96e360672 59
charlesmn 0:3ac96e360672 60 VL53L1_Error VL53L1_set_part_to_part_data(
charlesmn 0:3ac96e360672 61 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 62 VL53L1_calibration_data_t *pcal_data);
charlesmn 0:3ac96e360672 63
charlesmn 0:3ac96e360672 64
charlesmn 0:3ac96e360672 65
charlesmn 0:3ac96e360672 66
charlesmn 0:3ac96e360672 67 VL53L1_Error VL53L1_get_part_to_part_data(
charlesmn 0:3ac96e360672 68 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 69 VL53L1_calibration_data_t *pcal_data);
charlesmn 0:3ac96e360672 70
charlesmn 0:3ac96e360672 71
charlesmn 0:3ac96e360672 72
charlesmn 0:3ac96e360672 73
charlesmn 0:3ac96e360672 74 VL53L1_Error VL53L1_get_tuning_debug_data(
charlesmn 0:3ac96e360672 75 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 76 VL53L1_tuning_parameters_t *ptun_data);
charlesmn 0:3ac96e360672 77
charlesmn 0:3ac96e360672 78
charlesmn 0:3ac96e360672 79
charlesmn 0:3ac96e360672 80
charlesmn 0:3ac96e360672 81 VL53L1_Error VL53L1_set_inter_measurement_period_ms(
charlesmn 0:3ac96e360672 82 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 83 uint32_t inter_measurement_period_ms);
charlesmn 0:3ac96e360672 84
charlesmn 0:3ac96e360672 85
charlesmn 0:3ac96e360672 86
charlesmn 0:3ac96e360672 87
charlesmn 0:3ac96e360672 88 VL53L1_Error VL53L1_get_inter_measurement_period_ms(
charlesmn 0:3ac96e360672 89 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 90 uint32_t *pinter_measurement_period_ms);
charlesmn 0:3ac96e360672 91
charlesmn 0:3ac96e360672 92
charlesmn 0:3ac96e360672 93
charlesmn 0:3ac96e360672 94
charlesmn 0:3ac96e360672 95 VL53L1_Error VL53L1_set_timeouts_us(
charlesmn 0:3ac96e360672 96 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 97 uint32_t phasecal_config_timeout_us,
charlesmn 0:3ac96e360672 98 uint32_t mm_config_timeout_us,
charlesmn 0:3ac96e360672 99 uint32_t range_config_timeout_us);
charlesmn 0:3ac96e360672 100
charlesmn 0:3ac96e360672 101
charlesmn 0:3ac96e360672 102
charlesmn 0:3ac96e360672 103
charlesmn 0:3ac96e360672 104 VL53L1_Error VL53L1_get_timeouts_us(
charlesmn 0:3ac96e360672 105 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 106 uint32_t *pphasecal_config_timeout_us,
charlesmn 0:3ac96e360672 107 uint32_t *pmm_config_timeout_us,
charlesmn 0:3ac96e360672 108 uint32_t *prange_config_timeout_us);
charlesmn 0:3ac96e360672 109
charlesmn 0:3ac96e360672 110
charlesmn 0:3ac96e360672 111
charlesmn 0:3ac96e360672 112
charlesmn 0:3ac96e360672 113 VL53L1_Error VL53L1_set_calibration_repeat_period(
charlesmn 0:3ac96e360672 114 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 115 uint16_t cal_config__repeat_period);
charlesmn 0:3ac96e360672 116
charlesmn 0:3ac96e360672 117
charlesmn 0:3ac96e360672 118
charlesmn 0:3ac96e360672 119
charlesmn 0:3ac96e360672 120 VL53L1_Error VL53L1_get_calibration_repeat_period(
charlesmn 0:3ac96e360672 121 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 122 uint16_t *pcal_config__repeat_period);
charlesmn 0:3ac96e360672 123
charlesmn 0:3ac96e360672 124
charlesmn 0:3ac96e360672 125
charlesmn 0:3ac96e360672 126
charlesmn 0:3ac96e360672 127 VL53L1_Error VL53L1_set_sequence_config_bit(
charlesmn 0:3ac96e360672 128 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 129 VL53L1_DeviceSequenceConfig bit_id,
charlesmn 0:3ac96e360672 130 uint8_t value);
charlesmn 0:3ac96e360672 131
charlesmn 0:3ac96e360672 132
charlesmn 0:3ac96e360672 133
charlesmn 0:3ac96e360672 134
charlesmn 0:3ac96e360672 135 VL53L1_Error VL53L1_get_sequence_config_bit(
charlesmn 0:3ac96e360672 136 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 137 VL53L1_DeviceSequenceConfig bit_id,
charlesmn 0:3ac96e360672 138 uint8_t *pvalue);
charlesmn 0:3ac96e360672 139
charlesmn 0:3ac96e360672 140
charlesmn 0:3ac96e360672 141
charlesmn 0:3ac96e360672 142
charlesmn 0:3ac96e360672 143 VL53L1_Error VL53L1_set_interrupt_polarity(
charlesmn 0:3ac96e360672 144 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 145 VL53L1_DeviceInterruptPolarity interrupt_polarity);
charlesmn 0:3ac96e360672 146
charlesmn 0:3ac96e360672 147
charlesmn 0:3ac96e360672 148
charlesmn 0:3ac96e360672 149
charlesmn 0:3ac96e360672 150 VL53L1_Error VL53L1_get_interrupt_polarity(
charlesmn 0:3ac96e360672 151 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 152 VL53L1_DeviceInterruptPolarity *pinterrupt_polarity);
charlesmn 0:3ac96e360672 153
charlesmn 0:3ac96e360672 154
charlesmn 0:3ac96e360672 155
charlesmn 0:3ac96e360672 156 VL53L1_Error VL53L1_get_refspadchar_config_struct(
charlesmn 0:3ac96e360672 157 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 158 VL53L1_refspadchar_config_t *pdata);
charlesmn 0:3ac96e360672 159
charlesmn 0:3ac96e360672 160
charlesmn 0:3ac96e360672 161
charlesmn 0:3ac96e360672 162 VL53L1_Error VL53L1_set_refspadchar_config_struct(
charlesmn 0:3ac96e360672 163 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 164 VL53L1_refspadchar_config_t *pdata);
charlesmn 0:3ac96e360672 165
charlesmn 0:3ac96e360672 166
charlesmn 0:3ac96e360672 167
charlesmn 0:3ac96e360672 168 VL53L1_Error VL53L1_set_range_ignore_threshold(
charlesmn 0:3ac96e360672 169 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 170 uint8_t range_ignore_thresh_mult,
charlesmn 0:3ac96e360672 171 uint16_t range_ignore_threshold_mcps);
charlesmn 0:3ac96e360672 172
charlesmn 0:3ac96e360672 173
charlesmn 0:3ac96e360672 174
charlesmn 0:3ac96e360672 175 VL53L1_Error VL53L1_get_range_ignore_threshold(
charlesmn 0:3ac96e360672 176 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 177 uint8_t *prange_ignore_thresh_mult,
charlesmn 0:3ac96e360672 178 uint16_t *prange_ignore_threshold_mcps_internal,
charlesmn 0:3ac96e360672 179 uint16_t *prange_ignore_threshold_mcps_current);
charlesmn 0:3ac96e360672 180
charlesmn 0:3ac96e360672 181
charlesmn 0:3ac96e360672 182
charlesmn 0:3ac96e360672 183
charlesmn 0:3ac96e360672 184 VL53L1_Error VL53L1_set_user_zone(
charlesmn 0:3ac96e360672 185 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 186 VL53L1_user_zone_t *puser_zone);
charlesmn 0:3ac96e360672 187
charlesmn 0:3ac96e360672 188
charlesmn 0:3ac96e360672 189
charlesmn 0:3ac96e360672 190
charlesmn 0:3ac96e360672 191 VL53L1_Error VL53L1_get_user_zone(
charlesmn 0:3ac96e360672 192 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 193 VL53L1_user_zone_t *puser_zone);
charlesmn 0:3ac96e360672 194
charlesmn 0:3ac96e360672 195
charlesmn 0:3ac96e360672 196
charlesmn 0:3ac96e360672 197
charlesmn 0:3ac96e360672 198 VL53L1_Error VL53L1_get_mode_mitigation_roi(
charlesmn 0:3ac96e360672 199 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 200 VL53L1_user_zone_t *pmm_roi);
charlesmn 0:3ac96e360672 201
charlesmn 0:3ac96e360672 202
charlesmn 0:3ac96e360672 203
charlesmn 0:3ac96e360672 204
charlesmn 0:3ac96e360672 205 VL53L1_Error VL53L1_set_zone_config(
charlesmn 0:3ac96e360672 206 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 207 VL53L1_zone_config_t *pzone_cfg);
charlesmn 0:3ac96e360672 208
charlesmn 0:3ac96e360672 209
charlesmn 0:3ac96e360672 210
charlesmn 0:3ac96e360672 211
charlesmn 0:3ac96e360672 212 VL53L1_Error VL53L1_get_zone_config(
charlesmn 0:3ac96e360672 213 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 214 VL53L1_zone_config_t *pzone_cfg);
charlesmn 0:3ac96e360672 215
charlesmn 0:3ac96e360672 216
charlesmn 0:3ac96e360672 217
charlesmn 0:3ac96e360672 218
charlesmn 0:3ac96e360672 219 VL53L1_Error VL53L1_set_preset_mode(
charlesmn 0:3ac96e360672 220 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 221 VL53L1_DevicePresetModes device_preset_mode,
charlesmn 0:3ac96e360672 222 uint16_t dss_config__target_total_rate_mcps,
charlesmn 0:3ac96e360672 223 uint32_t phasecal_config_timeout_us,
charlesmn 0:3ac96e360672 224 uint32_t mm_config_timeout_us,
charlesmn 0:3ac96e360672 225 uint32_t range_config_timeout_us,
charlesmn 0:3ac96e360672 226 uint32_t inter_measurement_period_ms);
charlesmn 0:3ac96e360672 227
charlesmn 0:3ac96e360672 228
charlesmn 0:3ac96e360672 229
charlesmn 0:3ac96e360672 230
charlesmn 0:3ac96e360672 231 VL53L1_Error VL53L1_get_preset_mode_timing_cfg(
charlesmn 0:3ac96e360672 232 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 233 VL53L1_DevicePresetModes device_preset_mode,
charlesmn 0:3ac96e360672 234 uint16_t *pdss_config__target_total_rate_mcps,
charlesmn 0:3ac96e360672 235 uint32_t *pphasecal_config_timeout_us,
charlesmn 0:3ac96e360672 236 uint32_t *pmm_config_timeout_us,
charlesmn 0:3ac96e360672 237 uint32_t *prange_config_timeout_us);
charlesmn 0:3ac96e360672 238
charlesmn 0:3ac96e360672 239
charlesmn 0:3ac96e360672 240
charlesmn 0:3ac96e360672 241 VL53L1_Error VL53L1_set_zone_preset(
charlesmn 0:3ac96e360672 242 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 243 VL53L1_DeviceZonePreset zone_preset);
charlesmn 0:3ac96e360672 244
charlesmn 0:3ac96e360672 245
charlesmn 0:3ac96e360672 246
charlesmn 0:3ac96e360672 247 VL53L1_Error VL53L1_enable_xtalk_compensation(
charlesmn 0:3ac96e360672 248 VL53L1_DEV Dev);
charlesmn 0:3ac96e360672 249
charlesmn 0:3ac96e360672 250
charlesmn 0:3ac96e360672 251
charlesmn 0:3ac96e360672 252 VL53L1_Error VL53L1_disable_xtalk_compensation(
charlesmn 0:3ac96e360672 253 VL53L1_DEV Dev);
charlesmn 0:3ac96e360672 254
charlesmn 0:3ac96e360672 255
charlesmn 0:3ac96e360672 256
charlesmn 0:3ac96e360672 257
charlesmn 0:3ac96e360672 258 void VL53L1_get_xtalk_compensation_enable(
charlesmn 0:3ac96e360672 259 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 260 uint8_t *pcrosstalk_compensation_enable);
charlesmn 0:3ac96e360672 261
charlesmn 0:3ac96e360672 262
charlesmn 0:3ac96e360672 263
charlesmn 0:3ac96e360672 264 VL53L1_Error VL53L1_init_and_start_range(
charlesmn 0:3ac96e360672 265 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 266 uint8_t measurement_mode,
charlesmn 0:3ac96e360672 267 VL53L1_DeviceConfigLevel device_config_level);
charlesmn 0:3ac96e360672 268
charlesmn 0:3ac96e360672 269
charlesmn 0:3ac96e360672 270
charlesmn 0:3ac96e360672 271
charlesmn 0:3ac96e360672 272 VL53L1_Error VL53L1_stop_range(
charlesmn 0:3ac96e360672 273 VL53L1_DEV Dev);
charlesmn 0:3ac96e360672 274
charlesmn 0:3ac96e360672 275
charlesmn 0:3ac96e360672 276
charlesmn 0:3ac96e360672 277
charlesmn 0:3ac96e360672 278 VL53L1_Error VL53L1_get_measurement_results(
charlesmn 0:3ac96e360672 279 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 280 VL53L1_DeviceResultsLevel device_result_level);
charlesmn 0:3ac96e360672 281
charlesmn 0:3ac96e360672 282
charlesmn 0:3ac96e360672 283
charlesmn 0:3ac96e360672 284
charlesmn 0:3ac96e360672 285 VL53L1_Error VL53L1_get_device_results(
charlesmn 0:3ac96e360672 286 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 287 VL53L1_DeviceResultsLevel device_result_level,
charlesmn 0:3ac96e360672 288 VL53L1_range_results_t *prange_results);
charlesmn 0:3ac96e360672 289
charlesmn 0:3ac96e360672 290
charlesmn 0:3ac96e360672 291
charlesmn 0:3ac96e360672 292
charlesmn 0:3ac96e360672 293 VL53L1_Error VL53L1_clear_interrupt_and_enable_next_range(
charlesmn 0:3ac96e360672 294 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 295 uint8_t measurement_mode);
charlesmn 0:3ac96e360672 296
charlesmn 0:3ac96e360672 297
charlesmn 0:3ac96e360672 298
charlesmn 0:3ac96e360672 299
charlesmn 0:3ac96e360672 300 VL53L1_Error VL53L1_get_histogram_bin_data(
charlesmn 0:3ac96e360672 301 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 302 VL53L1_histogram_bin_data_t *phist_data);
charlesmn 0:3ac96e360672 303
charlesmn 0:3ac96e360672 304
charlesmn 0:3ac96e360672 305
charlesmn 0:3ac96e360672 306
charlesmn 0:3ac96e360672 307 void VL53L1_copy_sys_and_core_results_to_range_results(
charlesmn 0:3ac96e360672 308 int32_t gain_factor,
charlesmn 0:3ac96e360672 309 VL53L1_system_results_t *psys,
charlesmn 0:3ac96e360672 310 VL53L1_core_results_t *pcore,
charlesmn 0:3ac96e360672 311 VL53L1_range_results_t *presults);
charlesmn 0:3ac96e360672 312
charlesmn 0:3ac96e360672 313
charlesmn 0:3ac96e360672 314
charlesmn 0:3ac96e360672 315 VL53L1_Error VL53L1_set_zone_dss_config(
charlesmn 0:3ac96e360672 316 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 317 VL53L1_zone_private_dyn_cfg_t *pzone_dyn_cfg);
charlesmn 0:3ac96e360672 318
charlesmn 0:3ac96e360672 319
charlesmn 0:3ac96e360672 320
charlesmn 0:3ac96e360672 321
charlesmn 0:3ac96e360672 322 VL53L1_Error VL53L1_calc_ambient_dmax(
charlesmn 0:3ac96e360672 323 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 324 uint16_t target_reflectance,
charlesmn 0:3ac96e360672 325 int16_t *pambient_dmax_mm);
charlesmn 0:3ac96e360672 326
charlesmn 0:3ac96e360672 327
charlesmn 0:3ac96e360672 328
charlesmn 0:3ac96e360672 329
charlesmn 0:3ac96e360672 330 VL53L1_Error VL53L1_set_GPIO_interrupt_config(
charlesmn 0:3ac96e360672 331 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 332 VL53L1_GPIO_Interrupt_Mode intr_mode_distance,
charlesmn 0:3ac96e360672 333 VL53L1_GPIO_Interrupt_Mode intr_mode_rate,
charlesmn 0:3ac96e360672 334 uint8_t intr_new_measure_ready,
charlesmn 0:3ac96e360672 335 uint8_t intr_no_target,
charlesmn 0:3ac96e360672 336 uint8_t intr_combined_mode,
charlesmn 0:3ac96e360672 337 uint16_t thresh_distance_high,
charlesmn 0:3ac96e360672 338 uint16_t thresh_distance_low,
charlesmn 0:3ac96e360672 339 uint16_t thresh_rate_high,
charlesmn 0:3ac96e360672 340 uint16_t thresh_rate_low
charlesmn 0:3ac96e360672 341 );
charlesmn 0:3ac96e360672 342
charlesmn 0:3ac96e360672 343
charlesmn 0:3ac96e360672 344
charlesmn 0:3ac96e360672 345 VL53L1_Error VL53L1_set_GPIO_interrupt_config_struct(
charlesmn 0:3ac96e360672 346 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 347 VL53L1_GPIO_interrupt_config_t intconf);
charlesmn 0:3ac96e360672 348
charlesmn 0:3ac96e360672 349
charlesmn 0:3ac96e360672 350
charlesmn 0:3ac96e360672 351 VL53L1_Error VL53L1_get_GPIO_interrupt_config(
charlesmn 0:3ac96e360672 352 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 353 VL53L1_GPIO_interrupt_config_t *pintconf);
charlesmn 0:3ac96e360672 354
charlesmn 0:3ac96e360672 355
charlesmn 0:3ac96e360672 356
charlesmn 0:3ac96e360672 357
charlesmn 0:3ac96e360672 358 VL53L1_Error VL53L1_set_dmax_mode(
charlesmn 0:3ac96e360672 359 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 360 VL53L1_DeviceDmaxMode dmax_mode);
charlesmn 0:3ac96e360672 361
charlesmn 0:3ac96e360672 362
charlesmn 0:3ac96e360672 363
charlesmn 0:3ac96e360672 364 VL53L1_Error VL53L1_get_dmax_mode(
charlesmn 0:3ac96e360672 365 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 366 VL53L1_DeviceDmaxMode *pdmax_mode);
charlesmn 0:3ac96e360672 367
charlesmn 0:3ac96e360672 368
charlesmn 0:3ac96e360672 369
charlesmn 0:3ac96e360672 370
charlesmn 0:3ac96e360672 371 VL53L1_Error VL53L1_get_dmax_calibration_data(
charlesmn 0:3ac96e360672 372 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 373 VL53L1_DeviceDmaxMode dmax_mode,
charlesmn 0:3ac96e360672 374 uint8_t zone_id,
charlesmn 0:3ac96e360672 375 VL53L1_dmax_calibration_data_t *pdmax_cal);
charlesmn 0:3ac96e360672 376
charlesmn 0:3ac96e360672 377
charlesmn 0:3ac96e360672 378
charlesmn 0:3ac96e360672 379
charlesmn 0:3ac96e360672 380 VL53L1_Error VL53L1_set_hist_dmax_config(
charlesmn 0:3ac96e360672 381 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 382 VL53L1_hist_gen3_dmax_config_t *pdmax_cfg);
charlesmn 0:3ac96e360672 383
charlesmn 0:3ac96e360672 384
charlesmn 0:3ac96e360672 385
charlesmn 0:3ac96e360672 386 VL53L1_Error VL53L1_get_hist_dmax_config(
charlesmn 0:3ac96e360672 387 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 388 VL53L1_hist_gen3_dmax_config_t *pdmax_cfg);
charlesmn 0:3ac96e360672 389
charlesmn 0:3ac96e360672 390
charlesmn 0:3ac96e360672 391
charlesmn 0:3ac96e360672 392
charlesmn 0:3ac96e360672 393 VL53L1_Error VL53L1_set_offset_calibration_mode(
charlesmn 0:3ac96e360672 394 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 395 VL53L1_OffsetCalibrationMode offset_cal_mode);
charlesmn 0:3ac96e360672 396
charlesmn 0:3ac96e360672 397
charlesmn 0:3ac96e360672 398
charlesmn 0:3ac96e360672 399
charlesmn 0:3ac96e360672 400 VL53L1_Error VL53L1_get_offset_calibration_mode(
charlesmn 0:3ac96e360672 401 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 402 VL53L1_OffsetCalibrationMode *poffset_cal_mode);
charlesmn 0:3ac96e360672 403
charlesmn 0:3ac96e360672 404
charlesmn 0:3ac96e360672 405
charlesmn 0:3ac96e360672 406
charlesmn 0:3ac96e360672 407 VL53L1_Error VL53L1_set_offset_correction_mode(
charlesmn 0:3ac96e360672 408 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 409 VL53L1_OffsetCalibrationMode offset_cor_mode);
charlesmn 0:3ac96e360672 410
charlesmn 0:3ac96e360672 411
charlesmn 0:3ac96e360672 412
charlesmn 0:3ac96e360672 413
charlesmn 0:3ac96e360672 414 VL53L1_Error VL53L1_get_offset_correction_mode(
charlesmn 0:3ac96e360672 415 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 416 VL53L1_OffsetCorrectionMode *poffset_cor_mode);
charlesmn 0:3ac96e360672 417
charlesmn 0:3ac96e360672 418
charlesmn 0:3ac96e360672 419
charlesmn 0:3ac96e360672 420
charlesmn 0:3ac96e360672 421 VL53L1_Error VL53L1_set_zone_calibration_data(
charlesmn 0:3ac96e360672 422 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 423 VL53L1_zone_calibration_results_t *pzone_cal);
charlesmn 0:3ac96e360672 424
charlesmn 0:3ac96e360672 425
charlesmn 0:3ac96e360672 426
charlesmn 0:3ac96e360672 427
charlesmn 0:3ac96e360672 428 VL53L1_Error VL53L1_get_zone_calibration_data(
charlesmn 0:3ac96e360672 429 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 430 VL53L1_zone_calibration_results_t *pzone_cal);
charlesmn 0:3ac96e360672 431
charlesmn 0:3ac96e360672 432
charlesmn 0:3ac96e360672 433
charlesmn 0:3ac96e360672 434
charlesmn 0:3ac96e360672 435 VL53L1_Error VL53L1_get_lite_xtalk_margin_kcps(
charlesmn 0:3ac96e360672 436 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 437 int16_t *pxtalk_margin);
charlesmn 0:3ac96e360672 438
charlesmn 0:3ac96e360672 439
charlesmn 0:3ac96e360672 440
charlesmn 0:3ac96e360672 441 VL53L1_Error VL53L1_set_lite_xtalk_margin_kcps(
charlesmn 0:3ac96e360672 442 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 443 int16_t xtalk_margin);
charlesmn 0:3ac96e360672 444
charlesmn 0:3ac96e360672 445
charlesmn 0:3ac96e360672 446
charlesmn 0:3ac96e360672 447
charlesmn 0:3ac96e360672 448 VL53L1_Error VL53L1_get_histogram_xtalk_margin_kcps(
charlesmn 0:3ac96e360672 449 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 450 int16_t *pxtalk_margin);
charlesmn 0:3ac96e360672 451
charlesmn 0:3ac96e360672 452
charlesmn 0:3ac96e360672 453
charlesmn 0:3ac96e360672 454 VL53L1_Error VL53L1_set_histogram_xtalk_margin_kcps(
charlesmn 0:3ac96e360672 455 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 456 int16_t xtalk_margin);
charlesmn 0:3ac96e360672 457
charlesmn 0:3ac96e360672 458
charlesmn 0:3ac96e360672 459
charlesmn 0:3ac96e360672 460 VL53L1_Error VL53L1_get_histogram_phase_consistency(
charlesmn 0:3ac96e360672 461 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 462 uint8_t *pphase_consistency);
charlesmn 0:3ac96e360672 463
charlesmn 0:3ac96e360672 464
charlesmn 0:3ac96e360672 465
charlesmn 0:3ac96e360672 466 VL53L1_Error VL53L1_set_histogram_phase_consistency(
charlesmn 0:3ac96e360672 467 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 468 uint8_t phase_consistency);
charlesmn 0:3ac96e360672 469
charlesmn 0:3ac96e360672 470
charlesmn 0:3ac96e360672 471
charlesmn 0:3ac96e360672 472 VL53L1_Error VL53L1_get_histogram_event_consistency(
charlesmn 0:3ac96e360672 473 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 474 uint8_t *pevent_consistency);
charlesmn 0:3ac96e360672 475
charlesmn 0:3ac96e360672 476
charlesmn 0:3ac96e360672 477
charlesmn 0:3ac96e360672 478 VL53L1_Error VL53L1_set_histogram_event_consistency(
charlesmn 0:3ac96e360672 479 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 480 uint8_t event_consistency);
charlesmn 0:3ac96e360672 481
charlesmn 0:3ac96e360672 482
charlesmn 0:3ac96e360672 483
charlesmn 0:3ac96e360672 484 VL53L1_Error VL53L1_get_histogram_ambient_threshold_sigma(
charlesmn 0:3ac96e360672 485 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 486 uint8_t *pamb_thresh_sigma);
charlesmn 0:3ac96e360672 487
charlesmn 0:3ac96e360672 488
charlesmn 0:3ac96e360672 489
charlesmn 0:3ac96e360672 490 VL53L1_Error VL53L1_set_histogram_ambient_threshold_sigma(
charlesmn 0:3ac96e360672 491 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 492 uint8_t amb_thresh_sigma);
charlesmn 0:3ac96e360672 493
charlesmn 0:3ac96e360672 494
charlesmn 0:3ac96e360672 495
charlesmn 0:3ac96e360672 496 VL53L1_Error VL53L1_get_lite_min_count_rate(
charlesmn 0:3ac96e360672 497 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 498 uint16_t *plite_mincountrate);
charlesmn 0:3ac96e360672 499
charlesmn 0:3ac96e360672 500
charlesmn 0:3ac96e360672 501
charlesmn 0:3ac96e360672 502
charlesmn 0:3ac96e360672 503 VL53L1_Error VL53L1_set_lite_min_count_rate(
charlesmn 0:3ac96e360672 504 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 505 uint16_t lite_mincountrate);
charlesmn 0:3ac96e360672 506
charlesmn 0:3ac96e360672 507
charlesmn 0:3ac96e360672 508
charlesmn 0:3ac96e360672 509
charlesmn 0:3ac96e360672 510
charlesmn 0:3ac96e360672 511 VL53L1_Error VL53L1_get_lite_sigma_threshold(
charlesmn 0:3ac96e360672 512 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 513 uint16_t *plite_sigma);
charlesmn 0:3ac96e360672 514
charlesmn 0:3ac96e360672 515
charlesmn 0:3ac96e360672 516
charlesmn 0:3ac96e360672 517
charlesmn 0:3ac96e360672 518 VL53L1_Error VL53L1_set_lite_sigma_threshold(
charlesmn 0:3ac96e360672 519 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 520 uint16_t lite_sigma);
charlesmn 0:3ac96e360672 521
charlesmn 0:3ac96e360672 522
charlesmn 0:3ac96e360672 523
charlesmn 0:3ac96e360672 524
charlesmn 0:3ac96e360672 525 VL53L1_Error VL53L1_restore_xtalk_nvm_default(
charlesmn 0:3ac96e360672 526 VL53L1_DEV Dev);
charlesmn 0:3ac96e360672 527
charlesmn 0:3ac96e360672 528
charlesmn 0:3ac96e360672 529
charlesmn 0:3ac96e360672 530 VL53L1_Error VL53L1_get_xtalk_detect_config(
charlesmn 0:3ac96e360672 531 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 532 int16_t *pmax_valid_range_mm,
charlesmn 0:3ac96e360672 533 int16_t *pmin_valid_range_mm,
charlesmn 0:3ac96e360672 534 uint16_t *pmax_valid_rate_kcps,
charlesmn 0:3ac96e360672 535 uint16_t *pmax_sigma_mm);
charlesmn 0:3ac96e360672 536
charlesmn 0:3ac96e360672 537
charlesmn 0:3ac96e360672 538
charlesmn 0:3ac96e360672 539 VL53L1_Error VL53L1_set_xtalk_detect_config(
charlesmn 0:3ac96e360672 540 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 541 int16_t max_valid_range_mm,
charlesmn 0:3ac96e360672 542 int16_t min_valid_range_mm,
charlesmn 0:3ac96e360672 543 uint16_t max_valid_rate_kcps,
charlesmn 0:3ac96e360672 544 uint16_t max_sigma_mm);
charlesmn 0:3ac96e360672 545
charlesmn 0:3ac96e360672 546
charlesmn 0:3ac96e360672 547
charlesmn 0:3ac96e360672 548 VL53L1_Error VL53L1_get_target_order_mode(
charlesmn 0:3ac96e360672 549 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 550 VL53L1_HistTargetOrder *phist_target_order);
charlesmn 0:3ac96e360672 551
charlesmn 0:3ac96e360672 552
charlesmn 0:3ac96e360672 553
charlesmn 0:3ac96e360672 554 VL53L1_Error VL53L1_set_target_order_mode(
charlesmn 0:3ac96e360672 555 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 556 VL53L1_HistTargetOrder hist_target_order);
charlesmn 0:3ac96e360672 557
charlesmn 0:3ac96e360672 558
charlesmn 0:3ac96e360672 559
charlesmn 0:3ac96e360672 560
charlesmn 0:3ac96e360672 561 VL53L1_Error VL53L1_set_dmax_reflectance_values(
charlesmn 0:3ac96e360672 562 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 563 VL53L1_dmax_reflectance_array_t *pdmax_reflectances);
charlesmn 0:3ac96e360672 564
charlesmn 0:3ac96e360672 565
charlesmn 0:3ac96e360672 566
charlesmn 0:3ac96e360672 567 VL53L1_Error VL53L1_get_dmax_reflectance_values(
charlesmn 0:3ac96e360672 568 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 569 VL53L1_dmax_reflectance_array_t *pdmax_reflectances);
charlesmn 0:3ac96e360672 570
charlesmn 0:3ac96e360672 571
charlesmn 0:3ac96e360672 572
charlesmn 0:3ac96e360672 573 VL53L1_Error VL53L1_set_vhv_config(
charlesmn 0:3ac96e360672 574 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 575 uint8_t vhv_init_en,
charlesmn 0:3ac96e360672 576 uint8_t vhv_init_value);
charlesmn 0:3ac96e360672 577
charlesmn 0:3ac96e360672 578
charlesmn 0:3ac96e360672 579
charlesmn 0:3ac96e360672 580 VL53L1_Error VL53L1_get_vhv_config(
charlesmn 0:3ac96e360672 581 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 582 uint8_t *pvhv_init_en,
charlesmn 0:3ac96e360672 583 uint8_t *pvhv_init_value);
charlesmn 0:3ac96e360672 584
charlesmn 0:3ac96e360672 585
charlesmn 0:3ac96e360672 586
charlesmn 0:3ac96e360672 587 VL53L1_Error VL53L1_set_vhv_loopbound(
charlesmn 0:3ac96e360672 588 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 589 uint8_t vhv_loopbound);
charlesmn 0:3ac96e360672 590
charlesmn 0:3ac96e360672 591
charlesmn 0:3ac96e360672 592
charlesmn 0:3ac96e360672 593 VL53L1_Error VL53L1_get_vhv_loopbound(
charlesmn 0:3ac96e360672 594 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 595 uint8_t *pvhv_loopbound);
charlesmn 0:3ac96e360672 596
charlesmn 0:3ac96e360672 597
charlesmn 0:3ac96e360672 598
charlesmn 0:3ac96e360672 599 VL53L1_Error VL53L1_get_tuning_parm(
charlesmn 0:3ac96e360672 600 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 601 VL53L1_TuningParms tuning_parm_key,
charlesmn 0:3ac96e360672 602 int32_t *ptuning_parm_value);
charlesmn 0:3ac96e360672 603
charlesmn 0:3ac96e360672 604
charlesmn 0:3ac96e360672 605
charlesmn 0:3ac96e360672 606 VL53L1_Error VL53L1_set_tuning_parm(
charlesmn 0:3ac96e360672 607 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 608 VL53L1_TuningParms tuning_parm_key,
charlesmn 0:3ac96e360672 609 int32_t tuning_parm_value);
charlesmn 0:3ac96e360672 610
charlesmn 0:3ac96e360672 611
charlesmn 0:3ac96e360672 612
charlesmn 0:3ac96e360672 613 VL53L1_Error VL53L1_dynamic_xtalk_correction_enable(
charlesmn 0:3ac96e360672 614 VL53L1_DEV Dev
charlesmn 0:3ac96e360672 615 );
charlesmn 0:3ac96e360672 616
charlesmn 0:3ac96e360672 617
charlesmn 0:3ac96e360672 618
charlesmn 0:3ac96e360672 619 VL53L1_Error VL53L1_dynamic_xtalk_correction_disable(
charlesmn 0:3ac96e360672 620 VL53L1_DEV Dev
charlesmn 0:3ac96e360672 621 );
charlesmn 0:3ac96e360672 622
charlesmn 0:3ac96e360672 623
charlesmn 0:3ac96e360672 624
charlesmn 0:3ac96e360672 625
charlesmn 0:3ac96e360672 626 VL53L1_Error VL53L1_dynamic_xtalk_correction_apply_enable(
charlesmn 0:3ac96e360672 627 VL53L1_DEV Dev
charlesmn 0:3ac96e360672 628 );
charlesmn 0:3ac96e360672 629
charlesmn 0:3ac96e360672 630
charlesmn 0:3ac96e360672 631
charlesmn 0:3ac96e360672 632 VL53L1_Error VL53L1_dynamic_xtalk_correction_apply_disable(
charlesmn 0:3ac96e360672 633 VL53L1_DEV Dev
charlesmn 0:3ac96e360672 634 );
charlesmn 0:3ac96e360672 635
charlesmn 0:3ac96e360672 636
charlesmn 0:3ac96e360672 637
charlesmn 0:3ac96e360672 638 VL53L1_Error VL53L1_dynamic_xtalk_correction_single_apply_enable(
charlesmn 0:3ac96e360672 639 VL53L1_DEV Dev
charlesmn 0:3ac96e360672 640 );
charlesmn 0:3ac96e360672 641
charlesmn 0:3ac96e360672 642
charlesmn 0:3ac96e360672 643
charlesmn 0:3ac96e360672 644 VL53L1_Error VL53L1_dynamic_xtalk_correction_single_apply_disable(
charlesmn 0:3ac96e360672 645 VL53L1_DEV Dev
charlesmn 0:3ac96e360672 646 );
charlesmn 0:3ac96e360672 647
charlesmn 0:3ac96e360672 648
charlesmn 0:3ac96e360672 649
charlesmn 0:3ac96e360672 650 VL53L1_Error VL53L1_dynamic_xtalk_correction_set_scalers(
charlesmn 0:3ac96e360672 651 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 652 int16_t x_scaler_in,
charlesmn 0:3ac96e360672 653 int16_t y_scaler_in,
charlesmn 0:3ac96e360672 654 uint8_t user_scaler_set_in
charlesmn 0:3ac96e360672 655 );
charlesmn 0:3ac96e360672 656
charlesmn 0:3ac96e360672 657
charlesmn 0:3ac96e360672 658
charlesmn 0:3ac96e360672 659 VL53L1_Error VL53L1_get_current_xtalk_settings(
charlesmn 0:3ac96e360672 660 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 661 VL53L1_xtalk_calibration_results_t *pxtalk
charlesmn 0:3ac96e360672 662 );
charlesmn 0:3ac96e360672 663
charlesmn 0:3ac96e360672 664
charlesmn 0:3ac96e360672 665
charlesmn 0:3ac96e360672 666 VL53L1_Error VL53L1_set_current_xtalk_settings(
charlesmn 0:3ac96e360672 667 VL53L1_DEV Dev,
charlesmn 0:3ac96e360672 668 VL53L1_xtalk_calibration_results_t *pxtalk
charlesmn 0:3ac96e360672 669 );
charlesmn 0:3ac96e360672 670
charlesmn 0:3ac96e360672 671 VL53L1_Error VL53L1_load_patch(VL53L1_DEV Dev);
charlesmn 0:3ac96e360672 672
charlesmn 0:3ac96e360672 673 VL53L1_Error VL53L1_unload_patch(VL53L1_DEV Dev);
charlesmn 0:3ac96e360672 674
charlesmn 0:3ac96e360672 675 #ifdef __cplusplus
charlesmn 0:3ac96e360672 676 }
charlesmn 0:3ac96e360672 677 #endif
charlesmn 0:3ac96e360672 678
charlesmn 0:3ac96e360672 679 #endif
charlesmn 0:3ac96e360672 680