ST Expansion SW Team / VL53L1CB

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   VL53L1CB_noshield_1sensor_polls_auton VL53L1CB_noshield_1sensor_interrupt_auton X_NUCLEO_53L1A2

Committer:
charlesmn
Date:
Fri Nov 06 10:06:37 2020 +0000
Revision:
0:3ac96e360672
Child:
7:1add29d51e72
Library for ST Vl53L1A1 time of flight sensor.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
charlesmn 0:3ac96e360672 1
charlesmn 0:3ac96e360672 2 /*******************************************************************************
charlesmn 0:3ac96e360672 3 This file is part of VL53L1 Protected
charlesmn 0:3ac96e360672 4
charlesmn 0:3ac96e360672 5 Copyright (c) 2020, STMicroelectronics - All Rights Reserved
charlesmn 0:3ac96e360672 6
charlesmn 0:3ac96e360672 7 License terms: STMicroelectronics Proprietary in accordance with licensing
charlesmn 0:3ac96e360672 8 terms at www.st.com/sla0081
charlesmn 0:3ac96e360672 9
charlesmn 0:3ac96e360672 10 STMicroelectronics confidential
charlesmn 0:3ac96e360672 11 Reproduction and Communication of this document is strictly prohibited unless
charlesmn 0:3ac96e360672 12 specifically authorized in writing by STMicroelectronics.
charlesmn 0:3ac96e360672 13
charlesmn 0:3ac96e360672 14 */
charlesmn 0:3ac96e360672 15
charlesmn 0:3ac96e360672 16
charlesmn 0:3ac96e360672 17
charlesmn 0:3ac96e360672 18
charlesmn 0:3ac96e360672 19
charlesmn 0:3ac96e360672 20 #ifndef _VL53L1_HIST_ALGOS_GEN3_H_
charlesmn 0:3ac96e360672 21 #define _VL53L1_HIST_ALGOS_GEN3_H_
charlesmn 0:3ac96e360672 22
charlesmn 0:3ac96e360672 23 #include "vl53l1_types.h"
charlesmn 0:3ac96e360672 24 #include "vl53l1_ll_def.h"
charlesmn 0:3ac96e360672 25
charlesmn 0:3ac96e360672 26 #include "vl53l1_hist_private_structs.h"
charlesmn 0:3ac96e360672 27 #include "vl53l1_dmax_private_structs.h"
charlesmn 0:3ac96e360672 28
charlesmn 0:3ac96e360672 29 #ifdef __cplusplus
charlesmn 0:3ac96e360672 30 extern "C"
charlesmn 0:3ac96e360672 31 {
charlesmn 0:3ac96e360672 32 #endif
charlesmn 0:3ac96e360672 33
charlesmn 0:3ac96e360672 34
charlesmn 0:3ac96e360672 35
charlesmn 0:3ac96e360672 36
charlesmn 0:3ac96e360672 37 void VL53L1_f_016(
charlesmn 0:3ac96e360672 38 VL53L1_hist_gen3_algo_private_data_t *palgo);
charlesmn 0:3ac96e360672 39
charlesmn 0:3ac96e360672 40
charlesmn 0:3ac96e360672 41
charlesmn 0:3ac96e360672 42
charlesmn 0:3ac96e360672 43
charlesmn 0:3ac96e360672 44
charlesmn 0:3ac96e360672 45 VL53L1_Error VL53L1_f_018(
charlesmn 0:3ac96e360672 46 uint16_t ambient_threshold_events_scaler,
charlesmn 0:3ac96e360672 47 int32_t ambient_threshold_sigma,
charlesmn 0:3ac96e360672 48 int32_t min_ambient_threshold_events,
charlesmn 0:3ac96e360672 49 uint8_t algo__crosstalk_compensation_enable,
charlesmn 0:3ac96e360672 50 VL53L1_histogram_bin_data_t *pbins,
charlesmn 0:3ac96e360672 51 VL53L1_histogram_bin_data_t *pxtalk,
charlesmn 0:3ac96e360672 52 VL53L1_hist_gen3_algo_private_data_t *palgo);
charlesmn 0:3ac96e360672 53
charlesmn 0:3ac96e360672 54
charlesmn 0:3ac96e360672 55
charlesmn 0:3ac96e360672 56
charlesmn 0:3ac96e360672 57
charlesmn 0:3ac96e360672 58
charlesmn 0:3ac96e360672 59 VL53L1_Error VL53L1_f_019(
charlesmn 0:3ac96e360672 60 VL53L1_hist_gen3_algo_private_data_t *palgo);
charlesmn 0:3ac96e360672 61
charlesmn 0:3ac96e360672 62
charlesmn 0:3ac96e360672 63
charlesmn 0:3ac96e360672 64
charlesmn 0:3ac96e360672 65 VL53L1_Error VL53L1_f_020(
charlesmn 0:3ac96e360672 66 VL53L1_hist_gen3_algo_private_data_t *palgo);
charlesmn 0:3ac96e360672 67
charlesmn 0:3ac96e360672 68
charlesmn 0:3ac96e360672 69
charlesmn 0:3ac96e360672 70
charlesmn 0:3ac96e360672 71 VL53L1_Error VL53L1_f_021(
charlesmn 0:3ac96e360672 72 VL53L1_hist_gen3_algo_private_data_t *palgo);
charlesmn 0:3ac96e360672 73
charlesmn 0:3ac96e360672 74
charlesmn 0:3ac96e360672 75
charlesmn 0:3ac96e360672 76
charlesmn 0:3ac96e360672 77 VL53L1_Error VL53L1_f_028(
charlesmn 0:3ac96e360672 78 VL53L1_HistTargetOrder target_order,
charlesmn 0:3ac96e360672 79 VL53L1_hist_gen3_algo_private_data_t *palgo);
charlesmn 0:3ac96e360672 80
charlesmn 0:3ac96e360672 81
charlesmn 0:3ac96e360672 82
charlesmn 0:3ac96e360672 83
charlesmn 0:3ac96e360672 84 VL53L1_Error VL53L1_f_022(
charlesmn 0:3ac96e360672 85 uint8_t pulse_no,
charlesmn 0:3ac96e360672 86 VL53L1_histogram_bin_data_t *pbins,
charlesmn 0:3ac96e360672 87 VL53L1_hist_gen3_algo_private_data_t *palgo);
charlesmn 0:3ac96e360672 88
charlesmn 0:3ac96e360672 89
charlesmn 0:3ac96e360672 90
charlesmn 0:3ac96e360672 91 VL53L1_Error VL53L1_f_027(
charlesmn 0:3ac96e360672 92 uint8_t pulse_no,
charlesmn 0:3ac96e360672 93 uint8_t clip_events,
charlesmn 0:3ac96e360672 94 VL53L1_histogram_bin_data_t *pbins,
charlesmn 0:3ac96e360672 95 VL53L1_hist_gen3_algo_private_data_t *palgo);
charlesmn 0:3ac96e360672 96
charlesmn 0:3ac96e360672 97
charlesmn 0:3ac96e360672 98
charlesmn 0:3ac96e360672 99
charlesmn 0:3ac96e360672 100 VL53L1_Error VL53L1_f_030(
charlesmn 0:3ac96e360672 101 int16_t VL53L1_p_022,
charlesmn 0:3ac96e360672 102 int16_t VL53L1_p_026,
charlesmn 0:3ac96e360672 103 uint8_t VL53L1_p_031,
charlesmn 0:3ac96e360672 104 uint8_t clip_events,
charlesmn 0:3ac96e360672 105 VL53L1_histogram_bin_data_t *pbins,
charlesmn 0:3ac96e360672 106 uint32_t *pphase);
charlesmn 0:3ac96e360672 107
charlesmn 0:3ac96e360672 108
charlesmn 0:3ac96e360672 109
charlesmn 0:3ac96e360672 110
charlesmn 0:3ac96e360672 111 VL53L1_Error VL53L1_f_023(
charlesmn 0:3ac96e360672 112 uint8_t pulse_no,
charlesmn 0:3ac96e360672 113 VL53L1_histogram_bin_data_t *pbins,
charlesmn 0:3ac96e360672 114 VL53L1_hist_gen3_algo_private_data_t *palgo,
charlesmn 0:3ac96e360672 115 int32_t pad_value,
charlesmn 0:3ac96e360672 116 VL53L1_histogram_bin_data_t *ppulse);
charlesmn 0:3ac96e360672 117
charlesmn 0:3ac96e360672 118
charlesmn 0:3ac96e360672 119
charlesmn 0:3ac96e360672 120
charlesmn 0:3ac96e360672 121 VL53L1_Error VL53L1_f_026(
charlesmn 0:3ac96e360672 122 uint8_t bin,
charlesmn 0:3ac96e360672 123 uint8_t sigma_estimator__sigma_ref_mm,
charlesmn 0:3ac96e360672 124 uint8_t VL53L1_p_031,
charlesmn 0:3ac96e360672 125 uint8_t VL53L1_p_055,
charlesmn 0:3ac96e360672 126 uint8_t crosstalk_compensation_enable,
charlesmn 0:3ac96e360672 127 VL53L1_histogram_bin_data_t *phist_data_ap,
charlesmn 0:3ac96e360672 128 VL53L1_histogram_bin_data_t *phist_data_zp,
charlesmn 0:3ac96e360672 129 VL53L1_histogram_bin_data_t *pxtalk_hist,
charlesmn 0:3ac96e360672 130 uint16_t *psigma_est);
charlesmn 0:3ac96e360672 131
charlesmn 0:3ac96e360672 132
charlesmn 0:3ac96e360672 133
charlesmn 0:3ac96e360672 134
charlesmn 0:3ac96e360672 135 void VL53L1_f_029(
charlesmn 0:3ac96e360672 136 uint8_t range_id,
charlesmn 0:3ac96e360672 137 uint8_t valid_phase_low,
charlesmn 0:3ac96e360672 138 uint8_t valid_phase_high,
charlesmn 0:3ac96e360672 139 uint16_t sigma_thres,
charlesmn 0:3ac96e360672 140 VL53L1_histogram_bin_data_t *pbins,
charlesmn 0:3ac96e360672 141 VL53L1_hist_pulse_data_t *ppulse,
charlesmn 0:3ac96e360672 142 VL53L1_range_data_t *pdata);
charlesmn 0:3ac96e360672 143
charlesmn 0:3ac96e360672 144
charlesmn 0:3ac96e360672 145 #ifdef __cplusplus
charlesmn 0:3ac96e360672 146 }
charlesmn 0:3ac96e360672 147 #endif
charlesmn 0:3ac96e360672 148
charlesmn 0:3ac96e360672 149 #endif
charlesmn 0:3ac96e360672 150
charlesmn 0:3ac96e360672 151