Fork Charles's library
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
Dependents: VL53L3ExpansionBoard
vl53lx_class.h@3:316175f392f7, 2020-11-03 (annotated)
- Committer:
- johnAlexander
- Date:
- Tue Nov 03 15:16:36 2020 +0000
- Revision:
- 3:316175f392f7
- Parent:
- vl53l3inc/vl53lx_class.h@2:ad33ff89d2cf
Add ST common libs
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
charlesmn | 0:0be0bd219e72 | 1 | /******************************************************************************* |
charlesmn | 0:0be0bd219e72 | 2 | Copyright © 2018, STMicroelectronics International N.V. |
charlesmn | 0:0be0bd219e72 | 3 | All rights reserved. |
charlesmn | 0:0be0bd219e72 | 4 | Redistribution and use in source and binary forms, with or without |
charlesmn | 0:0be0bd219e72 | 5 | modification, are permitted provided that the following conditions are met: |
charlesmn | 0:0be0bd219e72 | 6 | * Redistributions of source code must retain the above copyright |
charlesmn | 0:0be0bd219e72 | 7 | notice, this list of conditions and the following disclaimer. |
charlesmn | 0:0be0bd219e72 | 8 | * Redistributions in binary form must reproduce the above copyright |
charlesmn | 0:0be0bd219e72 | 9 | notice, this list of conditions and the following disclaimer in the |
charlesmn | 0:0be0bd219e72 | 10 | documentation and/or other materials provided with the distribution. |
charlesmn | 0:0be0bd219e72 | 11 | * Neither the name of STMicroelectronics nor the |
charlesmn | 0:0be0bd219e72 | 12 | names of its contributors may be used to endorse or promote products |
charlesmn | 0:0be0bd219e72 | 13 | derived from this software without specific prior written permission. |
charlesmn | 0:0be0bd219e72 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
charlesmn | 0:0be0bd219e72 | 15 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
charlesmn | 0:0be0bd219e72 | 16 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND |
charlesmn | 0:0be0bd219e72 | 17 | NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED. |
charlesmn | 0:0be0bd219e72 | 18 | IN NO EVENT SHALL STMICROELECTRONICS INTERNATIONAL N.V. BE LIABLE FOR ANY |
charlesmn | 0:0be0bd219e72 | 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
charlesmn | 0:0be0bd219e72 | 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
charlesmn | 0:0be0bd219e72 | 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
charlesmn | 0:0be0bd219e72 | 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
charlesmn | 0:0be0bd219e72 | 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
charlesmn | 0:0be0bd219e72 | 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
charlesmn | 0:0be0bd219e72 | 25 | *****************************************************************************/ |
charlesmn | 0:0be0bd219e72 | 26 | |
charlesmn | 0:0be0bd219e72 | 27 | #ifndef __VL53LX_CLASS_H |
charlesmn | 0:0be0bd219e72 | 28 | #define __VL53LX_CLASS_H |
charlesmn | 0:0be0bd219e72 | 29 | |
charlesmn | 0:0be0bd219e72 | 30 | #ifdef _MSC_VER |
charlesmn | 0:0be0bd219e72 | 31 | #ifdef VL53LX_API_EXPORTS |
charlesmn | 0:0be0bd219e72 | 32 | #define VL53LX_API __declspec(dllexport) |
charlesmn | 0:0be0bd219e72 | 33 | #else |
charlesmn | 0:0be0bd219e72 | 34 | #define VL53LX_API |
charlesmn | 0:0be0bd219e72 | 35 | #endif |
charlesmn | 0:0be0bd219e72 | 36 | #else |
charlesmn | 0:0be0bd219e72 | 37 | #define VL53LX_API |
charlesmn | 0:0be0bd219e72 | 38 | #endif |
charlesmn | 0:0be0bd219e72 | 39 | |
charlesmn | 0:0be0bd219e72 | 40 | /* Includes ------------------------------------------------------------------*/ |
charlesmn | 0:0be0bd219e72 | 41 | //#include "Arduino.h" |
charlesmn | 0:0be0bd219e72 | 42 | #include "mbed.h" |
charlesmn | 0:0be0bd219e72 | 43 | #include "RangeSensor.h" |
charlesmn | 0:0be0bd219e72 | 44 | #include "vl53lx_def.h" |
charlesmn | 0:0be0bd219e72 | 45 | #include "vl53L3_I2c.h" |
charlesmn | 0:0be0bd219e72 | 46 | //#include <Wire.h> |
charlesmn | 0:0be0bd219e72 | 47 | |
charlesmn | 0:0be0bd219e72 | 48 | |
charlesmn | 0:0be0bd219e72 | 49 | #include "PinNames.h" |
charlesmn | 0:0be0bd219e72 | 50 | #include "vl53lx_error_codes.h" |
charlesmn | 0:0be0bd219e72 | 51 | #include "vl53lx_platform_user_data.h" |
charlesmn | 0:0be0bd219e72 | 52 | |
charlesmn | 0:0be0bd219e72 | 53 | #include "Stmpe1600.h" |
charlesmn | 0:0be0bd219e72 | 54 | /**********************************************************/ |
charlesmn | 0:0be0bd219e72 | 55 | |
charlesmn | 0:0be0bd219e72 | 56 | |
charlesmn | 0:0be0bd219e72 | 57 | #define VL53LX_DEFAULT_DEVICE_ADDRESS 0x52 |
charlesmn | 0:0be0bd219e72 | 58 | |
charlesmn | 0:0be0bd219e72 | 59 | |
charlesmn | 0:0be0bd219e72 | 60 | /* vl53lx_api_core.c */ |
charlesmn | 0:0be0bd219e72 | 61 | #define VL53LX_MAX_I2C_XFER_SIZE 256 |
charlesmn | 0:0be0bd219e72 | 62 | /* vl53lx_core.c */ |
charlesmn | 0:0be0bd219e72 | 63 | // VL53LX_Error VL53LX_dynamic_xtalk_correction_corrector() |
charlesmn | 0:0be0bd219e72 | 64 | #define CONT_CONTINUE 0 |
charlesmn | 0:0be0bd219e72 | 65 | #define CONT_NEXT_LOOP 1 |
charlesmn | 0:0be0bd219e72 | 66 | #define CONT_RESET 2 |
charlesmn | 0:0be0bd219e72 | 67 | |
charlesmn | 0:0be0bd219e72 | 68 | |
charlesmn | 0:0be0bd219e72 | 69 | /* vl53lx_api.c */ |
charlesmn | 0:0be0bd219e72 | 70 | |
charlesmn | 0:0be0bd219e72 | 71 | #ifndef MIN |
charlesmn | 0:0be0bd219e72 | 72 | #define MIN(v1, v2) ((v1) < (v2) ? (v1) : (v2)) |
charlesmn | 0:0be0bd219e72 | 73 | #endif |
charlesmn | 0:0be0bd219e72 | 74 | #ifndef MAX |
charlesmn | 0:0be0bd219e72 | 75 | #define MAX(v1, v2) ((v1) < (v2) ? (v2) : (v1)) |
charlesmn | 0:0be0bd219e72 | 76 | #endif |
charlesmn | 0:0be0bd219e72 | 77 | |
charlesmn | 0:0be0bd219e72 | 78 | #define DMAX_REFLECTANCE_IDX 2 |
charlesmn | 0:0be0bd219e72 | 79 | |
charlesmn | 0:0be0bd219e72 | 80 | |
charlesmn | 0:0be0bd219e72 | 81 | |
charlesmn | 0:0be0bd219e72 | 82 | #define LOWPOWER_AUTO_VHV_LOOP_DURATION_US 245 |
charlesmn | 0:0be0bd219e72 | 83 | #define LOWPOWER_AUTO_OVERHEAD_BEFORE_A_RANGING 1448 |
charlesmn | 0:0be0bd219e72 | 84 | #define LOWPOWER_AUTO_OVERHEAD_BETWEEN_A_B_RANGING 2100 |
charlesmn | 0:0be0bd219e72 | 85 | |
charlesmn | 0:0be0bd219e72 | 86 | #define FDA_MAX_TIMING_BUDGET_US 550000 |
charlesmn | 0:0be0bd219e72 | 87 | |
charlesmn | 0:0be0bd219e72 | 88 | |
charlesmn | 0:0be0bd219e72 | 89 | #define VL53LX_NVM_POWER_UP_DELAY_US 50 |
charlesmn | 0:0be0bd219e72 | 90 | #define VL53LX_NVM_READ_TRIGGER_DELAY_US 5 |
charlesmn | 0:0be0bd219e72 | 91 | |
charlesmn | 0:0be0bd219e72 | 92 | |
charlesmn | 0:0be0bd219e72 | 93 | #define VL53LX_D_002 0xFFFF |
charlesmn | 0:0be0bd219e72 | 94 | #define VL53LX_D_008 0xFFFF |
charlesmn | 0:0be0bd219e72 | 95 | #define VL53LX_D_003 0xFFFFFF |
charlesmn | 0:0be0bd219e72 | 96 | #define VL53LX_D_007 0xFFFFFFFF |
charlesmn | 0:0be0bd219e72 | 97 | #define VL53LX_D_005 0x7FFFFFFFFF |
charlesmn | 0:0be0bd219e72 | 98 | #define VL53LX_D_009 0xFFFFFFFFFF |
charlesmn | 0:0be0bd219e72 | 99 | #define VL53LX_D_010 0xFFFFFFFFFFFF |
charlesmn | 0:0be0bd219e72 | 100 | #define VL53LX_D_004 0xFFFFFFFFFFFFFF |
charlesmn | 0:0be0bd219e72 | 101 | #define VL53LX_D_006 0x7FFFFFFFFFFFFFFF |
charlesmn | 0:0be0bd219e72 | 102 | #define VL53LX_D_011 0xFFFFFFFFFFFFFFFF |
charlesmn | 0:0be0bd219e72 | 103 | |
charlesmn | 0:0be0bd219e72 | 104 | #define VL53L1X_DEFAULT_DEVICE_ADDRESS 0x52 |
charlesmn | 0:0be0bd219e72 | 105 | #define HIGH 1 |
charlesmn | 0:0be0bd219e72 | 106 | /* |
charlesmn | 0:0be0bd219e72 | 107 | |
charlesmn | 0:0be0bd219e72 | 108 | int BDTable[11] = { |
charlesmn | 0:0be0bd219e72 | 109 | TUNING_VERSION, |
charlesmn | 0:0be0bd219e72 | 110 | TUNING_PROXY_MIN, |
charlesmn | 0:0be0bd219e72 | 111 | TUNING_SINGLE_TARGET_XTALK_TARGET_DISTANCE_MM, |
charlesmn | 0:0be0bd219e72 | 112 | TUNING_SINGLE_TARGET_XTALK_SAMPLE_NUMBER, |
charlesmn | 0:0be0bd219e72 | 113 | TUNING_MIN_AMBIENT_DMAX_VALID, |
charlesmn | 0:0be0bd219e72 | 114 | TUNING_MAX_SIMPLE_OFFSET_CALIBRATION_SAMPLE_NUMBER, |
charlesmn | 0:0be0bd219e72 | 115 | TUNING_XTALK_FULL_ROI_TARGET_DISTANCE_MM, |
charlesmn | 0:0be0bd219e72 | 116 | TUNING_SIMPLE_OFFSET_CALIBRATION_REPEAT, |
charlesmn | 0:0be0bd219e72 | 117 | TUNING_XTALK_FULL_ROI_BIN_SUM_MARGIN, |
charlesmn | 0:0be0bd219e72 | 118 | TUNING_XTALK_FULL_ROI_DEFAULT_OFFSET, |
charlesmn | 0:0be0bd219e72 | 119 | TUNING_ZERO_DISTANCE_OFFSET_NON_LINEAR_FACTOR_DEFAULT |
charlesmn | 0:0be0bd219e72 | 120 | }; |
charlesmn | 0:0be0bd219e72 | 121 | */ |
charlesmn | 0:0be0bd219e72 | 122 | |
charlesmn | 0:0be0bd219e72 | 123 | /* Classes -------------------------------------------------------------------*/ |
charlesmn | 0:0be0bd219e72 | 124 | /** Class representing a VL53LX sensor component |
charlesmn | 0:0be0bd219e72 | 125 | */ |
charlesmn | 0:0be0bd219e72 | 126 | |
charlesmn | 0:0be0bd219e72 | 127 | class VL53LX : public RangeSensor { |
charlesmn | 0:0be0bd219e72 | 128 | public: |
charlesmn | 0:0be0bd219e72 | 129 | /** Constructor |
charlesmn | 0:0be0bd219e72 | 130 | * @param[in] &i2c device I2C to be used for communication |
charlesmn | 0:0be0bd219e72 | 131 | * @param[in] &pin_gpio1 pin Mbed InterruptIn PinName to be used as component GPIO_1 INT |
charlesmn | 0:0be0bd219e72 | 132 | * @param[in] DevAddr device address, 0x52 by default |
johnAlexander | 2:ad33ff89d2cf | 133 | */ |
johnAlexander | 2:ad33ff89d2cf | 134 | VL53LX(vl53L3_DevI2C *i2c, DigitalOut *pin, PinName pin_gpio1, uint8_t dev_addr = VL53L1X_DEFAULT_DEVICE_ADDRESS) |
johnAlexander | 2:ad33ff89d2cf | 135 | : RangeSensor(), dev_i2c(i2c), _gpio0(pin) |
charlesmn | 0:0be0bd219e72 | 136 | { |
johnAlexander | 2:ad33ff89d2cf | 137 | MyDevice.I2cDevAddr = dev_addr; |
johnAlexander | 2:ad33ff89d2cf | 138 | MyDevice.I2cHandle = i2c; |
johnAlexander | 2:ad33ff89d2cf | 139 | Dev = &MyDevice; |
johnAlexander | 2:ad33ff89d2cf | 140 | |
johnAlexander | 2:ad33ff89d2cf | 141 | _expgpio0 = NULL; |
johnAlexander | 2:ad33ff89d2cf | 142 | if (pin_gpio1 != NC) { |
johnAlexander | 2:ad33ff89d2cf | 143 | _gpio1Int = new InterruptIn(pin_gpio1); |
johnAlexander | 2:ad33ff89d2cf | 144 | } else { |
johnAlexander | 2:ad33ff89d2cf | 145 | _gpio1Int = NULL; |
johnAlexander | 2:ad33ff89d2cf | 146 | } |
charlesmn | 0:0be0bd219e72 | 147 | } |
johnAlexander | 2:ad33ff89d2cf | 148 | |
charlesmn | 0:0be0bd219e72 | 149 | |
charlesmn | 0:0be0bd219e72 | 150 | |
charlesmn | 0:0be0bd219e72 | 151 | VL53LX(vl53L3_DevI2C *i2c, Stmpe1600DigiOut *pin, PinName pin_gpio1, uint8_t dev_addr = VL53LX_DEFAULT_DEVICE_ADDRESS) |
charlesmn | 0:0be0bd219e72 | 152 | : RangeSensor(), dev_i2c(i2c), _expgpio0(pin) |
charlesmn | 0:0be0bd219e72 | 153 | { |
charlesmn | 0:0be0bd219e72 | 154 | MyDevice.I2cDevAddr=dev_addr; |
charlesmn | 0:0be0bd219e72 | 155 | MyDevice.I2cHandle = i2c; |
charlesmn | 0:0be0bd219e72 | 156 | Dev = &MyDevice; |
charlesmn | 0:0be0bd219e72 | 157 | |
charlesmn | 0:0be0bd219e72 | 158 | _gpio0 = NULL; |
charlesmn | 0:0be0bd219e72 | 159 | if (pin_gpio1 != NC) { |
charlesmn | 0:0be0bd219e72 | 160 | _gpio1Int = new InterruptIn(pin_gpio1); |
charlesmn | 0:0be0bd219e72 | 161 | } else { |
charlesmn | 0:0be0bd219e72 | 162 | _gpio1Int = NULL; |
charlesmn | 0:0be0bd219e72 | 163 | } |
charlesmn | 0:0be0bd219e72 | 164 | |
johnAlexander | 2:ad33ff89d2cf | 165 | // i2c_inst = i2c; |
charlesmn | 0:0be0bd219e72 | 166 | } |
charlesmn | 0:0be0bd219e72 | 167 | |
charlesmn | 0:0be0bd219e72 | 168 | |
charlesmn | 0:0be0bd219e72 | 169 | /** Destructor |
charlesmn | 0:0be0bd219e72 | 170 | */ |
charlesmn | 0:0be0bd219e72 | 171 | virtual ~VL53LX() {} |
charlesmn | 0:0be0bd219e72 | 172 | /* warning: VL53LX class inherits from GenericSensor, RangeSensor and LightSensor, that haven`t a destructor. |
charlesmn | 0:0be0bd219e72 | 173 | The warning should request to introduce a virtual destructor to make sure to delete the object */ |
charlesmn | 0:0be0bd219e72 | 174 | |
charlesmn | 0:0be0bd219e72 | 175 | /*** Interface Methods ***/ |
charlesmn | 0:0be0bd219e72 | 176 | /*** High level API ***/ |
charlesmn | 0:0be0bd219e72 | 177 | /** |
charlesmn | 0:0be0bd219e72 | 178 | * @brief PowerOn the sensor |
charlesmn | 0:0be0bd219e72 | 179 | * @return void |
charlesmn | 0:0be0bd219e72 | 180 | */ |
charlesmn | 0:0be0bd219e72 | 181 | /* turns on the sensor */ |
charlesmn | 0:0be0bd219e72 | 182 | |
charlesmn | 0:0be0bd219e72 | 183 | |
charlesmn | 0:0be0bd219e72 | 184 | /* turns on the sensor */ |
charlesmn | 0:0be0bd219e72 | 185 | virtual void VL53LX_On(void) |
charlesmn | 0:0be0bd219e72 | 186 | { |
charlesmn | 0:0be0bd219e72 | 187 | printf("VL53L1_On\r\n"); |
charlesmn | 0:0be0bd219e72 | 188 | if (_gpio0) { |
charlesmn | 0:0be0bd219e72 | 189 | *_gpio0 = 1; |
charlesmn | 0:0be0bd219e72 | 190 | } else { |
charlesmn | 0:0be0bd219e72 | 191 | if (_expgpio0) { |
charlesmn | 0:0be0bd219e72 | 192 | *_expgpio0 = 1; |
charlesmn | 0:0be0bd219e72 | 193 | } |
charlesmn | 0:0be0bd219e72 | 194 | } |
charlesmn | 0:0be0bd219e72 | 195 | wait_ms(10); |
charlesmn | 0:0be0bd219e72 | 196 | } |
charlesmn | 0:0be0bd219e72 | 197 | |
charlesmn | 0:0be0bd219e72 | 198 | /** |
charlesmn | 0:0be0bd219e72 | 199 | * @brief PowerOff the sensor |
charlesmn | 0:0be0bd219e72 | 200 | * @return void |
charlesmn | 0:0be0bd219e72 | 201 | */ |
charlesmn | 0:0be0bd219e72 | 202 | /* turns off the sensor */ |
charlesmn | 0:0be0bd219e72 | 203 | virtual void VL53LX_Off(void) |
charlesmn | 0:0be0bd219e72 | 204 | { |
charlesmn | 0:0be0bd219e72 | 205 | printf("VL53L1_Off\r\n"); |
charlesmn | 0:0be0bd219e72 | 206 | if (_gpio0) { |
charlesmn | 0:0be0bd219e72 | 207 | *_gpio0 = 0; |
charlesmn | 0:0be0bd219e72 | 208 | } else { |
charlesmn | 0:0be0bd219e72 | 209 | if (_expgpio0) { |
charlesmn | 0:0be0bd219e72 | 210 | *_expgpio0 = 0; |
charlesmn | 0:0be0bd219e72 | 211 | } |
charlesmn | 0:0be0bd219e72 | 212 | } |
charlesmn | 0:0be0bd219e72 | 213 | wait_ms(10); |
charlesmn | 0:0be0bd219e72 | 214 | } |
charlesmn | 0:0be0bd219e72 | 215 | /* |
charlesmn | 0:0be0bd219e72 | 216 | virtual void VL53LX_On(void) |
charlesmn | 0:0be0bd219e72 | 217 | { |
charlesmn | 0:0be0bd219e72 | 218 | if (gpio0 >= 0) { |
charlesmn | 0:0be0bd219e72 | 219 | digitalWrite(gpio0, HIGH); |
charlesmn | 0:0be0bd219e72 | 220 | } |
charlesmn | 0:0be0bd219e72 | 221 | delay(10); |
charlesmn | 0:0be0bd219e72 | 222 | } |
charlesmn | 0:0be0bd219e72 | 223 | */ |
charlesmn | 0:0be0bd219e72 | 224 | |
charlesmn | 0:0be0bd219e72 | 225 | /** |
charlesmn | 0:0be0bd219e72 | 226 | * @brief PowerOff the sensor |
charlesmn | 0:0be0bd219e72 | 227 | * @return void |
charlesmn | 0:0be0bd219e72 | 228 | */ |
charlesmn | 0:0be0bd219e72 | 229 | /* turns off the sensor */ |
charlesmn | 0:0be0bd219e72 | 230 | /* |
charlesmn | 0:0be0bd219e72 | 231 | virtual void VL53LX_Off(void) |
charlesmn | 0:0be0bd219e72 | 232 | { |
charlesmn | 0:0be0bd219e72 | 233 | if (gpio0 >= 0) { |
charlesmn | 0:0be0bd219e72 | 234 | digitalWrite(gpio0, LOW); |
charlesmn | 0:0be0bd219e72 | 235 | } |
charlesmn | 0:0be0bd219e72 | 236 | delay(10); |
charlesmn | 0:0be0bd219e72 | 237 | } |
charlesmn | 0:0be0bd219e72 | 238 | */ |
charlesmn | 0:0be0bd219e72 | 239 | |
charlesmn | 0:0be0bd219e72 | 240 | /** |
charlesmn | 0:0be0bd219e72 | 241 | * @brief Initialize the sensor with default values |
charlesmn | 0:0be0bd219e72 | 242 | * @return 0 on Success |
charlesmn | 0:0be0bd219e72 | 243 | */ |
charlesmn | 0:0be0bd219e72 | 244 | |
charlesmn | 0:0be0bd219e72 | 245 | VL53LX_Error InitSensor(uint8_t address) |
charlesmn | 0:0be0bd219e72 | 246 | { |
charlesmn | 0:0be0bd219e72 | 247 | VL53LX_Error status = VL53LX_ERROR_NONE; |
charlesmn | 0:0be0bd219e72 | 248 | VL53LX_Off(); |
charlesmn | 0:0be0bd219e72 | 249 | VL53LX_On(); |
charlesmn | 0:0be0bd219e72 | 250 | |
charlesmn | 0:0be0bd219e72 | 251 | status = VL53LX_SetDeviceAddress(address); |
charlesmn | 0:0be0bd219e72 | 252 | |
charlesmn | 0:0be0bd219e72 | 253 | if (status == VL53LX_ERROR_NONE) { |
charlesmn | 0:0be0bd219e72 | 254 | status = VL53LX_WaitDeviceBooted(); |
charlesmn | 0:0be0bd219e72 | 255 | } |
charlesmn | 0:0be0bd219e72 | 256 | |
charlesmn | 0:0be0bd219e72 | 257 | if (status == VL53LX_ERROR_NONE) { |
charlesmn | 0:0be0bd219e72 | 258 | status = VL53LX_DataInit(); |
charlesmn | 0:0be0bd219e72 | 259 | } |
charlesmn | 0:0be0bd219e72 | 260 | return status; |
charlesmn | 0:0be0bd219e72 | 261 | } |
charlesmn | 0:0be0bd219e72 | 262 | |
charlesmn | 0:0be0bd219e72 | 263 | |
charlesmn | 0:0be0bd219e72 | 264 | |
charlesmn | 0:0be0bd219e72 | 265 | /** |
charlesmn | 0:0be0bd219e72 | 266 | * |
charlesmn | 0:0be0bd219e72 | 267 | * @brief One time device initialization |
charlesmn | 0:0be0bd219e72 | 268 | * @param void |
charlesmn | 0:0be0bd219e72 | 269 | * @return 0 on success |
charlesmn | 0:0be0bd219e72 | 270 | */ |
johnAlexander | 1:96f9b31f585a | 271 | // virtual int Init() |
johnAlexander | 1:96f9b31f585a | 272 | virtual int init(void *init) |
charlesmn | 0:0be0bd219e72 | 273 | { |
charlesmn | 0:0be0bd219e72 | 274 | return VL53LX_DataInit(); |
charlesmn | 0:0be0bd219e72 | 275 | } |
charlesmn | 0:0be0bd219e72 | 276 | |
charlesmn | 0:0be0bd219e72 | 277 | |
charlesmn | 0:0be0bd219e72 | 278 | |
charlesmn | 0:0be0bd219e72 | 279 | /* Read function of the ID device */ |
johnAlexander | 1:96f9b31f585a | 280 | // virtual int ReadID() |
johnAlexander | 1:96f9b31f585a | 281 | virtual int read_id(uint8_t *id) |
charlesmn | 0:0be0bd219e72 | 282 | { |
charlesmn | 0:0be0bd219e72 | 283 | uint64_t Uid; |
charlesmn | 0:0be0bd219e72 | 284 | VL53LX_GetUID(&Uid); |
charlesmn | 0:0be0bd219e72 | 285 | if (Uid == 0x00FF000000FF) { |
charlesmn | 0:0be0bd219e72 | 286 | return 0; |
charlesmn | 0:0be0bd219e72 | 287 | } |
charlesmn | 0:0be0bd219e72 | 288 | return -1; |
charlesmn | 0:0be0bd219e72 | 289 | } |
charlesmn | 0:0be0bd219e72 | 290 | |
charlesmn | 0:0be0bd219e72 | 291 | |
charlesmn | 0:0be0bd219e72 | 292 | |
charlesmn | 0:0be0bd219e72 | 293 | /** |
charlesmn | 0:0be0bd219e72 | 294 | * @brief Get ranging result and only that |
charlesmn | 0:0be0bd219e72 | 295 | * @param pRange_mm Pointer to range distance |
charlesmn | 0:0be0bd219e72 | 296 | * @return 0 on success |
charlesmn | 0:0be0bd219e72 | 297 | */ |
johnAlexander | 1:96f9b31f585a | 298 | // virtual int GetDistance(uint32_t *piData) |
johnAlexander | 1:96f9b31f585a | 299 | virtual int get_distance(uint32_t *pi_data) |
charlesmn | 0:0be0bd219e72 | 300 | { |
johnAlexander | 1:96f9b31f585a | 301 | int status; |
johnAlexander | 1:96f9b31f585a | 302 | uint16_t distance = 0; |
johnAlexander | 1:96f9b31f585a | 303 | // status = vl53l1x_get_distance(&distance); |
johnAlexander | 1:96f9b31f585a | 304 | *pi_data = (uint32_t) distance; |
johnAlexander | 1:96f9b31f585a | 305 | return status; |
charlesmn | 0:0be0bd219e72 | 306 | } |
charlesmn | 0:0be0bd219e72 | 307 | |
charlesmn | 0:0be0bd219e72 | 308 | |
charlesmn | 0:0be0bd219e72 | 309 | /* vl53lx_api.h */ |
charlesmn | 0:0be0bd219e72 | 310 | |
charlesmn | 0:0be0bd219e72 | 311 | /** @defgroup VL53LX_group VL53LX Function Definition |
charlesmn | 0:0be0bd219e72 | 312 | * @brief VL53LX Function Definition |
charlesmn | 0:0be0bd219e72 | 313 | * @{ |
charlesmn | 0:0be0bd219e72 | 314 | */ |
charlesmn | 0:0be0bd219e72 | 315 | |
charlesmn | 0:0be0bd219e72 | 316 | /** @defgroup VL53LX_general_group VL53LX General Functions |
charlesmn | 0:0be0bd219e72 | 317 | * @brief General functions and definitions |
charlesmn | 0:0be0bd219e72 | 318 | * @{ |
charlesmn | 0:0be0bd219e72 | 319 | */ |
charlesmn | 0:0be0bd219e72 | 320 | |
charlesmn | 0:0be0bd219e72 | 321 | /** |
charlesmn | 0:0be0bd219e72 | 322 | * @brief Return the VL53LX driver Version |
charlesmn | 0:0be0bd219e72 | 323 | * |
charlesmn | 0:0be0bd219e72 | 324 | * @note This function doesn't access to the device |
charlesmn | 0:0be0bd219e72 | 325 | * |
charlesmn | 0:0be0bd219e72 | 326 | * @param pVersion Rer to current driver Version |
charlesmn | 0:0be0bd219e72 | 327 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 328 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 329 | */ |
charlesmn | 0:0be0bd219e72 | 330 | VL53LX_Error VL53LX_GetVersion(VL53LX_Version_t *pVersion); |
charlesmn | 0:0be0bd219e72 | 331 | |
charlesmn | 0:0be0bd219e72 | 332 | /** |
charlesmn | 0:0be0bd219e72 | 333 | * @brief Reads the Product Revision for a for given Device |
charlesmn | 0:0be0bd219e72 | 334 | * This function can be used to distinguish cut1.0 from cut1.1. |
charlesmn | 0:0be0bd219e72 | 335 | * |
charlesmn | 0:0be0bd219e72 | 336 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 337 | * @param pProductRevisionMajor Pointer to Product Revision Major |
charlesmn | 0:0be0bd219e72 | 338 | * for a given Device |
charlesmn | 0:0be0bd219e72 | 339 | * @param pProductRevisionMinor Pointer to Product Revision Minor |
charlesmn | 0:0be0bd219e72 | 340 | * for a given Device |
charlesmn | 0:0be0bd219e72 | 341 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 342 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 343 | */ |
charlesmn | 0:0be0bd219e72 | 344 | VL53LX_Error VL53LX_GetProductRevision(uint8_t *pProductRevisionMajor, uint8_t *pProductRevisionMinor); |
charlesmn | 0:0be0bd219e72 | 345 | |
charlesmn | 0:0be0bd219e72 | 346 | /** |
charlesmn | 0:0be0bd219e72 | 347 | * @brief Reads the Device information for given Device |
charlesmn | 0:0be0bd219e72 | 348 | * |
charlesmn | 0:0be0bd219e72 | 349 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 350 | * |
charlesmn | 0:0be0bd219e72 | 351 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 352 | * @param pVL53LX_DeviceInfo Pointer to current device info for a given |
charlesmn | 0:0be0bd219e72 | 353 | * Device |
charlesmn | 0:0be0bd219e72 | 354 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 355 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 356 | */ |
charlesmn | 0:0be0bd219e72 | 357 | VL53LX_Error VL53LX_GetDeviceInfo( |
charlesmn | 0:0be0bd219e72 | 358 | VL53LX_DeviceInfo_t *pVL53LX_DeviceInfo); |
charlesmn | 0:0be0bd219e72 | 359 | |
charlesmn | 0:0be0bd219e72 | 360 | /** |
charlesmn | 0:0be0bd219e72 | 361 | * @brief Reads the Device unique identifier |
charlesmn | 0:0be0bd219e72 | 362 | * |
charlesmn | 0:0be0bd219e72 | 363 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 364 | * |
charlesmn | 0:0be0bd219e72 | 365 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 366 | * @param pUid Pointer to current device unique ID |
charlesmn | 0:0be0bd219e72 | 367 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 368 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 369 | */ |
charlesmn | 0:0be0bd219e72 | 370 | VL53LX_Error VL53LX_GetUID(uint64_t *pUid); |
charlesmn | 0:0be0bd219e72 | 371 | |
charlesmn | 0:0be0bd219e72 | 372 | |
charlesmn | 0:0be0bd219e72 | 373 | /** @} VL53LX_general_group */ |
charlesmn | 0:0be0bd219e72 | 374 | |
charlesmn | 0:0be0bd219e72 | 375 | /** @defgroup VL53LX_init_group VL53LX Init Functions |
charlesmn | 0:0be0bd219e72 | 376 | * @brief VL53LX Init Functions |
charlesmn | 0:0be0bd219e72 | 377 | * @{ |
charlesmn | 0:0be0bd219e72 | 378 | */ |
charlesmn | 0:0be0bd219e72 | 379 | |
charlesmn | 0:0be0bd219e72 | 380 | /** |
charlesmn | 0:0be0bd219e72 | 381 | * @brief Set new device address |
charlesmn | 0:0be0bd219e72 | 382 | * |
charlesmn | 0:0be0bd219e72 | 383 | * After completion the device will answer to the new address programmed. |
charlesmn | 0:0be0bd219e72 | 384 | * This function should be called when several devices are used in parallel |
charlesmn | 0:0be0bd219e72 | 385 | * before start programming the sensor. |
charlesmn | 0:0be0bd219e72 | 386 | * When a single device us used, there is no need to call this function. |
charlesmn | 0:0be0bd219e72 | 387 | * |
charlesmn | 0:0be0bd219e72 | 388 | * When it is requested for multi devices system this function MUST be called |
charlesmn | 0:0be0bd219e72 | 389 | * prior to VL53LX_DataInit() |
charlesmn | 0:0be0bd219e72 | 390 | * |
charlesmn | 0:0be0bd219e72 | 391 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 392 | * |
charlesmn | 0:0be0bd219e72 | 393 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 394 | * @param DeviceAddress The new Device address |
charlesmn | 0:0be0bd219e72 | 395 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 396 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 397 | */ |
charlesmn | 0:0be0bd219e72 | 398 | VL53LX_Error VL53LX_SetDeviceAddress(uint8_t DeviceAddress); |
charlesmn | 0:0be0bd219e72 | 399 | |
charlesmn | 0:0be0bd219e72 | 400 | /** |
charlesmn | 0:0be0bd219e72 | 401 | * |
charlesmn | 0:0be0bd219e72 | 402 | * @brief One time device initialization |
charlesmn | 0:0be0bd219e72 | 403 | * |
charlesmn | 0:0be0bd219e72 | 404 | * To be called after device has been powered on and booted |
charlesmn | 0:0be0bd219e72 | 405 | * see @a VL53LX_WaitDeviceBooted() |
charlesmn | 0:0be0bd219e72 | 406 | * |
charlesmn | 0:0be0bd219e72 | 407 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 408 | * When not used after a fresh device "power up", it may return |
charlesmn | 0:0be0bd219e72 | 409 | * @a #VL53LX_Error_CALIBRATION_WARNING meaning wrong calibration data |
charlesmn | 0:0be0bd219e72 | 410 | * may have been fetched from device that can result in ranging offset error\n |
charlesmn | 0:0be0bd219e72 | 411 | * If VL53LX_DataInit is called several times then the application must restore |
charlesmn | 0:0be0bd219e72 | 412 | * calibration calling @a VL53LX_SetOffsetCalibrationData() |
charlesmn | 0:0be0bd219e72 | 413 | * It implies application has gathered calibration data thanks to |
charlesmn | 0:0be0bd219e72 | 414 | * @a VL53LX_GetOffsetCalibrationData() after an initial calibration stage. |
charlesmn | 0:0be0bd219e72 | 415 | * |
charlesmn | 0:0be0bd219e72 | 416 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 417 | * |
charlesmn | 0:0be0bd219e72 | 418 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 419 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 420 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 421 | */ |
charlesmn | 0:0be0bd219e72 | 422 | VL53LX_Error VL53LX_DataInit(); |
charlesmn | 0:0be0bd219e72 | 423 | |
charlesmn | 0:0be0bd219e72 | 424 | /** |
charlesmn | 0:0be0bd219e72 | 425 | * @brief Wait for device booted after chip enable (hardware standby) |
charlesmn | 0:0be0bd219e72 | 426 | * |
charlesmn | 0:0be0bd219e72 | 427 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 428 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 429 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 430 | * |
charlesmn | 0:0be0bd219e72 | 431 | */ |
charlesmn | 0:0be0bd219e72 | 432 | VL53LX_Error VL53LX_WaitDeviceBooted(); |
charlesmn | 0:0be0bd219e72 | 433 | |
charlesmn | 0:0be0bd219e72 | 434 | |
charlesmn | 0:0be0bd219e72 | 435 | /** @} VL53LX_init_group */ |
charlesmn | 0:0be0bd219e72 | 436 | |
charlesmn | 0:0be0bd219e72 | 437 | /** @defgroup VL53LX_parameters_group VL53LX Parameters Functions |
charlesmn | 0:0be0bd219e72 | 438 | * @brief Functions used to prepare and setup the device |
charlesmn | 0:0be0bd219e72 | 439 | * @{ |
charlesmn | 0:0be0bd219e72 | 440 | */ |
charlesmn | 0:0be0bd219e72 | 441 | |
charlesmn | 0:0be0bd219e72 | 442 | /** |
charlesmn | 0:0be0bd219e72 | 443 | * @brief Set the distance mode |
charlesmn | 0:0be0bd219e72 | 444 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 445 | * Set the distance mode to be used for the next ranging.<br> |
charlesmn | 0:0be0bd219e72 | 446 | * The modes Short, Medium and Long are used to optimize the ranging accuracy |
charlesmn | 0:0be0bd219e72 | 447 | * in a specific range of distance.<br> The user select one of these modes to |
charlesmn | 0:0be0bd219e72 | 448 | * select the distance range. |
charlesmn | 0:0be0bd219e72 | 449 | * @note This function doesn't Access to the device |
charlesmn | 0:0be0bd219e72 | 450 | * |
charlesmn | 0:0be0bd219e72 | 451 | * @warning This function should be called after @a VL53LX_DataInit(). |
charlesmn | 0:0be0bd219e72 | 452 | |
charlesmn | 0:0be0bd219e72 | 453 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 454 | * @param DistanceMode Distance mode to apply, valid values are: |
charlesmn | 0:0be0bd219e72 | 455 | * @li VL53LX_DISTANCEMODE_SHORT |
charlesmn | 0:0be0bd219e72 | 456 | * @li VL53LX_DISTANCEMODE_MEDIUM |
charlesmn | 0:0be0bd219e72 | 457 | * @li VL53LX_DISTANCEMODE_LONG |
charlesmn | 0:0be0bd219e72 | 458 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 459 | * @return VL53LX_Error_MODE_NOT_SUPPORTED This error occurs when DistanceMode |
charlesmn | 0:0be0bd219e72 | 460 | * is not in the supported list |
charlesmn | 0:0be0bd219e72 | 461 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 462 | */ |
charlesmn | 0:0be0bd219e72 | 463 | VL53LX_Error VL53LX_SetDistanceMode( |
charlesmn | 0:0be0bd219e72 | 464 | VL53LX_DistanceModes DistanceMode); |
charlesmn | 0:0be0bd219e72 | 465 | |
charlesmn | 0:0be0bd219e72 | 466 | /** |
charlesmn | 0:0be0bd219e72 | 467 | * @brief Get the distance mode |
charlesmn | 0:0be0bd219e72 | 468 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 469 | * Get the distance mode used for the next ranging. |
charlesmn | 0:0be0bd219e72 | 470 | * |
charlesmn | 0:0be0bd219e72 | 471 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 472 | * @param *pDistanceMode Pointer to Distance mode |
charlesmn | 0:0be0bd219e72 | 473 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 474 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 475 | */ |
charlesmn | 0:0be0bd219e72 | 476 | VL53LX_Error VL53LX_GetDistanceMode( |
charlesmn | 0:0be0bd219e72 | 477 | VL53LX_DistanceModes *pDistanceMode); |
charlesmn | 0:0be0bd219e72 | 478 | |
charlesmn | 0:0be0bd219e72 | 479 | |
charlesmn | 0:0be0bd219e72 | 480 | /** |
charlesmn | 0:0be0bd219e72 | 481 | * @brief Set Ranging Timing Budget in microseconds |
charlesmn | 0:0be0bd219e72 | 482 | * |
charlesmn | 0:0be0bd219e72 | 483 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 484 | * Defines the maximum time allowed by the user to the device to run a |
charlesmn | 0:0be0bd219e72 | 485 | * full ranging sequence for the current mode (ranging, histogram, ASL ...) |
charlesmn | 0:0be0bd219e72 | 486 | * |
charlesmn | 0:0be0bd219e72 | 487 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 488 | * @param MeasurementTimingBudgetMicroSeconds Max measurement time in |
charlesmn | 0:0be0bd219e72 | 489 | * microseconds. |
charlesmn | 0:0be0bd219e72 | 490 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 491 | * @return VL53LX_Error_INVALID_PARAMS Error timing parameter not |
charlesmn | 0:0be0bd219e72 | 492 | * supported. |
charlesmn | 0:0be0bd219e72 | 493 | * The maximum accepted value for the |
charlesmn | 0:0be0bd219e72 | 494 | * computed timing budget is 10 seconds |
charlesmn | 0:0be0bd219e72 | 495 | * the minimum value depends on the preset |
charlesmn | 0:0be0bd219e72 | 496 | * mode selected. |
charlesmn | 0:0be0bd219e72 | 497 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 498 | */ |
charlesmn | 0:0be0bd219e72 | 499 | VL53LX_Error VL53LX_SetMeasurementTimingBudgetMicroSeconds(uint32_t MeasurementTimingBudgetMicroSeconds); |
charlesmn | 0:0be0bd219e72 | 500 | |
charlesmn | 0:0be0bd219e72 | 501 | /** |
charlesmn | 0:0be0bd219e72 | 502 | * @brief Get Ranging Timing Budget in microseconds |
charlesmn | 0:0be0bd219e72 | 503 | * |
charlesmn | 0:0be0bd219e72 | 504 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 505 | * Returns the programmed the maximum time allowed by the user to the |
charlesmn | 0:0be0bd219e72 | 506 | * device to run a full ranging sequence for the current mode |
charlesmn | 0:0be0bd219e72 | 507 | * (ranging, histogram, ...) |
charlesmn | 0:0be0bd219e72 | 508 | * |
charlesmn | 0:0be0bd219e72 | 509 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 510 | * @param pMeasurementTimingBudgetMicroSeconds Max measurement time in |
charlesmn | 0:0be0bd219e72 | 511 | * microseconds. |
charlesmn | 0:0be0bd219e72 | 512 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 513 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 514 | */ |
charlesmn | 0:0be0bd219e72 | 515 | VL53LX_Error VL53LX_GetMeasurementTimingBudgetMicroSeconds(uint32_t *pMeasurementTimingBudgetMicroSeconds); |
charlesmn | 0:0be0bd219e72 | 516 | /** @} VL53LX_parameters_group */ |
charlesmn | 0:0be0bd219e72 | 517 | |
charlesmn | 0:0be0bd219e72 | 518 | |
charlesmn | 0:0be0bd219e72 | 519 | /** @defgroup VL53LX_measurement_group VL53LX Measurement Functions |
charlesmn | 0:0be0bd219e72 | 520 | * @brief Functions used for the measurements |
charlesmn | 0:0be0bd219e72 | 521 | * @{ |
charlesmn | 0:0be0bd219e72 | 522 | */ |
charlesmn | 0:0be0bd219e72 | 523 | |
charlesmn | 0:0be0bd219e72 | 524 | /** |
charlesmn | 0:0be0bd219e72 | 525 | * @brief Start device measurement |
charlesmn | 0:0be0bd219e72 | 526 | * |
charlesmn | 0:0be0bd219e72 | 527 | * @details Started measurement will depend on distance parameter set through |
charlesmn | 0:0be0bd219e72 | 528 | * @a VL53LX_SetDistanceMode() |
charlesmn | 0:0be0bd219e72 | 529 | * |
charlesmn | 0:0be0bd219e72 | 530 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 531 | * |
charlesmn | 0:0be0bd219e72 | 532 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 533 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 534 | * @return VL53LX_Error_TIME_OUT Time out on start measurement |
charlesmn | 0:0be0bd219e72 | 535 | * @return VL53LX_Error_INVALID_PARAMS This error might occur in timed mode |
charlesmn | 0:0be0bd219e72 | 536 | * when inter measurement period is smaller or too close to the timing budget. |
charlesmn | 0:0be0bd219e72 | 537 | * In such case measurements are not started and user must correct the timings |
charlesmn | 0:0be0bd219e72 | 538 | * passed to @a VL53LX_SetMeasurementTimingBudgetMicroSeconds() and |
charlesmn | 0:0be0bd219e72 | 539 | * @a VL53LX_SetInterMeasurementPeriodMilliSeconds() functions. |
charlesmn | 0:0be0bd219e72 | 540 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 541 | */ |
charlesmn | 0:0be0bd219e72 | 542 | VL53LX_Error VL53LX_StartMeasurement(); |
charlesmn | 0:0be0bd219e72 | 543 | |
charlesmn | 0:0be0bd219e72 | 544 | /** |
charlesmn | 0:0be0bd219e72 | 545 | * @brief Stop device measurement |
charlesmn | 0:0be0bd219e72 | 546 | * |
charlesmn | 0:0be0bd219e72 | 547 | * @details Will set the device in standby mode at end of current measurement\n |
charlesmn | 0:0be0bd219e72 | 548 | * Not necessary in single mode as device shall return automatically |
charlesmn | 0:0be0bd219e72 | 549 | * in standby mode at end of measurement. |
charlesmn | 0:0be0bd219e72 | 550 | * |
charlesmn | 0:0be0bd219e72 | 551 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 552 | * |
charlesmn | 0:0be0bd219e72 | 553 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 554 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 555 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 556 | */ |
charlesmn | 0:0be0bd219e72 | 557 | VL53LX_Error VL53LX_StopMeasurement(); |
charlesmn | 0:0be0bd219e72 | 558 | |
charlesmn | 0:0be0bd219e72 | 559 | /** |
charlesmn | 0:0be0bd219e72 | 560 | * @brief Clear the Interrupt flag and start new measurement |
charlesmn | 0:0be0bd219e72 | 561 | * * |
charlesmn | 0:0be0bd219e72 | 562 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 563 | * |
charlesmn | 0:0be0bd219e72 | 564 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 565 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 566 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 567 | */ |
charlesmn | 0:0be0bd219e72 | 568 | VL53LX_Error VL53LX_ClearInterruptAndStartMeasurement(); |
charlesmn | 0:0be0bd219e72 | 569 | |
charlesmn | 0:0be0bd219e72 | 570 | /** |
charlesmn | 0:0be0bd219e72 | 571 | * @brief Return Measurement Data Ready |
charlesmn | 0:0be0bd219e72 | 572 | * |
charlesmn | 0:0be0bd219e72 | 573 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 574 | * This function indicate that a measurement data is ready. |
charlesmn | 0:0be0bd219e72 | 575 | * This function is used for non-blocking capture. |
charlesmn | 0:0be0bd219e72 | 576 | * |
charlesmn | 0:0be0bd219e72 | 577 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 578 | * |
charlesmn | 0:0be0bd219e72 | 579 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 580 | * @param pMeasurementDataReady Pointer to Measurement Data Ready. |
charlesmn | 0:0be0bd219e72 | 581 | * 0 = data not ready, 1 = data ready |
charlesmn | 0:0be0bd219e72 | 582 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 583 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 584 | */ |
charlesmn | 0:0be0bd219e72 | 585 | VL53LX_Error VL53LX_GetMeasurementDataReady( |
charlesmn | 0:0be0bd219e72 | 586 | uint8_t *pMeasurementDataReady); |
charlesmn | 0:0be0bd219e72 | 587 | |
charlesmn | 0:0be0bd219e72 | 588 | /** |
charlesmn | 0:0be0bd219e72 | 589 | * @brief Wait for measurement data ready. |
charlesmn | 0:0be0bd219e72 | 590 | * Blocking function. |
charlesmn | 0:0be0bd219e72 | 591 | * Note that the timeout is given by: |
charlesmn | 0:0be0bd219e72 | 592 | * VL53LX_RANGE_COMPLETION_POLLING_TIMEOUT_MS defined in def.h |
charlesmn | 0:0be0bd219e72 | 593 | * |
charlesmn | 0:0be0bd219e72 | 594 | * |
charlesmn | 0:0be0bd219e72 | 595 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 596 | * |
charlesmn | 0:0be0bd219e72 | 597 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 598 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 599 | * @return VL53LX_Error_TIME_OUT In case of timeout |
charlesmn | 0:0be0bd219e72 | 600 | */ |
charlesmn | 0:0be0bd219e72 | 601 | VL53LX_Error VL53LX_WaitMeasurementDataReady(); |
charlesmn | 0:0be0bd219e72 | 602 | |
charlesmn | 0:0be0bd219e72 | 603 | |
charlesmn | 0:0be0bd219e72 | 604 | /** |
charlesmn | 0:0be0bd219e72 | 605 | * @brief Retrieve all measurements from device with the current setup |
charlesmn | 0:0be0bd219e72 | 606 | * |
charlesmn | 0:0be0bd219e72 | 607 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 608 | * Get data from last successful Ranging measurement |
charlesmn | 0:0be0bd219e72 | 609 | * |
charlesmn | 0:0be0bd219e72 | 610 | * @warning USER must call @a VL53LX_ClearInterruptAndStartMeasurement() prior |
charlesmn | 0:0be0bd219e72 | 611 | * to call again this function |
charlesmn | 0:0be0bd219e72 | 612 | * |
charlesmn | 0:0be0bd219e72 | 613 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 614 | * |
charlesmn | 0:0be0bd219e72 | 615 | * @note The first valid value returned by this function will have a range |
charlesmn | 0:0be0bd219e72 | 616 | * status equal to VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK which means that |
charlesmn | 0:0be0bd219e72 | 617 | * the data is valid but no wrap around check have been done. User should take |
charlesmn | 0:0be0bd219e72 | 618 | * care about that. |
charlesmn | 0:0be0bd219e72 | 619 | * |
charlesmn | 0:0be0bd219e72 | 620 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 621 | * @param pMultiRangingData Pointer to the data structure to fill up. |
charlesmn | 0:0be0bd219e72 | 622 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 623 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 624 | */ |
charlesmn | 0:0be0bd219e72 | 625 | VL53LX_Error VL53LX_GetMultiRangingData(VL53LX_MultiRangingData_t *pMultiRangingData); |
charlesmn | 0:0be0bd219e72 | 626 | |
charlesmn | 0:0be0bd219e72 | 627 | /** |
charlesmn | 0:0be0bd219e72 | 628 | * @brief Get Additional Data |
charlesmn | 0:0be0bd219e72 | 629 | * |
charlesmn | 0:0be0bd219e72 | 630 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 631 | * This function is used to get lld debugging data on the last histogram |
charlesmn | 0:0be0bd219e72 | 632 | * measurement. shall be called when a new measurement is ready (interrupt or |
charlesmn | 0:0be0bd219e72 | 633 | * positive VL53LX_GetMeasurementDataReady() polling) and before a call to |
charlesmn | 0:0be0bd219e72 | 634 | * VL53LX_ClearInterruptAndStartMeasurement(). |
charlesmn | 0:0be0bd219e72 | 635 | * |
charlesmn | 0:0be0bd219e72 | 636 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 637 | * @param pAdditionalData Pointer to Additional data |
charlesmn | 0:0be0bd219e72 | 638 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 639 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 640 | */ |
charlesmn | 0:0be0bd219e72 | 641 | //VL53LX_Error VL53LX_GetAdditionalData( VL53LX_AdditionalData_t *pAdditionalData); |
charlesmn | 0:0be0bd219e72 | 642 | |
charlesmn | 0:0be0bd219e72 | 643 | |
charlesmn | 0:0be0bd219e72 | 644 | /** @} VL53LX_measurement_group */ |
charlesmn | 0:0be0bd219e72 | 645 | |
charlesmn | 0:0be0bd219e72 | 646 | /** @defgroup VL53LX_Calibration_group VL53LX Calibration Functions |
charlesmn | 0:0be0bd219e72 | 647 | * @brief Functions used for Calibration |
charlesmn | 0:0be0bd219e72 | 648 | * @{ |
charlesmn | 0:0be0bd219e72 | 649 | */ |
charlesmn | 0:0be0bd219e72 | 650 | |
charlesmn | 0:0be0bd219e72 | 651 | |
charlesmn | 0:0be0bd219e72 | 652 | /** |
charlesmn | 0:0be0bd219e72 | 653 | * @brief Set Tuning Parameter value for a given parameter ID |
charlesmn | 0:0be0bd219e72 | 654 | * |
charlesmn | 0:0be0bd219e72 | 655 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 656 | * This function is used to improve the performance of the device. It permit to |
charlesmn | 0:0be0bd219e72 | 657 | * change a particular value used for a timeout or a threshold or a constant |
charlesmn | 0:0be0bd219e72 | 658 | * in an algorithm. The function will change the value of the parameter |
charlesmn | 0:0be0bd219e72 | 659 | * identified by an unique ID. |
charlesmn | 0:0be0bd219e72 | 660 | * |
charlesmn | 0:0be0bd219e72 | 661 | * @note This function doesn't Access to the device |
charlesmn | 0:0be0bd219e72 | 662 | * |
charlesmn | 0:0be0bd219e72 | 663 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 664 | * @param TuningParameterId Tuning Parameter ID |
charlesmn | 0:0be0bd219e72 | 665 | * @param TuningParameterValue Tuning Parameter Value |
charlesmn | 0:0be0bd219e72 | 666 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 667 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 668 | */ |
charlesmn | 0:0be0bd219e72 | 669 | VL53LX_Error VL53LX_SetTuningParameter( |
charlesmn | 0:0be0bd219e72 | 670 | uint16_t TuningParameterId, int32_t TuningParameterValue); |
charlesmn | 0:0be0bd219e72 | 671 | |
charlesmn | 0:0be0bd219e72 | 672 | /** |
charlesmn | 0:0be0bd219e72 | 673 | * @brief Get Tuning Parameter value for a given parameter ID |
charlesmn | 0:0be0bd219e72 | 674 | * |
charlesmn | 0:0be0bd219e72 | 675 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 676 | * This function is used to get the value of the parameter |
charlesmn | 0:0be0bd219e72 | 677 | * identified by an unique ID. |
charlesmn | 0:0be0bd219e72 | 678 | * |
charlesmn | 0:0be0bd219e72 | 679 | * @note This function doesn't Access to the device |
charlesmn | 0:0be0bd219e72 | 680 | * |
charlesmn | 0:0be0bd219e72 | 681 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 682 | * @param TuningParameterId Tuning Parameter ID |
charlesmn | 0:0be0bd219e72 | 683 | * @param pTuningParameterValue Pointer to Tuning Parameter Value |
charlesmn | 0:0be0bd219e72 | 684 | * for a given TuningParameterId. |
charlesmn | 0:0be0bd219e72 | 685 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 686 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 687 | */ |
charlesmn | 0:0be0bd219e72 | 688 | VL53LX_Error VL53LX_GetTuningParameter( |
charlesmn | 0:0be0bd219e72 | 689 | uint16_t TuningParameterId, int32_t *pTuningParameterValue); |
charlesmn | 0:0be0bd219e72 | 690 | |
charlesmn | 0:0be0bd219e72 | 691 | /** |
charlesmn | 0:0be0bd219e72 | 692 | * @brief Performs Reference Spad Management |
charlesmn | 0:0be0bd219e72 | 693 | * |
charlesmn | 0:0be0bd219e72 | 694 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 695 | * The reference SPAD initialization procedure determines the minimum amount |
charlesmn | 0:0be0bd219e72 | 696 | * of reference spads to be enables to achieve a target reference signal rate |
charlesmn | 0:0be0bd219e72 | 697 | * and should be performed once during initialization. |
charlesmn | 0:0be0bd219e72 | 698 | * |
charlesmn | 0:0be0bd219e72 | 699 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 700 | * |
charlesmn | 0:0be0bd219e72 | 701 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 702 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 703 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 704 | */ |
charlesmn | 0:0be0bd219e72 | 705 | VL53LX_Error VL53LX_PerformRefSpadManagement(); |
charlesmn | 0:0be0bd219e72 | 706 | |
charlesmn | 0:0be0bd219e72 | 707 | /** |
charlesmn | 0:0be0bd219e72 | 708 | * @brief Enable/Disable dynamic Xtalk compensation feature |
charlesmn | 0:0be0bd219e72 | 709 | * |
charlesmn | 0:0be0bd219e72 | 710 | * Enable/Disable dynamic Xtalk compensation (aka smudge correction). |
charlesmn | 0:0be0bd219e72 | 711 | * |
charlesmn | 0:0be0bd219e72 | 712 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 713 | * @param Mode Set the smudge correction mode |
charlesmn | 0:0be0bd219e72 | 714 | * See ::VL53LX_SmudgeCorrectionModes |
charlesmn | 0:0be0bd219e72 | 715 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 716 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 717 | */ |
charlesmn | 0:0be0bd219e72 | 718 | VL53LX_Error VL53LX_SmudgeCorrectionEnable( |
charlesmn | 0:0be0bd219e72 | 719 | VL53LX_SmudgeCorrectionModes Mode); |
charlesmn | 0:0be0bd219e72 | 720 | |
charlesmn | 0:0be0bd219e72 | 721 | |
charlesmn | 0:0be0bd219e72 | 722 | /** |
charlesmn | 0:0be0bd219e72 | 723 | * @brief Enable/Disable Cross talk compensation feature |
charlesmn | 0:0be0bd219e72 | 724 | * |
charlesmn | 0:0be0bd219e72 | 725 | * Enable/Disable Cross Talk correction. |
charlesmn | 0:0be0bd219e72 | 726 | * |
charlesmn | 0:0be0bd219e72 | 727 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 728 | * @param XTalkCompensationEnable Cross talk compensation |
charlesmn | 0:0be0bd219e72 | 729 | * to be set 0 = disabled or 1 = enabled. |
charlesmn | 0:0be0bd219e72 | 730 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 731 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 732 | */ |
charlesmn | 0:0be0bd219e72 | 733 | VL53LX_Error VL53LX_SetXTalkCompensationEnable( |
charlesmn | 0:0be0bd219e72 | 734 | uint8_t XTalkCompensationEnable); |
charlesmn | 0:0be0bd219e72 | 735 | |
charlesmn | 0:0be0bd219e72 | 736 | /** |
charlesmn | 0:0be0bd219e72 | 737 | * @brief Get Cross talk compensation rate enable |
charlesmn | 0:0be0bd219e72 | 738 | * |
charlesmn | 0:0be0bd219e72 | 739 | * Get if the Cross Talk is Enabled or Disabled. |
charlesmn | 0:0be0bd219e72 | 740 | * |
charlesmn | 0:0be0bd219e72 | 741 | * @note This function doesn't access to the device |
charlesmn | 0:0be0bd219e72 | 742 | * |
charlesmn | 0:0be0bd219e72 | 743 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 744 | * @param pXTalkCompensationEnable Pointer to the Cross talk compensation |
charlesmn | 0:0be0bd219e72 | 745 | * state 0=disabled or 1 = enabled |
charlesmn | 0:0be0bd219e72 | 746 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 747 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 748 | */ |
charlesmn | 0:0be0bd219e72 | 749 | VL53LX_Error VL53LX_GetXTalkCompensationEnable( |
charlesmn | 0:0be0bd219e72 | 750 | uint8_t *pXTalkCompensationEnable); |
charlesmn | 0:0be0bd219e72 | 751 | |
charlesmn | 0:0be0bd219e72 | 752 | /** |
charlesmn | 0:0be0bd219e72 | 753 | * @brief Perform XTalk Calibration |
charlesmn | 0:0be0bd219e72 | 754 | * |
charlesmn | 0:0be0bd219e72 | 755 | * @details Perform a XTalk calibration of the Device. |
charlesmn | 0:0be0bd219e72 | 756 | * This function will launch a measurement, if interrupts |
charlesmn | 0:0be0bd219e72 | 757 | * are enabled an interrupt will be done. |
charlesmn | 0:0be0bd219e72 | 758 | * This function will clear the interrupt generated automatically. |
charlesmn | 0:0be0bd219e72 | 759 | * This function will program a new value for the XTalk compensation |
charlesmn | 0:0be0bd219e72 | 760 | * and it will enable the cross talk before exit. |
charlesmn | 0:0be0bd219e72 | 761 | * |
charlesmn | 0:0be0bd219e72 | 762 | * @warning This function is a blocking function |
charlesmn | 0:0be0bd219e72 | 763 | * |
charlesmn | 0:0be0bd219e72 | 764 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 765 | * |
charlesmn | 0:0be0bd219e72 | 766 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 767 | * the calibration sets appropriate |
charlesmn | 0:0be0bd219e72 | 768 | * distance mode and thus override existing one<br> |
charlesmn | 0:0be0bd219e72 | 769 | * The calibration uses a target which should be located at least @60cm from the |
charlesmn | 0:0be0bd219e72 | 770 | * device. The actual location of the target shall be passed |
charlesmn | 0:0be0bd219e72 | 771 | * through the bare driver tuning parameters table |
charlesmn | 0:0be0bd219e72 | 772 | * |
charlesmn | 0:0be0bd219e72 | 773 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 774 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 775 | */ |
charlesmn | 0:0be0bd219e72 | 776 | VL53LX_Error VL53LX_PerformXTalkCalibration(); |
charlesmn | 0:0be0bd219e72 | 777 | |
charlesmn | 0:0be0bd219e72 | 778 | |
charlesmn | 0:0be0bd219e72 | 779 | /** |
charlesmn | 0:0be0bd219e72 | 780 | * @brief Define the mode to be used for the offset correction |
charlesmn | 0:0be0bd219e72 | 781 | * |
charlesmn | 0:0be0bd219e72 | 782 | * Define the mode to be used for the offset correction. |
charlesmn | 0:0be0bd219e72 | 783 | * |
charlesmn | 0:0be0bd219e72 | 784 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 785 | * @param OffsetCorrectionMode Offset Correction Mode valid values are: |
charlesmn | 0:0be0bd219e72 | 786 | * @li VL53LX_OFFSETCORRECTIONMODE_STANDARD |
charlesmn | 0:0be0bd219e72 | 787 | * @li VL53LX_OFFSETCORRECTIONMODE_PERVCSEL |
charlesmn | 0:0be0bd219e72 | 788 | * |
charlesmn | 0:0be0bd219e72 | 789 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 790 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 791 | */ |
charlesmn | 0:0be0bd219e72 | 792 | VL53LX_Error VL53LX_SetOffsetCorrectionMode( |
charlesmn | 0:0be0bd219e72 | 793 | VL53LX_OffsetCorrectionModes OffsetCorrectionMode); |
charlesmn | 0:0be0bd219e72 | 794 | |
charlesmn | 0:0be0bd219e72 | 795 | |
charlesmn | 0:0be0bd219e72 | 796 | /** |
charlesmn | 0:0be0bd219e72 | 797 | * @brief Perform Offset simple Calibration |
charlesmn | 0:0be0bd219e72 | 798 | * |
charlesmn | 0:0be0bd219e72 | 799 | * @details Perform a very simple offset calibration of the Device. |
charlesmn | 0:0be0bd219e72 | 800 | * This function will launch few ranging measurements and computes offset |
charlesmn | 0:0be0bd219e72 | 801 | * calibration. The preset mode and the distance mode MUST be set by the |
charlesmn | 0:0be0bd219e72 | 802 | * application before to call this function. |
charlesmn | 0:0be0bd219e72 | 803 | * |
charlesmn | 0:0be0bd219e72 | 804 | * @warning This function is a blocking function |
charlesmn | 0:0be0bd219e72 | 805 | * |
charlesmn | 0:0be0bd219e72 | 806 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 807 | * |
charlesmn | 0:0be0bd219e72 | 808 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 809 | * @param CalDistanceMilliMeter Calibration distance value used for the |
charlesmn | 0:0be0bd219e72 | 810 | * offset compensation. |
charlesmn | 0:0be0bd219e72 | 811 | * |
charlesmn | 0:0be0bd219e72 | 812 | * @return VL53LX_Error_NONE |
charlesmn | 0:0be0bd219e72 | 813 | * @return VL53LX_Error_OFFSET_CAL_NO_SAMPLE_FAIL the calibration failed by |
charlesmn | 0:0be0bd219e72 | 814 | * lack of valid measurements |
charlesmn | 0:0be0bd219e72 | 815 | * @return VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH means that the target |
charlesmn | 0:0be0bd219e72 | 816 | * distance combined to the number of loops performed in the calibration lead to |
charlesmn | 0:0be0bd219e72 | 817 | * an internal overflow. Try to reduce the distance of the target (140 mm) |
charlesmn | 0:0be0bd219e72 | 818 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 819 | */ |
charlesmn | 0:0be0bd219e72 | 820 | VL53LX_Error VL53LX_PerformOffsetSimpleCalibration( |
charlesmn | 0:0be0bd219e72 | 821 | int32_t CalDistanceMilliMeter); |
charlesmn | 0:0be0bd219e72 | 822 | |
charlesmn | 0:0be0bd219e72 | 823 | /** |
charlesmn | 0:0be0bd219e72 | 824 | * @brief Perform Offset simple Calibration with a "zero distance" target |
charlesmn | 0:0be0bd219e72 | 825 | * |
charlesmn | 0:0be0bd219e72 | 826 | * @details Perform a simple offset calibration of the Device. |
charlesmn | 0:0be0bd219e72 | 827 | * This function will launch few ranging measurements and computes offset |
charlesmn | 0:0be0bd219e72 | 828 | * calibration. The preset mode and the distance mode MUST be set by the |
charlesmn | 0:0be0bd219e72 | 829 | * application before to call this function. |
charlesmn | 0:0be0bd219e72 | 830 | * A target must be place very close to the device. |
charlesmn | 0:0be0bd219e72 | 831 | * Ideally the target shall be touching the coverglass. |
charlesmn | 0:0be0bd219e72 | 832 | * |
charlesmn | 0:0be0bd219e72 | 833 | * @warning This function is a blocking function |
charlesmn | 0:0be0bd219e72 | 834 | * |
charlesmn | 0:0be0bd219e72 | 835 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 836 | * |
charlesmn | 0:0be0bd219e72 | 837 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 838 | * |
charlesmn | 0:0be0bd219e72 | 839 | * @return VL53LX_Error_NONE |
charlesmn | 0:0be0bd219e72 | 840 | * @return VL53LX_Error_OFFSET_CAL_NO_SAMPLE_FAIL the calibration failed by |
charlesmn | 0:0be0bd219e72 | 841 | * lack of valid measurements |
charlesmn | 0:0be0bd219e72 | 842 | * @return VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH means that the target |
charlesmn | 0:0be0bd219e72 | 843 | * distance is too large, try to put the target closer to the device |
charlesmn | 0:0be0bd219e72 | 844 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 845 | */ |
charlesmn | 0:0be0bd219e72 | 846 | VL53LX_Error VL53LX_PerformOffsetZeroDistanceCalibration(); |
charlesmn | 0:0be0bd219e72 | 847 | |
charlesmn | 0:0be0bd219e72 | 848 | |
charlesmn | 0:0be0bd219e72 | 849 | /** |
charlesmn | 0:0be0bd219e72 | 850 | * @brief Perform Offset per Vcsel Calibration. i.e. per distance mode |
charlesmn | 0:0be0bd219e72 | 851 | * |
charlesmn | 0:0be0bd219e72 | 852 | * @details Perform offset calibration of the Device depending on the |
charlesmn | 0:0be0bd219e72 | 853 | * three distance mode settings: short, medium and long. |
charlesmn | 0:0be0bd219e72 | 854 | * This function will launch few ranging measurements and computes offset |
charlesmn | 0:0be0bd219e72 | 855 | * calibration in each of the three distance modes. |
charlesmn | 0:0be0bd219e72 | 856 | * The preset mode MUST be set by the application before to call this function. |
charlesmn | 0:0be0bd219e72 | 857 | * |
charlesmn | 0:0be0bd219e72 | 858 | * @warning This function is a blocking function |
charlesmn | 0:0be0bd219e72 | 859 | * |
charlesmn | 0:0be0bd219e72 | 860 | * @note This function Access to the device |
charlesmn | 0:0be0bd219e72 | 861 | * |
charlesmn | 0:0be0bd219e72 | 862 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 863 | * @param CalDistanceMilliMeter Distance of the target used for the |
charlesmn | 0:0be0bd219e72 | 864 | * offset compensation calibration. |
charlesmn | 0:0be0bd219e72 | 865 | * |
charlesmn | 0:0be0bd219e72 | 866 | * @return VL53LX_Error_NONE |
charlesmn | 0:0be0bd219e72 | 867 | * @return VL53LX_Error_OFFSET_CAL_NO_SAMPLE_FAIL the calibration failed by |
charlesmn | 0:0be0bd219e72 | 868 | * lack of valid measurements |
charlesmn | 0:0be0bd219e72 | 869 | * @return VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH means that the target |
charlesmn | 0:0be0bd219e72 | 870 | * distance combined to the number of loops performed in the calibration lead to |
charlesmn | 0:0be0bd219e72 | 871 | * an internal overflow. Try to reduce the distance of the target (140 mm) |
charlesmn | 0:0be0bd219e72 | 872 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 873 | */ |
charlesmn | 0:0be0bd219e72 | 874 | VL53LX_Error VL53LX_PerformOffsetPerVcselCalibration( |
charlesmn | 0:0be0bd219e72 | 875 | int32_t CalDistanceMilliMeter); |
charlesmn | 0:0be0bd219e72 | 876 | |
charlesmn | 0:0be0bd219e72 | 877 | |
charlesmn | 0:0be0bd219e72 | 878 | /** |
charlesmn | 0:0be0bd219e72 | 879 | * @brief Sets the Calibration Data. |
charlesmn | 0:0be0bd219e72 | 880 | * |
charlesmn | 0:0be0bd219e72 | 881 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 882 | * This function set all the Calibration Data issued from the functions |
charlesmn | 0:0be0bd219e72 | 883 | * @a VL53LX_PerformRefSpadManagement(), @a VL53LX_PerformXTalkCalibration, |
charlesmn | 0:0be0bd219e72 | 884 | * @a VL53LX_PerformOffsetCalibration() |
charlesmn | 0:0be0bd219e72 | 885 | * |
charlesmn | 0:0be0bd219e72 | 886 | * @note This function doesn't Accesses the device |
charlesmn | 0:0be0bd219e72 | 887 | * |
charlesmn | 0:0be0bd219e72 | 888 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 889 | * @param *pCalibrationData Pointer to Calibration data to be set. |
charlesmn | 0:0be0bd219e72 | 890 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 891 | * @return VL53LX_Error_INVALID_PARAMS pCalibrationData points to an older |
charlesmn | 0:0be0bd219e72 | 892 | * version of the inner structure. Need for support to convert its content. |
charlesmn | 0:0be0bd219e72 | 893 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 894 | */ |
charlesmn | 0:0be0bd219e72 | 895 | VL53LX_Error VL53LX_SetCalibrationData( |
charlesmn | 0:0be0bd219e72 | 896 | VL53LX_CalibrationData_t *pCalibrationData); |
charlesmn | 0:0be0bd219e72 | 897 | |
charlesmn | 0:0be0bd219e72 | 898 | /** |
charlesmn | 0:0be0bd219e72 | 899 | * @brief Gets the Calibration Data. |
charlesmn | 0:0be0bd219e72 | 900 | * |
charlesmn | 0:0be0bd219e72 | 901 | * @par Function Description |
charlesmn | 0:0be0bd219e72 | 902 | * This function get all the Calibration Data issued from the functions |
charlesmn | 0:0be0bd219e72 | 903 | * @a VL53LX_PerformRefSpadManagement(), @a VL53LX_PerformXTalkCalibration, |
charlesmn | 0:0be0bd219e72 | 904 | * @a VL53LX_PerformOffsetCalibration() |
charlesmn | 0:0be0bd219e72 | 905 | * |
charlesmn | 0:0be0bd219e72 | 906 | * @note This function doesn't Accesses the device |
charlesmn | 0:0be0bd219e72 | 907 | * |
charlesmn | 0:0be0bd219e72 | 908 | * @param Dev Device Handle |
charlesmn | 0:0be0bd219e72 | 909 | * @param *pCalibrationData pointer where to store Calibration |
charlesmn | 0:0be0bd219e72 | 910 | * data. |
charlesmn | 0:0be0bd219e72 | 911 | * @return VL53LX_Error_NONE Success |
charlesmn | 0:0be0bd219e72 | 912 | * @return "Other error code" See ::VL53LX_Error |
charlesmn | 0:0be0bd219e72 | 913 | */ |
charlesmn | 0:0be0bd219e72 | 914 | VL53LX_Error VL53LX_GetCalibrationData( |
charlesmn | 0:0be0bd219e72 | 915 | VL53LX_CalibrationData_t *pCalibrationData); |
charlesmn | 0:0be0bd219e72 | 916 | |
charlesmn | 0:0be0bd219e72 | 917 | /** @} VL53LX_Calibration_group */ |
charlesmn | 0:0be0bd219e72 | 918 | |
charlesmn | 0:0be0bd219e72 | 919 | /** @} VL53LX_group */ |
charlesmn | 0:0be0bd219e72 | 920 | VL53LX_Error VL53LX_RdWord(VL53LX_DEV Dev, uint16_t index, uint16_t *data); |
charlesmn | 0:0be0bd219e72 | 921 | |
charlesmn | 0:0be0bd219e72 | 922 | protected: |
charlesmn | 0:0be0bd219e72 | 923 | |
charlesmn | 0:0be0bd219e72 | 924 | /* vl53lx_api_core.h functions */ |
charlesmn | 0:0be0bd219e72 | 925 | |
charlesmn | 0:0be0bd219e72 | 926 | VL53LX_Error VL53LX_get_version(VL53LX_ll_version_t *pversion); |
charlesmn | 0:0be0bd219e72 | 927 | VL53LX_Error VL53LX_get_device_firmware_version(uint16_t *pfw_version); |
charlesmn | 0:0be0bd219e72 | 928 | VL53LX_Error VL53LX_data_init(uint8_t read_p2p_data); |
charlesmn | 0:0be0bd219e72 | 929 | VL53LX_Error VL53LX_read_p2p_data(); |
charlesmn | 0:0be0bd219e72 | 930 | VL53LX_Error VL53LX_software_reset(); |
charlesmn | 0:0be0bd219e72 | 931 | VL53LX_Error VL53LX_set_part_to_part_data(VL53LX_calibration_data_t *pcal_data); |
charlesmn | 0:0be0bd219e72 | 932 | VL53LX_Error VL53LX_get_part_to_part_data(VL53LX_calibration_data_t *pcal_data); |
charlesmn | 0:0be0bd219e72 | 933 | VL53LX_Error VL53LX_get_tuning_debug_data(VL53LX_tuning_parameters_t *ptun_data); |
charlesmn | 0:0be0bd219e72 | 934 | VL53LX_Error VL53LX_set_inter_measurement_period_ms(uint32_t inter_measurement_period_ms); |
charlesmn | 0:0be0bd219e72 | 935 | VL53LX_Error VL53LX_get_inter_measurement_period_ms(uint32_t *pinter_measurement_period_ms); |
charlesmn | 0:0be0bd219e72 | 936 | VL53LX_Error VL53LX_set_timeouts_us( |
charlesmn | 0:0be0bd219e72 | 937 | uint32_t phasecal_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 938 | uint32_t mm_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 939 | uint32_t range_config_timeout_us); |
charlesmn | 0:0be0bd219e72 | 940 | |
charlesmn | 0:0be0bd219e72 | 941 | VL53LX_Error VL53LX_get_timeouts_us( |
charlesmn | 0:0be0bd219e72 | 942 | uint32_t *pphasecal_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 943 | uint32_t *pmm_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 944 | uint32_t *prange_config_timeout_us); |
charlesmn | 0:0be0bd219e72 | 945 | |
charlesmn | 0:0be0bd219e72 | 946 | VL53LX_Error VL53LX_set_calibration_repeat_period( |
charlesmn | 0:0be0bd219e72 | 947 | uint16_t cal_config__repeat_period); |
charlesmn | 0:0be0bd219e72 | 948 | |
charlesmn | 0:0be0bd219e72 | 949 | VL53LX_Error VL53LX_get_calibration_repeat_period( |
charlesmn | 0:0be0bd219e72 | 950 | uint16_t *pcal_config__repeat_period); |
charlesmn | 0:0be0bd219e72 | 951 | |
charlesmn | 0:0be0bd219e72 | 952 | VL53LX_Error VL53LX_set_sequence_config_bit( |
charlesmn | 0:0be0bd219e72 | 953 | VL53LX_DeviceSequenceConfig bit_id, |
charlesmn | 0:0be0bd219e72 | 954 | uint8_t value); |
charlesmn | 0:0be0bd219e72 | 955 | |
charlesmn | 0:0be0bd219e72 | 956 | VL53LX_Error VL53LX_get_sequence_config_bit( |
charlesmn | 0:0be0bd219e72 | 957 | VL53LX_DeviceSequenceConfig bit_id, |
charlesmn | 0:0be0bd219e72 | 958 | uint8_t *pvalue); |
charlesmn | 0:0be0bd219e72 | 959 | |
charlesmn | 0:0be0bd219e72 | 960 | VL53LX_Error VL53LX_set_interrupt_polarity( |
charlesmn | 0:0be0bd219e72 | 961 | VL53LX_DeviceInterruptPolarity interrupt_polarity); |
charlesmn | 0:0be0bd219e72 | 962 | |
charlesmn | 0:0be0bd219e72 | 963 | VL53LX_Error VL53LX_get_interrupt_polarity( |
charlesmn | 0:0be0bd219e72 | 964 | VL53LX_DeviceInterruptPolarity *pinterrupt_polarity); |
charlesmn | 0:0be0bd219e72 | 965 | |
charlesmn | 0:0be0bd219e72 | 966 | VL53LX_Error VL53LX_get_refspadchar_config_struct( |
charlesmn | 0:0be0bd219e72 | 967 | VL53LX_refspadchar_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 968 | |
charlesmn | 0:0be0bd219e72 | 969 | VL53LX_Error VL53LX_set_refspadchar_config_struct( |
charlesmn | 0:0be0bd219e72 | 970 | VL53LX_refspadchar_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 971 | |
charlesmn | 0:0be0bd219e72 | 972 | VL53LX_Error VL53LX_set_range_ignore_threshold( |
charlesmn | 0:0be0bd219e72 | 973 | uint8_t range_ignore_thresh_mult, |
charlesmn | 0:0be0bd219e72 | 974 | uint16_t range_ignore_threshold_mcps); |
charlesmn | 0:0be0bd219e72 | 975 | |
charlesmn | 0:0be0bd219e72 | 976 | VL53LX_Error VL53LX_get_range_ignore_threshold( |
charlesmn | 0:0be0bd219e72 | 977 | uint8_t *prange_ignore_thresh_mult, |
charlesmn | 0:0be0bd219e72 | 978 | uint16_t *prange_ignore_threshold_mcps_internal, |
charlesmn | 0:0be0bd219e72 | 979 | uint16_t *prange_ignore_threshold_mcps_current); |
charlesmn | 0:0be0bd219e72 | 980 | |
charlesmn | 0:0be0bd219e72 | 981 | VL53LX_Error VL53LX_set_user_zone( |
charlesmn | 0:0be0bd219e72 | 982 | VL53LX_user_zone_t *puser_zone); |
charlesmn | 0:0be0bd219e72 | 983 | |
charlesmn | 0:0be0bd219e72 | 984 | VL53LX_Error VL53LX_get_user_zone( |
charlesmn | 0:0be0bd219e72 | 985 | VL53LX_user_zone_t *puser_zone); |
charlesmn | 0:0be0bd219e72 | 986 | |
charlesmn | 0:0be0bd219e72 | 987 | |
charlesmn | 0:0be0bd219e72 | 988 | VL53LX_Error VL53LX_get_mode_mitigation_roi( |
charlesmn | 0:0be0bd219e72 | 989 | VL53LX_user_zone_t *pmm_roi); |
charlesmn | 0:0be0bd219e72 | 990 | |
charlesmn | 0:0be0bd219e72 | 991 | |
charlesmn | 0:0be0bd219e72 | 992 | VL53LX_Error VL53LX_set_zone_config( |
charlesmn | 0:0be0bd219e72 | 993 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 994 | |
charlesmn | 0:0be0bd219e72 | 995 | VL53LX_Error VL53LX_get_zone_config( |
charlesmn | 0:0be0bd219e72 | 996 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 997 | |
charlesmn | 0:0be0bd219e72 | 998 | |
charlesmn | 0:0be0bd219e72 | 999 | VL53LX_Error VL53LX_set_preset_mode( |
charlesmn | 0:0be0bd219e72 | 1000 | VL53LX_DevicePresetModes device_preset_mode, |
charlesmn | 0:0be0bd219e72 | 1001 | uint16_t dss_config__target_total_rate_mcps, |
charlesmn | 0:0be0bd219e72 | 1002 | uint32_t phasecal_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 1003 | uint32_t mm_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 1004 | uint32_t range_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 1005 | uint32_t inter_measurement_period_ms); |
charlesmn | 0:0be0bd219e72 | 1006 | |
charlesmn | 0:0be0bd219e72 | 1007 | VL53LX_Error VL53LX_get_preset_mode_timing_cfg( |
charlesmn | 0:0be0bd219e72 | 1008 | VL53LX_DevicePresetModes device_preset_mode, |
charlesmn | 0:0be0bd219e72 | 1009 | uint16_t *pdss_config__target_total_rate_mcps, |
charlesmn | 0:0be0bd219e72 | 1010 | uint32_t *pphasecal_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 1011 | uint32_t *pmm_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 1012 | uint32_t *prange_config_timeout_us); |
charlesmn | 0:0be0bd219e72 | 1013 | |
charlesmn | 0:0be0bd219e72 | 1014 | |
charlesmn | 0:0be0bd219e72 | 1015 | VL53LX_Error VL53LX_set_zone_preset( |
charlesmn | 0:0be0bd219e72 | 1016 | VL53LX_DeviceZonePreset zone_preset); |
charlesmn | 0:0be0bd219e72 | 1017 | |
charlesmn | 0:0be0bd219e72 | 1018 | |
charlesmn | 0:0be0bd219e72 | 1019 | VL53LX_Error VL53LX_enable_xtalk_compensation(); |
charlesmn | 0:0be0bd219e72 | 1020 | |
charlesmn | 0:0be0bd219e72 | 1021 | VL53LX_Error VL53LX_disable_xtalk_compensation(); |
charlesmn | 0:0be0bd219e72 | 1022 | |
charlesmn | 0:0be0bd219e72 | 1023 | |
charlesmn | 0:0be0bd219e72 | 1024 | void VL53LX_get_xtalk_compensation_enable( |
charlesmn | 0:0be0bd219e72 | 1025 | uint8_t *pcrosstalk_compensation_enable); |
charlesmn | 0:0be0bd219e72 | 1026 | |
charlesmn | 0:0be0bd219e72 | 1027 | |
charlesmn | 0:0be0bd219e72 | 1028 | VL53LX_Error VL53LX_init_and_start_range( |
charlesmn | 0:0be0bd219e72 | 1029 | uint8_t measurement_mode, |
charlesmn | 0:0be0bd219e72 | 1030 | VL53LX_DeviceConfigLevel device_config_level); |
charlesmn | 0:0be0bd219e72 | 1031 | |
charlesmn | 0:0be0bd219e72 | 1032 | |
charlesmn | 0:0be0bd219e72 | 1033 | VL53LX_Error VL53LX_stop_range(); |
charlesmn | 0:0be0bd219e72 | 1034 | |
charlesmn | 0:0be0bd219e72 | 1035 | VL53LX_Error VL53LX_get_measurement_results( |
charlesmn | 0:0be0bd219e72 | 1036 | VL53LX_DeviceResultsLevel device_result_level); |
charlesmn | 0:0be0bd219e72 | 1037 | |
charlesmn | 0:0be0bd219e72 | 1038 | |
charlesmn | 0:0be0bd219e72 | 1039 | VL53LX_Error VL53LX_get_device_results( |
charlesmn | 0:0be0bd219e72 | 1040 | VL53LX_DeviceResultsLevel device_result_level, |
charlesmn | 0:0be0bd219e72 | 1041 | VL53LX_range_results_t *prange_results); |
charlesmn | 0:0be0bd219e72 | 1042 | |
charlesmn | 0:0be0bd219e72 | 1043 | |
charlesmn | 0:0be0bd219e72 | 1044 | VL53LX_Error VL53LX_clear_interrupt_and_enable_next_range( |
charlesmn | 0:0be0bd219e72 | 1045 | uint8_t measurement_mode); |
charlesmn | 0:0be0bd219e72 | 1046 | |
charlesmn | 0:0be0bd219e72 | 1047 | |
charlesmn | 0:0be0bd219e72 | 1048 | VL53LX_Error VL53LX_get_histogram_bin_data( |
charlesmn | 0:0be0bd219e72 | 1049 | VL53LX_histogram_bin_data_t *phist_data); |
charlesmn | 0:0be0bd219e72 | 1050 | |
charlesmn | 0:0be0bd219e72 | 1051 | void VL53LX_copy_sys_and_core_results_to_range_results( |
charlesmn | 0:0be0bd219e72 | 1052 | int32_t gain_factor, |
charlesmn | 0:0be0bd219e72 | 1053 | VL53LX_system_results_t *psys, |
charlesmn | 0:0be0bd219e72 | 1054 | VL53LX_core_results_t *pcore, |
charlesmn | 0:0be0bd219e72 | 1055 | VL53LX_range_results_t *presults); |
charlesmn | 0:0be0bd219e72 | 1056 | |
charlesmn | 0:0be0bd219e72 | 1057 | |
charlesmn | 0:0be0bd219e72 | 1058 | |
charlesmn | 0:0be0bd219e72 | 1059 | VL53LX_Error VL53LX_set_zone_dss_config( |
charlesmn | 0:0be0bd219e72 | 1060 | VL53LX_zone_private_dyn_cfg_t *pzone_dyn_cfg); |
charlesmn | 0:0be0bd219e72 | 1061 | |
charlesmn | 0:0be0bd219e72 | 1062 | |
charlesmn | 0:0be0bd219e72 | 1063 | VL53LX_Error VL53LX_calc_ambient_dmax( |
charlesmn | 0:0be0bd219e72 | 1064 | uint16_t target_reflectance, |
charlesmn | 0:0be0bd219e72 | 1065 | int16_t *pambient_dmax_mm); |
charlesmn | 0:0be0bd219e72 | 1066 | |
charlesmn | 0:0be0bd219e72 | 1067 | |
charlesmn | 0:0be0bd219e72 | 1068 | VL53LX_Error VL53LX_set_GPIO_interrupt_config( |
charlesmn | 0:0be0bd219e72 | 1069 | VL53LX_GPIO_Interrupt_Mode intr_mode_distance, |
charlesmn | 0:0be0bd219e72 | 1070 | VL53LX_GPIO_Interrupt_Mode intr_mode_rate, |
charlesmn | 0:0be0bd219e72 | 1071 | uint8_t intr_new_measure_ready, |
charlesmn | 0:0be0bd219e72 | 1072 | uint8_t intr_no_target, |
charlesmn | 0:0be0bd219e72 | 1073 | uint8_t intr_combined_mode, |
charlesmn | 0:0be0bd219e72 | 1074 | uint16_t thresh_distance_high, |
charlesmn | 0:0be0bd219e72 | 1075 | uint16_t thresh_distance_low, |
charlesmn | 0:0be0bd219e72 | 1076 | uint16_t thresh_rate_high, |
charlesmn | 0:0be0bd219e72 | 1077 | uint16_t thresh_rate_low |
charlesmn | 0:0be0bd219e72 | 1078 | ); |
charlesmn | 0:0be0bd219e72 | 1079 | |
charlesmn | 0:0be0bd219e72 | 1080 | |
charlesmn | 0:0be0bd219e72 | 1081 | |
charlesmn | 0:0be0bd219e72 | 1082 | VL53LX_Error VL53LX_set_GPIO_interrupt_config_struct( |
charlesmn | 0:0be0bd219e72 | 1083 | VL53LX_GPIO_interrupt_config_t intconf); |
charlesmn | 0:0be0bd219e72 | 1084 | |
charlesmn | 0:0be0bd219e72 | 1085 | |
charlesmn | 0:0be0bd219e72 | 1086 | VL53LX_Error VL53LX_get_GPIO_interrupt_config( |
charlesmn | 0:0be0bd219e72 | 1087 | VL53LX_GPIO_interrupt_config_t *pintconf); |
charlesmn | 0:0be0bd219e72 | 1088 | |
charlesmn | 0:0be0bd219e72 | 1089 | |
charlesmn | 0:0be0bd219e72 | 1090 | VL53LX_Error VL53LX_set_dmax_mode( |
charlesmn | 0:0be0bd219e72 | 1091 | VL53LX_DeviceDmaxMode dmax_mode); |
charlesmn | 0:0be0bd219e72 | 1092 | |
charlesmn | 0:0be0bd219e72 | 1093 | |
charlesmn | 0:0be0bd219e72 | 1094 | VL53LX_Error VL53LX_get_dmax_mode( |
charlesmn | 0:0be0bd219e72 | 1095 | VL53LX_DeviceDmaxMode *pdmax_mode); |
charlesmn | 0:0be0bd219e72 | 1096 | |
charlesmn | 0:0be0bd219e72 | 1097 | |
charlesmn | 0:0be0bd219e72 | 1098 | VL53LX_Error VL53LX_get_dmax_calibration_data( |
charlesmn | 0:0be0bd219e72 | 1099 | VL53LX_DeviceDmaxMode dmax_mode, |
charlesmn | 0:0be0bd219e72 | 1100 | VL53LX_dmax_calibration_data_t *pdmax_cal); |
charlesmn | 0:0be0bd219e72 | 1101 | |
charlesmn | 0:0be0bd219e72 | 1102 | |
charlesmn | 0:0be0bd219e72 | 1103 | VL53LX_Error VL53LX_set_hist_dmax_config( |
charlesmn | 0:0be0bd219e72 | 1104 | VL53LX_hist_gen3_dmax_config_t *pdmax_cfg); |
charlesmn | 0:0be0bd219e72 | 1105 | |
charlesmn | 0:0be0bd219e72 | 1106 | VL53LX_Error VL53LX_get_hist_dmax_config( |
charlesmn | 0:0be0bd219e72 | 1107 | VL53LX_hist_gen3_dmax_config_t *pdmax_cfg); |
charlesmn | 0:0be0bd219e72 | 1108 | |
charlesmn | 0:0be0bd219e72 | 1109 | |
charlesmn | 0:0be0bd219e72 | 1110 | VL53LX_Error VL53LX_set_offset_calibration_mode( |
charlesmn | 0:0be0bd219e72 | 1111 | VL53LX_OffsetCalibrationMode offset_cal_mode); |
charlesmn | 0:0be0bd219e72 | 1112 | |
charlesmn | 0:0be0bd219e72 | 1113 | |
charlesmn | 0:0be0bd219e72 | 1114 | VL53LX_Error VL53LX_get_offset_calibration_mode( |
charlesmn | 0:0be0bd219e72 | 1115 | VL53LX_OffsetCalibrationMode *poffset_cal_mode); |
charlesmn | 0:0be0bd219e72 | 1116 | |
charlesmn | 0:0be0bd219e72 | 1117 | |
charlesmn | 0:0be0bd219e72 | 1118 | VL53LX_Error VL53LX_set_offset_correction_mode( |
charlesmn | 0:0be0bd219e72 | 1119 | VL53LX_OffsetCalibrationMode offset_cor_mode); |
charlesmn | 0:0be0bd219e72 | 1120 | |
charlesmn | 0:0be0bd219e72 | 1121 | |
charlesmn | 0:0be0bd219e72 | 1122 | VL53LX_Error VL53LX_get_offset_correction_mode( |
charlesmn | 0:0be0bd219e72 | 1123 | VL53LX_OffsetCorrectionMode *poffset_cor_mode); |
charlesmn | 0:0be0bd219e72 | 1124 | |
charlesmn | 0:0be0bd219e72 | 1125 | |
charlesmn | 0:0be0bd219e72 | 1126 | VL53LX_Error VL53LX_set_zone_calibration_data( |
charlesmn | 0:0be0bd219e72 | 1127 | VL53LX_zone_calibration_results_t *pzone_cal); |
charlesmn | 0:0be0bd219e72 | 1128 | |
charlesmn | 0:0be0bd219e72 | 1129 | |
charlesmn | 0:0be0bd219e72 | 1130 | VL53LX_Error VL53LX_get_zone_calibration_data( |
charlesmn | 0:0be0bd219e72 | 1131 | VL53LX_zone_calibration_results_t *pzone_cal); |
charlesmn | 0:0be0bd219e72 | 1132 | |
charlesmn | 0:0be0bd219e72 | 1133 | |
charlesmn | 0:0be0bd219e72 | 1134 | VL53LX_Error VL53LX_get_lite_xtalk_margin_kcps( |
charlesmn | 0:0be0bd219e72 | 1135 | int16_t *pxtalk_margin); |
charlesmn | 0:0be0bd219e72 | 1136 | |
charlesmn | 0:0be0bd219e72 | 1137 | |
charlesmn | 0:0be0bd219e72 | 1138 | VL53LX_Error VL53LX_set_lite_xtalk_margin_kcps( |
charlesmn | 0:0be0bd219e72 | 1139 | int16_t xtalk_margin); |
charlesmn | 0:0be0bd219e72 | 1140 | |
charlesmn | 0:0be0bd219e72 | 1141 | |
charlesmn | 0:0be0bd219e72 | 1142 | VL53LX_Error VL53LX_get_histogram_xtalk_margin_kcps( |
charlesmn | 0:0be0bd219e72 | 1143 | int16_t *pxtalk_margin); |
charlesmn | 0:0be0bd219e72 | 1144 | |
charlesmn | 0:0be0bd219e72 | 1145 | |
charlesmn | 0:0be0bd219e72 | 1146 | VL53LX_Error VL53LX_set_histogram_xtalk_margin_kcps( |
charlesmn | 0:0be0bd219e72 | 1147 | int16_t xtalk_margin); |
charlesmn | 0:0be0bd219e72 | 1148 | |
charlesmn | 0:0be0bd219e72 | 1149 | VL53LX_Error VL53LX_get_histogram_phase_consistency( |
charlesmn | 0:0be0bd219e72 | 1150 | uint8_t *pphase_consistency); |
charlesmn | 0:0be0bd219e72 | 1151 | |
charlesmn | 0:0be0bd219e72 | 1152 | |
charlesmn | 0:0be0bd219e72 | 1153 | |
charlesmn | 0:0be0bd219e72 | 1154 | VL53LX_Error VL53LX_set_histogram_phase_consistency( |
charlesmn | 0:0be0bd219e72 | 1155 | uint8_t phase_consistency); |
charlesmn | 0:0be0bd219e72 | 1156 | |
charlesmn | 0:0be0bd219e72 | 1157 | |
charlesmn | 0:0be0bd219e72 | 1158 | |
charlesmn | 0:0be0bd219e72 | 1159 | VL53LX_Error VL53LX_get_histogram_event_consistency( |
charlesmn | 0:0be0bd219e72 | 1160 | uint8_t *pevent_consistency); |
charlesmn | 0:0be0bd219e72 | 1161 | |
charlesmn | 0:0be0bd219e72 | 1162 | |
charlesmn | 0:0be0bd219e72 | 1163 | |
charlesmn | 0:0be0bd219e72 | 1164 | VL53LX_Error VL53LX_set_histogram_event_consistency( |
charlesmn | 0:0be0bd219e72 | 1165 | uint8_t event_consistency); |
charlesmn | 0:0be0bd219e72 | 1166 | |
charlesmn | 0:0be0bd219e72 | 1167 | |
charlesmn | 0:0be0bd219e72 | 1168 | |
charlesmn | 0:0be0bd219e72 | 1169 | VL53LX_Error VL53LX_get_histogram_ambient_threshold_sigma( |
charlesmn | 0:0be0bd219e72 | 1170 | uint8_t *pamb_thresh_sigma); |
charlesmn | 0:0be0bd219e72 | 1171 | |
charlesmn | 0:0be0bd219e72 | 1172 | |
charlesmn | 0:0be0bd219e72 | 1173 | |
charlesmn | 0:0be0bd219e72 | 1174 | VL53LX_Error VL53LX_set_histogram_ambient_threshold_sigma( |
charlesmn | 0:0be0bd219e72 | 1175 | |
charlesmn | 0:0be0bd219e72 | 1176 | uint8_t amb_thresh_sigma); |
charlesmn | 0:0be0bd219e72 | 1177 | |
charlesmn | 0:0be0bd219e72 | 1178 | |
charlesmn | 0:0be0bd219e72 | 1179 | |
charlesmn | 0:0be0bd219e72 | 1180 | VL53LX_Error VL53LX_get_lite_min_count_rate( |
charlesmn | 0:0be0bd219e72 | 1181 | |
charlesmn | 0:0be0bd219e72 | 1182 | uint16_t *plite_mincountrate); |
charlesmn | 0:0be0bd219e72 | 1183 | |
charlesmn | 0:0be0bd219e72 | 1184 | |
charlesmn | 0:0be0bd219e72 | 1185 | |
charlesmn | 0:0be0bd219e72 | 1186 | |
charlesmn | 0:0be0bd219e72 | 1187 | VL53LX_Error VL53LX_set_lite_min_count_rate( |
charlesmn | 0:0be0bd219e72 | 1188 | |
charlesmn | 0:0be0bd219e72 | 1189 | uint16_t lite_mincountrate); |
charlesmn | 0:0be0bd219e72 | 1190 | |
charlesmn | 0:0be0bd219e72 | 1191 | |
charlesmn | 0:0be0bd219e72 | 1192 | |
charlesmn | 0:0be0bd219e72 | 1193 | |
charlesmn | 0:0be0bd219e72 | 1194 | |
charlesmn | 0:0be0bd219e72 | 1195 | VL53LX_Error VL53LX_get_lite_sigma_threshold( |
charlesmn | 0:0be0bd219e72 | 1196 | |
charlesmn | 0:0be0bd219e72 | 1197 | uint16_t *plite_sigma); |
charlesmn | 0:0be0bd219e72 | 1198 | |
charlesmn | 0:0be0bd219e72 | 1199 | |
charlesmn | 0:0be0bd219e72 | 1200 | |
charlesmn | 0:0be0bd219e72 | 1201 | |
charlesmn | 0:0be0bd219e72 | 1202 | VL53LX_Error VL53LX_set_lite_sigma_threshold( |
charlesmn | 0:0be0bd219e72 | 1203 | |
charlesmn | 0:0be0bd219e72 | 1204 | uint16_t lite_sigma); |
charlesmn | 0:0be0bd219e72 | 1205 | |
charlesmn | 0:0be0bd219e72 | 1206 | |
charlesmn | 0:0be0bd219e72 | 1207 | |
charlesmn | 0:0be0bd219e72 | 1208 | |
charlesmn | 0:0be0bd219e72 | 1209 | VL53LX_Error VL53LX_restore_xtalk_nvm_default(); |
charlesmn | 0:0be0bd219e72 | 1210 | |
charlesmn | 0:0be0bd219e72 | 1211 | |
charlesmn | 0:0be0bd219e72 | 1212 | |
charlesmn | 0:0be0bd219e72 | 1213 | VL53LX_Error VL53LX_get_xtalk_detect_config( |
charlesmn | 0:0be0bd219e72 | 1214 | |
charlesmn | 0:0be0bd219e72 | 1215 | int16_t *pmax_valid_range_mm, |
charlesmn | 0:0be0bd219e72 | 1216 | int16_t *pmin_valid_range_mm, |
charlesmn | 0:0be0bd219e72 | 1217 | uint16_t *pmax_valid_rate_kcps, |
charlesmn | 0:0be0bd219e72 | 1218 | uint16_t *pmax_sigma_mm); |
charlesmn | 0:0be0bd219e72 | 1219 | |
charlesmn | 0:0be0bd219e72 | 1220 | |
charlesmn | 0:0be0bd219e72 | 1221 | |
charlesmn | 0:0be0bd219e72 | 1222 | VL53LX_Error VL53LX_set_xtalk_detect_config( |
charlesmn | 0:0be0bd219e72 | 1223 | |
charlesmn | 0:0be0bd219e72 | 1224 | int16_t max_valid_range_mm, |
charlesmn | 0:0be0bd219e72 | 1225 | int16_t min_valid_range_mm, |
charlesmn | 0:0be0bd219e72 | 1226 | uint16_t max_valid_rate_kcps, |
charlesmn | 0:0be0bd219e72 | 1227 | uint16_t max_sigma_mm); |
charlesmn | 0:0be0bd219e72 | 1228 | |
charlesmn | 0:0be0bd219e72 | 1229 | |
charlesmn | 0:0be0bd219e72 | 1230 | |
charlesmn | 0:0be0bd219e72 | 1231 | VL53LX_Error VL53LX_get_target_order_mode( |
charlesmn | 0:0be0bd219e72 | 1232 | |
charlesmn | 0:0be0bd219e72 | 1233 | VL53LX_HistTargetOrder *phist_target_order); |
charlesmn | 0:0be0bd219e72 | 1234 | |
charlesmn | 0:0be0bd219e72 | 1235 | |
charlesmn | 0:0be0bd219e72 | 1236 | |
charlesmn | 0:0be0bd219e72 | 1237 | VL53LX_Error VL53LX_set_target_order_mode( |
charlesmn | 0:0be0bd219e72 | 1238 | |
charlesmn | 0:0be0bd219e72 | 1239 | VL53LX_HistTargetOrder hist_target_order); |
charlesmn | 0:0be0bd219e72 | 1240 | |
charlesmn | 0:0be0bd219e72 | 1241 | |
charlesmn | 0:0be0bd219e72 | 1242 | |
charlesmn | 0:0be0bd219e72 | 1243 | |
charlesmn | 0:0be0bd219e72 | 1244 | VL53LX_Error VL53LX_set_dmax_reflectance_values( |
charlesmn | 0:0be0bd219e72 | 1245 | |
charlesmn | 0:0be0bd219e72 | 1246 | VL53LX_dmax_reflectance_array_t *pdmax_reflectances); |
charlesmn | 0:0be0bd219e72 | 1247 | |
charlesmn | 0:0be0bd219e72 | 1248 | |
charlesmn | 0:0be0bd219e72 | 1249 | |
charlesmn | 0:0be0bd219e72 | 1250 | VL53LX_Error VL53LX_get_dmax_reflectance_values( |
charlesmn | 0:0be0bd219e72 | 1251 | |
charlesmn | 0:0be0bd219e72 | 1252 | VL53LX_dmax_reflectance_array_t *pdmax_reflectances); |
charlesmn | 0:0be0bd219e72 | 1253 | |
charlesmn | 0:0be0bd219e72 | 1254 | |
charlesmn | 0:0be0bd219e72 | 1255 | |
charlesmn | 0:0be0bd219e72 | 1256 | VL53LX_Error VL53LX_set_vhv_config( |
charlesmn | 0:0be0bd219e72 | 1257 | uint8_t vhv_init_en, |
charlesmn | 0:0be0bd219e72 | 1258 | uint8_t vhv_init_value); |
charlesmn | 0:0be0bd219e72 | 1259 | |
charlesmn | 0:0be0bd219e72 | 1260 | |
charlesmn | 0:0be0bd219e72 | 1261 | |
charlesmn | 0:0be0bd219e72 | 1262 | VL53LX_Error VL53LX_get_vhv_config( |
charlesmn | 0:0be0bd219e72 | 1263 | uint8_t *pvhv_init_en, |
charlesmn | 0:0be0bd219e72 | 1264 | uint8_t *pvhv_init_value); |
charlesmn | 0:0be0bd219e72 | 1265 | |
charlesmn | 0:0be0bd219e72 | 1266 | |
charlesmn | 0:0be0bd219e72 | 1267 | |
charlesmn | 0:0be0bd219e72 | 1268 | VL53LX_Error VL53LX_set_vhv_loopbound( |
charlesmn | 0:0be0bd219e72 | 1269 | |
charlesmn | 0:0be0bd219e72 | 1270 | uint8_t vhv_loopbound); |
charlesmn | 0:0be0bd219e72 | 1271 | |
charlesmn | 0:0be0bd219e72 | 1272 | |
charlesmn | 0:0be0bd219e72 | 1273 | |
charlesmn | 0:0be0bd219e72 | 1274 | VL53LX_Error VL53LX_get_vhv_loopbound( |
charlesmn | 0:0be0bd219e72 | 1275 | |
charlesmn | 0:0be0bd219e72 | 1276 | uint8_t *pvhv_loopbound); |
charlesmn | 0:0be0bd219e72 | 1277 | |
charlesmn | 0:0be0bd219e72 | 1278 | |
charlesmn | 0:0be0bd219e72 | 1279 | |
charlesmn | 0:0be0bd219e72 | 1280 | VL53LX_Error VL53LX_get_tuning_parm( |
charlesmn | 0:0be0bd219e72 | 1281 | VL53LX_TuningParms tuning_parm_key, |
charlesmn | 0:0be0bd219e72 | 1282 | int32_t *ptuning_parm_value); |
charlesmn | 0:0be0bd219e72 | 1283 | |
charlesmn | 0:0be0bd219e72 | 1284 | |
charlesmn | 0:0be0bd219e72 | 1285 | |
charlesmn | 0:0be0bd219e72 | 1286 | VL53LX_Error VL53LX_set_tuning_parm( |
charlesmn | 0:0be0bd219e72 | 1287 | VL53LX_TuningParms tuning_parm_key, |
charlesmn | 0:0be0bd219e72 | 1288 | int32_t tuning_parm_value); |
charlesmn | 0:0be0bd219e72 | 1289 | |
charlesmn | 0:0be0bd219e72 | 1290 | |
charlesmn | 0:0be0bd219e72 | 1291 | |
charlesmn | 0:0be0bd219e72 | 1292 | VL53LX_Error VL53LX_dynamic_xtalk_correction_enable(); |
charlesmn | 0:0be0bd219e72 | 1293 | |
charlesmn | 0:0be0bd219e72 | 1294 | |
charlesmn | 0:0be0bd219e72 | 1295 | |
charlesmn | 0:0be0bd219e72 | 1296 | VL53LX_Error VL53LX_dynamic_xtalk_correction_disable(); |
charlesmn | 0:0be0bd219e72 | 1297 | |
charlesmn | 0:0be0bd219e72 | 1298 | |
charlesmn | 0:0be0bd219e72 | 1299 | |
charlesmn | 0:0be0bd219e72 | 1300 | |
charlesmn | 0:0be0bd219e72 | 1301 | VL53LX_Error VL53LX_dynamic_xtalk_correction_apply_enable(); |
charlesmn | 0:0be0bd219e72 | 1302 | |
charlesmn | 0:0be0bd219e72 | 1303 | |
charlesmn | 0:0be0bd219e72 | 1304 | |
charlesmn | 0:0be0bd219e72 | 1305 | VL53LX_Error VL53LX_dynamic_xtalk_correction_apply_disable(); |
charlesmn | 0:0be0bd219e72 | 1306 | |
charlesmn | 0:0be0bd219e72 | 1307 | |
charlesmn | 0:0be0bd219e72 | 1308 | |
charlesmn | 0:0be0bd219e72 | 1309 | VL53LX_Error VL53LX_dynamic_xtalk_correction_single_apply_enable(); |
charlesmn | 0:0be0bd219e72 | 1310 | |
charlesmn | 0:0be0bd219e72 | 1311 | |
charlesmn | 0:0be0bd219e72 | 1312 | |
charlesmn | 0:0be0bd219e72 | 1313 | VL53LX_Error VL53LX_dynamic_xtalk_correction_single_apply_disable(); |
charlesmn | 0:0be0bd219e72 | 1314 | |
charlesmn | 0:0be0bd219e72 | 1315 | |
charlesmn | 0:0be0bd219e72 | 1316 | |
charlesmn | 0:0be0bd219e72 | 1317 | VL53LX_Error VL53LX_dynamic_xtalk_correction_set_scalers( |
charlesmn | 0:0be0bd219e72 | 1318 | int16_t x_scaler_in, |
charlesmn | 0:0be0bd219e72 | 1319 | int16_t y_scaler_in, |
charlesmn | 0:0be0bd219e72 | 1320 | uint8_t user_scaler_set_in |
charlesmn | 0:0be0bd219e72 | 1321 | ); |
charlesmn | 0:0be0bd219e72 | 1322 | |
charlesmn | 0:0be0bd219e72 | 1323 | |
charlesmn | 0:0be0bd219e72 | 1324 | |
charlesmn | 0:0be0bd219e72 | 1325 | VL53LX_Error VL53LX_get_current_xtalk_settings( |
charlesmn | 0:0be0bd219e72 | 1326 | |
charlesmn | 0:0be0bd219e72 | 1327 | VL53LX_xtalk_calibration_results_t *pxtalk |
charlesmn | 0:0be0bd219e72 | 1328 | ); |
charlesmn | 0:0be0bd219e72 | 1329 | |
charlesmn | 0:0be0bd219e72 | 1330 | |
charlesmn | 0:0be0bd219e72 | 1331 | |
charlesmn | 0:0be0bd219e72 | 1332 | VL53LX_Error VL53LX_set_current_xtalk_settings( |
charlesmn | 0:0be0bd219e72 | 1333 | |
charlesmn | 0:0be0bd219e72 | 1334 | VL53LX_xtalk_calibration_results_t *pxtalk |
charlesmn | 0:0be0bd219e72 | 1335 | ); |
charlesmn | 0:0be0bd219e72 | 1336 | |
charlesmn | 0:0be0bd219e72 | 1337 | VL53LX_Error VL53LX_load_patch(); |
charlesmn | 0:0be0bd219e72 | 1338 | |
charlesmn | 0:0be0bd219e72 | 1339 | VL53LX_Error VL53LX_unload_patch(); |
charlesmn | 0:0be0bd219e72 | 1340 | |
charlesmn | 0:0be0bd219e72 | 1341 | |
charlesmn | 0:0be0bd219e72 | 1342 | /* vl53lx_register_funcs.h */ |
charlesmn | 0:0be0bd219e72 | 1343 | |
charlesmn | 0:0be0bd219e72 | 1344 | |
charlesmn | 0:0be0bd219e72 | 1345 | VL53LX_Error VL53LX_i2c_encode_static_nvm_managed( |
charlesmn | 0:0be0bd219e72 | 1346 | VL53LX_static_nvm_managed_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1347 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1348 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1349 | |
charlesmn | 0:0be0bd219e72 | 1350 | |
charlesmn | 0:0be0bd219e72 | 1351 | |
charlesmn | 0:0be0bd219e72 | 1352 | |
charlesmn | 0:0be0bd219e72 | 1353 | VL53LX_Error VL53LX_i2c_decode_static_nvm_managed( |
charlesmn | 0:0be0bd219e72 | 1354 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1355 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1356 | VL53LX_static_nvm_managed_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1357 | |
charlesmn | 0:0be0bd219e72 | 1358 | |
charlesmn | 0:0be0bd219e72 | 1359 | |
charlesmn | 0:0be0bd219e72 | 1360 | |
charlesmn | 0:0be0bd219e72 | 1361 | VL53LX_Error VL53LX_set_static_nvm_managed( |
charlesmn | 0:0be0bd219e72 | 1362 | VL53LX_static_nvm_managed_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1363 | |
charlesmn | 0:0be0bd219e72 | 1364 | |
charlesmn | 0:0be0bd219e72 | 1365 | |
charlesmn | 0:0be0bd219e72 | 1366 | |
charlesmn | 0:0be0bd219e72 | 1367 | VL53LX_Error VL53LX_get_static_nvm_managed( |
charlesmn | 0:0be0bd219e72 | 1368 | VL53LX_static_nvm_managed_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1369 | |
charlesmn | 0:0be0bd219e72 | 1370 | |
charlesmn | 0:0be0bd219e72 | 1371 | |
charlesmn | 0:0be0bd219e72 | 1372 | |
charlesmn | 0:0be0bd219e72 | 1373 | VL53LX_Error VL53LX_i2c_encode_customer_nvm_managed( |
charlesmn | 0:0be0bd219e72 | 1374 | VL53LX_customer_nvm_managed_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1375 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1376 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1377 | |
charlesmn | 0:0be0bd219e72 | 1378 | |
charlesmn | 0:0be0bd219e72 | 1379 | |
charlesmn | 0:0be0bd219e72 | 1380 | |
charlesmn | 0:0be0bd219e72 | 1381 | VL53LX_Error VL53LX_i2c_decode_customer_nvm_managed( |
charlesmn | 0:0be0bd219e72 | 1382 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1383 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1384 | VL53LX_customer_nvm_managed_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1385 | |
charlesmn | 0:0be0bd219e72 | 1386 | |
charlesmn | 0:0be0bd219e72 | 1387 | |
charlesmn | 0:0be0bd219e72 | 1388 | |
charlesmn | 0:0be0bd219e72 | 1389 | VL53LX_Error VL53LX_set_customer_nvm_managed( |
charlesmn | 0:0be0bd219e72 | 1390 | VL53LX_customer_nvm_managed_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1391 | |
charlesmn | 0:0be0bd219e72 | 1392 | |
charlesmn | 0:0be0bd219e72 | 1393 | |
charlesmn | 0:0be0bd219e72 | 1394 | |
charlesmn | 0:0be0bd219e72 | 1395 | VL53LX_Error VL53LX_get_customer_nvm_managed( |
charlesmn | 0:0be0bd219e72 | 1396 | VL53LX_customer_nvm_managed_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1397 | |
charlesmn | 0:0be0bd219e72 | 1398 | |
charlesmn | 0:0be0bd219e72 | 1399 | |
charlesmn | 0:0be0bd219e72 | 1400 | |
charlesmn | 0:0be0bd219e72 | 1401 | VL53LX_Error VL53LX_i2c_encode_static_config( |
charlesmn | 0:0be0bd219e72 | 1402 | VL53LX_static_config_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1403 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1404 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1405 | |
charlesmn | 0:0be0bd219e72 | 1406 | |
charlesmn | 0:0be0bd219e72 | 1407 | |
charlesmn | 0:0be0bd219e72 | 1408 | |
charlesmn | 0:0be0bd219e72 | 1409 | VL53LX_Error VL53LX_i2c_decode_static_config( |
charlesmn | 0:0be0bd219e72 | 1410 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1411 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1412 | VL53LX_static_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1413 | |
charlesmn | 0:0be0bd219e72 | 1414 | |
charlesmn | 0:0be0bd219e72 | 1415 | |
charlesmn | 0:0be0bd219e72 | 1416 | |
charlesmn | 0:0be0bd219e72 | 1417 | VL53LX_Error VL53LX_set_static_config( |
charlesmn | 0:0be0bd219e72 | 1418 | VL53LX_static_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1419 | |
charlesmn | 0:0be0bd219e72 | 1420 | |
charlesmn | 0:0be0bd219e72 | 1421 | |
charlesmn | 0:0be0bd219e72 | 1422 | |
charlesmn | 0:0be0bd219e72 | 1423 | VL53LX_Error VL53LX_get_static_config( |
charlesmn | 0:0be0bd219e72 | 1424 | VL53LX_static_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1425 | |
charlesmn | 0:0be0bd219e72 | 1426 | |
charlesmn | 0:0be0bd219e72 | 1427 | |
charlesmn | 0:0be0bd219e72 | 1428 | |
charlesmn | 0:0be0bd219e72 | 1429 | VL53LX_Error VL53LX_i2c_encode_general_config( |
charlesmn | 0:0be0bd219e72 | 1430 | VL53LX_general_config_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1431 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1432 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1433 | |
charlesmn | 0:0be0bd219e72 | 1434 | |
charlesmn | 0:0be0bd219e72 | 1435 | |
charlesmn | 0:0be0bd219e72 | 1436 | |
charlesmn | 0:0be0bd219e72 | 1437 | VL53LX_Error VL53LX_i2c_decode_general_config( |
charlesmn | 0:0be0bd219e72 | 1438 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1439 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1440 | VL53LX_general_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1441 | |
charlesmn | 0:0be0bd219e72 | 1442 | |
charlesmn | 0:0be0bd219e72 | 1443 | |
charlesmn | 0:0be0bd219e72 | 1444 | |
charlesmn | 0:0be0bd219e72 | 1445 | VL53LX_Error VL53LX_set_general_config( |
charlesmn | 0:0be0bd219e72 | 1446 | VL53LX_general_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1447 | |
charlesmn | 0:0be0bd219e72 | 1448 | |
charlesmn | 0:0be0bd219e72 | 1449 | |
charlesmn | 0:0be0bd219e72 | 1450 | |
charlesmn | 0:0be0bd219e72 | 1451 | VL53LX_Error VL53LX_get_general_config( |
charlesmn | 0:0be0bd219e72 | 1452 | VL53LX_general_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1453 | |
charlesmn | 0:0be0bd219e72 | 1454 | |
charlesmn | 0:0be0bd219e72 | 1455 | |
charlesmn | 0:0be0bd219e72 | 1456 | |
charlesmn | 0:0be0bd219e72 | 1457 | VL53LX_Error VL53LX_i2c_encode_timing_config( |
charlesmn | 0:0be0bd219e72 | 1458 | VL53LX_timing_config_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1459 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1460 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1461 | |
charlesmn | 0:0be0bd219e72 | 1462 | |
charlesmn | 0:0be0bd219e72 | 1463 | |
charlesmn | 0:0be0bd219e72 | 1464 | |
charlesmn | 0:0be0bd219e72 | 1465 | VL53LX_Error VL53LX_i2c_decode_timing_config( |
charlesmn | 0:0be0bd219e72 | 1466 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1467 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1468 | VL53LX_timing_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1469 | |
charlesmn | 0:0be0bd219e72 | 1470 | |
charlesmn | 0:0be0bd219e72 | 1471 | |
charlesmn | 0:0be0bd219e72 | 1472 | |
charlesmn | 0:0be0bd219e72 | 1473 | VL53LX_Error VL53LX_set_timing_config( |
charlesmn | 0:0be0bd219e72 | 1474 | VL53LX_timing_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1475 | |
charlesmn | 0:0be0bd219e72 | 1476 | |
charlesmn | 0:0be0bd219e72 | 1477 | |
charlesmn | 0:0be0bd219e72 | 1478 | |
charlesmn | 0:0be0bd219e72 | 1479 | VL53LX_Error VL53LX_get_timing_config( |
charlesmn | 0:0be0bd219e72 | 1480 | VL53LX_timing_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1481 | |
charlesmn | 0:0be0bd219e72 | 1482 | |
charlesmn | 0:0be0bd219e72 | 1483 | |
charlesmn | 0:0be0bd219e72 | 1484 | |
charlesmn | 0:0be0bd219e72 | 1485 | VL53LX_Error VL53LX_i2c_encode_dynamic_config( |
charlesmn | 0:0be0bd219e72 | 1486 | VL53LX_dynamic_config_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1487 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1488 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1489 | |
charlesmn | 0:0be0bd219e72 | 1490 | |
charlesmn | 0:0be0bd219e72 | 1491 | |
charlesmn | 0:0be0bd219e72 | 1492 | |
charlesmn | 0:0be0bd219e72 | 1493 | VL53LX_Error VL53LX_i2c_decode_dynamic_config( |
charlesmn | 0:0be0bd219e72 | 1494 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1495 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1496 | VL53LX_dynamic_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1497 | |
charlesmn | 0:0be0bd219e72 | 1498 | |
charlesmn | 0:0be0bd219e72 | 1499 | |
charlesmn | 0:0be0bd219e72 | 1500 | |
charlesmn | 0:0be0bd219e72 | 1501 | VL53LX_Error VL53LX_set_dynamic_config( |
charlesmn | 0:0be0bd219e72 | 1502 | VL53LX_dynamic_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1503 | |
charlesmn | 0:0be0bd219e72 | 1504 | |
charlesmn | 0:0be0bd219e72 | 1505 | |
charlesmn | 0:0be0bd219e72 | 1506 | |
charlesmn | 0:0be0bd219e72 | 1507 | VL53LX_Error VL53LX_get_dynamic_config( |
charlesmn | 0:0be0bd219e72 | 1508 | VL53LX_dynamic_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1509 | |
charlesmn | 0:0be0bd219e72 | 1510 | |
charlesmn | 0:0be0bd219e72 | 1511 | |
charlesmn | 0:0be0bd219e72 | 1512 | |
charlesmn | 0:0be0bd219e72 | 1513 | VL53LX_Error VL53LX_i2c_encode_system_control( |
charlesmn | 0:0be0bd219e72 | 1514 | VL53LX_system_control_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1515 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1516 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1517 | |
charlesmn | 0:0be0bd219e72 | 1518 | |
charlesmn | 0:0be0bd219e72 | 1519 | |
charlesmn | 0:0be0bd219e72 | 1520 | |
charlesmn | 0:0be0bd219e72 | 1521 | VL53LX_Error VL53LX_i2c_decode_system_control( |
charlesmn | 0:0be0bd219e72 | 1522 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1523 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1524 | VL53LX_system_control_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1525 | |
charlesmn | 0:0be0bd219e72 | 1526 | |
charlesmn | 0:0be0bd219e72 | 1527 | |
charlesmn | 0:0be0bd219e72 | 1528 | |
charlesmn | 0:0be0bd219e72 | 1529 | VL53LX_Error VL53LX_set_system_control( |
charlesmn | 0:0be0bd219e72 | 1530 | VL53LX_system_control_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1531 | |
charlesmn | 0:0be0bd219e72 | 1532 | |
charlesmn | 0:0be0bd219e72 | 1533 | |
charlesmn | 0:0be0bd219e72 | 1534 | |
charlesmn | 0:0be0bd219e72 | 1535 | VL53LX_Error VL53LX_get_system_control( |
charlesmn | 0:0be0bd219e72 | 1536 | VL53LX_system_control_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1537 | |
charlesmn | 0:0be0bd219e72 | 1538 | |
charlesmn | 0:0be0bd219e72 | 1539 | |
charlesmn | 0:0be0bd219e72 | 1540 | |
charlesmn | 0:0be0bd219e72 | 1541 | VL53LX_Error VL53LX_i2c_encode_system_results( |
charlesmn | 0:0be0bd219e72 | 1542 | VL53LX_system_results_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1543 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1544 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1545 | |
charlesmn | 0:0be0bd219e72 | 1546 | |
charlesmn | 0:0be0bd219e72 | 1547 | |
charlesmn | 0:0be0bd219e72 | 1548 | |
charlesmn | 0:0be0bd219e72 | 1549 | VL53LX_Error VL53LX_i2c_decode_system_results( |
charlesmn | 0:0be0bd219e72 | 1550 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1551 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1552 | VL53LX_system_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1553 | |
charlesmn | 0:0be0bd219e72 | 1554 | |
charlesmn | 0:0be0bd219e72 | 1555 | |
charlesmn | 0:0be0bd219e72 | 1556 | |
charlesmn | 0:0be0bd219e72 | 1557 | VL53LX_Error VL53LX_set_system_results( |
charlesmn | 0:0be0bd219e72 | 1558 | VL53LX_system_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1559 | |
charlesmn | 0:0be0bd219e72 | 1560 | |
charlesmn | 0:0be0bd219e72 | 1561 | |
charlesmn | 0:0be0bd219e72 | 1562 | |
charlesmn | 0:0be0bd219e72 | 1563 | VL53LX_Error VL53LX_get_system_results( |
charlesmn | 0:0be0bd219e72 | 1564 | VL53LX_system_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1565 | |
charlesmn | 0:0be0bd219e72 | 1566 | |
charlesmn | 0:0be0bd219e72 | 1567 | |
charlesmn | 0:0be0bd219e72 | 1568 | |
charlesmn | 0:0be0bd219e72 | 1569 | VL53LX_Error VL53LX_i2c_encode_core_results( |
charlesmn | 0:0be0bd219e72 | 1570 | VL53LX_core_results_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1571 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1572 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1573 | |
charlesmn | 0:0be0bd219e72 | 1574 | |
charlesmn | 0:0be0bd219e72 | 1575 | |
charlesmn | 0:0be0bd219e72 | 1576 | |
charlesmn | 0:0be0bd219e72 | 1577 | VL53LX_Error VL53LX_i2c_decode_core_results( |
charlesmn | 0:0be0bd219e72 | 1578 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1579 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1580 | VL53LX_core_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1581 | |
charlesmn | 0:0be0bd219e72 | 1582 | |
charlesmn | 0:0be0bd219e72 | 1583 | |
charlesmn | 0:0be0bd219e72 | 1584 | |
charlesmn | 0:0be0bd219e72 | 1585 | VL53LX_Error VL53LX_set_core_results( |
charlesmn | 0:0be0bd219e72 | 1586 | VL53LX_core_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1587 | |
charlesmn | 0:0be0bd219e72 | 1588 | |
charlesmn | 0:0be0bd219e72 | 1589 | |
charlesmn | 0:0be0bd219e72 | 1590 | |
charlesmn | 0:0be0bd219e72 | 1591 | VL53LX_Error VL53LX_get_core_results( |
charlesmn | 0:0be0bd219e72 | 1592 | VL53LX_core_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1593 | |
charlesmn | 0:0be0bd219e72 | 1594 | |
charlesmn | 0:0be0bd219e72 | 1595 | |
charlesmn | 0:0be0bd219e72 | 1596 | |
charlesmn | 0:0be0bd219e72 | 1597 | VL53LX_Error VL53LX_i2c_encode_debug_results( |
charlesmn | 0:0be0bd219e72 | 1598 | VL53LX_debug_results_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1599 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1600 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1601 | |
charlesmn | 0:0be0bd219e72 | 1602 | |
charlesmn | 0:0be0bd219e72 | 1603 | |
charlesmn | 0:0be0bd219e72 | 1604 | |
charlesmn | 0:0be0bd219e72 | 1605 | VL53LX_Error VL53LX_i2c_decode_debug_results( |
charlesmn | 0:0be0bd219e72 | 1606 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1607 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1608 | VL53LX_debug_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1609 | |
charlesmn | 0:0be0bd219e72 | 1610 | |
charlesmn | 0:0be0bd219e72 | 1611 | |
charlesmn | 0:0be0bd219e72 | 1612 | |
charlesmn | 0:0be0bd219e72 | 1613 | VL53LX_Error VL53LX_set_debug_results( |
charlesmn | 0:0be0bd219e72 | 1614 | VL53LX_debug_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1615 | |
charlesmn | 0:0be0bd219e72 | 1616 | |
charlesmn | 0:0be0bd219e72 | 1617 | |
charlesmn | 0:0be0bd219e72 | 1618 | |
charlesmn | 0:0be0bd219e72 | 1619 | VL53LX_Error VL53LX_get_debug_results( |
charlesmn | 0:0be0bd219e72 | 1620 | VL53LX_debug_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1621 | |
charlesmn | 0:0be0bd219e72 | 1622 | |
charlesmn | 0:0be0bd219e72 | 1623 | |
charlesmn | 0:0be0bd219e72 | 1624 | |
charlesmn | 0:0be0bd219e72 | 1625 | VL53LX_Error VL53LX_i2c_encode_nvm_copy_data( |
charlesmn | 0:0be0bd219e72 | 1626 | VL53LX_nvm_copy_data_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1627 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1628 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1629 | |
charlesmn | 0:0be0bd219e72 | 1630 | |
charlesmn | 0:0be0bd219e72 | 1631 | |
charlesmn | 0:0be0bd219e72 | 1632 | |
charlesmn | 0:0be0bd219e72 | 1633 | VL53LX_Error VL53LX_i2c_decode_nvm_copy_data( |
charlesmn | 0:0be0bd219e72 | 1634 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1635 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1636 | VL53LX_nvm_copy_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1637 | |
charlesmn | 0:0be0bd219e72 | 1638 | |
charlesmn | 0:0be0bd219e72 | 1639 | |
charlesmn | 0:0be0bd219e72 | 1640 | |
charlesmn | 0:0be0bd219e72 | 1641 | VL53LX_Error VL53LX_set_nvm_copy_data( |
charlesmn | 0:0be0bd219e72 | 1642 | VL53LX_nvm_copy_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1643 | |
charlesmn | 0:0be0bd219e72 | 1644 | |
charlesmn | 0:0be0bd219e72 | 1645 | |
charlesmn | 0:0be0bd219e72 | 1646 | |
charlesmn | 0:0be0bd219e72 | 1647 | VL53LX_Error VL53LX_get_nvm_copy_data( |
charlesmn | 0:0be0bd219e72 | 1648 | VL53LX_nvm_copy_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1649 | |
charlesmn | 0:0be0bd219e72 | 1650 | |
charlesmn | 0:0be0bd219e72 | 1651 | |
charlesmn | 0:0be0bd219e72 | 1652 | |
charlesmn | 0:0be0bd219e72 | 1653 | VL53LX_Error VL53LX_i2c_encode_prev_shadow_system_results( |
charlesmn | 0:0be0bd219e72 | 1654 | VL53LX_prev_shadow_system_results_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1655 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1656 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1657 | |
charlesmn | 0:0be0bd219e72 | 1658 | |
charlesmn | 0:0be0bd219e72 | 1659 | |
charlesmn | 0:0be0bd219e72 | 1660 | |
charlesmn | 0:0be0bd219e72 | 1661 | VL53LX_Error VL53LX_i2c_decode_prev_shadow_system_results( |
charlesmn | 0:0be0bd219e72 | 1662 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1663 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1664 | VL53LX_prev_shadow_system_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1665 | |
charlesmn | 0:0be0bd219e72 | 1666 | |
charlesmn | 0:0be0bd219e72 | 1667 | |
charlesmn | 0:0be0bd219e72 | 1668 | |
charlesmn | 0:0be0bd219e72 | 1669 | VL53LX_Error VL53LX_set_prev_shadow_system_results( |
charlesmn | 0:0be0bd219e72 | 1670 | VL53LX_prev_shadow_system_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1671 | |
charlesmn | 0:0be0bd219e72 | 1672 | |
charlesmn | 0:0be0bd219e72 | 1673 | |
charlesmn | 0:0be0bd219e72 | 1674 | |
charlesmn | 0:0be0bd219e72 | 1675 | VL53LX_Error VL53LX_get_prev_shadow_system_results( |
charlesmn | 0:0be0bd219e72 | 1676 | VL53LX_prev_shadow_system_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1677 | |
charlesmn | 0:0be0bd219e72 | 1678 | |
charlesmn | 0:0be0bd219e72 | 1679 | |
charlesmn | 0:0be0bd219e72 | 1680 | |
charlesmn | 0:0be0bd219e72 | 1681 | VL53LX_Error VL53LX_i2c_encode_prev_shadow_core_results( |
charlesmn | 0:0be0bd219e72 | 1682 | VL53LX_prev_shadow_core_results_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1683 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1684 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1685 | |
charlesmn | 0:0be0bd219e72 | 1686 | |
charlesmn | 0:0be0bd219e72 | 1687 | |
charlesmn | 0:0be0bd219e72 | 1688 | |
charlesmn | 0:0be0bd219e72 | 1689 | VL53LX_Error VL53LX_i2c_decode_prev_shadow_core_results( |
charlesmn | 0:0be0bd219e72 | 1690 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1691 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1692 | VL53LX_prev_shadow_core_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1693 | |
charlesmn | 0:0be0bd219e72 | 1694 | |
charlesmn | 0:0be0bd219e72 | 1695 | |
charlesmn | 0:0be0bd219e72 | 1696 | |
charlesmn | 0:0be0bd219e72 | 1697 | VL53LX_Error VL53LX_set_prev_shadow_core_results( |
charlesmn | 0:0be0bd219e72 | 1698 | VL53LX_prev_shadow_core_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1699 | |
charlesmn | 0:0be0bd219e72 | 1700 | |
charlesmn | 0:0be0bd219e72 | 1701 | |
charlesmn | 0:0be0bd219e72 | 1702 | |
charlesmn | 0:0be0bd219e72 | 1703 | VL53LX_Error VL53LX_get_prev_shadow_core_results( |
charlesmn | 0:0be0bd219e72 | 1704 | VL53LX_prev_shadow_core_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1705 | |
charlesmn | 0:0be0bd219e72 | 1706 | |
charlesmn | 0:0be0bd219e72 | 1707 | |
charlesmn | 0:0be0bd219e72 | 1708 | |
charlesmn | 0:0be0bd219e72 | 1709 | VL53LX_Error VL53LX_i2c_encode_patch_debug( |
charlesmn | 0:0be0bd219e72 | 1710 | VL53LX_patch_debug_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1711 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1712 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1713 | |
charlesmn | 0:0be0bd219e72 | 1714 | |
charlesmn | 0:0be0bd219e72 | 1715 | |
charlesmn | 0:0be0bd219e72 | 1716 | |
charlesmn | 0:0be0bd219e72 | 1717 | VL53LX_Error VL53LX_i2c_decode_patch_debug( |
charlesmn | 0:0be0bd219e72 | 1718 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1719 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1720 | VL53LX_patch_debug_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1721 | |
charlesmn | 0:0be0bd219e72 | 1722 | |
charlesmn | 0:0be0bd219e72 | 1723 | |
charlesmn | 0:0be0bd219e72 | 1724 | |
charlesmn | 0:0be0bd219e72 | 1725 | VL53LX_Error VL53LX_set_patch_debug( |
charlesmn | 0:0be0bd219e72 | 1726 | VL53LX_patch_debug_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1727 | |
charlesmn | 0:0be0bd219e72 | 1728 | |
charlesmn | 0:0be0bd219e72 | 1729 | |
charlesmn | 0:0be0bd219e72 | 1730 | |
charlesmn | 0:0be0bd219e72 | 1731 | VL53LX_Error VL53LX_get_patch_debug( |
charlesmn | 0:0be0bd219e72 | 1732 | VL53LX_patch_debug_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1733 | |
charlesmn | 0:0be0bd219e72 | 1734 | |
charlesmn | 0:0be0bd219e72 | 1735 | |
charlesmn | 0:0be0bd219e72 | 1736 | |
charlesmn | 0:0be0bd219e72 | 1737 | VL53LX_Error VL53LX_i2c_encode_gph_general_config( |
charlesmn | 0:0be0bd219e72 | 1738 | VL53LX_gph_general_config_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1739 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1740 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1741 | |
charlesmn | 0:0be0bd219e72 | 1742 | |
charlesmn | 0:0be0bd219e72 | 1743 | |
charlesmn | 0:0be0bd219e72 | 1744 | |
charlesmn | 0:0be0bd219e72 | 1745 | VL53LX_Error VL53LX_i2c_decode_gph_general_config( |
charlesmn | 0:0be0bd219e72 | 1746 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1747 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1748 | VL53LX_gph_general_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1749 | |
charlesmn | 0:0be0bd219e72 | 1750 | |
charlesmn | 0:0be0bd219e72 | 1751 | |
charlesmn | 0:0be0bd219e72 | 1752 | |
charlesmn | 0:0be0bd219e72 | 1753 | VL53LX_Error VL53LX_set_gph_general_config( |
charlesmn | 0:0be0bd219e72 | 1754 | VL53LX_gph_general_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1755 | |
charlesmn | 0:0be0bd219e72 | 1756 | |
charlesmn | 0:0be0bd219e72 | 1757 | |
charlesmn | 0:0be0bd219e72 | 1758 | |
charlesmn | 0:0be0bd219e72 | 1759 | VL53LX_Error VL53LX_get_gph_general_config( |
charlesmn | 0:0be0bd219e72 | 1760 | VL53LX_gph_general_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1761 | |
charlesmn | 0:0be0bd219e72 | 1762 | |
charlesmn | 0:0be0bd219e72 | 1763 | |
charlesmn | 0:0be0bd219e72 | 1764 | |
charlesmn | 0:0be0bd219e72 | 1765 | VL53LX_Error VL53LX_i2c_encode_gph_static_config( |
charlesmn | 0:0be0bd219e72 | 1766 | VL53LX_gph_static_config_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1767 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1768 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1769 | |
charlesmn | 0:0be0bd219e72 | 1770 | |
charlesmn | 0:0be0bd219e72 | 1771 | |
charlesmn | 0:0be0bd219e72 | 1772 | |
charlesmn | 0:0be0bd219e72 | 1773 | VL53LX_Error VL53LX_i2c_decode_gph_static_config( |
charlesmn | 0:0be0bd219e72 | 1774 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1775 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1776 | VL53LX_gph_static_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1777 | |
charlesmn | 0:0be0bd219e72 | 1778 | |
charlesmn | 0:0be0bd219e72 | 1779 | |
charlesmn | 0:0be0bd219e72 | 1780 | |
charlesmn | 0:0be0bd219e72 | 1781 | VL53LX_Error VL53LX_set_gph_static_config( |
charlesmn | 0:0be0bd219e72 | 1782 | VL53LX_gph_static_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1783 | |
charlesmn | 0:0be0bd219e72 | 1784 | |
charlesmn | 0:0be0bd219e72 | 1785 | |
charlesmn | 0:0be0bd219e72 | 1786 | |
charlesmn | 0:0be0bd219e72 | 1787 | VL53LX_Error VL53LX_get_gph_static_config( |
charlesmn | 0:0be0bd219e72 | 1788 | VL53LX_gph_static_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1789 | |
charlesmn | 0:0be0bd219e72 | 1790 | |
charlesmn | 0:0be0bd219e72 | 1791 | |
charlesmn | 0:0be0bd219e72 | 1792 | |
charlesmn | 0:0be0bd219e72 | 1793 | VL53LX_Error VL53LX_i2c_encode_gph_timing_config( |
charlesmn | 0:0be0bd219e72 | 1794 | VL53LX_gph_timing_config_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1795 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1796 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1797 | |
charlesmn | 0:0be0bd219e72 | 1798 | |
charlesmn | 0:0be0bd219e72 | 1799 | |
charlesmn | 0:0be0bd219e72 | 1800 | |
charlesmn | 0:0be0bd219e72 | 1801 | VL53LX_Error VL53LX_i2c_decode_gph_timing_config( |
charlesmn | 0:0be0bd219e72 | 1802 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1803 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1804 | VL53LX_gph_timing_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1805 | |
charlesmn | 0:0be0bd219e72 | 1806 | |
charlesmn | 0:0be0bd219e72 | 1807 | |
charlesmn | 0:0be0bd219e72 | 1808 | |
charlesmn | 0:0be0bd219e72 | 1809 | VL53LX_Error VL53LX_set_gph_timing_config( |
charlesmn | 0:0be0bd219e72 | 1810 | VL53LX_gph_timing_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1811 | |
charlesmn | 0:0be0bd219e72 | 1812 | |
charlesmn | 0:0be0bd219e72 | 1813 | |
charlesmn | 0:0be0bd219e72 | 1814 | |
charlesmn | 0:0be0bd219e72 | 1815 | VL53LX_Error VL53LX_get_gph_timing_config( |
charlesmn | 0:0be0bd219e72 | 1816 | VL53LX_gph_timing_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1817 | |
charlesmn | 0:0be0bd219e72 | 1818 | |
charlesmn | 0:0be0bd219e72 | 1819 | |
charlesmn | 0:0be0bd219e72 | 1820 | |
charlesmn | 0:0be0bd219e72 | 1821 | VL53LX_Error VL53LX_i2c_encode_fw_internal( |
charlesmn | 0:0be0bd219e72 | 1822 | VL53LX_fw_internal_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1823 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1824 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1825 | |
charlesmn | 0:0be0bd219e72 | 1826 | |
charlesmn | 0:0be0bd219e72 | 1827 | |
charlesmn | 0:0be0bd219e72 | 1828 | |
charlesmn | 0:0be0bd219e72 | 1829 | VL53LX_Error VL53LX_i2c_decode_fw_internal( |
charlesmn | 0:0be0bd219e72 | 1830 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1831 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1832 | VL53LX_fw_internal_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1833 | |
charlesmn | 0:0be0bd219e72 | 1834 | |
charlesmn | 0:0be0bd219e72 | 1835 | |
charlesmn | 0:0be0bd219e72 | 1836 | |
charlesmn | 0:0be0bd219e72 | 1837 | VL53LX_Error VL53LX_set_fw_internal( |
charlesmn | 0:0be0bd219e72 | 1838 | VL53LX_fw_internal_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1839 | |
charlesmn | 0:0be0bd219e72 | 1840 | |
charlesmn | 0:0be0bd219e72 | 1841 | |
charlesmn | 0:0be0bd219e72 | 1842 | |
charlesmn | 0:0be0bd219e72 | 1843 | VL53LX_Error VL53LX_get_fw_internal( |
charlesmn | 0:0be0bd219e72 | 1844 | VL53LX_fw_internal_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1845 | |
charlesmn | 0:0be0bd219e72 | 1846 | |
charlesmn | 0:0be0bd219e72 | 1847 | |
charlesmn | 0:0be0bd219e72 | 1848 | |
charlesmn | 0:0be0bd219e72 | 1849 | VL53LX_Error VL53LX_i2c_encode_patch_results( |
charlesmn | 0:0be0bd219e72 | 1850 | VL53LX_patch_results_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1851 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1852 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1853 | |
charlesmn | 0:0be0bd219e72 | 1854 | |
charlesmn | 0:0be0bd219e72 | 1855 | |
charlesmn | 0:0be0bd219e72 | 1856 | |
charlesmn | 0:0be0bd219e72 | 1857 | VL53LX_Error VL53LX_i2c_decode_patch_results( |
charlesmn | 0:0be0bd219e72 | 1858 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1859 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1860 | VL53LX_patch_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1861 | |
charlesmn | 0:0be0bd219e72 | 1862 | |
charlesmn | 0:0be0bd219e72 | 1863 | |
charlesmn | 0:0be0bd219e72 | 1864 | |
charlesmn | 0:0be0bd219e72 | 1865 | VL53LX_Error VL53LX_set_patch_results( |
charlesmn | 0:0be0bd219e72 | 1866 | VL53LX_patch_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1867 | |
charlesmn | 0:0be0bd219e72 | 1868 | |
charlesmn | 0:0be0bd219e72 | 1869 | |
charlesmn | 0:0be0bd219e72 | 1870 | |
charlesmn | 0:0be0bd219e72 | 1871 | VL53LX_Error VL53LX_get_patch_results( |
charlesmn | 0:0be0bd219e72 | 1872 | VL53LX_patch_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1873 | |
charlesmn | 0:0be0bd219e72 | 1874 | |
charlesmn | 0:0be0bd219e72 | 1875 | |
charlesmn | 0:0be0bd219e72 | 1876 | |
charlesmn | 0:0be0bd219e72 | 1877 | VL53LX_Error VL53LX_i2c_encode_shadow_system_results( |
charlesmn | 0:0be0bd219e72 | 1878 | VL53LX_shadow_system_results_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1879 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1880 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1881 | |
charlesmn | 0:0be0bd219e72 | 1882 | |
charlesmn | 0:0be0bd219e72 | 1883 | |
charlesmn | 0:0be0bd219e72 | 1884 | |
charlesmn | 0:0be0bd219e72 | 1885 | VL53LX_Error VL53LX_i2c_decode_shadow_system_results( |
charlesmn | 0:0be0bd219e72 | 1886 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1887 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1888 | VL53LX_shadow_system_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1889 | |
charlesmn | 0:0be0bd219e72 | 1890 | |
charlesmn | 0:0be0bd219e72 | 1891 | |
charlesmn | 0:0be0bd219e72 | 1892 | |
charlesmn | 0:0be0bd219e72 | 1893 | VL53LX_Error VL53LX_set_shadow_system_results( |
charlesmn | 0:0be0bd219e72 | 1894 | VL53LX_shadow_system_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1895 | |
charlesmn | 0:0be0bd219e72 | 1896 | |
charlesmn | 0:0be0bd219e72 | 1897 | |
charlesmn | 0:0be0bd219e72 | 1898 | |
charlesmn | 0:0be0bd219e72 | 1899 | VL53LX_Error VL53LX_get_shadow_system_results( |
charlesmn | 0:0be0bd219e72 | 1900 | VL53LX_shadow_system_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1901 | |
charlesmn | 0:0be0bd219e72 | 1902 | |
charlesmn | 0:0be0bd219e72 | 1903 | |
charlesmn | 0:0be0bd219e72 | 1904 | |
charlesmn | 0:0be0bd219e72 | 1905 | VL53LX_Error VL53LX_i2c_encode_shadow_core_results( |
charlesmn | 0:0be0bd219e72 | 1906 | VL53LX_shadow_core_results_t *pdata, |
charlesmn | 0:0be0bd219e72 | 1907 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1908 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 1909 | |
charlesmn | 0:0be0bd219e72 | 1910 | |
charlesmn | 0:0be0bd219e72 | 1911 | |
charlesmn | 0:0be0bd219e72 | 1912 | |
charlesmn | 0:0be0bd219e72 | 1913 | VL53LX_Error VL53LX_i2c_decode_shadow_core_results( |
charlesmn | 0:0be0bd219e72 | 1914 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1915 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1916 | VL53LX_shadow_core_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1917 | |
charlesmn | 0:0be0bd219e72 | 1918 | |
charlesmn | 0:0be0bd219e72 | 1919 | |
charlesmn | 0:0be0bd219e72 | 1920 | |
charlesmn | 0:0be0bd219e72 | 1921 | VL53LX_Error VL53LX_set_shadow_core_results( |
charlesmn | 0:0be0bd219e72 | 1922 | VL53LX_shadow_core_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1923 | |
charlesmn | 0:0be0bd219e72 | 1924 | |
charlesmn | 0:0be0bd219e72 | 1925 | |
charlesmn | 0:0be0bd219e72 | 1926 | |
charlesmn | 0:0be0bd219e72 | 1927 | VL53LX_Error VL53LX_get_shadow_core_results( |
charlesmn | 0:0be0bd219e72 | 1928 | VL53LX_shadow_core_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1929 | |
charlesmn | 0:0be0bd219e72 | 1930 | |
charlesmn | 0:0be0bd219e72 | 1931 | |
charlesmn | 0:0be0bd219e72 | 1932 | /* vl53lx_nvm.h */ |
charlesmn | 0:0be0bd219e72 | 1933 | |
charlesmn | 0:0be0bd219e72 | 1934 | |
charlesmn | 0:0be0bd219e72 | 1935 | VL53LX_Error VL53LX_nvm_enable( |
charlesmn | 0:0be0bd219e72 | 1936 | uint16_t nvm_ctrl_pulse_width, |
charlesmn | 0:0be0bd219e72 | 1937 | int32_t nvm_power_up_delay_us); |
charlesmn | 0:0be0bd219e72 | 1938 | |
charlesmn | 0:0be0bd219e72 | 1939 | |
charlesmn | 0:0be0bd219e72 | 1940 | |
charlesmn | 0:0be0bd219e72 | 1941 | |
charlesmn | 0:0be0bd219e72 | 1942 | VL53LX_Error VL53LX_nvm_read( |
charlesmn | 0:0be0bd219e72 | 1943 | uint8_t start_address, |
charlesmn | 0:0be0bd219e72 | 1944 | uint8_t count, |
charlesmn | 0:0be0bd219e72 | 1945 | uint8_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1946 | |
charlesmn | 0:0be0bd219e72 | 1947 | |
charlesmn | 0:0be0bd219e72 | 1948 | |
charlesmn | 0:0be0bd219e72 | 1949 | |
charlesmn | 0:0be0bd219e72 | 1950 | VL53LX_Error VL53LX_nvm_disable(); |
charlesmn | 0:0be0bd219e72 | 1951 | |
charlesmn | 0:0be0bd219e72 | 1952 | |
charlesmn | 0:0be0bd219e72 | 1953 | |
charlesmn | 0:0be0bd219e72 | 1954 | |
charlesmn | 0:0be0bd219e72 | 1955 | VL53LX_Error VL53LX_nvm_format_decode( |
charlesmn | 0:0be0bd219e72 | 1956 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1957 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1958 | VL53LX_decoded_nvm_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1959 | |
charlesmn | 0:0be0bd219e72 | 1960 | |
charlesmn | 0:0be0bd219e72 | 1961 | |
charlesmn | 0:0be0bd219e72 | 1962 | |
charlesmn | 0:0be0bd219e72 | 1963 | VL53LX_Error VL53LX_nvm_decode_optical_centre( |
charlesmn | 0:0be0bd219e72 | 1964 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1965 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1966 | VL53LX_optical_centre_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1967 | |
charlesmn | 0:0be0bd219e72 | 1968 | |
charlesmn | 0:0be0bd219e72 | 1969 | |
charlesmn | 0:0be0bd219e72 | 1970 | |
charlesmn | 0:0be0bd219e72 | 1971 | VL53LX_Error VL53LX_nvm_decode_cal_peak_rate_map( |
charlesmn | 0:0be0bd219e72 | 1972 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1973 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1974 | VL53LX_cal_peak_rate_map_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1975 | |
charlesmn | 0:0be0bd219e72 | 1976 | |
charlesmn | 0:0be0bd219e72 | 1977 | |
charlesmn | 0:0be0bd219e72 | 1978 | |
charlesmn | 0:0be0bd219e72 | 1979 | VL53LX_Error VL53LX_nvm_decode_additional_offset_cal_data( |
charlesmn | 0:0be0bd219e72 | 1980 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1981 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1982 | VL53LX_additional_offset_cal_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1983 | |
charlesmn | 0:0be0bd219e72 | 1984 | |
charlesmn | 0:0be0bd219e72 | 1985 | |
charlesmn | 0:0be0bd219e72 | 1986 | |
charlesmn | 0:0be0bd219e72 | 1987 | VL53LX_Error VL53LX_nvm_decode_fmt_range_results_data( |
charlesmn | 0:0be0bd219e72 | 1988 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1989 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1990 | VL53LX_decoded_nvm_fmt_range_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1991 | |
charlesmn | 0:0be0bd219e72 | 1992 | |
charlesmn | 0:0be0bd219e72 | 1993 | |
charlesmn | 0:0be0bd219e72 | 1994 | |
charlesmn | 0:0be0bd219e72 | 1995 | VL53LX_Error VL53LX_nvm_decode_fmt_info( |
charlesmn | 0:0be0bd219e72 | 1996 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 1997 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 1998 | VL53LX_decoded_nvm_fmt_info_t *pdata); |
charlesmn | 0:0be0bd219e72 | 1999 | |
charlesmn | 0:0be0bd219e72 | 2000 | |
charlesmn | 0:0be0bd219e72 | 2001 | |
charlesmn | 0:0be0bd219e72 | 2002 | |
charlesmn | 0:0be0bd219e72 | 2003 | VL53LX_Error VL53LX_nvm_decode_ews_info( |
charlesmn | 0:0be0bd219e72 | 2004 | uint16_t buf_size, |
charlesmn | 0:0be0bd219e72 | 2005 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 2006 | VL53LX_decoded_nvm_ews_info_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2007 | |
charlesmn | 0:0be0bd219e72 | 2008 | |
charlesmn | 0:0be0bd219e72 | 2009 | |
charlesmn | 0:0be0bd219e72 | 2010 | |
charlesmn | 0:0be0bd219e72 | 2011 | void VL53LX_nvm_format_encode( |
charlesmn | 0:0be0bd219e72 | 2012 | VL53LX_decoded_nvm_data_t *pnvm_info, |
charlesmn | 0:0be0bd219e72 | 2013 | uint8_t *pnvm_data); |
charlesmn | 0:0be0bd219e72 | 2014 | |
charlesmn | 0:0be0bd219e72 | 2015 | |
charlesmn | 0:0be0bd219e72 | 2016 | |
charlesmn | 0:0be0bd219e72 | 2017 | |
charlesmn | 0:0be0bd219e72 | 2018 | VL53LX_Error VL53LX_read_nvm_raw_data( |
charlesmn | 0:0be0bd219e72 | 2019 | uint8_t start_address, |
charlesmn | 0:0be0bd219e72 | 2020 | uint8_t count, |
charlesmn | 0:0be0bd219e72 | 2021 | uint8_t *pnvm_raw_data); |
charlesmn | 0:0be0bd219e72 | 2022 | |
charlesmn | 0:0be0bd219e72 | 2023 | |
charlesmn | 0:0be0bd219e72 | 2024 | |
charlesmn | 0:0be0bd219e72 | 2025 | |
charlesmn | 0:0be0bd219e72 | 2026 | VL53LX_Error VL53LX_read_nvm( |
charlesmn | 0:0be0bd219e72 | 2027 | uint8_t nvm_format, |
charlesmn | 0:0be0bd219e72 | 2028 | VL53LX_decoded_nvm_data_t *pnvm_info); |
charlesmn | 0:0be0bd219e72 | 2029 | |
charlesmn | 0:0be0bd219e72 | 2030 | |
charlesmn | 0:0be0bd219e72 | 2031 | |
charlesmn | 0:0be0bd219e72 | 2032 | |
charlesmn | 0:0be0bd219e72 | 2033 | VL53LX_Error VL53LX_read_nvm_optical_centre( |
charlesmn | 0:0be0bd219e72 | 2034 | VL53LX_optical_centre_t *pcentre); |
charlesmn | 0:0be0bd219e72 | 2035 | |
charlesmn | 0:0be0bd219e72 | 2036 | |
charlesmn | 0:0be0bd219e72 | 2037 | |
charlesmn | 0:0be0bd219e72 | 2038 | |
charlesmn | 0:0be0bd219e72 | 2039 | VL53LX_Error VL53LX_read_nvm_cal_peak_rate_map( |
charlesmn | 0:0be0bd219e72 | 2040 | VL53LX_cal_peak_rate_map_t *pcal_data); |
charlesmn | 0:0be0bd219e72 | 2041 | |
charlesmn | 0:0be0bd219e72 | 2042 | |
charlesmn | 0:0be0bd219e72 | 2043 | |
charlesmn | 0:0be0bd219e72 | 2044 | |
charlesmn | 0:0be0bd219e72 | 2045 | VL53LX_Error VL53LX_read_nvm_additional_offset_cal_data( |
charlesmn | 0:0be0bd219e72 | 2046 | VL53LX_additional_offset_cal_data_t *pcal_data); |
charlesmn | 0:0be0bd219e72 | 2047 | |
charlesmn | 0:0be0bd219e72 | 2048 | |
charlesmn | 0:0be0bd219e72 | 2049 | |
charlesmn | 0:0be0bd219e72 | 2050 | |
charlesmn | 0:0be0bd219e72 | 2051 | VL53LX_Error VL53LX_read_nvm_fmt_range_results_data( |
charlesmn | 0:0be0bd219e72 | 2052 | uint16_t range_results_select, |
charlesmn | 0:0be0bd219e72 | 2053 | VL53LX_decoded_nvm_fmt_range_data_t *prange_data); |
charlesmn | 0:0be0bd219e72 | 2054 | |
charlesmn | 0:0be0bd219e72 | 2055 | |
charlesmn | 0:0be0bd219e72 | 2056 | |
charlesmn | 0:0be0bd219e72 | 2057 | /* vl53lx_platform_ipp.h */ |
charlesmn | 0:0be0bd219e72 | 2058 | |
charlesmn | 0:0be0bd219e72 | 2059 | VL53LX_Error VL53LX_ipp_hist_process_data( |
charlesmn | 0:0be0bd219e72 | 2060 | VL53LX_dmax_calibration_data_t *pdmax_cal, |
charlesmn | 0:0be0bd219e72 | 2061 | VL53LX_hist_gen3_dmax_config_t *pdmax_cfg, |
charlesmn | 0:0be0bd219e72 | 2062 | VL53LX_hist_post_process_config_t *ppost_cfg, |
charlesmn | 0:0be0bd219e72 | 2063 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 2064 | VL53LX_xtalk_histogram_data_t *pxtalk, |
charlesmn | 0:0be0bd219e72 | 2065 | uint8_t *pArea1, |
charlesmn | 0:0be0bd219e72 | 2066 | uint8_t *pArea2, |
charlesmn | 0:0be0bd219e72 | 2067 | uint8_t *phisto_merge_nb, |
charlesmn | 0:0be0bd219e72 | 2068 | VL53LX_range_results_t *presults); |
charlesmn | 0:0be0bd219e72 | 2069 | |
charlesmn | 0:0be0bd219e72 | 2070 | VL53LX_Error VL53LX_ipp_hist_ambient_dmax( |
charlesmn | 0:0be0bd219e72 | 2071 | uint16_t target_reflectance, |
charlesmn | 0:0be0bd219e72 | 2072 | VL53LX_dmax_calibration_data_t *pdmax_cal, |
charlesmn | 0:0be0bd219e72 | 2073 | VL53LX_hist_gen3_dmax_config_t *pdmax_cfg, |
charlesmn | 0:0be0bd219e72 | 2074 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 2075 | int16_t *pambient_dmax_mm); |
charlesmn | 0:0be0bd219e72 | 2076 | |
charlesmn | 0:0be0bd219e72 | 2077 | VL53LX_Error VL53LX_ipp_xtalk_calibration_process_data( |
charlesmn | 0:0be0bd219e72 | 2078 | VL53LX_xtalk_range_results_t *pxtalk_ranges, |
charlesmn | 0:0be0bd219e72 | 2079 | VL53LX_xtalk_histogram_data_t *pxtalk_shape, |
charlesmn | 0:0be0bd219e72 | 2080 | VL53LX_xtalk_calibration_results_t *pxtalk_cal); |
charlesmn | 0:0be0bd219e72 | 2081 | |
charlesmn | 0:0be0bd219e72 | 2082 | VL53LX_Error VL53LX_ipp_hist_xtalk_correction( |
charlesmn | 0:0be0bd219e72 | 2083 | VL53LX_customer_nvm_managed_t *pcustomer, |
charlesmn | 0:0be0bd219e72 | 2084 | VL53LX_dynamic_config_t *pdyn_cfg, |
charlesmn | 0:0be0bd219e72 | 2085 | VL53LX_xtalk_histogram_data_t *pxtalk_shape, |
charlesmn | 0:0be0bd219e72 | 2086 | VL53LX_histogram_bin_data_t *pip_hist_data, |
charlesmn | 0:0be0bd219e72 | 2087 | VL53LX_histogram_bin_data_t *pop_hist_data, |
charlesmn | 0:0be0bd219e72 | 2088 | VL53LX_histogram_bin_data_t *pxtalk_count_data); |
charlesmn | 0:0be0bd219e72 | 2089 | |
charlesmn | 0:0be0bd219e72 | 2090 | VL53LX_Error VL53LX_ipp_generate_dual_reflectance_xtalk_samples( |
charlesmn | 0:0be0bd219e72 | 2091 | VL53LX_xtalk_range_results_t *pxtalk_results, |
charlesmn | 0:0be0bd219e72 | 2092 | uint16_t expected_target_distance_mm, |
charlesmn | 0:0be0bd219e72 | 2093 | uint8_t higher_reflectance, |
charlesmn | 0:0be0bd219e72 | 2094 | VL53LX_histogram_bin_data_t *pxtalk_avg_samples); |
charlesmn | 0:0be0bd219e72 | 2095 | |
charlesmn | 0:0be0bd219e72 | 2096 | |
charlesmn | 0:0be0bd219e72 | 2097 | /* vl53lx_hist_funcs.h */ |
charlesmn | 0:0be0bd219e72 | 2098 | |
charlesmn | 0:0be0bd219e72 | 2099 | |
charlesmn | 0:0be0bd219e72 | 2100 | VL53LX_Error VL53LX_hist_process_data( |
charlesmn | 0:0be0bd219e72 | 2101 | VL53LX_dmax_calibration_data_t *pdmax_cal, |
charlesmn | 0:0be0bd219e72 | 2102 | VL53LX_hist_gen3_dmax_config_t *pdmax_cfg, |
charlesmn | 0:0be0bd219e72 | 2103 | VL53LX_hist_post_process_config_t *ppost_cfg, |
charlesmn | 0:0be0bd219e72 | 2104 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 2105 | VL53LX_xtalk_histogram_data_t *pxtalk, |
charlesmn | 0:0be0bd219e72 | 2106 | uint8_t *pArea1, |
charlesmn | 0:0be0bd219e72 | 2107 | uint8_t *pArea2, |
charlesmn | 0:0be0bd219e72 | 2108 | VL53LX_range_results_t *presults, |
charlesmn | 0:0be0bd219e72 | 2109 | uint8_t *HistMergeNumber); |
charlesmn | 0:0be0bd219e72 | 2110 | |
charlesmn | 0:0be0bd219e72 | 2111 | |
charlesmn | 0:0be0bd219e72 | 2112 | VL53LX_Error VL53LX_hist_ambient_dmax( |
charlesmn | 0:0be0bd219e72 | 2113 | uint16_t target_reflectance, |
charlesmn | 0:0be0bd219e72 | 2114 | VL53LX_dmax_calibration_data_t *pdmax_cal, |
charlesmn | 0:0be0bd219e72 | 2115 | VL53LX_hist_gen3_dmax_config_t *pdmax_cfg, |
charlesmn | 0:0be0bd219e72 | 2116 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 2117 | int16_t *pambient_dmax_mm); |
charlesmn | 0:0be0bd219e72 | 2118 | |
charlesmn | 0:0be0bd219e72 | 2119 | |
charlesmn | 0:0be0bd219e72 | 2120 | /* vl53lx_core_support.h */ |
charlesmn | 0:0be0bd219e72 | 2121 | |
charlesmn | 0:0be0bd219e72 | 2122 | uint32_t VL53LX_calc_pll_period_us( |
charlesmn | 0:0be0bd219e72 | 2123 | uint16_t fast_osc_frequency); |
charlesmn | 0:0be0bd219e72 | 2124 | |
charlesmn | 0:0be0bd219e72 | 2125 | uint32_t VL53LX_duration_maths( |
charlesmn | 0:0be0bd219e72 | 2126 | uint32_t pll_period_us, |
charlesmn | 0:0be0bd219e72 | 2127 | uint32_t vcsel_parm_pclks, |
charlesmn | 0:0be0bd219e72 | 2128 | uint32_t window_vclks, |
charlesmn | 0:0be0bd219e72 | 2129 | uint32_t periods_elapsed_mclks); |
charlesmn | 0:0be0bd219e72 | 2130 | |
charlesmn | 0:0be0bd219e72 | 2131 | uint32_t VL53LX_events_per_spad_maths( |
charlesmn | 0:0be0bd219e72 | 2132 | int32_t VL53LX_p_010, |
charlesmn | 0:0be0bd219e72 | 2133 | uint16_t num_spads, |
charlesmn | 0:0be0bd219e72 | 2134 | uint32_t duration); |
charlesmn | 0:0be0bd219e72 | 2135 | |
charlesmn | 0:0be0bd219e72 | 2136 | uint32_t VL53LX_isqrt( |
charlesmn | 0:0be0bd219e72 | 2137 | uint32_t num); |
charlesmn | 0:0be0bd219e72 | 2138 | |
charlesmn | 0:0be0bd219e72 | 2139 | void VL53LX_hist_calc_zero_distance_phase( |
charlesmn | 0:0be0bd219e72 | 2140 | VL53LX_histogram_bin_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2141 | |
charlesmn | 0:0be0bd219e72 | 2142 | void VL53LX_hist_estimate_ambient_from_thresholded_bins( |
charlesmn | 0:0be0bd219e72 | 2143 | int32_t ambient_threshold_sigma, |
charlesmn | 0:0be0bd219e72 | 2144 | VL53LX_histogram_bin_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2145 | |
charlesmn | 0:0be0bd219e72 | 2146 | void VL53LX_hist_remove_ambient_bins( |
charlesmn | 0:0be0bd219e72 | 2147 | VL53LX_histogram_bin_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2148 | |
charlesmn | 0:0be0bd219e72 | 2149 | uint32_t VL53LX_calc_pll_period_mm( |
charlesmn | 0:0be0bd219e72 | 2150 | uint16_t fast_osc_frequency); |
charlesmn | 0:0be0bd219e72 | 2151 | |
charlesmn | 0:0be0bd219e72 | 2152 | uint16_t VL53LX_rate_maths( |
charlesmn | 0:0be0bd219e72 | 2153 | int32_t VL53LX_p_018, |
charlesmn | 0:0be0bd219e72 | 2154 | uint32_t time_us); |
charlesmn | 0:0be0bd219e72 | 2155 | |
charlesmn | 0:0be0bd219e72 | 2156 | uint16_t VL53LX_rate_per_spad_maths( |
charlesmn | 0:0be0bd219e72 | 2157 | uint32_t frac_bits, |
charlesmn | 0:0be0bd219e72 | 2158 | uint32_t peak_count_rate, |
charlesmn | 0:0be0bd219e72 | 2159 | uint16_t num_spads, |
charlesmn | 0:0be0bd219e72 | 2160 | uint32_t max_output_value); |
charlesmn | 0:0be0bd219e72 | 2161 | |
charlesmn | 0:0be0bd219e72 | 2162 | int32_t VL53LX_range_maths( |
charlesmn | 0:0be0bd219e72 | 2163 | uint16_t fast_osc_frequency, |
charlesmn | 0:0be0bd219e72 | 2164 | uint16_t VL53LX_p_014, |
charlesmn | 0:0be0bd219e72 | 2165 | uint16_t zero_distance_phase, |
charlesmn | 0:0be0bd219e72 | 2166 | uint8_t fractional_bits, |
charlesmn | 0:0be0bd219e72 | 2167 | int32_t gain_factor, |
charlesmn | 0:0be0bd219e72 | 2168 | int32_t range_offset_mm); |
charlesmn | 0:0be0bd219e72 | 2169 | |
charlesmn | 0:0be0bd219e72 | 2170 | uint8_t VL53LX_decode_vcsel_period( |
charlesmn | 0:0be0bd219e72 | 2171 | uint8_t vcsel_period_reg); |
charlesmn | 0:0be0bd219e72 | 2172 | |
charlesmn | 0:0be0bd219e72 | 2173 | void VL53LX_copy_xtalk_bin_data_to_histogram_data_struct( |
charlesmn | 0:0be0bd219e72 | 2174 | VL53LX_xtalk_histogram_shape_t *pxtalk, |
charlesmn | 0:0be0bd219e72 | 2175 | VL53LX_histogram_bin_data_t *phist); |
charlesmn | 0:0be0bd219e72 | 2176 | |
charlesmn | 0:0be0bd219e72 | 2177 | void VL53LX_init_histogram_bin_data_struct( |
charlesmn | 0:0be0bd219e72 | 2178 | int32_t bin_value, |
charlesmn | 0:0be0bd219e72 | 2179 | uint16_t VL53LX_p_021, |
charlesmn | 0:0be0bd219e72 | 2180 | VL53LX_histogram_bin_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2181 | |
charlesmn | 0:0be0bd219e72 | 2182 | void VL53LX_decode_row_col( |
charlesmn | 0:0be0bd219e72 | 2183 | uint8_t spad_number, |
charlesmn | 0:0be0bd219e72 | 2184 | uint8_t *prow, |
charlesmn | 0:0be0bd219e72 | 2185 | uint8_t *pcol); |
charlesmn | 0:0be0bd219e72 | 2186 | |
charlesmn | 0:0be0bd219e72 | 2187 | void VL53LX_hist_find_min_max_bin_values( |
charlesmn | 0:0be0bd219e72 | 2188 | VL53LX_histogram_bin_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2189 | |
charlesmn | 0:0be0bd219e72 | 2190 | void VL53LX_hist_estimate_ambient_from_ambient_bins( |
charlesmn | 0:0be0bd219e72 | 2191 | VL53LX_histogram_bin_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2192 | |
charlesmn | 0:0be0bd219e72 | 2193 | |
charlesmn | 0:0be0bd219e72 | 2194 | |
charlesmn | 0:0be0bd219e72 | 2195 | /* vl53lx_core.h */ |
charlesmn | 0:0be0bd219e72 | 2196 | |
charlesmn | 0:0be0bd219e72 | 2197 | void VL53LX_init_version(); |
charlesmn | 0:0be0bd219e72 | 2198 | |
charlesmn | 0:0be0bd219e72 | 2199 | void VL53LX_init_ll_driver_state( |
charlesmn | 0:0be0bd219e72 | 2200 | VL53LX_DeviceState ll_state); |
charlesmn | 0:0be0bd219e72 | 2201 | |
charlesmn | 0:0be0bd219e72 | 2202 | VL53LX_Error VL53LX_update_ll_driver_rd_state(); |
charlesmn | 0:0be0bd219e72 | 2203 | |
charlesmn | 0:0be0bd219e72 | 2204 | VL53LX_Error VL53LX_check_ll_driver_rd_state(); |
charlesmn | 0:0be0bd219e72 | 2205 | |
charlesmn | 0:0be0bd219e72 | 2206 | VL53LX_Error VL53LX_update_ll_driver_cfg_state(); |
charlesmn | 0:0be0bd219e72 | 2207 | |
charlesmn | 0:0be0bd219e72 | 2208 | void VL53LX_copy_rtn_good_spads_to_buffer( |
charlesmn | 0:0be0bd219e72 | 2209 | VL53LX_nvm_copy_data_t *pdata, |
charlesmn | 0:0be0bd219e72 | 2210 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 2211 | |
charlesmn | 0:0be0bd219e72 | 2212 | void VL53LX_init_system_results( |
charlesmn | 0:0be0bd219e72 | 2213 | VL53LX_system_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2214 | |
charlesmn | 0:0be0bd219e72 | 2215 | void V53L1_init_zone_results_structure( |
charlesmn | 0:0be0bd219e72 | 2216 | uint8_t active_zones, |
charlesmn | 0:0be0bd219e72 | 2217 | VL53LX_zone_results_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2218 | |
charlesmn | 0:0be0bd219e72 | 2219 | void V53L1_init_zone_dss_configs(); |
charlesmn | 0:0be0bd219e72 | 2220 | |
charlesmn | 0:0be0bd219e72 | 2221 | void VL53LX_init_histogram_config_structure( |
charlesmn | 0:0be0bd219e72 | 2222 | uint8_t even_bin0, |
charlesmn | 0:0be0bd219e72 | 2223 | uint8_t even_bin1, |
charlesmn | 0:0be0bd219e72 | 2224 | uint8_t even_bin2, |
charlesmn | 0:0be0bd219e72 | 2225 | uint8_t even_bin3, |
charlesmn | 0:0be0bd219e72 | 2226 | uint8_t even_bin4, |
charlesmn | 0:0be0bd219e72 | 2227 | uint8_t even_bin5, |
charlesmn | 0:0be0bd219e72 | 2228 | uint8_t odd_bin0, |
charlesmn | 0:0be0bd219e72 | 2229 | uint8_t odd_bin1, |
charlesmn | 0:0be0bd219e72 | 2230 | uint8_t odd_bin2, |
charlesmn | 0:0be0bd219e72 | 2231 | uint8_t odd_bin3, |
charlesmn | 0:0be0bd219e72 | 2232 | uint8_t odd_bin4, |
charlesmn | 0:0be0bd219e72 | 2233 | uint8_t odd_bin5, |
charlesmn | 0:0be0bd219e72 | 2234 | VL53LX_histogram_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2235 | |
charlesmn | 0:0be0bd219e72 | 2236 | void VL53LX_init_histogram_multizone_config_structure( |
charlesmn | 0:0be0bd219e72 | 2237 | uint8_t even_bin0, |
charlesmn | 0:0be0bd219e72 | 2238 | uint8_t even_bin1, |
charlesmn | 0:0be0bd219e72 | 2239 | uint8_t even_bin2, |
charlesmn | 0:0be0bd219e72 | 2240 | uint8_t even_bin3, |
charlesmn | 0:0be0bd219e72 | 2241 | uint8_t even_bin4, |
charlesmn | 0:0be0bd219e72 | 2242 | uint8_t even_bin5, |
charlesmn | 0:0be0bd219e72 | 2243 | uint8_t odd_bin0, |
charlesmn | 0:0be0bd219e72 | 2244 | uint8_t odd_bin1, |
charlesmn | 0:0be0bd219e72 | 2245 | uint8_t odd_bin2, |
charlesmn | 0:0be0bd219e72 | 2246 | uint8_t odd_bin3, |
charlesmn | 0:0be0bd219e72 | 2247 | uint8_t odd_bin4, |
charlesmn | 0:0be0bd219e72 | 2248 | uint8_t odd_bin5, |
charlesmn | 0:0be0bd219e72 | 2249 | VL53LX_histogram_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2250 | |
charlesmn | 0:0be0bd219e72 | 2251 | void VL53LX_init_xtalk_bin_data_struct( |
charlesmn | 0:0be0bd219e72 | 2252 | uint32_t bin_value, |
charlesmn | 0:0be0bd219e72 | 2253 | uint16_t VL53LX_p_021, |
charlesmn | 0:0be0bd219e72 | 2254 | VL53LX_xtalk_histogram_shape_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2255 | |
charlesmn | 0:0be0bd219e72 | 2256 | void VL53LX_i2c_encode_uint16_t( |
charlesmn | 0:0be0bd219e72 | 2257 | uint16_t ip_value, |
charlesmn | 0:0be0bd219e72 | 2258 | uint16_t count, |
charlesmn | 0:0be0bd219e72 | 2259 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 2260 | |
charlesmn | 0:0be0bd219e72 | 2261 | uint16_t VL53LX_i2c_decode_uint16_t( |
charlesmn | 0:0be0bd219e72 | 2262 | uint16_t count, |
charlesmn | 0:0be0bd219e72 | 2263 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 2264 | |
charlesmn | 0:0be0bd219e72 | 2265 | void VL53LX_i2c_encode_int16_t( |
charlesmn | 0:0be0bd219e72 | 2266 | int16_t ip_value, |
charlesmn | 0:0be0bd219e72 | 2267 | uint16_t count, |
charlesmn | 0:0be0bd219e72 | 2268 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 2269 | |
charlesmn | 0:0be0bd219e72 | 2270 | int16_t VL53LX_i2c_decode_int16_t( |
charlesmn | 0:0be0bd219e72 | 2271 | uint16_t count, |
charlesmn | 0:0be0bd219e72 | 2272 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 2273 | |
charlesmn | 0:0be0bd219e72 | 2274 | void VL53LX_i2c_encode_uint32_t( |
charlesmn | 0:0be0bd219e72 | 2275 | uint32_t ip_value, |
charlesmn | 0:0be0bd219e72 | 2276 | uint16_t count, |
charlesmn | 0:0be0bd219e72 | 2277 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 2278 | |
charlesmn | 0:0be0bd219e72 | 2279 | uint32_t VL53LX_i2c_decode_uint32_t( |
charlesmn | 0:0be0bd219e72 | 2280 | uint16_t count, |
charlesmn | 0:0be0bd219e72 | 2281 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 2282 | |
charlesmn | 0:0be0bd219e72 | 2283 | uint32_t VL53LX_i2c_decode_with_mask( |
charlesmn | 0:0be0bd219e72 | 2284 | uint16_t count, |
charlesmn | 0:0be0bd219e72 | 2285 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 2286 | uint32_t bit_mask, |
charlesmn | 0:0be0bd219e72 | 2287 | uint32_t down_shift, |
charlesmn | 0:0be0bd219e72 | 2288 | uint32_t offset); |
charlesmn | 0:0be0bd219e72 | 2289 | |
charlesmn | 0:0be0bd219e72 | 2290 | void VL53LX_i2c_encode_int32_t( |
charlesmn | 0:0be0bd219e72 | 2291 | int32_t ip_value, |
charlesmn | 0:0be0bd219e72 | 2292 | uint16_t count, |
charlesmn | 0:0be0bd219e72 | 2293 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 2294 | |
charlesmn | 0:0be0bd219e72 | 2295 | int32_t VL53LX_i2c_decode_int32_t( |
charlesmn | 0:0be0bd219e72 | 2296 | uint16_t count, |
charlesmn | 0:0be0bd219e72 | 2297 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 2298 | |
charlesmn | 0:0be0bd219e72 | 2299 | VL53LX_Error VL53LX_start_test( |
charlesmn | 0:0be0bd219e72 | 2300 | uint8_t test_mode__ctrl); |
charlesmn | 0:0be0bd219e72 | 2301 | |
charlesmn | 0:0be0bd219e72 | 2302 | VL53LX_Error VL53LX_set_firmware_enable_register(uint8_t value); |
charlesmn | 0:0be0bd219e72 | 2303 | |
charlesmn | 0:0be0bd219e72 | 2304 | VL53LX_Error VL53LX_enable_firmware(); |
charlesmn | 0:0be0bd219e72 | 2305 | |
charlesmn | 0:0be0bd219e72 | 2306 | VL53LX_Error VL53LX_disable_firmware(); |
charlesmn | 0:0be0bd219e72 | 2307 | |
charlesmn | 0:0be0bd219e72 | 2308 | VL53LX_Error VL53LX_set_powerforce_register( |
charlesmn | 0:0be0bd219e72 | 2309 | uint8_t value); |
charlesmn | 0:0be0bd219e72 | 2310 | |
charlesmn | 0:0be0bd219e72 | 2311 | VL53LX_Error VL53LX_enable_powerforce(); |
charlesmn | 0:0be0bd219e72 | 2312 | |
charlesmn | 0:0be0bd219e72 | 2313 | VL53LX_Error VL53LX_disable_powerforce(); |
charlesmn | 0:0be0bd219e72 | 2314 | |
charlesmn | 0:0be0bd219e72 | 2315 | VL53LX_Error VL53LX_clear_interrupt(); |
charlesmn | 0:0be0bd219e72 | 2316 | |
charlesmn | 0:0be0bd219e72 | 2317 | VL53LX_Error VL53LX_force_shadow_stream_count_to_zero(); |
charlesmn | 0:0be0bd219e72 | 2318 | |
charlesmn | 0:0be0bd219e72 | 2319 | uint32_t VL53LX_calc_macro_period_us( |
charlesmn | 0:0be0bd219e72 | 2320 | uint16_t fast_osc_frequency, |
charlesmn | 0:0be0bd219e72 | 2321 | uint8_t VL53LX_p_005); |
charlesmn | 0:0be0bd219e72 | 2322 | |
charlesmn | 0:0be0bd219e72 | 2323 | uint16_t VL53LX_calc_range_ignore_threshold( |
charlesmn | 0:0be0bd219e72 | 2324 | uint32_t central_rate, |
charlesmn | 0:0be0bd219e72 | 2325 | int16_t x_gradient, |
charlesmn | 0:0be0bd219e72 | 2326 | int16_t y_gradient, |
charlesmn | 0:0be0bd219e72 | 2327 | uint8_t rate_mult); |
charlesmn | 0:0be0bd219e72 | 2328 | |
charlesmn | 0:0be0bd219e72 | 2329 | uint32_t VL53LX_calc_timeout_mclks( |
charlesmn | 0:0be0bd219e72 | 2330 | uint32_t timeout_us, |
charlesmn | 0:0be0bd219e72 | 2331 | uint32_t macro_period_us); |
charlesmn | 0:0be0bd219e72 | 2332 | |
charlesmn | 0:0be0bd219e72 | 2333 | uint16_t VL53LX_calc_encoded_timeout( |
charlesmn | 0:0be0bd219e72 | 2334 | uint32_t timeout_us, |
charlesmn | 0:0be0bd219e72 | 2335 | uint32_t macro_period_us); |
charlesmn | 0:0be0bd219e72 | 2336 | |
charlesmn | 0:0be0bd219e72 | 2337 | uint32_t VL53LX_calc_timeout_us( |
charlesmn | 0:0be0bd219e72 | 2338 | uint32_t timeout_mclks, |
charlesmn | 0:0be0bd219e72 | 2339 | uint32_t macro_period_us); |
charlesmn | 0:0be0bd219e72 | 2340 | |
charlesmn | 0:0be0bd219e72 | 2341 | uint32_t VL53LX_calc_decoded_timeout_us( |
charlesmn | 0:0be0bd219e72 | 2342 | uint16_t timeout_encoded, |
charlesmn | 0:0be0bd219e72 | 2343 | uint32_t macro_period_us); |
charlesmn | 0:0be0bd219e72 | 2344 | |
charlesmn | 0:0be0bd219e72 | 2345 | uint16_t VL53LX_encode_timeout( |
charlesmn | 0:0be0bd219e72 | 2346 | uint32_t timeout_mclks); |
charlesmn | 0:0be0bd219e72 | 2347 | |
charlesmn | 0:0be0bd219e72 | 2348 | uint32_t VL53LX_decode_timeout( |
charlesmn | 0:0be0bd219e72 | 2349 | uint16_t encoded_timeout); |
charlesmn | 0:0be0bd219e72 | 2350 | |
charlesmn | 0:0be0bd219e72 | 2351 | VL53LX_Error VL53LX_calc_timeout_register_values( |
charlesmn | 0:0be0bd219e72 | 2352 | uint32_t phasecal_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 2353 | uint32_t mm_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 2354 | uint32_t range_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 2355 | uint16_t fast_osc_frequency, |
charlesmn | 0:0be0bd219e72 | 2356 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2357 | VL53LX_timing_config_t *ptiming); |
charlesmn | 0:0be0bd219e72 | 2358 | |
charlesmn | 0:0be0bd219e72 | 2359 | uint8_t VL53LX_encode_vcsel_period( |
charlesmn | 0:0be0bd219e72 | 2360 | uint8_t VL53LX_p_030); |
charlesmn | 0:0be0bd219e72 | 2361 | |
charlesmn | 0:0be0bd219e72 | 2362 | uint32_t VL53LX_decode_unsigned_integer( |
charlesmn | 0:0be0bd219e72 | 2363 | uint8_t *pbuffer, |
charlesmn | 0:0be0bd219e72 | 2364 | uint8_t no_of_bytes); |
charlesmn | 0:0be0bd219e72 | 2365 | |
charlesmn | 0:0be0bd219e72 | 2366 | void VL53LX_encode_unsigned_integer( |
charlesmn | 0:0be0bd219e72 | 2367 | uint32_t ip_value, |
charlesmn | 0:0be0bd219e72 | 2368 | uint8_t no_of_bytes, |
charlesmn | 0:0be0bd219e72 | 2369 | uint8_t *pbuffer); |
charlesmn | 0:0be0bd219e72 | 2370 | |
charlesmn | 0:0be0bd219e72 | 2371 | VL53LX_Error VL53LX_hist_copy_and_scale_ambient_info( |
charlesmn | 0:0be0bd219e72 | 2372 | VL53LX_zone_hist_info_t *pidata, |
charlesmn | 0:0be0bd219e72 | 2373 | VL53LX_histogram_bin_data_t *podata); |
charlesmn | 0:0be0bd219e72 | 2374 | |
charlesmn | 0:0be0bd219e72 | 2375 | void VL53LX_hist_get_bin_sequence_config( |
charlesmn | 0:0be0bd219e72 | 2376 | VL53LX_histogram_bin_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2377 | |
charlesmn | 0:0be0bd219e72 | 2378 | VL53LX_Error VL53LX_hist_phase_consistency_check( |
charlesmn | 0:0be0bd219e72 | 2379 | VL53LX_zone_hist_info_t *phist_prev, |
charlesmn | 0:0be0bd219e72 | 2380 | VL53LX_zone_objects_t *prange_prev, |
charlesmn | 0:0be0bd219e72 | 2381 | VL53LX_range_results_t *prange_curr); |
charlesmn | 0:0be0bd219e72 | 2382 | |
charlesmn | 0:0be0bd219e72 | 2383 | VL53LX_Error VL53LX_hist_events_consistency_check( |
charlesmn | 0:0be0bd219e72 | 2384 | uint8_t event_sigma, |
charlesmn | 0:0be0bd219e72 | 2385 | uint16_t min_effective_spad_count, |
charlesmn | 0:0be0bd219e72 | 2386 | VL53LX_zone_hist_info_t *phist_prev, |
charlesmn | 0:0be0bd219e72 | 2387 | VL53LX_object_data_t *prange_prev, |
charlesmn | 0:0be0bd219e72 | 2388 | VL53LX_range_data_t *prange_curr, |
charlesmn | 0:0be0bd219e72 | 2389 | int32_t *pevents_tolerance, |
charlesmn | 0:0be0bd219e72 | 2390 | int32_t *pevents_delta, |
charlesmn | 0:0be0bd219e72 | 2391 | VL53LX_DeviceError *prange_status); |
charlesmn | 0:0be0bd219e72 | 2392 | |
charlesmn | 0:0be0bd219e72 | 2393 | VL53LX_Error VL53LX_hist_merged_pulse_check( |
charlesmn | 0:0be0bd219e72 | 2394 | int16_t min_max_tolerance_mm, |
charlesmn | 0:0be0bd219e72 | 2395 | VL53LX_range_data_t *pdata, |
charlesmn | 0:0be0bd219e72 | 2396 | VL53LX_DeviceError *prange_status); |
charlesmn | 0:0be0bd219e72 | 2397 | |
charlesmn | 0:0be0bd219e72 | 2398 | VL53LX_Error VL53LX_hist_xmonitor_consistency_check( |
charlesmn | 0:0be0bd219e72 | 2399 | VL53LX_zone_hist_info_t *phist_prev, |
charlesmn | 0:0be0bd219e72 | 2400 | VL53LX_zone_objects_t *prange_prev, |
charlesmn | 0:0be0bd219e72 | 2401 | VL53LX_range_data_t *prange_curr); |
charlesmn | 0:0be0bd219e72 | 2402 | |
charlesmn | 0:0be0bd219e72 | 2403 | VL53LX_Error VL53LX_hist_wrap_dmax( |
charlesmn | 0:0be0bd219e72 | 2404 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2405 | VL53LX_histogram_bin_data_t *pcurrent, |
charlesmn | 0:0be0bd219e72 | 2406 | int16_t *pwrap_dmax_mm); |
charlesmn | 0:0be0bd219e72 | 2407 | |
charlesmn | 0:0be0bd219e72 | 2408 | void VL53LX_hist_combine_mm1_mm2_offsets( |
charlesmn | 0:0be0bd219e72 | 2409 | int16_t mm1_offset_mm, |
charlesmn | 0:0be0bd219e72 | 2410 | int16_t mm2_offset_mm, |
charlesmn | 0:0be0bd219e72 | 2411 | uint8_t encoded_mm_roi_centre, |
charlesmn | 0:0be0bd219e72 | 2412 | uint8_t encoded_mm_roi_size, |
charlesmn | 0:0be0bd219e72 | 2413 | uint8_t encoded_zone_centre, |
charlesmn | 0:0be0bd219e72 | 2414 | uint8_t encoded_zone_size, |
charlesmn | 0:0be0bd219e72 | 2415 | VL53LX_additional_offset_cal_data_t *pcal_data, |
charlesmn | 0:0be0bd219e72 | 2416 | uint8_t *pgood_spads, |
charlesmn | 0:0be0bd219e72 | 2417 | uint16_t aperture_attenuation, |
charlesmn | 0:0be0bd219e72 | 2418 | int16_t *prange_offset_mm); |
charlesmn | 0:0be0bd219e72 | 2419 | |
charlesmn | 0:0be0bd219e72 | 2420 | VL53LX_Error VL53LX_hist_xtalk_extract_calc_window( |
charlesmn | 0:0be0bd219e72 | 2421 | int16_t target_distance_mm, |
charlesmn | 0:0be0bd219e72 | 2422 | uint16_t target_width_oversize, |
charlesmn | 0:0be0bd219e72 | 2423 | VL53LX_histogram_bin_data_t *phist_bins, |
charlesmn | 0:0be0bd219e72 | 2424 | VL53LX_hist_xtalk_extract_data_t *pxtalk_data); |
charlesmn | 0:0be0bd219e72 | 2425 | |
charlesmn | 0:0be0bd219e72 | 2426 | VL53LX_Error VL53LX_hist_xtalk_extract_calc_event_sums( |
charlesmn | 0:0be0bd219e72 | 2427 | VL53LX_histogram_bin_data_t *phist_bins, |
charlesmn | 0:0be0bd219e72 | 2428 | VL53LX_hist_xtalk_extract_data_t *pxtalk_data); |
charlesmn | 0:0be0bd219e72 | 2429 | |
charlesmn | 0:0be0bd219e72 | 2430 | VL53LX_Error VL53LX_hist_xtalk_extract_calc_rate_per_spad( |
charlesmn | 0:0be0bd219e72 | 2431 | VL53LX_hist_xtalk_extract_data_t *pxtalk_data); |
charlesmn | 0:0be0bd219e72 | 2432 | |
charlesmn | 0:0be0bd219e72 | 2433 | VL53LX_Error VL53LX_hist_xtalk_extract_calc_shape( |
charlesmn | 0:0be0bd219e72 | 2434 | VL53LX_hist_xtalk_extract_data_t *pxtalk_data, |
charlesmn | 0:0be0bd219e72 | 2435 | VL53LX_xtalk_histogram_shape_t *pxtalk_shape); |
charlesmn | 0:0be0bd219e72 | 2436 | |
charlesmn | 0:0be0bd219e72 | 2437 | VL53LX_Error VL53LX_hist_xtalk_shape_model( |
charlesmn | 0:0be0bd219e72 | 2438 | uint16_t events_per_bin, |
charlesmn | 0:0be0bd219e72 | 2439 | uint16_t pulse_centre, |
charlesmn | 0:0be0bd219e72 | 2440 | uint16_t pulse_width, |
charlesmn | 0:0be0bd219e72 | 2441 | VL53LX_xtalk_histogram_shape_t *pxtalk_shape); |
charlesmn | 0:0be0bd219e72 | 2442 | |
charlesmn | 0:0be0bd219e72 | 2443 | uint16_t VL53LX_hist_xtalk_shape_model_interp( |
charlesmn | 0:0be0bd219e72 | 2444 | uint16_t events_per_bin, |
charlesmn | 0:0be0bd219e72 | 2445 | uint32_t phase_delta); |
charlesmn | 0:0be0bd219e72 | 2446 | |
charlesmn | 0:0be0bd219e72 | 2447 | void VL53LX_spad_number_to_byte_bit_index( |
charlesmn | 0:0be0bd219e72 | 2448 | uint8_t spad_number, |
charlesmn | 0:0be0bd219e72 | 2449 | uint8_t *pbyte_index, |
charlesmn | 0:0be0bd219e72 | 2450 | uint8_t *pbit_index, |
charlesmn | 0:0be0bd219e72 | 2451 | uint8_t *pbit_mask); |
charlesmn | 0:0be0bd219e72 | 2452 | |
charlesmn | 0:0be0bd219e72 | 2453 | void VL53LX_encode_row_col( |
charlesmn | 0:0be0bd219e72 | 2454 | uint8_t row, |
charlesmn | 0:0be0bd219e72 | 2455 | uint8_t col, |
charlesmn | 0:0be0bd219e72 | 2456 | uint8_t *pspad_number); |
charlesmn | 0:0be0bd219e72 | 2457 | |
charlesmn | 0:0be0bd219e72 | 2458 | void VL53LX_decode_zone_size( |
charlesmn | 0:0be0bd219e72 | 2459 | uint8_t encoded_xy_size, |
charlesmn | 0:0be0bd219e72 | 2460 | uint8_t *pwidth, |
charlesmn | 0:0be0bd219e72 | 2461 | uint8_t *pheight); |
charlesmn | 0:0be0bd219e72 | 2462 | |
charlesmn | 0:0be0bd219e72 | 2463 | void VL53LX_encode_zone_size( |
charlesmn | 0:0be0bd219e72 | 2464 | uint8_t width, |
charlesmn | 0:0be0bd219e72 | 2465 | uint8_t height, |
charlesmn | 0:0be0bd219e72 | 2466 | uint8_t *pencoded_xy_size); |
charlesmn | 0:0be0bd219e72 | 2467 | |
charlesmn | 0:0be0bd219e72 | 2468 | void VL53LX_decode_zone_limits( |
charlesmn | 0:0be0bd219e72 | 2469 | uint8_t encoded_xy_centre, |
charlesmn | 0:0be0bd219e72 | 2470 | uint8_t encoded_xy_size, |
charlesmn | 0:0be0bd219e72 | 2471 | int16_t *px_ll, |
charlesmn | 0:0be0bd219e72 | 2472 | int16_t *py_ll, |
charlesmn | 0:0be0bd219e72 | 2473 | int16_t *px_ur, |
charlesmn | 0:0be0bd219e72 | 2474 | int16_t *py_ur); |
charlesmn | 0:0be0bd219e72 | 2475 | |
charlesmn | 0:0be0bd219e72 | 2476 | uint8_t VL53LX_is_aperture_location( |
charlesmn | 0:0be0bd219e72 | 2477 | uint8_t row, |
charlesmn | 0:0be0bd219e72 | 2478 | uint8_t col); |
charlesmn | 0:0be0bd219e72 | 2479 | |
charlesmn | 0:0be0bd219e72 | 2480 | void VL53LX_calc_max_effective_spads( |
charlesmn | 0:0be0bd219e72 | 2481 | uint8_t encoded_zone_centre, |
charlesmn | 0:0be0bd219e72 | 2482 | uint8_t encoded_zone_size, |
charlesmn | 0:0be0bd219e72 | 2483 | uint8_t *pgood_spads, |
charlesmn | 0:0be0bd219e72 | 2484 | uint16_t aperture_attenuation, |
charlesmn | 0:0be0bd219e72 | 2485 | uint16_t *pmax_effective_spads); |
charlesmn | 0:0be0bd219e72 | 2486 | |
charlesmn | 0:0be0bd219e72 | 2487 | void VL53LX_calc_mm_effective_spads( |
charlesmn | 0:0be0bd219e72 | 2488 | uint8_t encoded_mm_roi_centre, |
charlesmn | 0:0be0bd219e72 | 2489 | uint8_t encoded_mm_roi_size, |
charlesmn | 0:0be0bd219e72 | 2490 | uint8_t encoded_zone_centre, |
charlesmn | 0:0be0bd219e72 | 2491 | uint8_t encoded_zone_size, |
charlesmn | 0:0be0bd219e72 | 2492 | uint8_t *pgood_spads, |
charlesmn | 0:0be0bd219e72 | 2493 | uint16_t aperture_attenuation, |
charlesmn | 0:0be0bd219e72 | 2494 | uint16_t *pmm_inner_effective_spads, |
charlesmn | 0:0be0bd219e72 | 2495 | uint16_t *pmm_outer_effective_spads); |
charlesmn | 0:0be0bd219e72 | 2496 | |
charlesmn | 0:0be0bd219e72 | 2497 | void VL53LX_hist_copy_results_to_sys_and_core( |
charlesmn | 0:0be0bd219e72 | 2498 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 2499 | VL53LX_range_results_t *phist, |
charlesmn | 0:0be0bd219e72 | 2500 | VL53LX_system_results_t *psys, |
charlesmn | 0:0be0bd219e72 | 2501 | VL53LX_core_results_t *pcore); |
charlesmn | 0:0be0bd219e72 | 2502 | |
charlesmn | 0:0be0bd219e72 | 2503 | VL53LX_Error VL53LX_sum_histogram_data( |
charlesmn | 0:0be0bd219e72 | 2504 | VL53LX_histogram_bin_data_t *phist_input, |
charlesmn | 0:0be0bd219e72 | 2505 | VL53LX_histogram_bin_data_t *phist_output); |
charlesmn | 0:0be0bd219e72 | 2506 | |
charlesmn | 0:0be0bd219e72 | 2507 | VL53LX_Error VL53LX_avg_histogram_data( |
charlesmn | 0:0be0bd219e72 | 2508 | uint8_t no_of_samples, |
charlesmn | 0:0be0bd219e72 | 2509 | VL53LX_histogram_bin_data_t *phist_sum, |
charlesmn | 0:0be0bd219e72 | 2510 | VL53LX_histogram_bin_data_t *phist_avg); |
charlesmn | 0:0be0bd219e72 | 2511 | |
charlesmn | 0:0be0bd219e72 | 2512 | VL53LX_Error VL53LX_save_cfg_data(); |
charlesmn | 0:0be0bd219e72 | 2513 | |
charlesmn | 0:0be0bd219e72 | 2514 | VL53LX_Error VL53LX_dynamic_zone_update( |
charlesmn | 0:0be0bd219e72 | 2515 | VL53LX_range_results_t *presults); |
charlesmn | 0:0be0bd219e72 | 2516 | |
charlesmn | 0:0be0bd219e72 | 2517 | VL53LX_Error VL53LX_update_internal_stream_counters( |
charlesmn | 0:0be0bd219e72 | 2518 | uint8_t external_stream_count, |
charlesmn | 0:0be0bd219e72 | 2519 | uint8_t *pinternal_stream_count, |
charlesmn | 0:0be0bd219e72 | 2520 | uint8_t *pinternal_stream_count_val |
charlesmn | 0:0be0bd219e72 | 2521 | ); |
charlesmn | 0:0be0bd219e72 | 2522 | |
charlesmn | 0:0be0bd219e72 | 2523 | VL53LX_Error VL53LX_multizone_hist_bins_update(); |
charlesmn | 0:0be0bd219e72 | 2524 | |
charlesmn | 0:0be0bd219e72 | 2525 | VL53LX_Error VL53LX_set_histogram_multizone_initial_bin_config( |
charlesmn | 0:0be0bd219e72 | 2526 | VL53LX_zone_config_t *pzone_cfg, |
charlesmn | 0:0be0bd219e72 | 2527 | VL53LX_histogram_config_t *phist_cfg, |
charlesmn | 0:0be0bd219e72 | 2528 | VL53LX_histogram_config_t *pmulti_hist |
charlesmn | 0:0be0bd219e72 | 2529 | ); |
charlesmn | 0:0be0bd219e72 | 2530 | |
charlesmn | 0:0be0bd219e72 | 2531 | uint8_t VL53LX_encode_GPIO_interrupt_config( |
charlesmn | 0:0be0bd219e72 | 2532 | VL53LX_GPIO_interrupt_config_t *pintconf); |
charlesmn | 0:0be0bd219e72 | 2533 | |
charlesmn | 0:0be0bd219e72 | 2534 | VL53LX_GPIO_interrupt_config_t VL53LX_decode_GPIO_interrupt_config( |
charlesmn | 0:0be0bd219e72 | 2535 | uint8_t system__interrupt_config); |
charlesmn | 0:0be0bd219e72 | 2536 | |
charlesmn | 0:0be0bd219e72 | 2537 | VL53LX_Error VL53LX_set_GPIO_distance_threshold( |
charlesmn | 0:0be0bd219e72 | 2538 | uint16_t threshold_high, |
charlesmn | 0:0be0bd219e72 | 2539 | uint16_t threshold_low); |
charlesmn | 0:0be0bd219e72 | 2540 | |
charlesmn | 0:0be0bd219e72 | 2541 | VL53LX_Error VL53LX_set_GPIO_rate_threshold( |
charlesmn | 0:0be0bd219e72 | 2542 | uint16_t threshold_high, |
charlesmn | 0:0be0bd219e72 | 2543 | uint16_t threshold_low); |
charlesmn | 0:0be0bd219e72 | 2544 | |
charlesmn | 0:0be0bd219e72 | 2545 | VL53LX_Error VL53LX_set_GPIO_thresholds_from_struct( |
charlesmn | 0:0be0bd219e72 | 2546 | VL53LX_GPIO_interrupt_config_t *pintconf); |
charlesmn | 0:0be0bd219e72 | 2547 | |
charlesmn | 0:0be0bd219e72 | 2548 | VL53LX_Error VL53LX_set_ref_spad_char_config( |
charlesmn | 0:0be0bd219e72 | 2549 | uint8_t vcsel_period_a, |
charlesmn | 0:0be0bd219e72 | 2550 | uint32_t phasecal_timeout_us, |
charlesmn | 0:0be0bd219e72 | 2551 | uint16_t total_rate_target_mcps, |
charlesmn | 0:0be0bd219e72 | 2552 | uint16_t max_count_rate_rtn_limit_mcps, |
charlesmn | 0:0be0bd219e72 | 2553 | uint16_t min_count_rate_rtn_limit_mcps, |
charlesmn | 0:0be0bd219e72 | 2554 | uint16_t fast_osc_frequency); |
charlesmn | 0:0be0bd219e72 | 2555 | |
charlesmn | 0:0be0bd219e72 | 2556 | VL53LX_Error VL53LX_set_ssc_config( |
charlesmn | 0:0be0bd219e72 | 2557 | VL53LX_ssc_config_t *pssc_cfg, |
charlesmn | 0:0be0bd219e72 | 2558 | uint16_t fast_osc_frequency); |
charlesmn | 0:0be0bd219e72 | 2559 | |
charlesmn | 0:0be0bd219e72 | 2560 | VL53LX_Error VL53LX_get_spad_rate_data( |
charlesmn | 0:0be0bd219e72 | 2561 | VL53LX_spad_rate_data_t *pspad_rates); |
charlesmn | 0:0be0bd219e72 | 2562 | |
charlesmn | 0:0be0bd219e72 | 2563 | uint32_t VL53LX_calc_crosstalk_plane_offset_with_margin( |
charlesmn | 0:0be0bd219e72 | 2564 | uint32_t plane_offset_kcps, |
charlesmn | 0:0be0bd219e72 | 2565 | int16_t margin_offset_kcps); |
charlesmn | 0:0be0bd219e72 | 2566 | |
charlesmn | 0:0be0bd219e72 | 2567 | VL53LX_Error VL53LX_low_power_auto_data_init(); |
charlesmn | 0:0be0bd219e72 | 2568 | |
charlesmn | 0:0be0bd219e72 | 2569 | VL53LX_Error VL53LX_low_power_auto_data_stop_range(); |
charlesmn | 0:0be0bd219e72 | 2570 | |
charlesmn | 0:0be0bd219e72 | 2571 | VL53LX_Error VL53LX_dynamic_xtalk_correction_calc_required_samples(); |
charlesmn | 0:0be0bd219e72 | 2572 | |
charlesmn | 0:0be0bd219e72 | 2573 | VL53LX_Error VL53LX_dynamic_xtalk_correction_calc_new_xtalk( |
charlesmn | 0:0be0bd219e72 | 2574 | uint32_t xtalk_offset_out, |
charlesmn | 0:0be0bd219e72 | 2575 | VL53LX_smudge_corrector_config_t *pconfig, |
charlesmn | 0:0be0bd219e72 | 2576 | VL53LX_smudge_corrector_data_t *pout, |
charlesmn | 0:0be0bd219e72 | 2577 | uint8_t add_smudge, |
charlesmn | 0:0be0bd219e72 | 2578 | uint8_t soft_update |
charlesmn | 0:0be0bd219e72 | 2579 | ); |
charlesmn | 0:0be0bd219e72 | 2580 | |
charlesmn | 0:0be0bd219e72 | 2581 | VL53LX_Error VL53LX_dynamic_xtalk_correction_corrector(); |
charlesmn | 0:0be0bd219e72 | 2582 | |
charlesmn | 0:0be0bd219e72 | 2583 | VL53LX_Error VL53LX_dynamic_xtalk_correction_data_init(); |
charlesmn | 0:0be0bd219e72 | 2584 | |
charlesmn | 0:0be0bd219e72 | 2585 | VL53LX_Error VL53LX_dynamic_xtalk_correction_output_init( |
charlesmn | 0:0be0bd219e72 | 2586 | VL53LX_LLDriverResults_t *pres |
charlesmn | 0:0be0bd219e72 | 2587 | ); |
charlesmn | 0:0be0bd219e72 | 2588 | |
charlesmn | 0:0be0bd219e72 | 2589 | VL53LX_Error VL53LX_xtalk_cal_data_init(); |
charlesmn | 0:0be0bd219e72 | 2590 | |
charlesmn | 0:0be0bd219e72 | 2591 | VL53LX_Error VL53LX_config_low_power_auto_mode( |
charlesmn | 0:0be0bd219e72 | 2592 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2593 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2594 | VL53LX_low_power_auto_data_t *plpadata |
charlesmn | 0:0be0bd219e72 | 2595 | ); |
charlesmn | 0:0be0bd219e72 | 2596 | |
charlesmn | 0:0be0bd219e72 | 2597 | VL53LX_Error VL53LX_low_power_auto_setup_manual_calibration(); |
charlesmn | 0:0be0bd219e72 | 2598 | |
charlesmn | 0:0be0bd219e72 | 2599 | VL53LX_Error VL53LX_low_power_auto_update_DSS(); |
charlesmn | 0:0be0bd219e72 | 2600 | |
charlesmn | 0:0be0bd219e72 | 2601 | VL53LX_Error VL53LX_compute_histo_merge_nb(uint8_t *histo_merge_nb); |
charlesmn | 0:0be0bd219e72 | 2602 | |
charlesmn | 0:0be0bd219e72 | 2603 | |
charlesmn | 0:0be0bd219e72 | 2604 | |
charlesmn | 0:0be0bd219e72 | 2605 | /* vl53lx_wait.h */ |
charlesmn | 0:0be0bd219e72 | 2606 | |
charlesmn | 0:0be0bd219e72 | 2607 | VL53LX_Error VL53LX_wait_for_boot_completion(); |
charlesmn | 0:0be0bd219e72 | 2608 | |
charlesmn | 0:0be0bd219e72 | 2609 | VL53LX_Error VL53LX_wait_for_firmware_ready(); |
charlesmn | 0:0be0bd219e72 | 2610 | |
charlesmn | 0:0be0bd219e72 | 2611 | VL53LX_Error VL53LX_wait_for_range_completion(); |
charlesmn | 0:0be0bd219e72 | 2612 | |
charlesmn | 0:0be0bd219e72 | 2613 | VL53LX_Error VL53LX_wait_for_test_completion(); |
charlesmn | 0:0be0bd219e72 | 2614 | |
charlesmn | 0:0be0bd219e72 | 2615 | VL53LX_Error VL53LX_is_boot_complete(uint8_t *pready); |
charlesmn | 0:0be0bd219e72 | 2616 | |
charlesmn | 0:0be0bd219e72 | 2617 | VL53LX_Error VL53LX_is_firmware_ready(uint8_t *pready); |
charlesmn | 0:0be0bd219e72 | 2618 | |
charlesmn | 0:0be0bd219e72 | 2619 | VL53LX_Error VL53LX_is_new_data_ready(uint8_t *pready); |
charlesmn | 0:0be0bd219e72 | 2620 | |
charlesmn | 0:0be0bd219e72 | 2621 | VL53LX_Error VL53LX_poll_for_boot_completion(uint32_t timeout_ms); |
charlesmn | 0:0be0bd219e72 | 2622 | |
charlesmn | 0:0be0bd219e72 | 2623 | VL53LX_Error VL53LX_poll_for_firmware_ready(uint32_t timeout_ms); |
charlesmn | 0:0be0bd219e72 | 2624 | |
charlesmn | 0:0be0bd219e72 | 2625 | VL53LX_Error VL53LX_poll_for_range_completion(uint32_t timeout_ms); |
charlesmn | 0:0be0bd219e72 | 2626 | |
charlesmn | 0:0be0bd219e72 | 2627 | |
charlesmn | 0:0be0bd219e72 | 2628 | /* vl53lx_zone_presets.h */ |
charlesmn | 0:0be0bd219e72 | 2629 | |
charlesmn | 0:0be0bd219e72 | 2630 | VL53LX_Error VL53LX_init_zone_config_structure( |
charlesmn | 0:0be0bd219e72 | 2631 | uint8_t x_off, |
charlesmn | 0:0be0bd219e72 | 2632 | uint8_t x_inc, |
charlesmn | 0:0be0bd219e72 | 2633 | uint8_t x_zones, |
charlesmn | 0:0be0bd219e72 | 2634 | uint8_t y_off, |
charlesmn | 0:0be0bd219e72 | 2635 | uint8_t y_inc, |
charlesmn | 0:0be0bd219e72 | 2636 | uint8_t y_zones, |
charlesmn | 0:0be0bd219e72 | 2637 | uint8_t width, |
charlesmn | 0:0be0bd219e72 | 2638 | uint8_t height, |
charlesmn | 0:0be0bd219e72 | 2639 | VL53LX_zone_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2640 | |
charlesmn | 0:0be0bd219e72 | 2641 | |
charlesmn | 0:0be0bd219e72 | 2642 | VL53LX_Error VL53LX_zone_preset_xtalk_planar( |
charlesmn | 0:0be0bd219e72 | 2643 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2644 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2645 | |
charlesmn | 0:0be0bd219e72 | 2646 | |
charlesmn | 0:0be0bd219e72 | 2647 | |
charlesmn | 0:0be0bd219e72 | 2648 | VL53LX_Error VL53LX_init_zone_config_histogram_bins( |
charlesmn | 0:0be0bd219e72 | 2649 | VL53LX_zone_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2650 | |
charlesmn | 0:0be0bd219e72 | 2651 | |
charlesmn | 0:0be0bd219e72 | 2652 | /* vl53lx_api_preset_modes.h */ |
charlesmn | 0:0be0bd219e72 | 2653 | |
charlesmn | 0:0be0bd219e72 | 2654 | VL53LX_Error VL53LX_init_refspadchar_config_struct( |
charlesmn | 0:0be0bd219e72 | 2655 | VL53LX_refspadchar_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2656 | |
charlesmn | 0:0be0bd219e72 | 2657 | VL53LX_Error VL53LX_init_ssc_config_struct( |
charlesmn | 0:0be0bd219e72 | 2658 | VL53LX_ssc_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2659 | |
charlesmn | 0:0be0bd219e72 | 2660 | VL53LX_Error VL53LX_init_xtalk_config_struct( |
charlesmn | 0:0be0bd219e72 | 2661 | VL53LX_customer_nvm_managed_t *pnvm, |
charlesmn | 0:0be0bd219e72 | 2662 | VL53LX_xtalk_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2663 | |
charlesmn | 0:0be0bd219e72 | 2664 | VL53LX_Error VL53LX_init_xtalk_extract_config_struct( |
charlesmn | 0:0be0bd219e72 | 2665 | VL53LX_xtalkextract_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2666 | |
charlesmn | 0:0be0bd219e72 | 2667 | VL53LX_Error VL53LX_init_offset_cal_config_struct( |
charlesmn | 0:0be0bd219e72 | 2668 | VL53LX_offsetcal_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2669 | |
charlesmn | 0:0be0bd219e72 | 2670 | VL53LX_Error VL53LX_init_zone_cal_config_struct( |
charlesmn | 0:0be0bd219e72 | 2671 | VL53LX_zonecal_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2672 | |
charlesmn | 0:0be0bd219e72 | 2673 | VL53LX_Error VL53LX_init_hist_post_process_config_struct( |
charlesmn | 0:0be0bd219e72 | 2674 | uint8_t xtalk_compensation_enable, |
charlesmn | 0:0be0bd219e72 | 2675 | VL53LX_hist_post_process_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2676 | |
charlesmn | 0:0be0bd219e72 | 2677 | VL53LX_Error VL53LX_init_dmax_calibration_data_struct( |
charlesmn | 0:0be0bd219e72 | 2678 | VL53LX_dmax_calibration_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2679 | |
charlesmn | 0:0be0bd219e72 | 2680 | VL53LX_Error VL53LX_init_tuning_parm_storage_struct( |
charlesmn | 0:0be0bd219e72 | 2681 | VL53LX_tuning_parm_storage_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2682 | |
charlesmn | 0:0be0bd219e72 | 2683 | VL53LX_Error VL53LX_init_hist_gen3_dmax_config_struct( |
charlesmn | 0:0be0bd219e72 | 2684 | VL53LX_hist_gen3_dmax_config_t *pdata); |
charlesmn | 0:0be0bd219e72 | 2685 | |
charlesmn | 0:0be0bd219e72 | 2686 | VL53LX_Error VL53LX_preset_mode_standard_ranging( |
charlesmn | 0:0be0bd219e72 | 2687 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2688 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2689 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2690 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2691 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2692 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2693 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2694 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2695 | |
charlesmn | 0:0be0bd219e72 | 2696 | VL53LX_Error VL53LX_preset_mode_standard_ranging_short_range( |
charlesmn | 0:0be0bd219e72 | 2697 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2698 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2699 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2700 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2701 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2702 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2703 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2704 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2705 | |
charlesmn | 0:0be0bd219e72 | 2706 | VL53LX_Error VL53LX_preset_mode_standard_ranging_long_range( |
charlesmn | 0:0be0bd219e72 | 2707 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2708 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2709 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2710 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2711 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2712 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2713 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2714 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2715 | |
charlesmn | 0:0be0bd219e72 | 2716 | VL53LX_Error VL53LX_preset_mode_standard_ranging_mm1_cal( |
charlesmn | 0:0be0bd219e72 | 2717 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2718 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2719 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2720 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2721 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2722 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2723 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2724 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2725 | |
charlesmn | 0:0be0bd219e72 | 2726 | VL53LX_Error VL53LX_preset_mode_standard_ranging_mm2_cal( |
charlesmn | 0:0be0bd219e72 | 2727 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2728 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2729 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2730 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2731 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2732 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2733 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2734 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2735 | |
charlesmn | 0:0be0bd219e72 | 2736 | VL53LX_Error VL53LX_preset_mode_timed_ranging( |
charlesmn | 0:0be0bd219e72 | 2737 | |
charlesmn | 0:0be0bd219e72 | 2738 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2739 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2740 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2741 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2742 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2743 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2744 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2745 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2746 | |
charlesmn | 0:0be0bd219e72 | 2747 | VL53LX_Error VL53LX_preset_mode_timed_ranging_short_range( |
charlesmn | 0:0be0bd219e72 | 2748 | |
charlesmn | 0:0be0bd219e72 | 2749 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2750 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2751 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2752 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2753 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2754 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2755 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2756 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2757 | |
charlesmn | 0:0be0bd219e72 | 2758 | VL53LX_Error VL53LX_preset_mode_timed_ranging_long_range( |
charlesmn | 0:0be0bd219e72 | 2759 | |
charlesmn | 0:0be0bd219e72 | 2760 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2761 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2762 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2763 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2764 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2765 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2766 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2767 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2768 | |
charlesmn | 0:0be0bd219e72 | 2769 | VL53LX_Error VL53LX_preset_mode_low_power_auto_ranging( |
charlesmn | 0:0be0bd219e72 | 2770 | |
charlesmn | 0:0be0bd219e72 | 2771 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2772 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2773 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2774 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2775 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2776 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2777 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2778 | VL53LX_zone_config_t *pzone_cfg, |
charlesmn | 0:0be0bd219e72 | 2779 | VL53LX_low_power_auto_data_t *plpadata); |
charlesmn | 0:0be0bd219e72 | 2780 | |
charlesmn | 0:0be0bd219e72 | 2781 | VL53LX_Error VL53LX_preset_mode_low_power_auto_short_ranging( |
charlesmn | 0:0be0bd219e72 | 2782 | |
charlesmn | 0:0be0bd219e72 | 2783 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2784 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2785 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2786 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2787 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2788 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2789 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2790 | VL53LX_zone_config_t *pzone_cfg, |
charlesmn | 0:0be0bd219e72 | 2791 | VL53LX_low_power_auto_data_t *plpadata); |
charlesmn | 0:0be0bd219e72 | 2792 | |
charlesmn | 0:0be0bd219e72 | 2793 | VL53LX_Error VL53LX_preset_mode_low_power_auto_long_ranging( |
charlesmn | 0:0be0bd219e72 | 2794 | |
charlesmn | 0:0be0bd219e72 | 2795 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2796 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2797 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2798 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2799 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2800 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2801 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2802 | VL53LX_zone_config_t *pzone_cfg, |
charlesmn | 0:0be0bd219e72 | 2803 | VL53LX_low_power_auto_data_t *plpadata); |
charlesmn | 0:0be0bd219e72 | 2804 | |
charlesmn | 0:0be0bd219e72 | 2805 | VL53LX_Error VL53LX_preset_mode_histogram_ranging( |
charlesmn | 0:0be0bd219e72 | 2806 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2807 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2808 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2809 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2810 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2811 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2812 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2813 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2814 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2815 | |
charlesmn | 0:0be0bd219e72 | 2816 | VL53LX_Error VL53LX_preset_mode_histogram_ranging_with_mm1( |
charlesmn | 0:0be0bd219e72 | 2817 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2818 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2819 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2820 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2821 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2822 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2823 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2824 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2825 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2826 | |
charlesmn | 0:0be0bd219e72 | 2827 | VL53LX_Error VL53LX_preset_mode_histogram_ranging_with_mm2( |
charlesmn | 0:0be0bd219e72 | 2828 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2829 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2830 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2831 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2832 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2833 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2834 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2835 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2836 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2837 | |
charlesmn | 0:0be0bd219e72 | 2838 | VL53LX_Error VL53LX_preset_mode_histogram_ranging_mm1_cal( |
charlesmn | 0:0be0bd219e72 | 2839 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2840 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2841 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2842 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2843 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2844 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2845 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2846 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2847 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2848 | |
charlesmn | 0:0be0bd219e72 | 2849 | VL53LX_Error VL53LX_preset_mode_histogram_ranging_mm2_cal( |
charlesmn | 0:0be0bd219e72 | 2850 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2851 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2852 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2853 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2854 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2855 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2856 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2857 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2858 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2859 | |
charlesmn | 0:0be0bd219e72 | 2860 | VL53LX_Error VL53LX_preset_mode_histogram_ranging_ref( |
charlesmn | 0:0be0bd219e72 | 2861 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2862 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2863 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2864 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2865 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2866 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2867 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2868 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2869 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2870 | |
charlesmn | 0:0be0bd219e72 | 2871 | VL53LX_Error VL53LX_preset_mode_histogram_characterisation( |
charlesmn | 0:0be0bd219e72 | 2872 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2873 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2874 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2875 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2876 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2877 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2878 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2879 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2880 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2881 | |
charlesmn | 0:0be0bd219e72 | 2882 | VL53LX_Error VL53LX_preset_mode_histogram_xtalk_planar( |
charlesmn | 0:0be0bd219e72 | 2883 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2884 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2885 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2886 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2887 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2888 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2889 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2890 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2891 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2892 | |
charlesmn | 0:0be0bd219e72 | 2893 | VL53LX_Error VL53LX_preset_mode_histogram_xtalk_mm1( |
charlesmn | 0:0be0bd219e72 | 2894 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2895 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2896 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2897 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2898 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2899 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2900 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2901 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2902 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2903 | |
charlesmn | 0:0be0bd219e72 | 2904 | VL53LX_Error VL53LX_preset_mode_histogram_xtalk_mm2( |
charlesmn | 0:0be0bd219e72 | 2905 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2906 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2907 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2908 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2909 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2910 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2911 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2912 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2913 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2914 | |
charlesmn | 0:0be0bd219e72 | 2915 | VL53LX_Error VL53LX_preset_mode_histogram_multizone( |
charlesmn | 0:0be0bd219e72 | 2916 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2917 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2918 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2919 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2920 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2921 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2922 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2923 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2924 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2925 | |
charlesmn | 0:0be0bd219e72 | 2926 | VL53LX_Error VL53LX_preset_mode_histogram_multizone_short_range( |
charlesmn | 0:0be0bd219e72 | 2927 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2928 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2929 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2930 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2931 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2932 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2933 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2934 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2935 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2936 | |
charlesmn | 0:0be0bd219e72 | 2937 | VL53LX_Error VL53LX_preset_mode_histogram_multizone_long_range( |
charlesmn | 0:0be0bd219e72 | 2938 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2939 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2940 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2941 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2942 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2943 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2944 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2945 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2946 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2947 | |
charlesmn | 0:0be0bd219e72 | 2948 | VL53LX_Error VL53LX_preset_mode_histogram_ranging_short_timing( |
charlesmn | 0:0be0bd219e72 | 2949 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2950 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2951 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2952 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2953 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2954 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2955 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2956 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2957 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2958 | |
charlesmn | 0:0be0bd219e72 | 2959 | VL53LX_Error VL53LX_preset_mode_histogram_long_range( |
charlesmn | 0:0be0bd219e72 | 2960 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2961 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2962 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2963 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2964 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2965 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2966 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2967 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2968 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2969 | |
charlesmn | 0:0be0bd219e72 | 2970 | VL53LX_Error VL53LX_preset_mode_histogram_medium_range( |
charlesmn | 0:0be0bd219e72 | 2971 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2972 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2973 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2974 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2975 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2976 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2977 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2978 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2979 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2980 | |
charlesmn | 0:0be0bd219e72 | 2981 | VL53LX_Error VL53LX_preset_mode_histogram_short_range( |
charlesmn | 0:0be0bd219e72 | 2982 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2983 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2984 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2985 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2986 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2987 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2988 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 2989 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 2990 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 2991 | |
charlesmn | 0:0be0bd219e72 | 2992 | VL53LX_Error VL53LX_preset_mode_special_histogram_short_range( |
charlesmn | 0:0be0bd219e72 | 2993 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 2994 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 2995 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 2996 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 2997 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 2998 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 2999 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 3000 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 3001 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 3002 | |
charlesmn | 0:0be0bd219e72 | 3003 | VL53LX_Error VL53LX_preset_mode_histogram_long_range_mm1( |
charlesmn | 0:0be0bd219e72 | 3004 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 3005 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 3006 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 3007 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 3008 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 3009 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 3010 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 3011 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 3012 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 3013 | |
charlesmn | 0:0be0bd219e72 | 3014 | VL53LX_Error VL53LX_preset_mode_histogram_long_range_mm2( |
charlesmn | 0:0be0bd219e72 | 3015 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 3016 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 3017 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 3018 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 3019 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 3020 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 3021 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 3022 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 3023 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 3024 | |
charlesmn | 0:0be0bd219e72 | 3025 | VL53LX_Error VL53LX_preset_mode_histogram_medium_range_mm1( |
charlesmn | 0:0be0bd219e72 | 3026 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 3027 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 3028 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 3029 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 3030 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 3031 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 3032 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 3033 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 3034 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 3035 | |
charlesmn | 0:0be0bd219e72 | 3036 | VL53LX_Error VL53LX_preset_mode_histogram_medium_range_mm2( |
charlesmn | 0:0be0bd219e72 | 3037 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 3038 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 3039 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 3040 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 3041 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 3042 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 3043 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 3044 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 3045 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 3046 | |
charlesmn | 0:0be0bd219e72 | 3047 | VL53LX_Error VL53LX_preset_mode_histogram_short_range_mm1( |
charlesmn | 0:0be0bd219e72 | 3048 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 3049 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 3050 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 3051 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 3052 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 3053 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 3054 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 3055 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 3056 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 3057 | |
charlesmn | 0:0be0bd219e72 | 3058 | VL53LX_Error VL53LX_preset_mode_histogram_short_range_mm2( |
charlesmn | 0:0be0bd219e72 | 3059 | VL53LX_hist_post_process_config_t *phistpostprocess, |
charlesmn | 0:0be0bd219e72 | 3060 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 3061 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 3062 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 3063 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 3064 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 3065 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 3066 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 3067 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 3068 | |
charlesmn | 0:0be0bd219e72 | 3069 | VL53LX_Error VL53LX_preset_mode_olt( |
charlesmn | 0:0be0bd219e72 | 3070 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 3071 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 3072 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 3073 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 3074 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 3075 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 3076 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 3077 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 3078 | |
charlesmn | 0:0be0bd219e72 | 3079 | VL53LX_Error VL53LX_preset_mode_singleshot_ranging( |
charlesmn | 0:0be0bd219e72 | 3080 | |
charlesmn | 0:0be0bd219e72 | 3081 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 3082 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 3083 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 3084 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 3085 | VL53LX_dynamic_config_t *pdynamic, |
charlesmn | 0:0be0bd219e72 | 3086 | VL53LX_system_control_t *psystem, |
charlesmn | 0:0be0bd219e72 | 3087 | VL53LX_tuning_parm_storage_t *ptuning_parms, |
charlesmn | 0:0be0bd219e72 | 3088 | VL53LX_zone_config_t *pzone_cfg); |
charlesmn | 0:0be0bd219e72 | 3089 | |
charlesmn | 0:0be0bd219e72 | 3090 | void VL53LX_copy_hist_cfg_to_static_cfg( |
charlesmn | 0:0be0bd219e72 | 3091 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 3092 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 3093 | VL53LX_general_config_t *pgeneral, |
charlesmn | 0:0be0bd219e72 | 3094 | VL53LX_timing_config_t *ptiming, |
charlesmn | 0:0be0bd219e72 | 3095 | VL53LX_dynamic_config_t *pdynamic); |
charlesmn | 0:0be0bd219e72 | 3096 | |
charlesmn | 0:0be0bd219e72 | 3097 | void VL53LX_copy_hist_bins_to_static_cfg( |
charlesmn | 0:0be0bd219e72 | 3098 | VL53LX_histogram_config_t *phistogram, |
charlesmn | 0:0be0bd219e72 | 3099 | VL53LX_static_config_t *pstatic, |
charlesmn | 0:0be0bd219e72 | 3100 | VL53LX_timing_config_t *ptiming); |
charlesmn | 0:0be0bd219e72 | 3101 | |
charlesmn | 0:0be0bd219e72 | 3102 | |
charlesmn | 0:0be0bd219e72 | 3103 | /* vl53lx_silicon_core.h */ |
charlesmn | 0:0be0bd219e72 | 3104 | VL53LX_Error VL53LX_is_firmware_ready_silicon( |
charlesmn | 0:0be0bd219e72 | 3105 | uint8_t *pready); |
charlesmn | 0:0be0bd219e72 | 3106 | |
charlesmn | 0:0be0bd219e72 | 3107 | |
charlesmn | 0:0be0bd219e72 | 3108 | /* vl53lx_hist_core.h */ |
charlesmn | 0:0be0bd219e72 | 3109 | |
charlesmn | 0:0be0bd219e72 | 3110 | void VL53LX_f_022( |
charlesmn | 0:0be0bd219e72 | 3111 | uint8_t VL53LX_p_032, |
charlesmn | 0:0be0bd219e72 | 3112 | uint8_t filter_woi, |
charlesmn | 0:0be0bd219e72 | 3113 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3114 | int32_t *pa, |
charlesmn | 0:0be0bd219e72 | 3115 | int32_t *pb, |
charlesmn | 0:0be0bd219e72 | 3116 | int32_t *pc); |
charlesmn | 0:0be0bd219e72 | 3117 | |
charlesmn | 0:0be0bd219e72 | 3118 | VL53LX_Error VL53LX_f_018( |
charlesmn | 0:0be0bd219e72 | 3119 | uint16_t vcsel_width, |
charlesmn | 0:0be0bd219e72 | 3120 | uint16_t fast_osc_frequency, |
charlesmn | 0:0be0bd219e72 | 3121 | uint32_t total_periods_elapsed, |
charlesmn | 0:0be0bd219e72 | 3122 | uint16_t VL53LX_p_004, |
charlesmn | 0:0be0bd219e72 | 3123 | VL53LX_range_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 3124 | |
charlesmn | 0:0be0bd219e72 | 3125 | void VL53LX_f_019( |
charlesmn | 0:0be0bd219e72 | 3126 | uint16_t gain_factor, |
charlesmn | 0:0be0bd219e72 | 3127 | int16_t range_offset_mm, |
charlesmn | 0:0be0bd219e72 | 3128 | VL53LX_range_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 3129 | |
charlesmn | 0:0be0bd219e72 | 3130 | void VL53LX_f_029( |
charlesmn | 0:0be0bd219e72 | 3131 | VL53LX_histogram_bin_data_t *pdata, |
charlesmn | 0:0be0bd219e72 | 3132 | int32_t ambient_estimate_counts_per_bin); |
charlesmn | 0:0be0bd219e72 | 3133 | |
charlesmn | 0:0be0bd219e72 | 3134 | void VL53LX_f_005( |
charlesmn | 0:0be0bd219e72 | 3135 | VL53LX_histogram_bin_data_t *pxtalk, |
charlesmn | 0:0be0bd219e72 | 3136 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3137 | VL53LX_histogram_bin_data_t *pxtalk_realigned); |
charlesmn | 0:0be0bd219e72 | 3138 | |
charlesmn | 0:0be0bd219e72 | 3139 | int8_t VL53LX_f_030( |
charlesmn | 0:0be0bd219e72 | 3140 | VL53LX_histogram_bin_data_t *pdata1, |
charlesmn | 0:0be0bd219e72 | 3141 | VL53LX_histogram_bin_data_t *pdata2); |
charlesmn | 0:0be0bd219e72 | 3142 | |
charlesmn | 0:0be0bd219e72 | 3143 | VL53LX_Error VL53LX_f_031( |
charlesmn | 0:0be0bd219e72 | 3144 | VL53LX_histogram_bin_data_t *pidata, |
charlesmn | 0:0be0bd219e72 | 3145 | VL53LX_histogram_bin_data_t *podata); |
charlesmn | 0:0be0bd219e72 | 3146 | |
charlesmn | 0:0be0bd219e72 | 3147 | |
charlesmn | 0:0be0bd219e72 | 3148 | /* vl53lx_xtalk.h */ |
charlesmn | 0:0be0bd219e72 | 3149 | |
charlesmn | 0:0be0bd219e72 | 3150 | VL53LX_Error VL53LX_xtalk_calibration_process_data( |
charlesmn | 0:0be0bd219e72 | 3151 | VL53LX_xtalk_range_results_t *pxtalk_ranges, |
charlesmn | 0:0be0bd219e72 | 3152 | VL53LX_xtalk_histogram_data_t *pxtalk_shape, |
charlesmn | 0:0be0bd219e72 | 3153 | VL53LX_xtalk_calibration_results_t *pxtalk_cal); |
charlesmn | 0:0be0bd219e72 | 3154 | |
charlesmn | 0:0be0bd219e72 | 3155 | VL53LX_Error VL53LX_f_041( |
charlesmn | 0:0be0bd219e72 | 3156 | VL53LX_histogram_bin_data_t *pavg_bins, |
charlesmn | 0:0be0bd219e72 | 3157 | VL53LX_xtalk_algo_data_t *pdebug, |
charlesmn | 0:0be0bd219e72 | 3158 | VL53LX_xtalk_range_data_t *pxtalk_data, |
charlesmn | 0:0be0bd219e72 | 3159 | uint8_t histogram__window_start, |
charlesmn | 0:0be0bd219e72 | 3160 | uint8_t histogram__window_end, |
charlesmn | 0:0be0bd219e72 | 3161 | VL53LX_xtalk_histogram_shape_t *pxtalk_shape); |
charlesmn | 0:0be0bd219e72 | 3162 | |
charlesmn | 0:0be0bd219e72 | 3163 | VL53LX_Error VL53LX_f_039( |
charlesmn | 0:0be0bd219e72 | 3164 | VL53LX_xtalk_range_results_t *pxtalk_results, |
charlesmn | 0:0be0bd219e72 | 3165 | VL53LX_xtalk_algo_data_t *pdebug, |
charlesmn | 0:0be0bd219e72 | 3166 | int16_t *xgradient, |
charlesmn | 0:0be0bd219e72 | 3167 | int16_t *ygradient); |
charlesmn | 0:0be0bd219e72 | 3168 | |
charlesmn | 0:0be0bd219e72 | 3169 | VL53LX_Error VL53LX_f_040( |
charlesmn | 0:0be0bd219e72 | 3170 | VL53LX_xtalk_range_data_t *pxtalk_data, |
charlesmn | 0:0be0bd219e72 | 3171 | VL53LX_xtalk_algo_data_t *pdebug, |
charlesmn | 0:0be0bd219e72 | 3172 | uint32_t *xtalk_mean_offset_kcps); |
charlesmn | 0:0be0bd219e72 | 3173 | |
charlesmn | 0:0be0bd219e72 | 3174 | VL53LX_Error VL53LX_f_045( |
charlesmn | 0:0be0bd219e72 | 3175 | VL53LX_histogram_bin_data_t *phist_data, |
charlesmn | 0:0be0bd219e72 | 3176 | VL53LX_xtalk_range_data_t *pxtalk_data, |
charlesmn | 0:0be0bd219e72 | 3177 | VL53LX_xtalk_algo_data_t *pdebug, |
charlesmn | 0:0be0bd219e72 | 3178 | VL53LX_xtalk_histogram_shape_t *pxtalk_histo); |
charlesmn | 0:0be0bd219e72 | 3179 | |
charlesmn | 0:0be0bd219e72 | 3180 | VL53LX_Error VL53LX_f_032( |
charlesmn | 0:0be0bd219e72 | 3181 | uint32_t mean_offset, |
charlesmn | 0:0be0bd219e72 | 3182 | int16_t xgradient, |
charlesmn | 0:0be0bd219e72 | 3183 | int16_t ygradient, |
charlesmn | 0:0be0bd219e72 | 3184 | int8_t centre_offset_x, |
charlesmn | 0:0be0bd219e72 | 3185 | int8_t centre_offset_y, |
charlesmn | 0:0be0bd219e72 | 3186 | uint16_t roi_effective_spads, |
charlesmn | 0:0be0bd219e72 | 3187 | uint8_t roi_centre_spad, |
charlesmn | 0:0be0bd219e72 | 3188 | uint8_t roi_xy_size, |
charlesmn | 0:0be0bd219e72 | 3189 | uint32_t *xtalk_rate_kcps); |
charlesmn | 0:0be0bd219e72 | 3190 | |
charlesmn | 0:0be0bd219e72 | 3191 | VL53LX_Error VL53LX_f_033( |
charlesmn | 0:0be0bd219e72 | 3192 | VL53LX_histogram_bin_data_t *phist_data, |
charlesmn | 0:0be0bd219e72 | 3193 | VL53LX_xtalk_histogram_shape_t *pxtalk_data, |
charlesmn | 0:0be0bd219e72 | 3194 | uint32_t xtalk_rate_kcps, |
charlesmn | 0:0be0bd219e72 | 3195 | VL53LX_histogram_bin_data_t *pxtalkcount_data); |
charlesmn | 0:0be0bd219e72 | 3196 | |
charlesmn | 0:0be0bd219e72 | 3197 | VL53LX_Error VL53LX_f_047( |
charlesmn | 0:0be0bd219e72 | 3198 | VL53LX_histogram_bin_data_t *phist_data, |
charlesmn | 0:0be0bd219e72 | 3199 | VL53LX_histogram_bin_data_t *pxtalk_data, |
charlesmn | 0:0be0bd219e72 | 3200 | uint8_t xtalk_bin_offset); |
charlesmn | 0:0be0bd219e72 | 3201 | |
charlesmn | 0:0be0bd219e72 | 3202 | VL53LX_Error VL53LX_f_044( |
charlesmn | 0:0be0bd219e72 | 3203 | VL53LX_histogram_bin_data_t *pxtalk_data, |
charlesmn | 0:0be0bd219e72 | 3204 | uint32_t amb_threshold, |
charlesmn | 0:0be0bd219e72 | 3205 | uint8_t VL53LX_p_019, |
charlesmn | 0:0be0bd219e72 | 3206 | uint8_t VL53LX_p_024); |
charlesmn | 0:0be0bd219e72 | 3207 | |
charlesmn | 0:0be0bd219e72 | 3208 | VL53LX_Error VL53LX_f_046( |
charlesmn | 0:0be0bd219e72 | 3209 | VL53LX_customer_nvm_managed_t *pcustomer, |
charlesmn | 0:0be0bd219e72 | 3210 | VL53LX_dynamic_config_t *pdyn_cfg, |
charlesmn | 0:0be0bd219e72 | 3211 | VL53LX_xtalk_histogram_data_t *pxtalk_shape, |
charlesmn | 0:0be0bd219e72 | 3212 | VL53LX_histogram_bin_data_t *pip_hist_data, |
charlesmn | 0:0be0bd219e72 | 3213 | VL53LX_histogram_bin_data_t *pop_hist_data, |
charlesmn | 0:0be0bd219e72 | 3214 | VL53LX_histogram_bin_data_t *pxtalk_count_data); |
charlesmn | 0:0be0bd219e72 | 3215 | |
charlesmn | 0:0be0bd219e72 | 3216 | VL53LX_Error VL53LX_f_043( |
charlesmn | 0:0be0bd219e72 | 3217 | uint8_t sigma_mult, |
charlesmn | 0:0be0bd219e72 | 3218 | int32_t VL53LX_p_028, |
charlesmn | 0:0be0bd219e72 | 3219 | uint32_t *ambient_noise); |
charlesmn | 0:0be0bd219e72 | 3220 | |
charlesmn | 0:0be0bd219e72 | 3221 | |
charlesmn | 0:0be0bd219e72 | 3222 | VL53LX_Error VL53LX_generate_dual_reflectance_xtalk_samples( |
charlesmn | 0:0be0bd219e72 | 3223 | VL53LX_xtalk_range_results_t *pxtalk_results, |
charlesmn | 0:0be0bd219e72 | 3224 | uint16_t expected_target_distance_mm, |
charlesmn | 0:0be0bd219e72 | 3225 | uint8_t higher_reflectance, |
charlesmn | 0:0be0bd219e72 | 3226 | VL53LX_histogram_bin_data_t *pxtalk_avg_samples |
charlesmn | 0:0be0bd219e72 | 3227 | ); |
charlesmn | 0:0be0bd219e72 | 3228 | |
charlesmn | 0:0be0bd219e72 | 3229 | VL53LX_Error VL53LX_f_042( |
charlesmn | 0:0be0bd219e72 | 3230 | VL53LX_histogram_bin_data_t *pzone_avg_1, |
charlesmn | 0:0be0bd219e72 | 3231 | VL53LX_histogram_bin_data_t *pzone_avg_2, |
charlesmn | 0:0be0bd219e72 | 3232 | uint16_t expected_target_distance, |
charlesmn | 0:0be0bd219e72 | 3233 | uint8_t subtract_amb, |
charlesmn | 0:0be0bd219e72 | 3234 | uint8_t higher_reflectance, |
charlesmn | 0:0be0bd219e72 | 3235 | VL53LX_histogram_bin_data_t *pxtalk_output |
charlesmn | 0:0be0bd219e72 | 3236 | ); |
charlesmn | 0:0be0bd219e72 | 3237 | |
charlesmn | 0:0be0bd219e72 | 3238 | |
charlesmn | 0:0be0bd219e72 | 3239 | /* vl53lx_sigma_estimate.h */ |
charlesmn | 0:0be0bd219e72 | 3240 | |
charlesmn | 0:0be0bd219e72 | 3241 | uint16_t VL53LX_f_034( |
charlesmn | 0:0be0bd219e72 | 3242 | uint8_t sigma_estimator__effective_pulse_width_ns, |
charlesmn | 0:0be0bd219e72 | 3243 | uint8_t sigma_estimator__effective_ambient_width_ns, |
charlesmn | 0:0be0bd219e72 | 3244 | uint8_t sigma_estimator__sigma_ref_mm, |
charlesmn | 0:0be0bd219e72 | 3245 | VL53LX_range_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 3246 | |
charlesmn | 0:0be0bd219e72 | 3247 | uint16_t VL53LX_f_036( |
charlesmn | 0:0be0bd219e72 | 3248 | uint8_t sigma_estimator__effective_pulse_width_ns, |
charlesmn | 0:0be0bd219e72 | 3249 | uint8_t sigma_estimator__effective_ambient_width_ns, |
charlesmn | 0:0be0bd219e72 | 3250 | uint8_t sigma_estimator__sigma_ref_mm, |
charlesmn | 0:0be0bd219e72 | 3251 | VL53LX_range_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 3252 | |
charlesmn | 0:0be0bd219e72 | 3253 | VL53LX_Error VL53LX_f_037( |
charlesmn | 0:0be0bd219e72 | 3254 | uint8_t sigma_estimator__sigma_ref_mm, |
charlesmn | 0:0be0bd219e72 | 3255 | uint32_t VL53LX_p_007, |
charlesmn | 0:0be0bd219e72 | 3256 | uint32_t VL53LX_p_032, |
charlesmn | 0:0be0bd219e72 | 3257 | uint32_t VL53LX_p_001, |
charlesmn | 0:0be0bd219e72 | 3258 | uint32_t a_zp, |
charlesmn | 0:0be0bd219e72 | 3259 | uint32_t c_zp, |
charlesmn | 0:0be0bd219e72 | 3260 | uint32_t bx, |
charlesmn | 0:0be0bd219e72 | 3261 | uint32_t ax_zp, |
charlesmn | 0:0be0bd219e72 | 3262 | uint32_t cx_zp, |
charlesmn | 0:0be0bd219e72 | 3263 | uint32_t VL53LX_p_028, |
charlesmn | 0:0be0bd219e72 | 3264 | uint16_t fast_osc_frequency, |
charlesmn | 0:0be0bd219e72 | 3265 | uint16_t *psigma_est); |
charlesmn | 0:0be0bd219e72 | 3266 | |
charlesmn | 0:0be0bd219e72 | 3267 | VL53LX_Error VL53LX_f_023( |
charlesmn | 0:0be0bd219e72 | 3268 | uint8_t sigma_estimator__sigma_ref_mm, |
charlesmn | 0:0be0bd219e72 | 3269 | uint32_t VL53LX_p_007, |
charlesmn | 0:0be0bd219e72 | 3270 | uint32_t VL53LX_p_032, |
charlesmn | 0:0be0bd219e72 | 3271 | uint32_t VL53LX_p_001, |
charlesmn | 0:0be0bd219e72 | 3272 | uint32_t a_zp, |
charlesmn | 0:0be0bd219e72 | 3273 | uint32_t c_zp, |
charlesmn | 0:0be0bd219e72 | 3274 | uint32_t bx, |
charlesmn | 0:0be0bd219e72 | 3275 | uint32_t ax_zp, |
charlesmn | 0:0be0bd219e72 | 3276 | uint32_t cx_zp, |
charlesmn | 0:0be0bd219e72 | 3277 | uint32_t VL53LX_p_028, |
charlesmn | 0:0be0bd219e72 | 3278 | uint16_t fast_osc_frequency, |
charlesmn | 0:0be0bd219e72 | 3279 | uint16_t *psigma_est); |
charlesmn | 0:0be0bd219e72 | 3280 | |
charlesmn | 0:0be0bd219e72 | 3281 | uint32_t VL53LX_f_038( |
charlesmn | 0:0be0bd219e72 | 3282 | uint64_t VL53LX_p_007, |
charlesmn | 0:0be0bd219e72 | 3283 | uint32_t size |
charlesmn | 0:0be0bd219e72 | 3284 | ); |
charlesmn | 0:0be0bd219e72 | 3285 | |
charlesmn | 0:0be0bd219e72 | 3286 | uint32_t VL53LX_f_035( |
charlesmn | 0:0be0bd219e72 | 3287 | uint32_t VL53LX_p_007, |
charlesmn | 0:0be0bd219e72 | 3288 | uint32_t VL53LX_p_032); |
charlesmn | 0:0be0bd219e72 | 3289 | |
charlesmn | 0:0be0bd219e72 | 3290 | |
charlesmn | 0:0be0bd219e72 | 3291 | /* vl53lx_hist_algos_gen3.h */ |
charlesmn | 0:0be0bd219e72 | 3292 | |
charlesmn | 0:0be0bd219e72 | 3293 | void VL53LX_f_003( |
charlesmn | 0:0be0bd219e72 | 3294 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3295 | |
charlesmn | 0:0be0bd219e72 | 3296 | VL53LX_Error VL53LX_f_004( |
charlesmn | 0:0be0bd219e72 | 3297 | VL53LX_dmax_calibration_data_t *pdmax_cal, |
charlesmn | 0:0be0bd219e72 | 3298 | VL53LX_hist_gen3_dmax_config_t *pdmax_cfg, |
charlesmn | 0:0be0bd219e72 | 3299 | VL53LX_hist_post_process_config_t *ppost_cfg, |
charlesmn | 0:0be0bd219e72 | 3300 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3301 | VL53LX_histogram_bin_data_t *pxtalk, |
charlesmn | 0:0be0bd219e72 | 3302 | VL53LX_hist_gen3_algo_private_data_t *palgo, |
charlesmn | 0:0be0bd219e72 | 3303 | VL53LX_hist_gen3_dmax_private_data_t *pdmax_algo, |
charlesmn | 0:0be0bd219e72 | 3304 | VL53LX_range_results_t *presults); |
charlesmn | 0:0be0bd219e72 | 3305 | |
charlesmn | 0:0be0bd219e72 | 3306 | VL53LX_Error VL53LX_f_006( |
charlesmn | 0:0be0bd219e72 | 3307 | uint16_t ambient_threshold_events_scaler, |
charlesmn | 0:0be0bd219e72 | 3308 | int32_t ambient_threshold_sigma, |
charlesmn | 0:0be0bd219e72 | 3309 | int32_t min_ambient_threshold_events, |
charlesmn | 0:0be0bd219e72 | 3310 | uint8_t algo__crosstalk_compensation_enable, |
charlesmn | 0:0be0bd219e72 | 3311 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3312 | VL53LX_histogram_bin_data_t *pxtalk, |
charlesmn | 0:0be0bd219e72 | 3313 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3314 | |
charlesmn | 0:0be0bd219e72 | 3315 | |
charlesmn | 0:0be0bd219e72 | 3316 | VL53LX_Error VL53LX_f_007( |
charlesmn | 0:0be0bd219e72 | 3317 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3318 | |
charlesmn | 0:0be0bd219e72 | 3319 | VL53LX_Error VL53LX_f_008( |
charlesmn | 0:0be0bd219e72 | 3320 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3321 | |
charlesmn | 0:0be0bd219e72 | 3322 | VL53LX_Error VL53LX_f_009( |
charlesmn | 0:0be0bd219e72 | 3323 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3324 | |
charlesmn | 0:0be0bd219e72 | 3325 | VL53LX_Error VL53LX_f_016( |
charlesmn | 0:0be0bd219e72 | 3326 | VL53LX_HistTargetOrder target_order, |
charlesmn | 0:0be0bd219e72 | 3327 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3328 | |
charlesmn | 0:0be0bd219e72 | 3329 | VL53LX_Error VL53LX_f_010( |
charlesmn | 0:0be0bd219e72 | 3330 | uint8_t pulse_no, |
charlesmn | 0:0be0bd219e72 | 3331 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3332 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3333 | |
charlesmn | 0:0be0bd219e72 | 3334 | VL53LX_Error VL53LX_f_015( |
charlesmn | 0:0be0bd219e72 | 3335 | uint8_t pulse_no, |
charlesmn | 0:0be0bd219e72 | 3336 | uint8_t clip_events, |
charlesmn | 0:0be0bd219e72 | 3337 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3338 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3339 | |
charlesmn | 0:0be0bd219e72 | 3340 | VL53LX_Error VL53LX_f_020( |
charlesmn | 0:0be0bd219e72 | 3341 | int16_t VL53LX_p_019, |
charlesmn | 0:0be0bd219e72 | 3342 | int16_t VL53LX_p_024, |
charlesmn | 0:0be0bd219e72 | 3343 | uint8_t VL53LX_p_030, |
charlesmn | 0:0be0bd219e72 | 3344 | uint8_t clip_events, |
charlesmn | 0:0be0bd219e72 | 3345 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3346 | uint32_t *pphase); |
charlesmn | 0:0be0bd219e72 | 3347 | |
charlesmn | 0:0be0bd219e72 | 3348 | |
charlesmn | 0:0be0bd219e72 | 3349 | VL53LX_Error VL53LX_f_011( |
charlesmn | 0:0be0bd219e72 | 3350 | uint8_t pulse_no, |
charlesmn | 0:0be0bd219e72 | 3351 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3352 | VL53LX_hist_gen3_algo_private_data_t *palgo, |
charlesmn | 0:0be0bd219e72 | 3353 | int32_t pad_value, |
charlesmn | 0:0be0bd219e72 | 3354 | VL53LX_histogram_bin_data_t *ppulse); |
charlesmn | 0:0be0bd219e72 | 3355 | |
charlesmn | 0:0be0bd219e72 | 3356 | VL53LX_Error VL53LX_f_012( |
charlesmn | 0:0be0bd219e72 | 3357 | uint8_t pulse_no, |
charlesmn | 0:0be0bd219e72 | 3358 | VL53LX_histogram_bin_data_t *ppulse, |
charlesmn | 0:0be0bd219e72 | 3359 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3360 | |
charlesmn | 0:0be0bd219e72 | 3361 | VL53LX_Error VL53LX_f_013( |
charlesmn | 0:0be0bd219e72 | 3362 | uint8_t pulse_no, |
charlesmn | 0:0be0bd219e72 | 3363 | uint16_t noise_threshold, |
charlesmn | 0:0be0bd219e72 | 3364 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3365 | |
charlesmn | 0:0be0bd219e72 | 3366 | VL53LX_Error VL53LX_f_021( |
charlesmn | 0:0be0bd219e72 | 3367 | uint8_t bin, |
charlesmn | 0:0be0bd219e72 | 3368 | int32_t filta0, |
charlesmn | 0:0be0bd219e72 | 3369 | int32_t filta1, |
charlesmn | 0:0be0bd219e72 | 3370 | uint8_t VL53LX_p_030, |
charlesmn | 0:0be0bd219e72 | 3371 | uint32_t *pmedian_phase); |
charlesmn | 0:0be0bd219e72 | 3372 | |
charlesmn | 0:0be0bd219e72 | 3373 | |
charlesmn | 0:0be0bd219e72 | 3374 | VL53LX_Error VL53LX_f_014( |
charlesmn | 0:0be0bd219e72 | 3375 | uint8_t bin, |
charlesmn | 0:0be0bd219e72 | 3376 | uint8_t sigma_estimator__sigma_ref_mm, |
charlesmn | 0:0be0bd219e72 | 3377 | uint8_t VL53LX_p_030, |
charlesmn | 0:0be0bd219e72 | 3378 | uint8_t VL53LX_p_051, |
charlesmn | 0:0be0bd219e72 | 3379 | uint8_t crosstalk_compensation_enable, |
charlesmn | 0:0be0bd219e72 | 3380 | VL53LX_histogram_bin_data_t *phist_data_ap, |
charlesmn | 0:0be0bd219e72 | 3381 | VL53LX_histogram_bin_data_t *phist_data_zp, |
charlesmn | 0:0be0bd219e72 | 3382 | VL53LX_histogram_bin_data_t *pxtalk_hist, |
charlesmn | 0:0be0bd219e72 | 3383 | uint16_t *psigma_est); |
charlesmn | 0:0be0bd219e72 | 3384 | |
charlesmn | 0:0be0bd219e72 | 3385 | |
charlesmn | 0:0be0bd219e72 | 3386 | void VL53LX_f_017( |
charlesmn | 0:0be0bd219e72 | 3387 | uint8_t range_id, |
charlesmn | 0:0be0bd219e72 | 3388 | uint8_t valid_phase_low, |
charlesmn | 0:0be0bd219e72 | 3389 | uint8_t valid_phase_high, |
charlesmn | 0:0be0bd219e72 | 3390 | uint16_t sigma_thres, |
charlesmn | 0:0be0bd219e72 | 3391 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3392 | VL53LX_hist_pulse_data_t *ppulse, |
charlesmn | 0:0be0bd219e72 | 3393 | VL53LX_range_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 3394 | |
charlesmn | 0:0be0bd219e72 | 3395 | |
charlesmn | 0:0be0bd219e72 | 3396 | /* vl53lx_hist_algos_gen4.h */ |
charlesmn | 0:0be0bd219e72 | 3397 | |
charlesmn | 0:0be0bd219e72 | 3398 | void VL53LX_f_024( |
charlesmn | 0:0be0bd219e72 | 3399 | VL53LX_hist_gen4_algo_filtered_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3400 | |
charlesmn | 0:0be0bd219e72 | 3401 | VL53LX_Error VL53LX_f_025( |
charlesmn | 0:0be0bd219e72 | 3402 | VL53LX_dmax_calibration_data_t *pdmax_cal, |
charlesmn | 0:0be0bd219e72 | 3403 | VL53LX_hist_gen3_dmax_config_t *pdmax_cfg, |
charlesmn | 0:0be0bd219e72 | 3404 | VL53LX_hist_post_process_config_t *ppost_cfg, |
charlesmn | 0:0be0bd219e72 | 3405 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3406 | VL53LX_histogram_bin_data_t *pxtalk, |
charlesmn | 0:0be0bd219e72 | 3407 | VL53LX_hist_gen3_algo_private_data_t *palgo, |
charlesmn | 0:0be0bd219e72 | 3408 | VL53LX_hist_gen4_algo_filtered_data_t *pfiltered, |
charlesmn | 0:0be0bd219e72 | 3409 | VL53LX_hist_gen3_dmax_private_data_t *pdmax_algo, |
charlesmn | 0:0be0bd219e72 | 3410 | VL53LX_range_results_t *presults); |
charlesmn | 0:0be0bd219e72 | 3411 | |
charlesmn | 0:0be0bd219e72 | 3412 | VL53LX_Error VL53LX_f_026( |
charlesmn | 0:0be0bd219e72 | 3413 | uint8_t pulse_no, |
charlesmn | 0:0be0bd219e72 | 3414 | VL53LX_histogram_bin_data_t *ppulse, |
charlesmn | 0:0be0bd219e72 | 3415 | VL53LX_hist_gen3_algo_private_data_t *palgo, |
charlesmn | 0:0be0bd219e72 | 3416 | VL53LX_hist_gen4_algo_filtered_data_t *pfiltered); |
charlesmn | 0:0be0bd219e72 | 3417 | |
charlesmn | 0:0be0bd219e72 | 3418 | VL53LX_Error VL53LX_f_027( |
charlesmn | 0:0be0bd219e72 | 3419 | uint8_t pulse_no, |
charlesmn | 0:0be0bd219e72 | 3420 | uint16_t noise_threshold, |
charlesmn | 0:0be0bd219e72 | 3421 | VL53LX_hist_gen4_algo_filtered_data_t *pfiltered, |
charlesmn | 0:0be0bd219e72 | 3422 | VL53LX_hist_gen3_algo_private_data_t *palgo); |
charlesmn | 0:0be0bd219e72 | 3423 | |
charlesmn | 0:0be0bd219e72 | 3424 | VL53LX_Error VL53LX_f_028( |
charlesmn | 0:0be0bd219e72 | 3425 | uint8_t bin, |
charlesmn | 0:0be0bd219e72 | 3426 | int32_t VL53LX_p_007, |
charlesmn | 0:0be0bd219e72 | 3427 | int32_t VL53LX_p_032, |
charlesmn | 0:0be0bd219e72 | 3428 | int32_t VL53LX_p_001, |
charlesmn | 0:0be0bd219e72 | 3429 | int32_t ax, |
charlesmn | 0:0be0bd219e72 | 3430 | int32_t bx, |
charlesmn | 0:0be0bd219e72 | 3431 | int32_t cx, |
charlesmn | 0:0be0bd219e72 | 3432 | int32_t VL53LX_p_028, |
charlesmn | 0:0be0bd219e72 | 3433 | uint8_t VL53LX_p_030, |
charlesmn | 0:0be0bd219e72 | 3434 | uint32_t *pmedian_phase); |
charlesmn | 0:0be0bd219e72 | 3435 | |
charlesmn | 0:0be0bd219e72 | 3436 | |
charlesmn | 0:0be0bd219e72 | 3437 | |
charlesmn | 0:0be0bd219e72 | 3438 | /* vl53lx_dmax.h */ |
charlesmn | 0:0be0bd219e72 | 3439 | |
charlesmn | 0:0be0bd219e72 | 3440 | VL53LX_Error VL53LX_f_001( |
charlesmn | 0:0be0bd219e72 | 3441 | uint16_t target_reflectance, |
charlesmn | 0:0be0bd219e72 | 3442 | VL53LX_dmax_calibration_data_t *pcal, |
charlesmn | 0:0be0bd219e72 | 3443 | VL53LX_hist_gen3_dmax_config_t *pcfg, |
charlesmn | 0:0be0bd219e72 | 3444 | VL53LX_histogram_bin_data_t *pbins, |
charlesmn | 0:0be0bd219e72 | 3445 | VL53LX_hist_gen3_dmax_private_data_t *pdata, |
charlesmn | 0:0be0bd219e72 | 3446 | int16_t *pambient_dmax_mm); |
charlesmn | 0:0be0bd219e72 | 3447 | |
charlesmn | 0:0be0bd219e72 | 3448 | uint32_t VL53LX_f_002( |
charlesmn | 0:0be0bd219e72 | 3449 | uint32_t events_threshold, |
charlesmn | 0:0be0bd219e72 | 3450 | uint32_t ref_signal_events, |
charlesmn | 0:0be0bd219e72 | 3451 | uint32_t ref_distance_mm, |
charlesmn | 0:0be0bd219e72 | 3452 | uint32_t signal_thresh_sigma); |
charlesmn | 0:0be0bd219e72 | 3453 | |
charlesmn | 0:0be0bd219e72 | 3454 | |
charlesmn | 0:0be0bd219e72 | 3455 | |
charlesmn | 0:0be0bd219e72 | 3456 | /* vl53lx_api_calibration.h */ |
charlesmn | 0:0be0bd219e72 | 3457 | |
charlesmn | 0:0be0bd219e72 | 3458 | VL53LX_Error VL53LX_run_ref_spad_char( |
charlesmn | 0:0be0bd219e72 | 3459 | VL53LX_Error *pcal_status); |
charlesmn | 0:0be0bd219e72 | 3460 | |
charlesmn | 0:0be0bd219e72 | 3461 | |
charlesmn | 0:0be0bd219e72 | 3462 | |
charlesmn | 0:0be0bd219e72 | 3463 | |
charlesmn | 0:0be0bd219e72 | 3464 | VL53LX_Error VL53LX_run_device_test( |
charlesmn | 0:0be0bd219e72 | 3465 | VL53LX_DeviceTestMode device_test_mode); |
charlesmn | 0:0be0bd219e72 | 3466 | |
charlesmn | 0:0be0bd219e72 | 3467 | |
charlesmn | 0:0be0bd219e72 | 3468 | |
charlesmn | 0:0be0bd219e72 | 3469 | |
charlesmn | 0:0be0bd219e72 | 3470 | VL53LX_Error VL53LX_run_spad_rate_map( |
charlesmn | 0:0be0bd219e72 | 3471 | VL53LX_DeviceTestMode device_test_mode, |
charlesmn | 0:0be0bd219e72 | 3472 | VL53LX_DeviceSscArray array_select, |
charlesmn | 0:0be0bd219e72 | 3473 | uint32_t ssc_config_timeout_us, |
charlesmn | 0:0be0bd219e72 | 3474 | VL53LX_spad_rate_data_t *pspad_rate_data); |
charlesmn | 0:0be0bd219e72 | 3475 | |
charlesmn | 0:0be0bd219e72 | 3476 | |
charlesmn | 0:0be0bd219e72 | 3477 | |
charlesmn | 0:0be0bd219e72 | 3478 | |
charlesmn | 0:0be0bd219e72 | 3479 | VL53LX_Error VL53LX_run_xtalk_extraction( |
charlesmn | 0:0be0bd219e72 | 3480 | VL53LX_Error *pcal_status); |
charlesmn | 0:0be0bd219e72 | 3481 | |
charlesmn | 0:0be0bd219e72 | 3482 | |
charlesmn | 0:0be0bd219e72 | 3483 | |
charlesmn | 0:0be0bd219e72 | 3484 | VL53LX_Error VL53LX_get_and_avg_xtalk_samples( |
charlesmn | 0:0be0bd219e72 | 3485 | uint8_t num_of_samples, |
charlesmn | 0:0be0bd219e72 | 3486 | uint8_t measurement_mode, |
charlesmn | 0:0be0bd219e72 | 3487 | int16_t xtalk_filter_thresh_max_mm, |
charlesmn | 0:0be0bd219e72 | 3488 | int16_t xtalk_filter_thresh_min_mm, |
charlesmn | 0:0be0bd219e72 | 3489 | uint16_t xtalk_max_valid_rate_kcps, |
charlesmn | 0:0be0bd219e72 | 3490 | uint8_t xtalk_result_id, |
charlesmn | 0:0be0bd219e72 | 3491 | uint8_t xtalk_histo_id, |
charlesmn | 0:0be0bd219e72 | 3492 | VL53LX_xtalk_range_results_t *pxtalk_results, |
charlesmn | 0:0be0bd219e72 | 3493 | VL53LX_histogram_bin_data_t *psum_histo, |
charlesmn | 0:0be0bd219e72 | 3494 | VL53LX_histogram_bin_data_t *pavg_histo); |
charlesmn | 0:0be0bd219e72 | 3495 | |
charlesmn | 0:0be0bd219e72 | 3496 | |
charlesmn | 0:0be0bd219e72 | 3497 | |
charlesmn | 0:0be0bd219e72 | 3498 | VL53LX_Error VL53LX_run_offset_calibration( |
charlesmn | 0:0be0bd219e72 | 3499 | int16_t cal_distance_mm, |
charlesmn | 0:0be0bd219e72 | 3500 | uint16_t cal_reflectance_pc, |
charlesmn | 0:0be0bd219e72 | 3501 | VL53LX_Error *pcal_status); |
charlesmn | 0:0be0bd219e72 | 3502 | |
charlesmn | 0:0be0bd219e72 | 3503 | |
charlesmn | 0:0be0bd219e72 | 3504 | |
charlesmn | 0:0be0bd219e72 | 3505 | |
charlesmn | 0:0be0bd219e72 | 3506 | VL53LX_Error VL53LX_run_phasecal_average( |
charlesmn | 0:0be0bd219e72 | 3507 | uint8_t measurement_mode, |
charlesmn | 0:0be0bd219e72 | 3508 | uint8_t phasecal_result__vcsel_start, |
charlesmn | 0:0be0bd219e72 | 3509 | uint16_t phasecal_num_of_samples, |
charlesmn | 0:0be0bd219e72 | 3510 | VL53LX_range_results_t *prange_results, |
charlesmn | 0:0be0bd219e72 | 3511 | uint16_t *pphasecal_result__reference_phase, |
charlesmn | 0:0be0bd219e72 | 3512 | uint16_t *pzero_distance_phase); |
charlesmn | 0:0be0bd219e72 | 3513 | |
charlesmn | 0:0be0bd219e72 | 3514 | |
charlesmn | 0:0be0bd219e72 | 3515 | |
charlesmn | 0:0be0bd219e72 | 3516 | |
charlesmn | 0:0be0bd219e72 | 3517 | VL53LX_Error VL53LX_run_zone_calibration( |
charlesmn | 0:0be0bd219e72 | 3518 | VL53LX_DevicePresetModes device_preset_mode, |
charlesmn | 0:0be0bd219e72 | 3519 | VL53LX_DeviceZonePreset zone_preset, |
charlesmn | 0:0be0bd219e72 | 3520 | VL53LX_zone_config_t *pzone_cfg, |
charlesmn | 0:0be0bd219e72 | 3521 | int16_t cal_distance_mm, |
charlesmn | 0:0be0bd219e72 | 3522 | uint16_t cal_reflectance_pc, |
charlesmn | 0:0be0bd219e72 | 3523 | VL53LX_Error *pcal_status); |
charlesmn | 0:0be0bd219e72 | 3524 | |
charlesmn | 0:0be0bd219e72 | 3525 | |
charlesmn | 0:0be0bd219e72 | 3526 | |
charlesmn | 0:0be0bd219e72 | 3527 | |
charlesmn | 0:0be0bd219e72 | 3528 | void VL53LX_hist_xtalk_extract_data_init( |
charlesmn | 0:0be0bd219e72 | 3529 | VL53LX_hist_xtalk_extract_data_t *pxtalk_data); |
charlesmn | 0:0be0bd219e72 | 3530 | |
charlesmn | 0:0be0bd219e72 | 3531 | |
charlesmn | 0:0be0bd219e72 | 3532 | |
charlesmn | 0:0be0bd219e72 | 3533 | VL53LX_Error VL53LX_hist_xtalk_extract_update( |
charlesmn | 0:0be0bd219e72 | 3534 | int16_t target_distance_mm, |
charlesmn | 0:0be0bd219e72 | 3535 | uint16_t target_width_oversize, |
charlesmn | 0:0be0bd219e72 | 3536 | VL53LX_histogram_bin_data_t *phist_bins, |
charlesmn | 0:0be0bd219e72 | 3537 | VL53LX_hist_xtalk_extract_data_t *pxtalk_data); |
charlesmn | 0:0be0bd219e72 | 3538 | |
charlesmn | 0:0be0bd219e72 | 3539 | |
charlesmn | 0:0be0bd219e72 | 3540 | |
charlesmn | 0:0be0bd219e72 | 3541 | VL53LX_Error VL53LX_hist_xtalk_extract_fini( |
charlesmn | 0:0be0bd219e72 | 3542 | VL53LX_histogram_bin_data_t *phist_bins, |
charlesmn | 0:0be0bd219e72 | 3543 | VL53LX_hist_xtalk_extract_data_t *pxtalk_data, |
charlesmn | 0:0be0bd219e72 | 3544 | VL53LX_xtalk_calibration_results_t *pxtalk_cal, |
charlesmn | 0:0be0bd219e72 | 3545 | VL53LX_xtalk_histogram_shape_t *pxtalk_shape); |
charlesmn | 0:0be0bd219e72 | 3546 | |
charlesmn | 0:0be0bd219e72 | 3547 | |
charlesmn | 0:0be0bd219e72 | 3548 | |
charlesmn | 0:0be0bd219e72 | 3549 | |
charlesmn | 0:0be0bd219e72 | 3550 | VL53LX_Error VL53LX_run_hist_xtalk_extraction( |
charlesmn | 0:0be0bd219e72 | 3551 | int16_t cal_distance_mm, |
charlesmn | 0:0be0bd219e72 | 3552 | VL53LX_Error *pcal_status); |
charlesmn | 0:0be0bd219e72 | 3553 | |
charlesmn | 0:0be0bd219e72 | 3554 | /* vl53lx_api_core.c static functions */ |
charlesmn | 0:0be0bd219e72 | 3555 | VL53LX_Error select_offset_per_vcsel(VL53LX_LLDriverData_t *pdev, int16_t *poffset); |
charlesmn | 0:0be0bd219e72 | 3556 | void vl53lx_diff_histo_stddev(VL53LX_LLDriverData_t *pdev, VL53LX_histogram_bin_data_t *pdata, uint8_t timing, uint8_t HighIndex, uint8_t prev_pos, int32_t *pdiff_histo_stddev) ; |
charlesmn | 0:0be0bd219e72 | 3557 | void vl53lx_histo_merge(VL53LX_histogram_bin_data_t *pdata); |
charlesmn | 0:0be0bd219e72 | 3558 | |
charlesmn | 0:0be0bd219e72 | 3559 | /* vl53lx_api.c static functions */ |
charlesmn | 0:0be0bd219e72 | 3560 | |
charlesmn | 0:0be0bd219e72 | 3561 | |
charlesmn | 0:0be0bd219e72 | 3562 | |
charlesmn | 0:0be0bd219e72 | 3563 | // int32_t BDTable[VL53LX_TUNING_MAX_TUNABLE_KEY] = { |
charlesmn | 0:0be0bd219e72 | 3564 | int BDTable[11]; |
charlesmn | 0:0be0bd219e72 | 3565 | |
charlesmn | 0:0be0bd219e72 | 3566 | |
charlesmn | 0:0be0bd219e72 | 3567 | /* |
charlesmn | 0:0be0bd219e72 | 3568 | |
charlesmn | 0:0be0bd219e72 | 3569 | int32_t BDTable[11] = { |
charlesmn | 0:0be0bd219e72 | 3570 | TUNING_VERSION, |
charlesmn | 0:0be0bd219e72 | 3571 | TUNING_PROXY_MIN, |
charlesmn | 0:0be0bd219e72 | 3572 | TUNING_SINGLE_TARGET_XTALK_TARGET_DISTANCE_MM, |
charlesmn | 0:0be0bd219e72 | 3573 | TUNING_SINGLE_TARGET_XTALK_SAMPLE_NUMBER, |
charlesmn | 0:0be0bd219e72 | 3574 | TUNING_MIN_AMBIENT_DMAX_VALID, |
charlesmn | 0:0be0bd219e72 | 3575 | TUNING_MAX_SIMPLE_OFFSET_CALIBRATION_SAMPLE_NUMBER, |
charlesmn | 0:0be0bd219e72 | 3576 | TUNING_XTALK_FULL_ROI_TARGET_DISTANCE_MM, |
charlesmn | 0:0be0bd219e72 | 3577 | TUNING_SIMPLE_OFFSET_CALIBRATION_REPEAT, |
charlesmn | 0:0be0bd219e72 | 3578 | TUNING_XTALK_FULL_ROI_BIN_SUM_MARGIN, |
charlesmn | 0:0be0bd219e72 | 3579 | TUNING_XTALK_FULL_ROI_DEFAULT_OFFSET, |
charlesmn | 0:0be0bd219e72 | 3580 | TUNING_ZERO_DISTANCE_OFFSET_NON_LINEAR_FACTOR_DEFAULT |
charlesmn | 0:0be0bd219e72 | 3581 | }; |
charlesmn | 0:0be0bd219e72 | 3582 | */ |
charlesmn | 0:0be0bd219e72 | 3583 | |
charlesmn | 0:0be0bd219e72 | 3584 | |
charlesmn | 0:0be0bd219e72 | 3585 | VL53LX_Error ComputeDevicePresetMode( |
charlesmn | 0:0be0bd219e72 | 3586 | VL53LX_DistanceModes DistanceMode, |
charlesmn | 0:0be0bd219e72 | 3587 | VL53LX_DevicePresetModes *pDevicePresetMode); |
charlesmn | 0:0be0bd219e72 | 3588 | |
charlesmn | 0:0be0bd219e72 | 3589 | VL53LX_Error SetPresetModeL3CX( |
charlesmn | 0:0be0bd219e72 | 3590 | VL53LX_DistanceModes DistanceMode, |
charlesmn | 0:0be0bd219e72 | 3591 | uint32_t inter_measurement_period_ms); |
charlesmn | 0:0be0bd219e72 | 3592 | |
charlesmn | 0:0be0bd219e72 | 3593 | VL53LX_Error SetInterMeasurementPeriodMilliSeconds(uint32_t InterMeasurementPeriodMilliSeconds); |
charlesmn | 0:0be0bd219e72 | 3594 | |
charlesmn | 0:0be0bd219e72 | 3595 | VL53LX_Error GetInterMeasurementPeriodMilliSeconds(uint32_t *pInterMeasurementPeriodMilliSeconds); |
charlesmn | 0:0be0bd219e72 | 3596 | |
charlesmn | 0:0be0bd219e72 | 3597 | uint8_t ConvertStatusHisto(uint8_t FilteredRangeStatus); |
charlesmn | 0:0be0bd219e72 | 3598 | |
charlesmn | 0:0be0bd219e72 | 3599 | VL53LX_Error SetTargetData( |
charlesmn | 0:0be0bd219e72 | 3600 | uint8_t active_results, uint8_t device_status, |
charlesmn | 0:0be0bd219e72 | 3601 | VL53LX_range_data_t *presults_data, |
charlesmn | 0:0be0bd219e72 | 3602 | VL53LX_TargetRangeData_t *pRangeData); |
charlesmn | 0:0be0bd219e72 | 3603 | |
charlesmn | 0:0be0bd219e72 | 3604 | VL53LX_Error SetMeasurementData( |
charlesmn | 0:0be0bd219e72 | 3605 | VL53LX_range_results_t *presults, |
charlesmn | 0:0be0bd219e72 | 3606 | VL53LX_MultiRangingData_t *pMultiRangingData); |
charlesmn | 0:0be0bd219e72 | 3607 | |
charlesmn | 0:0be0bd219e72 | 3608 | |
charlesmn | 0:0be0bd219e72 | 3609 | /* Write and read functions from I2C */ |
charlesmn | 0:0be0bd219e72 | 3610 | |
charlesmn | 0:0be0bd219e72 | 3611 | VL53LX_Error VL53LX_WrByte(VL53LX_DEV Dev, uint16_t index, uint8_t data); |
charlesmn | 0:0be0bd219e72 | 3612 | VL53LX_Error VL53LX_WrWord(VL53LX_DEV Dev, uint16_t index, uint16_t data); |
charlesmn | 0:0be0bd219e72 | 3613 | VL53LX_Error VL53LX_WrDWord(VL53LX_DEV Dev, uint16_t index, uint32_t data); |
charlesmn | 0:0be0bd219e72 | 3614 | VL53LX_Error VL53LX_RdByte(VL53LX_DEV Dev, uint16_t index, uint8_t *data); |
charlesmn | 0:0be0bd219e72 | 3615 | // VL53LX_Error VL53LX_RdWord(VL53LX_DEV Dev, uint16_t index, uint16_t *data); |
charlesmn | 0:0be0bd219e72 | 3616 | VL53LX_Error VL53LX_RdDWord(VL53LX_DEV Dev, uint16_t index, uint32_t *data); |
charlesmn | 0:0be0bd219e72 | 3617 | VL53LX_Error VL53LX_UpdateByte(VL53LX_DEV Dev, uint16_t index, uint8_t AndData, uint8_t OrData); |
charlesmn | 0:0be0bd219e72 | 3618 | |
charlesmn | 0:0be0bd219e72 | 3619 | VL53LX_Error VL53LX_WriteMulti(VL53LX_DEV Dev, uint16_t index, uint8_t *pdata, uint32_t count); |
charlesmn | 0:0be0bd219e72 | 3620 | VL53LX_Error VL53LX_ReadMulti(VL53LX_DEV Dev, uint16_t index, uint8_t *pdata, uint32_t count); |
charlesmn | 0:0be0bd219e72 | 3621 | |
charlesmn | 0:0be0bd219e72 | 3622 | VL53LX_Error VL53LX_I2CWrite(uint8_t DeviceAddr, uint16_t RegisterAddr, uint8_t *pBuffer, uint16_t NumByteToWrite); |
charlesmn | 0:0be0bd219e72 | 3623 | VL53LX_Error VL53LX_I2CRead(uint8_t DeviceAddr, uint16_t RegisterAddr, uint8_t *pBuffer, uint16_t NumByteToRead); |
charlesmn | 0:0be0bd219e72 | 3624 | VL53LX_Error VL53LX_GetTickCount(uint32_t *ptick_count_ms); |
charlesmn | 0:0be0bd219e72 | 3625 | VL53LX_Error VL53LX_WaitUs(VL53LX_Dev_t *pdev, int32_t wait_us); |
charlesmn | 0:0be0bd219e72 | 3626 | VL53LX_Error VL53LX_WaitMs(VL53LX_Dev_t *pdev, int32_t wait_ms); |
charlesmn | 0:0be0bd219e72 | 3627 | |
charlesmn | 0:0be0bd219e72 | 3628 | VL53LX_Error VL53LX_WaitValueMaskEx(VL53LX_Dev_t *pdev, uint32_t timeout_ms, uint16_t index, uint8_t value, uint8_t mask, uint32_t poll_delay_ms); |
charlesmn | 0:0be0bd219e72 | 3629 | |
charlesmn | 0:0be0bd219e72 | 3630 | |
charlesmn | 0:0be0bd219e72 | 3631 | protected: |
charlesmn | 0:0be0bd219e72 | 3632 | |
charlesmn | 0:0be0bd219e72 | 3633 | /* IO Device */ |
charlesmn | 0:0be0bd219e72 | 3634 | vl53L3_DevI2C *dev_i2c; |
johnAlexander | 2:ad33ff89d2cf | 3635 | |
charlesmn | 0:0be0bd219e72 | 3636 | /* Device data */ |
charlesmn | 0:0be0bd219e72 | 3637 | VL53LX_Dev_t MyDevice; |
charlesmn | 0:0be0bd219e72 | 3638 | VL53LX_DEV Dev; |
charlesmn | 0:0be0bd219e72 | 3639 | |
johnAlexander | 2:ad33ff89d2cf | 3640 | // vl53L3_DevI2C *i2c_inst; |
charlesmn | 0:0be0bd219e72 | 3641 | |
charlesmn | 0:0be0bd219e72 | 3642 | /* Digital out pin */ |
charlesmn | 0:0be0bd219e72 | 3643 | DigitalOut *_gpio0; |
charlesmn | 0:0be0bd219e72 | 3644 | /* GPIO expander */ |
charlesmn | 0:0be0bd219e72 | 3645 | Stmpe1600DigiOut *_expgpio0; |
charlesmn | 0:0be0bd219e72 | 3646 | /* Measure detection IRQ */ |
charlesmn | 0:0be0bd219e72 | 3647 | InterruptIn *_gpio1Int; |
johnAlexander | 2:ad33ff89d2cf | 3648 | |
charlesmn | 0:0be0bd219e72 | 3649 | }; |
charlesmn | 0:0be0bd219e72 | 3650 | |
charlesmn | 0:0be0bd219e72 | 3651 | #endif /* _VL53LX_CLASS_H_ */ |
charlesmn | 0:0be0bd219e72 | 3652 |