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_SUPPORT_H_
Charles MacNeill 5:89031b2f5316 16 #define _VL53LX_CORE_SUPPORT_H_
Charles MacNeill 5:89031b2f5316 17
Charles MacNeill 5:89031b2f5316 18 #include "vl53lx_types.h"
Charles MacNeill 5:89031b2f5316 19 #include "vl53lx_hist_structs.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 uint32_t VL53LX_calc_pll_period_us(
Charles MacNeill 5:89031b2f5316 29 uint16_t fast_osc_frequency);
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
Charles MacNeill 5:89031b2f5316 35 uint32_t VL53LX_duration_maths(
Charles MacNeill 5:89031b2f5316 36 uint32_t pll_period_us,
Charles MacNeill 5:89031b2f5316 37 uint32_t vcsel_parm_pclks,
Charles MacNeill 5:89031b2f5316 38 uint32_t window_vclks,
Charles MacNeill 5:89031b2f5316 39 uint32_t periods_elapsed_mclks);
Charles MacNeill 5:89031b2f5316 40
Charles MacNeill 5:89031b2f5316 41
Charles MacNeill 5:89031b2f5316 42
Charles MacNeill 5:89031b2f5316 43 uint32_t VL53LX_events_per_spad_maths(
Charles MacNeill 5:89031b2f5316 44 int32_t VL53LX_p_010,
Charles MacNeill 5:89031b2f5316 45 uint16_t num_spads,
Charles MacNeill 5:89031b2f5316 46 uint32_t duration);
Charles MacNeill 5:89031b2f5316 47
Charles MacNeill 5:89031b2f5316 48
Charles MacNeill 5:89031b2f5316 49
Charles MacNeill 5:89031b2f5316 50
Charles MacNeill 5:89031b2f5316 51 uint32_t VL53LX_isqrt(
Charles MacNeill 5:89031b2f5316 52 uint32_t num);
Charles MacNeill 5:89031b2f5316 53
Charles MacNeill 5:89031b2f5316 54
Charles MacNeill 5:89031b2f5316 55
Charles MacNeill 5:89031b2f5316 56
Charles MacNeill 5:89031b2f5316 57 void VL53LX_hist_calc_zero_distance_phase(
Charles MacNeill 5:89031b2f5316 58 VL53LX_histogram_bin_data_t *pdata);
Charles MacNeill 5:89031b2f5316 59
Charles MacNeill 5:89031b2f5316 60
Charles MacNeill 5:89031b2f5316 61
Charles MacNeill 5:89031b2f5316 62
Charles MacNeill 5:89031b2f5316 63 void VL53LX_hist_estimate_ambient_from_thresholded_bins(
Charles MacNeill 5:89031b2f5316 64 int32_t ambient_threshold_sigma,
Charles MacNeill 5:89031b2f5316 65 VL53LX_histogram_bin_data_t *pdata);
Charles MacNeill 5:89031b2f5316 66
Charles MacNeill 5:89031b2f5316 67
Charles MacNeill 5:89031b2f5316 68
Charles MacNeill 5:89031b2f5316 69
Charles MacNeill 5:89031b2f5316 70 void VL53LX_hist_remove_ambient_bins(
Charles MacNeill 5:89031b2f5316 71 VL53LX_histogram_bin_data_t *pdata);
Charles MacNeill 5:89031b2f5316 72
Charles MacNeill 5:89031b2f5316 73
Charles MacNeill 5:89031b2f5316 74
Charles MacNeill 5:89031b2f5316 75
Charles MacNeill 5:89031b2f5316 76 uint32_t VL53LX_calc_pll_period_mm(
Charles MacNeill 5:89031b2f5316 77 uint16_t fast_osc_frequency);
Charles MacNeill 5:89031b2f5316 78
Charles MacNeill 5:89031b2f5316 79
Charles MacNeill 5:89031b2f5316 80
Charles MacNeill 5:89031b2f5316 81
Charles MacNeill 5:89031b2f5316 82 uint16_t VL53LX_rate_maths(
Charles MacNeill 5:89031b2f5316 83 int32_t VL53LX_p_018,
Charles MacNeill 5:89031b2f5316 84 uint32_t time_us);
Charles MacNeill 5:89031b2f5316 85
Charles MacNeill 5:89031b2f5316 86
Charles MacNeill 5:89031b2f5316 87
Charles MacNeill 5:89031b2f5316 88
Charles MacNeill 5:89031b2f5316 89 uint16_t VL53LX_rate_per_spad_maths(
Charles MacNeill 5:89031b2f5316 90 uint32_t frac_bits,
Charles MacNeill 5:89031b2f5316 91 uint32_t peak_count_rate,
Charles MacNeill 5:89031b2f5316 92 uint16_t num_spads,
Charles MacNeill 5:89031b2f5316 93 uint32_t max_output_value);
Charles MacNeill 5:89031b2f5316 94
Charles MacNeill 5:89031b2f5316 95
Charles MacNeill 5:89031b2f5316 96
Charles MacNeill 5:89031b2f5316 97
Charles MacNeill 5:89031b2f5316 98 int32_t VL53LX_range_maths(
Charles MacNeill 5:89031b2f5316 99 uint16_t fast_osc_frequency,
Charles MacNeill 5:89031b2f5316 100 uint16_t VL53LX_p_014,
Charles MacNeill 5:89031b2f5316 101 uint16_t zero_distance_phase,
Charles MacNeill 5:89031b2f5316 102 uint8_t fractional_bits,
Charles MacNeill 5:89031b2f5316 103 int32_t gain_factor,
Charles MacNeill 5:89031b2f5316 104 int32_t range_offset_mm);
Charles MacNeill 5:89031b2f5316 105
Charles MacNeill 5:89031b2f5316 106
Charles MacNeill 5:89031b2f5316 107
Charles MacNeill 5:89031b2f5316 108
Charles MacNeill 5:89031b2f5316 109 uint8_t VL53LX_decode_vcsel_period(
Charles MacNeill 5:89031b2f5316 110 uint8_t vcsel_period_reg);
Charles MacNeill 5:89031b2f5316 111
Charles MacNeill 5:89031b2f5316 112
Charles MacNeill 5:89031b2f5316 113
Charles MacNeill 5:89031b2f5316 114 void VL53LX_copy_xtalk_bin_data_to_histogram_data_struct(
Charles MacNeill 5:89031b2f5316 115 VL53LX_xtalk_histogram_shape_t *pxtalk,
Charles MacNeill 5:89031b2f5316 116 VL53LX_histogram_bin_data_t *phist);
Charles MacNeill 5:89031b2f5316 117
Charles MacNeill 5:89031b2f5316 118
Charles MacNeill 5:89031b2f5316 119
Charles MacNeill 5:89031b2f5316 120
Charles MacNeill 5:89031b2f5316 121 void VL53LX_init_histogram_bin_data_struct(
Charles MacNeill 5:89031b2f5316 122 int32_t bin_value,
Charles MacNeill 5:89031b2f5316 123 uint16_t VL53LX_p_021,
Charles MacNeill 5:89031b2f5316 124 VL53LX_histogram_bin_data_t *pdata);
Charles MacNeill 5:89031b2f5316 125
Charles MacNeill 5:89031b2f5316 126
Charles MacNeill 5:89031b2f5316 127
Charles MacNeill 5:89031b2f5316 128
Charles MacNeill 5:89031b2f5316 129 void VL53LX_decode_row_col(
Charles MacNeill 5:89031b2f5316 130 uint8_t spad_number,
Charles MacNeill 5:89031b2f5316 131 uint8_t *prow,
Charles MacNeill 5:89031b2f5316 132 uint8_t *pcol);
Charles MacNeill 5:89031b2f5316 133
Charles MacNeill 5:89031b2f5316 134
Charles MacNeill 5:89031b2f5316 135
Charles MacNeill 5:89031b2f5316 136
Charles MacNeill 5:89031b2f5316 137 void VL53LX_hist_find_min_max_bin_values(
Charles MacNeill 5:89031b2f5316 138 VL53LX_histogram_bin_data_t *pdata);
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_hist_estimate_ambient_from_ambient_bins(
Charles MacNeill 5:89031b2f5316 144 VL53LX_histogram_bin_data_t *pdata);
Charles MacNeill 5:89031b2f5316 145
Charles MacNeill 5:89031b2f5316 146
Charles MacNeill 5:89031b2f5316 147 #ifdef __cplusplus
Charles MacNeill 5:89031b2f5316 148 }
Charles MacNeill 5:89031b2f5316 149 #endif
Charles MacNeill 5:89031b2f5316 150
Charles MacNeill 5:89031b2f5316 151 #endif
Charles MacNeill 5:89031b2f5316 152