VL53LX API Specification: Documentation

VL53LX API Specification

1.2.13.2676
Documentation

Introduction

This driver is intended to provide an API functions to ease the development of applications.

Overview

This document is intended to help in the development of applications based on VL53LX sensor and describes the API of the driver delivered by ST as open source C code.
Some of the API files are hardware and platform dependent (specially I2C access) so need for end user adaptation according to his own platform.

Device Info from API

The API provide a function that can be used to obtain information of the device used like the cut version. This function is VL53LX_GetDeviceInfo().

Coding Standards

The implementation of this API will follow Linux Kernel rules as defined in https://www.kernel.org/doc/Documentation/CodingStyle

Generated by DoxyGen (1.9.1)


VL53LX API Specification: Disclaimer

Disclaimer

Copyright (C) 2021 STMicroelectronics Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

A copy of the license is included in the section entitled "GNU Free Documentation License".


VL53LX API Specification: Platform

Platform

All API settings that are platform-dependent must be adapted to the platform on which API is compiled/running.

This is done in VL53LX_platform.h file.

1. Sensor device type definition

User must provide an allocated instance of VL53LX_Dev_t type (in VL53LX_platform.h file) for each device he wants to use through

int VL53LX_xxxx(VL53LX_Dev_t dev, ... )
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:32

functions

2. Device Read & Write access

API low-level functions rely on a few set of read & write functions which perform the access to the device. These functions must be implemented by the end user according to his platform configuration. Internal register access functions should be used :

  • VL53LX_WriteMulti()
  • VL53LX_ReadMulti()
  • VL53LX_WrByte()
  • VL53LX_WrWord()
  • VL53LX_WrDWord()
  • VL53LX_RdByte()
  • VL53LX_RdWord()
  • VL53LX_RdDWord()

    3. Data Types declaration

API functions rely on data types which are defined in VL53LX_types.h file. This file may require user attention and porting in case of warning messages.

4. Delay for polling operations

API polling high level functions do call the function VL53LX_PollingDelay() inside their while loop. A default implementation of the VL53LX_PollingDelay() function is provided. You may decide to change and implement your own VL53LX_PollingDelay() function.

5. API logging

All API functions entry and leave can be logged to help debugging issues. By default logging is disabled please define VL53LX_LOG_ENABLE at compilation level. If logging is enabled, a small set of macros must be implemented to adapt logging operation to the platform : _LOG_FUNCTION_START, _LOG_FUNCTION_END and _LOG_FUNCTION_END_FMT


VL53LX API Specification: RangeStatus

RangeStatus

The Range Status is contained in the VL53LX_RangingMeasurementData_t and give the quality of the latest ranging.

This is a 8 bit data which contains the following fields:

VL53LX_RANGESTATUS_RANGE_VALID = Range Valid

This value indicate that the ranging is valid.

VL53LX_RANGESTATUS_SIGMA_FAIL = Sigma Fail

This value indicate that the sigma limit check has failed. Use the function VL53LX_SetLimitCheckEnable() and VL53LX_SetLimitCheckValue() to manage the limit.

VL53LX_RANGESTATUS_SIGNAL_FAIL = Signal Fail

This value indicate that the signal check has failed. This can happens when there is no target or when the Range Ignore threshold check has failed. Use the function VL53LX_SetLimitCheckEnable() and VL53LX_SetLimitCheckValue() to manage the limit.

VL53LX_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED = Min Range Fail

This value indicate that the min range check has failed.

VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL = Phase out of valid limits

This value indicate that the Phase check has failed.

VL53LX_RANGESTATUS_HARDWARE_FAIL = HardWare Fail

This value indicate that the Hardware check has failed.

VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK = Range Valid no Wrap around check

This value indicate that range measurements exist but the check for the wrap around has not been done.

VL53LX_RANGESTATUS_WRAP_TARGET_FAIL = wrapped target

Wrapped target - no matching phase in other VCSEL period timing.

VL53LX_RANGESTATUS_SYNCRONISATION_INT = ACK after VL53LX_StartMeasurement() call

Very first interrupt received when starting ranging in back to back mode. Application shall ignore the measurement data.

VL53LX_RANGESTATUS_RANGE_VALID_MERGED_PULSE = Range Quality Level information

Warns the application that ranging is ok but object reported is result of multiple pulses merging together.

VL53LX_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL = Range Quality Level information

this warning is different to phase fail.

VL53LX_RANGESTATUS_NONE = None

No Update. Tipically this happens when the data get doesn't contains meaningful values


VL53LX API Specification: Modules

Modules
Here is a list of all modules:
[detail level 12]
▼ VL53LX Function Definition | VL53LX Function Definition
VL53LX General Functions | General functions and definitions
VL53LX Init Functions | VL53LX Init Functions
VL53LX Parameters Functions | Functions used to prepare and setup the device
VL53LX ROI Functions | Functions used to select ROIs
VL53LX Measurement Functions | Functions used for the measurements
VL53LX Calibration Functions | Functions used for Calibration
▼ VL53LX Defines | VL53LX Defines
Defines Distance modes | Defines all possible Distance modes for the device
Defines Offset Correction modes | Device Offset Correction Mode
Defines smudge correction modes | Defines the smudge correction modes
Defines the Range Status |
General Macro Defines | General Macro Defines
Error and Warning code returned by API | The following DEFINE are used to identify the TOF device ERROR


VL53LX API Specification: VL53LX Function Definition

Modules
VL53LX Function Definition

VL53LX Function Definition. More...

Modules

VL53LX General Functions
General functions and definitions.
VL53LX Init Functions
VL53LX Init Functions.
VL53LX Parameters Functions
Functions used to prepare and setup the device.
VL53LX ROI Functions
Functions used to select ROIs.
VL53LX Measurement Functions
Functions used for the measurements.
VL53LX Calibration Functions
Functions used for Calibration.

Detailed Description

VL53LX Function Definition.


VL53LX API Specification: VL53LX General Functions

Functions
VL53LX General Functions
VL53LX Function Definition

General functions and definitions. More...

Functions

VL53LX_Error | VL53LX_GetVersion (VL53LX_Version_t *pVersion)
Return the VL53LX driver Version. More...
VL53LX_Error | VL53LX_GetProductRevision (VL53LX_DEV Dev, uint8_t *pProductRevisionMajor, uint8_t *pProductRevisionMinor)
Reads the Product Revision for a for given Device This function can be used to distinguish cut1.0 from cut1.1. More...
VL53LX_Error | VL53LX_GetDeviceInfo (VL53LX_DEV Dev, VL53LX_DeviceInfo_t *pVL53LX_DeviceInfo)
Reads the Device information for given Device. More...
VL53LX_Error | VL53LX_GetUID (VL53LX_DEV Dev, uint64_t *pUid)
Reads the Device unique identifier. More...

Detailed Description

General functions and definitions.

Function Documentation

◆ VL53LX_GetVersion()

VL53LX_Error VL53LX_GetVersion ( VL53LX_Version_t * pVersion )

Return the VL53LX driver Version.

Note
This function doesn't access to the device
Parameters
pVersion Rer to current driver Version
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetProductRevision()

VL53LX_Error VL53LX_GetProductRevision | ( | VL53LX_DEV | Dev,
 |  | uint8_t * | pProductRevisionMajor,
 |  | uint8_t * | pProductRevisionMinor
 | ) |  |

Reads the Product Revision for a for given Device This function can be used to distinguish cut1.0 from cut1.1.

Parameters
Dev | Device Handle
pProductRevisionMajor | Pointer to Product Revision Major for a given Device
pProductRevisionMinor | Pointer to Product Revision Minor for a given Device
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetDeviceInfo()

VL53LX_Error VL53LX_GetDeviceInfo | ( | VL53LX_DEV | Dev,
 |  | VL53LX_DeviceInfo_t * | pVL53LX_DeviceInfo
 | ) |  |

Reads the Device information for given Device.

Note
This function Access to the device
Parameters
Dev | Device Handle
pVL53LX_DeviceInfo | Pointer to current device info for a given Device
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetUID()

VL53LX_Error VL53LX_GetUID | ( | VL53LX_DEV | Dev,
 |  | uint64_t * | pUid
 | ) |  |

Reads the Device unique identifier.

Note
This function Access to the device
Parameters
Dev | Device Handle
pUid | Pointer to current device unique ID
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error


VL53LX API Specification: VL53LX Init Functions

Functions
VL53LX Init Functions
VL53LX Function Definition

VL53LX Init Functions. More...

Functions

VL53LX_Error | VL53LX_SetDeviceAddress (VL53LX_DEV Dev, uint8_t DeviceAddress)
Set new device address. More...
VL53LX_Error | VL53LX_DataInit (VL53LX_DEV Dev)
One time device initialization. More...
VL53LX_Error | VL53LX_WaitDeviceBooted (VL53LX_DEV Dev)
Wait for device booted after chip enable (hardware standby) More...

Detailed Description

VL53LX Init Functions.

Function Documentation

◆ VL53LX_SetDeviceAddress()

VL53LX_Error VL53LX_SetDeviceAddress | ( | VL53LX_DEV | Dev,
 |  | uint8_t | DeviceAddress
 | ) |  |

Set new device address.

After completion the device will answer to the new address programmed. This function should be called when several devices are used in parallel before start programming the sensor. When a single device us used, there is no need to call this function.

Note
This function Access to the device
Parameters
Dev | Device Handle
DeviceAddress | The new Device address
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_DataInit()

VL53LX_Error VL53LX_DataInit ( VL53LX_DEV Dev )

One time device initialization.

To be called after device has been powered on and booted see VL53LX_WaitDeviceBooted()

Function Description
When not used after a fresh device "power up", it may return VL53LX_ERROR_CALIBRATION_WARNING meaning wrong calibration data may have been fetched from device that can result in ranging offset error
If VL53LX_DataInit is called several times then the application must restore calibration calling VL53LX_SetOffsetCalibrationData() It implies application has gathered calibration data thanks to VL53LX_GetOffsetCalibrationData() after an initial calibration stage.
Note
This function Access to the device
Parameters
Dev Device Handle
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_WaitDeviceBooted()

VL53LX_Error VL53LX_WaitDeviceBooted ( VL53LX_DEV Dev )

Wait for device booted after chip enable (hardware standby)

Parameters
Dev Device Handle
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error


VL53LX API Specification: VL53LX Parameters Functions

Functions
VL53LX Parameters Functions
VL53LX Function Definition

Functions used to prepare and setup the device. More...

Functions

VL53LX_Error | VL53LX_SetDistanceMode (VL53LX_DEV Dev, VL53LX_DistanceModes DistanceMode)
Set the distance mode. More...
VL53LX_Error | VL53LX_GetDistanceMode (VL53LX_DEV Dev, VL53LX_DistanceModes *pDistanceMode)
Get the distance mode. More...
VL53LX_Error | VL53LX_SetMeasurementTimingBudgetMicroSeconds (VL53LX_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds)
Set Ranging Timing Budget in microseconds. More...
VL53LX_Error | VL53LX_GetMeasurementTimingBudgetMicroSeconds (VL53LX_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds)
Get Ranging Timing Budget in microseconds. More...

Detailed Description

Functions used to prepare and setup the device.

Function Documentation

◆ VL53LX_SetDistanceMode()

VL53LX_Error VL53LX_SetDistanceMode | ( | VL53LX_DEV | Dev,
 |  | VL53LX_DistanceModes | DistanceMode
 | ) |  |

Set the distance mode.

Function Description
Set the distance mode to be used for the next ranging.
The modes Short, Medium and Long are used to optimize the ranging accuracy in a specific range of distance.
The user select one of these modes to select the distance range.
Note
This function doesn't Access to the device
Warning
This function should be called after VL53LX_DataInit().
Parameters
Dev Device Handle
DistanceMode Distance mode to apply, valid values are:
  • VL53LX_DISTANCEMODE_SHORT
  • VL53LX_DISTANCEMODE_MEDIUM
  • VL53LX_DISTANCEMODE_LONG
Returns
VL53LX_ERROR_NONE Success
VL53LX_ERROR_MODE_NOT_SUPPORTED This error occurs when DistanceMode is not in the supported list
"Other error code" See VL53LX_Error

◆ VL53LX_GetDistanceMode()

VL53LX_Error VL53LX_GetDistanceMode | ( | VL53LX_DEV | Dev,
 |  | VL53LX_DistanceModes * | pDistanceMode
 | ) |  |

Get the distance mode.

Function Description
Get the distance mode used for the next ranging.
Parameters
Dev | Device Handle
*pDistanceMode | Pointer to Distance mode
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_SetMeasurementTimingBudgetMicroSeconds()

VL53LX_Error VL53LX_SetMeasurementTimingBudgetMicroSeconds | ( | VL53LX_DEV | Dev,
 |  | uint32_t | MeasurementTimingBudgetMicroSeconds
 | ) |  |

Set Ranging Timing Budget in microseconds.

Function Description
Defines the maximum time allowed by the user to the device to run a full ranging sequence for the current mode (ranging, histogram, ASL ...)
Parameters
Dev | Device Handle
MeasurementTimingBudgetMicroSeconds | Max measurement time in microseconds.
Returns
VL53LX_ERROR_NONE Success
VL53LX_ERROR_INVALID_PARAMS Error timing parameter not supported. The maximum accepted value for the computed timing budget is 10 seconds the minimum value depends on the preset mode selected.
"Other error code" See VL53LX_Error

◆ VL53LX_GetMeasurementTimingBudgetMicroSeconds()

VL53LX_Error VL53LX_GetMeasurementTimingBudgetMicroSeconds | ( | VL53LX_DEV | Dev,
 |  | uint32_t * | pMeasurementTimingBudgetMicroSeconds
 | ) |  |

Get Ranging Timing Budget in microseconds.

Function Description
Returns the programmed the maximum time allowed by the user to the device to run a full ranging sequence for the current mode (ranging, histogram, ...)
Parameters
Dev | Device Handle
pMeasurementTimingBudgetMicroSeconds | Max measurement time in microseconds.
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error


VL53LX API Specification: VL53LX ROI Functions

Functions
VL53LX ROI Functions
VL53LX Function Definition

Functions used to select ROIs. More...

Functions

VL53LX_Error | VL53LX_SetUserROI (VL53LX_DEV Dev, VL53LX_UserRoi_t *pUserROi)
Set the ROI to be used for ranging. More...
VL53LX_Error | VL53LX_GetUserROI (VL53LX_DEV Dev, VL53LX_UserRoi_t *pUserROi)
Get the ROI managed by the Device. More...

Detailed Description

Functions used to select ROIs.

Function Documentation

◆ VL53LX_SetUserROI()

VL53LX_Error VL53LX_SetUserROI | ( | VL53LX_DEV | Dev,
 |  | VL53LX_UserRoi_t * | pUserROi
 | ) |  |

Set the ROI to be used for ranging.

Function Description
The user defined ROI is a rectangle described as per the following system from the Top Left corner to the Bottom Right corner.
Minimal ROI size is 4x4 spads
Parameters
Dev | Device Handle
pUserROi | Pointer to the Structure defining the ROI
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetUserROI()

VL53LX_Error VL53LX_GetUserROI | ( | VL53LX_DEV | Dev,
 |  | VL53LX_UserRoi_t * | pUserROi
 | ) |  |

Get the ROI managed by the Device.

Function Description
Get the ROI managed by the Device
Parameters
Dev | Device Handle
pUserROi | Pointer to the Structure defining the ROI
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error


VL53LX API Specification: VL53LX Measurement Functions

Functions
VL53LX Measurement Functions
VL53LX Function Definition

Functions used for the measurements. More...

Functions

VL53LX_Error | VL53LX_StartMeasurement (VL53LX_DEV Dev)
Start device measurement. More...
VL53LX_Error | VL53LX_StopMeasurement (VL53LX_DEV Dev)
Stop device measurement. More...
VL53LX_Error | VL53LX_ClearInterruptAndStartMeasurement (VL53LX_DEV Dev)
Clear the Interrupt flag and start new measurement *. More...
VL53LX_Error | VL53LX_GetMeasurementDataReady (VL53LX_DEV Dev, uint8_t *pMeasurementDataReady)
Return Measurement Data Ready. More...
VL53LX_Error | VL53LX_WaitMeasurementDataReady (VL53LX_DEV Dev)
Wait for measurement data ready. More...
VL53LX_Error | VL53LX_GetMultiRangingData (VL53LX_DEV Dev, VL53LX_MultiRangingData_t *pMultiRangingData)
Retrieve all measurements from device with the current setup. More...
VL53LX_Error | VL53LX_GetAdditionalData (VL53LX_DEV Dev, VL53LX_AdditionalData_t *pAdditionalData)
Get Additional Data. More...

Detailed Description

Functions used for the measurements.

Function Documentation

◆ VL53LX_StartMeasurement()

VL53LX_Error VL53LX_StartMeasurement ( VL53LX_DEV Dev )

Start device measurement.

Started measurement will depend on distance parameter set through VL53LX_SetDistanceMode()

Note
This function Access to the device
Parameters
Dev Device Handle
Returns
VL53LX_ERROR_NONE Success
VL53LX_ERROR_TIME_OUT Time out on start measurement
VL53LX_ERROR_INVALID_PARAMS This error might occur in timed mode when inter measurement period is smaller or too close to the timing budget. In such case measurements are not started and user must correct the timings passed to VL53LX_SetMeasurementTimingBudgetMicroSeconds() and VL53LX_SetInterMeasurementPeriodMilliSeconds() functions.
"Other error code" See VL53LX_Error

◆ VL53LX_StopMeasurement()

VL53LX_Error VL53LX_StopMeasurement ( VL53LX_DEV Dev )

Stop device measurement.

Will set the device in standby mode at end of current measurement
Not necessary in single mode as device shall return automatically in standby mode at end of measurement.

Note
This function Access to the device
Parameters
Dev Device Handle
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_ClearInterruptAndStartMeasurement()

VL53LX_Error VL53LX_ClearInterruptAndStartMeasurement ( VL53LX_DEV Dev )

Clear the Interrupt flag and start new measurement *.

Note
This function Access to the device
Parameters
Dev Device Handle
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetMeasurementDataReady()

VL53LX_Error VL53LX_GetMeasurementDataReady | ( | VL53LX_DEV | Dev,
 |  | uint8_t * | pMeasurementDataReady
 | ) |  |

Return Measurement Data Ready.

Function Description
This function indicate that a measurement data is ready. This function is used for non-blocking capture.
Note
This function Access to the device
Parameters
Dev | Device Handle
pMeasurementDataReady | Pointer to Measurement Data Ready. 0 = data not ready, 1 = data ready
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_WaitMeasurementDataReady()

VL53LX_Error VL53LX_WaitMeasurementDataReady ( VL53LX_DEV Dev )

Wait for measurement data ready.

Blocking function. Note that the timeout is given by: VL53LX_RANGE_COMPLETION_POLLING_TIMEOUT_MS defined in def.h

Note
This function Access to the device
Parameters
Dev Device Handle
Returns
VL53LX_ERROR_NONE Success
VL53LX_ERROR_TIME_OUT In case of timeout

◆ VL53LX_GetMultiRangingData()

VL53LX_Error VL53LX_GetMultiRangingData | ( | VL53LX_DEV | Dev,
 |  | VL53LX_MultiRangingData_t * | pMultiRangingData
 | ) |  |

Retrieve all measurements from device with the current setup.

Function Description
Get data from last successful Ranging measurement
Warning
USER must call VL53LX_ClearInterruptAndStartMeasurement() prior to call again this function
Note
This function Access to the device
The first valid value returned by this function will have a range status equal to VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK which means that the data is valid but no wrap around check have been done. User should take care about that.
Parameters
Dev | Device Handle
pMultiRangingData | Pointer to the data structure to fill up.
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetAdditionalData()

VL53LX_Error VL53LX_GetAdditionalData | ( | VL53LX_DEV | Dev,
 |  | VL53LX_AdditionalData_t * | pAdditionalData
 | ) |  |

Get Additional Data.

Function Description
This function is used to get lld debugging data on the last histogram measurement. shall be called when a new measurement is ready (interrupt or positive VL53LX_GetMeasurementDataReady() polling) and before a call to VL53LX_ClearInterruptAndStartMeasurement().
Parameters
Dev | Device Handle
pAdditionalData | Pointer to Additional data
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error


VL53LX API Specification: VL53LX Calibration Functions

Functions
VL53LX Calibration Functions
VL53LX Function Definition

Functions used for Calibration. More...

Functions

VL53LX_Error | VL53LX_SetTuningParameter (VL53LX_DEV Dev, uint16_t TuningParameterId, int32_t TuningParameterValue)
Set Tuning Parameter value for a given parameter ID. More...
VL53LX_Error | VL53LX_GetTuningParameter (VL53LX_DEV Dev, uint16_t TuningParameterId, int32_t *pTuningParameterValue)
Get Tuning Parameter value for a given parameter ID. More...
VL53LX_Error | VL53LX_PerformRefSpadManagement (VL53LX_DEV Dev)
Performs Reference Spad Management. More...
VL53LX_Error | VL53LX_SmudgeCorrectionEnable (VL53LX_DEV Dev, VL53LX_SmudgeCorrectionModes Mode)
Enable/Disable dynamic Xtalk compensation feature. More...
VL53LX_Error | VL53LX_SetXTalkCompensationEnable (VL53LX_DEV Dev, uint8_t XTalkCompensationEnable)
Enable/Disable Cross talk compensation feature. More...
VL53LX_Error | VL53LX_GetXTalkCompensationEnable (VL53LX_DEV Dev, uint8_t *pXTalkCompensationEnable)
Get Cross talk compensation rate enable. More...
VL53LX_Error | VL53LX_PerformXTalkCalibration (VL53LX_DEV Dev)
Perform XTalk Calibration. More...
VL53LX_Error | VL53LX_SetOffsetCorrectionMode (VL53LX_DEV Dev, VL53LX_OffsetCorrectionModes OffsetCorrectionMode)
Define the mode to be used for the offset correction. More...
VL53LX_Error | VL53LX_PerformOffsetSimpleCalibration (VL53LX_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset simple Calibration. More...
VL53LX_Error | VL53LX_PerformOffsetZeroDistanceCalibration (VL53LX_DEV Dev)
Perform Offset simple Calibration with a "zero distance" target. More...
VL53LX_Error | VL53LX_PerformOffsetPerVcselCalibration (VL53LX_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset per Vcsel Calibration. More...
VL53LX_Error | VL53LX_SetCalibrationData (VL53LX_DEV Dev, VL53LX_CalibrationData_t *pCalibrationData)
Sets the Calibration Data. More...
VL53LX_Error | VL53LX_GetCalibrationData (VL53LX_DEV Dev, VL53LX_CalibrationData_t *pCalibrationData)
Gets the Calibration Data. More...
VL53LX_Error | VL53LX_GetOpticalCenter (VL53LX_DEV Dev, FixPoint1616_t *pOpticalCenterX, FixPoint1616_t *pOpticalCenterY)
Gets the optical center. More...

Detailed Description

Functions used for Calibration.

Function Documentation

◆ VL53LX_SetTuningParameter()

VL53LX_Error VL53LX_SetTuningParameter | ( | VL53LX_DEV | Dev,
 |  | uint16_t | TuningParameterId,
 |  | int32_t | TuningParameterValue
 | ) |  |

Set Tuning Parameter value for a given parameter ID.

Function Description
This function is used to improve the performance of the device. It permit to change a particular value used for a timeout or a threshold or a constant in an algorithm. The function will change the value of the parameter identified by an unique ID.
Note
This function doesn't Access to the device
Parameters
Dev | Device Handle
TuningParameterId | Tuning Parameter ID
TuningParameterValue | Tuning Parameter Value
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetTuningParameter()

VL53LX_Error VL53LX_GetTuningParameter | ( | VL53LX_DEV | Dev,
 |  | uint16_t | TuningParameterId,
 |  | int32_t * | pTuningParameterValue
 | ) |  |

Get Tuning Parameter value for a given parameter ID.

Function Description
This function is used to get the value of the parameter identified by an unique ID.
Note
This function doesn't Access to the device
Parameters
Dev | Device Handle
TuningParameterId | Tuning Parameter ID
pTuningParameterValue | Pointer to Tuning Parameter Value for a given TuningParameterId.
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_PerformRefSpadManagement()

VL53LX_Error VL53LX_PerformRefSpadManagement ( VL53LX_DEV Dev )

Performs Reference Spad Management.

Function Description
The reference SPAD initialization procedure determines the minimum amount of reference spads to be enables to achieve a target reference signal rate and should be performed once during initialization.
Note
This function Access to the device
Parameters
Dev Device Handle
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_SmudgeCorrectionEnable()

VL53LX_Error VL53LX_SmudgeCorrectionEnable | ( | VL53LX_DEV | Dev,
 |  | VL53LX_SmudgeCorrectionModes | Mode
 | ) |  |

Enable/Disable dynamic Xtalk compensation feature.

Enable/Disable dynamic Xtalk compensation (aka smudge correction).

Parameters
Dev | Device Handle
Mode | Set the smudge correction mode See VL53LX_SmudgeCorrectionModes
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_SetXTalkCompensationEnable()

VL53LX_Error VL53LX_SetXTalkCompensationEnable | ( | VL53LX_DEV | Dev,
 |  | uint8_t | XTalkCompensationEnable
 | ) |  |

Enable/Disable Cross talk compensation feature.

Enable/Disable Cross Talk correction.

Parameters
Dev | Device Handle
XTalkCompensationEnable | Cross talk compensation to be set 0 = disabled or 1 = enabled.
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetXTalkCompensationEnable()

VL53LX_Error VL53LX_GetXTalkCompensationEnable | ( | VL53LX_DEV | Dev,
 |  | uint8_t * | pXTalkCompensationEnable
 | ) |  |

Get Cross talk compensation rate enable.

Get if the Cross Talk is Enabled or Disabled.

Note
This function doesn't access to the device
Parameters
Dev | Device Handle
pXTalkCompensationEnable | Pointer to the Cross talk compensation state 0=disabled or 1 = enabled
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_PerformXTalkCalibration()

VL53LX_Error VL53LX_PerformXTalkCalibration ( VL53LX_DEV Dev )

Perform XTalk Calibration.

Perform a XTalk calibration of the Device. This function will launch a measurement, if interrupts are enabled an interrupt will be done. This function will clear the interrupt generated automatically. This function will program a new value for the XTalk compensation and it will enable the cross talk before exit.

Warning
This function is a blocking function
Note
This function Access to the device
Parameters
Dev Device Handle the calibration sets appropriate distance mode and thus override existing one
The calibration uses a target which should be located at least @60cm from the device. The actual location of the target shall be passed through the bare driver tuning parameters table
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_SetOffsetCorrectionMode()

VL53LX_Error VL53LX_SetOffsetCorrectionMode | ( | VL53LX_DEV | Dev,
 |  | VL53LX_OffsetCorrectionModes | OffsetCorrectionMode
 | ) |  |

Define the mode to be used for the offset correction.

Define the mode to be used for the offset correction.

Parameters
Dev Device Handle
OffsetCorrectionMode Offset Correction Mode valid values are:
  • VL53LX_OFFSETCORRECTIONMODE_STANDARD
  • VL53LX_OFFSETCORRECTIONMODE_PERVCSEL
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_PerformOffsetSimpleCalibration()

VL53LX_Error VL53LX_PerformOffsetSimpleCalibration | ( | VL53LX_DEV | Dev,
 |  | int32_t | CalDistanceMilliMeter
 | ) |  |

Perform Offset simple Calibration.

Perform a very simple offset calibration of the Device. This function will launch few ranging measurements and computes offset calibration. The preset mode and the distance mode MUST be set by the application before to call this function.

Warning
This function is a blocking function
Note
This function Access to the device
Parameters
Dev | Device Handle
CalDistanceMilliMeter | Calibration distance value used for the offset compensation.
Returns
VL53LX_ERROR_NONE
VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL the calibration failed by lack of valid measurements
VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH means that the target distance combined to the number of loops performed in the calibration lead to an internal overflow. Try to reduce the distance of the target (140 mm)
"Other error code" See VL53LX_Error

◆ VL53LX_PerformOffsetZeroDistanceCalibration()

VL53LX_Error VL53LX_PerformOffsetZeroDistanceCalibration ( VL53LX_DEV Dev )

Perform Offset simple Calibration with a "zero distance" target.

Perform a simple offset calibration of the Device. This function will launch few ranging measurements and computes offset calibration. The preset mode and the distance mode MUST be set by the application before to call this function. A target must be place very close to the device. Ideally the target shall be touching the coverglass.

Warning
This function is a blocking function
Note
This function Access to the device
Parameters
Dev Device Handle
Returns
VL53LX_ERROR_NONE
VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL the calibration failed by lack of valid measurements
VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH means that the target distance is too large, try to put the target closer to the device
"Other error code" See VL53LX_Error

◆ VL53LX_PerformOffsetPerVcselCalibration()

VL53LX_Error VL53LX_PerformOffsetPerVcselCalibration | ( | VL53LX_DEV | Dev,
 |  | int32_t | CalDistanceMilliMeter
 | ) |  |

Perform Offset per Vcsel Calibration.

i.e. per distance mode

Perform offset calibration of the Device depending on the three distance mode settings: short, medium and long. This function will launch few ranging measurements and computes offset calibration in each of the three distance modes. The preset mode MUST be set by the application before to call this function.

Warning
This function is a blocking function
Note
This function Access to the device
Parameters
Dev | Device Handle
CalDistanceMilliMeter | Distance of the target used for the offset compensation calibration.
Returns
VL53LX_ERROR_NONE
VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL the calibration failed by lack of valid measurements
VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH means that the target distance combined to the number of loops performed in the calibration lead to an internal overflow. Try to reduce the distance of the target (140 mm)
"Other error code" See VL53LX_Error

◆ VL53LX_SetCalibrationData()

VL53LX_Error VL53LX_SetCalibrationData | ( | VL53LX_DEV | Dev,
 |  | VL53LX_CalibrationData_t * | pCalibrationData
 | ) |  |

Sets the Calibration Data.

Function Description
This function set all the Calibration Data issued from the functions VL53LX_PerformRefSpadManagement(), VL53LX_PerformXTalkCalibration, VL53LX_PerformOffsetCalibration()
Note
This function doesn't Accesses the device
Parameters
Dev | Device Handle
*pCalibrationData | Pointer to Calibration data to be set.
Returns
VL53LX_ERROR_NONE Success
VL53LX_ERROR_INVALID_PARAMS pCalibrationData points to an older version of the inner structure. Need for support to convert its content.
"Other error code" See VL53LX_Error

◆ VL53LX_GetCalibrationData()

VL53LX_Error VL53LX_GetCalibrationData | ( | VL53LX_DEV | Dev,
 |  | VL53LX_CalibrationData_t * | pCalibrationData
 | ) |  |

Gets the Calibration Data.

Function Description
This function get all the Calibration Data issued from the functions VL53LX_PerformRefSpadManagement(), VL53LX_PerformXTalkCalibration, VL53LX_PerformOffsetCalibration()
Note
This function doesn't Accesses the device
Parameters
Dev | Device Handle
*pCalibrationData | pointer where to store Calibration data.
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetOpticalCenter()

VL53LX_Error VL53LX_GetOpticalCenter | ( | VL53LX_DEV | Dev,
 |  | FixPoint1616_t * | pOpticalCenterX,
 |  | FixPoint1616_t * | pOpticalCenterY
 | ) |  |

Gets the optical center.

Function Description
This function get the optical center issued from the nvm set at FTM stage expressed in the same coordinate system as the ROI are
Note
This function doesn't Accesses the device
Parameters
Dev | Device Handle
pOpticalCenterX | pointer to the X position of center in 16.16 fix point
pOpticalCenterY | pointer to the Y position of center in 16.16 fix point
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53LX_Error


VL53LX API Specification: VL53LX Defines

Modules | Data Structures | Macros | Typedefs
VL53LX Defines

VL53LX Defines. More...

Modules

Defines Distance modes
Defines all possible Distance modes for the device.
Defines Offset Correction modes
Device Offset Correction Mode.
Defines smudge correction modes
Defines the smudge correction modes.
Defines the Range Status
General Macro Defines
General Macro Defines.

Data Structures

struct | VL53LX_Version_t
Defines the parameters of the Get Version Functions. More...
struct | VL53LX_DeviceInfo_t
Defines the parameters of the Get Device Info Functions. More...
struct | VL53LX_DeviceParameters_t
Defines all parameters for the device. More...
struct | VL53LX_TargetRangeData_t
One Range measurement data for each target. More...
struct | VL53LX_MultiRangingData_t
Structure for storing the set of range results. More...
struct | VL53LX_UserRoi_t
Defines User Zone(ROI) parameters. More...
struct | VL53LX_CustomerNvmManaged_t
struct | VL53LX_CalibrationData_t
Structure for storing the Calibration Data. More...
struct | VL53LX_DevData_t
Contains the Internal data of the Bare Driver. More...
struct | VL53LX_AdditionalData_t
Structure for storing the Additional Data. More...

Macros

#define | VL53LX_IMPLEMENTATION_VER_MAJOR 1
VL53LX IMPLEMENTATION major version. More...
#define | VL53LX_IMPLEMENTATION_VER_MINOR 2
VL53LX IMPLEMENTATION minor version. More...
#define | VL53LX_IMPLEMENTATION_VER_SUB 13
VL53LX IMPLEMENTATION sub version. More...
#define | VL53LX_IMPLEMENTATION_VER_REVISION 2676
VL53LX IMPLEMENTATION sub version. More...
#define | VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x20
#define | VL53LX_CALIBRATION_DATA_STRUCT_VERSION
VL53LX additional Calibration Data struct version final struct version is given by adding it to VL53LX_LL_CALIBRATION_DATA_STRUCT_VERSION. More...

Typedefs

typedef VL53LX_additional_data_t VL53LX_AdditionalData_t

Detailed Description

VL53LX Defines.

Macro Definition Documentation

◆ VL53LX_IMPLEMENTATION_VER_MAJOR

#define VL53LX_IMPLEMENTATION_VER_MAJOR 1

VL53LX IMPLEMENTATION major version.

Definition at line 35 of file vl53lx_def.h.

◆ VL53LX_IMPLEMENTATION_VER_MINOR

#define VL53LX_IMPLEMENTATION_VER_MINOR 2

VL53LX IMPLEMENTATION minor version.

Definition at line 37 of file vl53lx_def.h.

◆ VL53LX_IMPLEMENTATION_VER_SUB

#define VL53LX_IMPLEMENTATION_VER_SUB 13

VL53LX IMPLEMENTATION sub version.

Definition at line 39 of file vl53lx_def.h.

◆ VL53LX_IMPLEMENTATION_VER_REVISION

#define VL53LX_IMPLEMENTATION_VER_REVISION 2676

VL53LX IMPLEMENTATION sub version.

Definition at line 41 of file vl53lx_def.h.

◆ VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION

#define VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x20

Definition at line 265 of file vl53lx_def.h.

◆ VL53LX_CALIBRATION_DATA_STRUCT_VERSION

#define VL53LX_CALIBRATION_DATA_STRUCT_VERSION
Value:
(VL53LX_LL_CALIBRATION_DATA_STRUCT_VERSION + \
VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION)

VL53LX additional Calibration Data struct version final struct version is given by adding it to VL53LX_LL_CALIBRATION_DATA_STRUCT_VERSION.

Definition at line 270 of file vl53lx_def.h.

Typedef Documentation

◆ VL53LX_AdditionalData_t

typedef VL53LX_additional_data_t VL53LX_AdditionalData_t

Definition at line 280 of file vl53lx_def.h.


VL53LX API Specification: Defines Distance modes

Macros | Typedefs
Defines Distance modes
VL53LX Defines

Defines all possible Distance modes for the device. More...

Macros

#define | VL53LX_DISTANCEMODE_SHORT ((VL53LX_DistanceModes) 1)
#define | VL53LX_DISTANCEMODE_MEDIUM ((VL53LX_DistanceModes) 2)
#define | VL53LX_DISTANCEMODE_LONG ((VL53LX_DistanceModes) 3)

Typedefs

typedef uint8_t VL53LX_DistanceModes

Detailed Description

Defines all possible Distance modes for the device.

Macro Definition Documentation

◆ VL53LX_DISTANCEMODE_SHORT

#define VL53LX_DISTANCEMODE_SHORT ((VL53LX_DistanceModes) 1)

Definition at line 75 of file vl53lx_def.h.

◆ VL53LX_DISTANCEMODE_MEDIUM

#define VL53LX_DISTANCEMODE_MEDIUM ((VL53LX_DistanceModes) 2)

Definition at line 76 of file vl53lx_def.h.

◆ VL53LX_DISTANCEMODE_LONG

#define VL53LX_DISTANCEMODE_LONG ((VL53LX_DistanceModes) 3)

Definition at line 77 of file vl53lx_def.h.

Typedef Documentation

◆ VL53LX_DistanceModes

typedef uint8_t VL53LX_DistanceModes

Definition at line 73 of file vl53lx_def.h.


VL53LX API Specification: Defines Offset Correction modes

Macros | Typedefs
Defines Offset Correction modes
VL53LX Defines

Device Offset Correction Mode. More...

Macros

#define | VL53LX_OFFSETCORRECTIONMODE_STANDARD ((VL53LX_OffsetCorrectionModes) 1)
#define | VL53LX_OFFSETCORRECTIONMODE_PERVCSEL ((VL53LX_OffsetCorrectionModes) 3)

Typedefs

typedef uint8_t VL53LX_OffsetCorrectionModes

Detailed Description

Device Offset Correction Mode.

Defines all possible offset correction modes for the device

Macro Definition Documentation

◆ VL53LX_OFFSETCORRECTIONMODE_STANDARD

#define VL53LX_OFFSETCORRECTIONMODE_STANDARD ((VL53LX_OffsetCorrectionModes) 1)

Definition at line 88 of file vl53lx_def.h.

◆ VL53LX_OFFSETCORRECTIONMODE_PERVCSEL

#define VL53LX_OFFSETCORRECTIONMODE_PERVCSEL ((VL53LX_OffsetCorrectionModes) 3)

Definition at line 89 of file vl53lx_def.h.

Typedef Documentation

◆ VL53LX_OffsetCorrectionModes

typedef uint8_t VL53LX_OffsetCorrectionModes

Definition at line 86 of file vl53lx_def.h.


VL53LX API Specification: Defines smudge correction modes

Macros | Typedefs
Defines smudge correction modes
VL53LX Defines

Defines the smudge correction modes. More...

Macros

#define | VL53LX_SMUDGE_CORRECTION_NONE ((VL53LX_SmudgeCorrectionModes) 0)
#define | VL53LX_SMUDGE_CORRECTION_CONTINUOUS ((VL53LX_SmudgeCorrectionModes) 1)
#define | VL53LX_SMUDGE_CORRECTION_SINGLE ((VL53LX_SmudgeCorrectionModes) 2)
#define | VL53LX_SMUDGE_CORRECTION_DEBUG ((VL53LX_SmudgeCorrectionModes) 3)

Typedefs

typedef uint8_t VL53LX_SmudgeCorrectionModes

Detailed Description

Defines the smudge correction modes.

Macro Definition Documentation

◆ VL53LX_SMUDGE_CORRECTION_NONE

#define VL53LX_SMUDGE_CORRECTION_NONE ((VL53LX_SmudgeCorrectionModes) 0)

Smudge correction is disabled

Definition at line 111 of file vl53lx_def.h.

◆ VL53LX_SMUDGE_CORRECTION_CONTINUOUS

#define VL53LX_SMUDGE_CORRECTION_CONTINUOUS ((VL53LX_SmudgeCorrectionModes) 1)

Smudge correction is applied continuously across the rangings

Definition at line 113 of file vl53lx_def.h.

◆ VL53LX_SMUDGE_CORRECTION_SINGLE

#define VL53LX_SMUDGE_CORRECTION_SINGLE ((VL53LX_SmudgeCorrectionModes) 2)

Smudge correction is applied only once across the rangings

Definition at line 115 of file vl53lx_def.h.

◆ VL53LX_SMUDGE_CORRECTION_DEBUG

#define VL53LX_SMUDGE_CORRECTION_DEBUG ((VL53LX_SmudgeCorrectionModes) 3)

Smudge detection is applied continuously but Xtalk values are not updated automatically within the driver

Definition at line 119 of file vl53lx_def.h.

Typedef Documentation

◆ VL53LX_SmudgeCorrectionModes

typedef uint8_t VL53LX_SmudgeCorrectionModes

Definition at line 108 of file vl53lx_def.h.


VL53LX API Specification: Defines the Range Status

Macros
Defines the Range Status
VL53LX Defines

Macros

#define | VL53LX_RANGESTATUS_RANGE_VALID 0
#define | VL53LX_RANGESTATUS_SIGMA_FAIL 1
#define | VL53LX_RANGESTATUS_SIGNAL_FAIL 2
#define | VL53LX_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3
#define | VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL 4
#define | VL53LX_RANGESTATUS_HARDWARE_FAIL 5
#define | VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL 6
#define | VL53LX_RANGESTATUS_WRAP_TARGET_FAIL 7
#define | VL53LX_RANGESTATUS_PROCESSING_FAIL 8
#define | VL53LX_RANGESTATUS_XTALK_SIGNAL_FAIL 9
#define | VL53LX_RANGESTATUS_SYNCRONISATION_INT 10
#define | VL53LX_RANGESTATUS_RANGE_VALID_MERGED_PULSE 11
#define | VL53LX_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12
#define | VL53LX_RANGESTATUS_MIN_RANGE_FAIL 13
#define | VL53LX_RANGESTATUS_RANGE_INVALID 14
#define | VL53LX_RANGESTATUS_NONE 255

Detailed Description

Macro Definition Documentation

◆ VL53LX_RANGESTATUS_RANGE_VALID

#define VL53LX_RANGESTATUS_RANGE_VALID 0

The Range is valid.

Definition at line 287 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_SIGMA_FAIL

#define VL53LX_RANGESTATUS_SIGMA_FAIL 1

Sigma Fail.

Definition at line 289 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_SIGNAL_FAIL

#define VL53LX_RANGESTATUS_SIGNAL_FAIL 2

Signal fail.

Definition at line 291 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED

#define VL53LX_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3

Target is below minimum detection threshold.

Definition at line 293 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL

#define VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL 4

Phase out of valid limits - different to a wrap exit.

Definition at line 295 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_HARDWARE_FAIL

#define VL53LX_RANGESTATUS_HARDWARE_FAIL 5

Hardware fail.

Definition at line 297 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL

#define VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL 6

The Range is valid but the wraparound check has not been done.

Definition at line 299 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_WRAP_TARGET_FAIL

#define VL53LX_RANGESTATUS_WRAP_TARGET_FAIL 7

Wrapped target - no matching phase in other VCSEL period timing.

Definition at line 301 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_PROCESSING_FAIL

#define VL53LX_RANGESTATUS_PROCESSING_FAIL 8

Internal algo underflow or overflow in lite ranging.

Definition at line 303 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_XTALK_SIGNAL_FAIL

#define VL53LX_RANGESTATUS_XTALK_SIGNAL_FAIL 9

Specific to lite ranging.

Definition at line 305 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_SYNCRONISATION_INT

#define VL53LX_RANGESTATUS_SYNCRONISATION_INT 10

1st interrupt when starting ranging in back to back mode. Ignore data.

Definition at line 307 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_RANGE_VALID_MERGED_PULSE

#define VL53LX_RANGESTATUS_RANGE_VALID_MERGED_PULSE 11

All Range ok but object is result of multiple pulses merging together. Used by RQL for merged pulse detection

Definition at line 311 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL

#define VL53LX_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12

Used by RQL as different to phase fail.

Definition at line 313 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_MIN_RANGE_FAIL

#define VL53LX_RANGESTATUS_MIN_RANGE_FAIL 13

Unexpected error in SPAD Array.

Definition at line 315 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_RANGE_INVALID

#define VL53LX_RANGESTATUS_RANGE_INVALID 14

lld returned valid range but negative value !

Definition at line 317 of file vl53lx_def.h.

◆ VL53LX_RANGESTATUS_NONE

#define VL53LX_RANGESTATUS_NONE 255

No Update.

Definition at line 319 of file vl53lx_def.h.


VL53LX API Specification: General Macro Defines

Macros
General Macro Defines
VL53LX Defines

General Macro Defines. More...

Macros

#define | VL53LX_SETPARAMETERFIELD(Dev, field, value) (VL53LXDevDataSet(Dev, CurrentParameters.field, value))
#define | VL53LX_GETPARAMETERFIELD(Dev, field, variable) (variable = VL53LXDevDataGet(Dev, CurrentParameters).field)
#define | VL53LX_SETARRAYPARAMETERFIELD(Dev, field, index, value) (VL53LXDevDataSet(Dev, CurrentParameters.field[index], value))
#define | VL53LX_GETARRAYPARAMETERFIELD(Dev, field, index, variable) (variable = VL53LXDevDataGet(Dev, CurrentParameters).field[index])
#define | VL53LX_SETDEVICESPECIFICPARAMETER(Dev, field, value) (VL53LXDevDataSet(Dev, DeviceSpecificParameters.field, value))
#define | VL53LX_GETDEVICESPECIFICPARAMETER(Dev, field) (VL53LXDevDataGet(Dev, DeviceSpecificParameters).field)
#define | VL53LX_FIXPOINT1616TOFIXPOINT44(Value) (uint16_t)((Value>>12)&0xFFFF)
#define | VL53LX_FIXPOINT44TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<12)
#define | VL53LX_FIXPOINT1616TOFIXPOINT72(Value) (uint16_t)((Value>>14)&0xFFFF)
#define | VL53LX_FIXPOINT72TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53LX_FIXPOINT1616TOFIXPOINT97(Value) (uint16_t)((Value>>9)&0xFFFF)
#define | VL53LX_FIXPOINT97TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<9)
#define | VL53LX_FIXPOINT1616TOFIXPOINT88(Value) (uint16_t)((Value>>8)&0xFFFF)
#define | VL53LX_FIXPOINT88TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<8)
#define | VL53LX_FIXPOINT1616TOFIXPOINT412(Value) (uint16_t)((Value>>4)&0xFFFF)
#define | VL53LX_FIXPOINT412TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<4)
#define | VL53LX_FIXPOINT1616TOFIXPOINT313(Value) (uint16_t)((Value>>3)&0xFFFF)
#define | VL53LX_FIXPOINT313TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<3)
#define | VL53LX_FIXPOINT1616TOFIXPOINT08(Value) (uint8_t)((Value>>8)&0x00FF)
#define | VL53LX_FIXPOINT08TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<8)
#define | VL53LX_FIXPOINT1616TOFIXPOINT53(Value) (uint8_t)((Value>>13)&0x00FF)
#define | VL53LX_FIXPOINT53TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<13)
#define | VL53LX_FIXPOINT1616TOFIXPOINT102(Value) (uint16_t)((Value>>14)&0x0FFF)
#define | VL53LX_FIXPOINT102TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53LX_FIXPOINT1616TOFIXPOINT142(Value) (uint16_t)((Value>>14)&0xFFFF)
#define | VL53LX_FIXPOINT142TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53LX_FIXPOINT1616TOFIXPOINT160(Value) (uint16_t)((Value>>16)&0xFFFF)
#define | VL53LX_FIXPOINT160TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<16)
#define | VL53LX_MAKEUINT16(lsb, msb)

Detailed Description

General Macro Defines.

Macro Definition Documentation

◆ VL53LX_SETPARAMETERFIELD

#define VL53LX_SETPARAMETERFIELD | ( | Dev,
 |  | field,
 |  | value
 | ) | (VL53LXDevDataSet(Dev, CurrentParameters.field, value))

Definition at line 347 of file vl53lx_def.h.

◆ VL53LX_GETPARAMETERFIELD

#define VL53LX_GETPARAMETERFIELD | ( | Dev,
 |  | field,
 |  | variable
 | ) | (variable = VL53LXDevDataGet(Dev, CurrentParameters).field)

Definition at line 350 of file vl53lx_def.h.

◆ VL53LX_SETARRAYPARAMETERFIELD

#define VL53LX_SETARRAYPARAMETERFIELD | ( | Dev,
 |  | field,
 |  | index,
 |  | value
 | ) | (VL53LXDevDataSet(Dev, CurrentParameters.field[index], value))

Definition at line 353 of file vl53lx_def.h.

◆ VL53LX_GETARRAYPARAMETERFIELD

#define VL53LX_GETARRAYPARAMETERFIELD | ( | Dev,
 |  | field,
 |  | index,
 |  | variable
 | ) | (variable = VL53LXDevDataGet(Dev, CurrentParameters).field[index])

Definition at line 356 of file vl53lx_def.h.

◆ VL53LX_SETDEVICESPECIFICPARAMETER

#define VL53LX_SETDEVICESPECIFICPARAMETER | ( | Dev,
 |  | field,
 |  | value
 | ) | (VL53LXDevDataSet(Dev, DeviceSpecificParameters.field, value))

Definition at line 359 of file vl53lx_def.h.

◆ VL53LX_GETDEVICESPECIFICPARAMETER

#define VL53LX_GETDEVICESPECIFICPARAMETER | ( | Dev,
 |  | field
 | ) | (VL53LXDevDataGet(Dev, DeviceSpecificParameters).field)

Definition at line 362 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT44

#define VL53LX_FIXPOINT1616TOFIXPOINT44 ( Value ) (uint16_t)((Value>>12)&0xFFFF)

Definition at line 366 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT44TOFIXPOINT1616

#define VL53LX_FIXPOINT44TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<12)

Definition at line 368 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT72

#define VL53LX_FIXPOINT1616TOFIXPOINT72 ( Value ) (uint16_t)((Value>>14)&0xFFFF)

Definition at line 371 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT72TOFIXPOINT1616

#define VL53LX_FIXPOINT72TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<14)

Definition at line 373 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT97

#define VL53LX_FIXPOINT1616TOFIXPOINT97 ( Value ) (uint16_t)((Value>>9)&0xFFFF)

Definition at line 376 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT97TOFIXPOINT1616

#define VL53LX_FIXPOINT97TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<9)

Definition at line 378 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT88

#define VL53LX_FIXPOINT1616TOFIXPOINT88 ( Value ) (uint16_t)((Value>>8)&0xFFFF)

Definition at line 381 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT88TOFIXPOINT1616

#define VL53LX_FIXPOINT88TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<8)

Definition at line 383 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT412

#define VL53LX_FIXPOINT1616TOFIXPOINT412 ( Value ) (uint16_t)((Value>>4)&0xFFFF)

Definition at line 386 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT412TOFIXPOINT1616

#define VL53LX_FIXPOINT412TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<4)

Definition at line 388 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT313

#define VL53LX_FIXPOINT1616TOFIXPOINT313 ( Value ) (uint16_t)((Value>>3)&0xFFFF)

Definition at line 391 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT313TOFIXPOINT1616

#define VL53LX_FIXPOINT313TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<3)

Definition at line 393 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT08

#define VL53LX_FIXPOINT1616TOFIXPOINT08 ( Value ) (uint8_t)((Value>>8)&0x00FF)

Definition at line 396 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT08TOFIXPOINT1616

#define VL53LX_FIXPOINT08TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<8)

Definition at line 398 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT53

#define VL53LX_FIXPOINT1616TOFIXPOINT53 ( Value ) (uint8_t)((Value>>13)&0x00FF)

Definition at line 401 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT53TOFIXPOINT1616

#define VL53LX_FIXPOINT53TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<13)

Definition at line 403 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT102

#define VL53LX_FIXPOINT1616TOFIXPOINT102 ( Value ) (uint16_t)((Value>>14)&0x0FFF)

Definition at line 406 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT102TOFIXPOINT1616

#define VL53LX_FIXPOINT102TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<14)

Definition at line 408 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT142

#define VL53LX_FIXPOINT1616TOFIXPOINT142 ( Value ) (uint16_t)((Value>>14)&0xFFFF)

Definition at line 411 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT142TOFIXPOINT1616

#define VL53LX_FIXPOINT142TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<14)

Definition at line 413 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT1616TOFIXPOINT160

#define VL53LX_FIXPOINT1616TOFIXPOINT160 ( Value ) (uint16_t)((Value>>16)&0xFFFF)

Definition at line 416 of file vl53lx_def.h.

◆ VL53LX_FIXPOINT160TOFIXPOINT1616

#define VL53LX_FIXPOINT160TOFIXPOINT1616 ( Value ) (FixPoint1616_t)((uint32_t)Value<<16)

Definition at line 418 of file vl53lx_def.h.

◆ VL53LX_MAKEUINT16

#define VL53LX_MAKEUINT16 | ( | lsb,
 |  | msb
 | ) |
Value:
(uint16_t)((((uint16_t)msb)<<8) + \
(uint16_t)lsb)
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:48

Definition at line 421 of file vl53lx_def.h.


VL53LX API Specification: VL53LX_Version_t Struct Reference

Data Fields
VL53LX_Version_t Struct Reference
VL53LX Defines

Defines the parameters of the Get Version Functions. More...

#include <vl53lx_def.h>

Data Fields

uint32_t revision
uint8_t major
uint8_t minor
uint8_t build

Detailed Description

Defines the parameters of the Get Version Functions.

Definition at line 48 of file vl53lx_def.h.

Field Documentation

◆ revision

uint32_t VL53LX_Version_t::revision

revision number

Definition at line 49 of file vl53lx_def.h.

◆ major

uint8_t VL53LX_Version_t::major

major number

Definition at line 50 of file vl53lx_def.h.

◆ minor

uint8_t VL53LX_Version_t::minor

minor number

Definition at line 51 of file vl53lx_def.h.

◆ build

uint8_t VL53LX_Version_t::build

build number

Definition at line 52 of file vl53lx_def.h.

The documentation for this struct was generated from the following file:
  • vl53lx_def.h


VL53LX API Specification: VL53LX_DeviceInfo_t Struct Reference

Data Fields
VL53LX_DeviceInfo_t Struct Reference
VL53LX Defines

Defines the parameters of the Get Device Info Functions. More...

#include <vl53lx_def.h>

Data Fields

uint8_t ProductType
uint8_t ProductRevisionMajor
uint8_t ProductRevisionMinor

Detailed Description

Defines the parameters of the Get Device Info Functions.

Definition at line 58 of file vl53lx_def.h.

Field Documentation

◆ ProductType

uint8_t VL53LX_DeviceInfo_t::ProductType

Product Type, VL53LX = 0xAA Stands as module_type in the datasheet

Definition at line 59 of file vl53lx_def.h.

◆ ProductRevisionMajor

uint8_t VL53LX_DeviceInfo_t::ProductRevisionMajor

Product revision major

Definition at line 63 of file vl53lx_def.h.

◆ ProductRevisionMinor

uint8_t VL53LX_DeviceInfo_t::ProductRevisionMinor

Product revision minor

Definition at line 65 of file vl53lx_def.h.

The documentation for this struct was generated from the following file:
  • vl53lx_def.h


VL53LX API Specification: VL53LX_DeviceParameters_t Struct Reference

Data Fields
VL53LX_DeviceParameters_t Struct Reference
VL53LX Defines

Defines all parameters for the device. More...

#include <vl53lx_def.h>

Data Fields

VL53LX_DistanceModes DistanceMode
uint32_t MeasurementTimingBudgetMicroSeconds

Detailed Description

Defines all parameters for the device.

Definition at line 95 of file vl53lx_def.h.

Field Documentation

◆ DistanceMode

VL53LX_DistanceModes VL53LX_DeviceParameters_t::DistanceMode

Defines the operating mode to be used for the next measure

Definition at line 96 of file vl53lx_def.h.

◆ MeasurementTimingBudgetMicroSeconds

uint32_t VL53LX_DeviceParameters_t::MeasurementTimingBudgetMicroSeconds

Defines the allowed total time for a single measurement

Definition at line 98 of file vl53lx_def.h.

The documentation for this struct was generated from the following file:
  • vl53lx_def.h


VL53LX API Specification: VL53LX_TargetRangeData_t Struct Reference

Data Fields
VL53LX_TargetRangeData_t Struct Reference
VL53LX Defines

One Range measurement data for each target. More...

#include <vl53lx_def.h>

Data Fields

int16_t RangeMaxMilliMeter
int16_t RangeMinMilliMeter
FixPoint1616_t SignalRateRtnMegaCps
FixPoint1616_t AmbientRateRtnMegaCps
FixPoint1616_t SigmaMilliMeter
int16_t RangeMilliMeter
uint8_t RangeStatus
uint8_t ExtendedRange

Detailed Description

One Range measurement data for each target.

Definition at line 127 of file vl53lx_def.h.

Field Documentation

◆ RangeMaxMilliMeter

int16_t VL53LX_TargetRangeData_t::RangeMaxMilliMeter

Tells what is the maximum detection distance of the object in current setup and environment conditions (Filled when applicable)

Definition at line 128 of file vl53lx_def.h.

◆ RangeMinMilliMeter

int16_t VL53LX_TargetRangeData_t::RangeMinMilliMeter

Tells what is the minimum detection distance of the object in current setup and environment conditions (Filled when applicable)

Definition at line 134 of file vl53lx_def.h.

◆ SignalRateRtnMegaCps

FixPoint1616_t VL53LX_TargetRangeData_t::SignalRateRtnMegaCps

Return signal rate (MCPS)
these is a 16.16 fix point value, which is effectively a measure of target reflectance.

Definition at line 140 of file vl53lx_def.h.

◆ AmbientRateRtnMegaCps

FixPoint1616_t VL53LX_TargetRangeData_t::AmbientRateRtnMegaCps

Return ambient rate (MCPS)
these is a 16.16 fix point value, which is effectively a measure of the ambient light.

Definition at line 146 of file vl53lx_def.h.

◆ SigmaMilliMeter

FixPoint1616_t VL53LX_TargetRangeData_t::SigmaMilliMeter

Return the Sigma value in millimeter

Definition at line 152 of file vl53lx_def.h.

◆ RangeMilliMeter

int16_t VL53LX_TargetRangeData_t::RangeMilliMeter

range distance in millimeter. This should be between RangeMinMilliMeter and RangeMaxMilliMeter

Definition at line 155 of file vl53lx_def.h.

◆ RangeStatus

uint8_t VL53LX_TargetRangeData_t::RangeStatus

Range Status for the current measurement. This is device dependent. Value = 0 means value is valid.

Definition at line 160 of file vl53lx_def.h.

◆ ExtendedRange

uint8_t VL53LX_TargetRangeData_t::ExtendedRange

Extended range flag for the current measurement. Value = 1 means timings A&B are combined to increase the maximum distance range.

Definition at line 165 of file vl53lx_def.h.

The documentation for this struct was generated from the following file:
  • vl53lx_def.h


VL53LX API Specification: VL53LX_MultiRangingData_t Struct Reference

Data Fields
VL53LX_MultiRangingData_t Struct Reference
VL53LX Defines

Structure for storing the set of range results. More...

#include <vl53lx_def.h>

Data Fields

uint32_t TimeStamp
uint8_t StreamCount
uint8_t NumberOfObjectsFound
VL53LX_TargetRangeData_t RangeData [VL53LX_MAX_RANGE_RESULTS]
uint8_t HasXtalkValueChanged
uint16_t EffectiveSpadRtnCount

Detailed Description

Structure for storing the set of range results.

Definition at line 176 of file vl53lx_def.h.

Field Documentation

◆ TimeStamp

uint32_t VL53LX_MultiRangingData_t::TimeStamp

32-bit time stamp.

Warning
Not yet implemented

Definition at line 177 of file vl53lx_def.h.

◆ StreamCount

uint8_t VL53LX_MultiRangingData_t::StreamCount

8-bit Stream Count.

Definition at line 182 of file vl53lx_def.h.

◆ NumberOfObjectsFound

uint8_t VL53LX_MultiRangingData_t::NumberOfObjectsFound

Indicate the number of objects found. This is used to know how many ranging data should be get. NumberOfObjectsFound is in the range 0 to VL53LX_MAX_RANGE_RESULTS.

Definition at line 185 of file vl53lx_def.h.

◆ RangeData

VL53LX_TargetRangeData_t VL53LX_MultiRangingData_t::RangeData[VL53LX_MAX_RANGE_RESULTS]

Range data each target distance

Definition at line 191 of file vl53lx_def.h.

◆ HasXtalkValueChanged

uint8_t VL53LX_MultiRangingData_t::HasXtalkValueChanged

set to 1 if a new Xtalk value has been computed whilst smudge correction mode enable by with VL53LX_SmudgeCorrectionEnable() function is either VL53LX_SMUDGE_CORRECTION_CONTINUOUS or VL53LX_SMUDGE_CORRECTION_SINGLE.

Definition at line 193 of file vl53lx_def.h.

◆ EffectiveSpadRtnCount

uint16_t VL53LX_MultiRangingData_t::EffectiveSpadRtnCount

Return the effective SPAD count for the return signal. To obtain Real value it should be divided by 256

Definition at line 200 of file vl53lx_def.h.

The documentation for this struct was generated from the following file:
  • vl53lx_def.h


VL53LX API Specification: VL53LX_UserRoi_t Struct Reference

Data Fields
VL53LX_UserRoi_t Struct Reference
VL53LX Defines

Defines User Zone(ROI) parameters. More...

#include <vl53lx_def.h>

Data Fields

uint8_t TopLeftX
uint8_t TopLeftY
uint8_t BotRightX
uint8_t BotRightY

Detailed Description

Defines User Zone(ROI) parameters.

Definition at line 212 of file vl53lx_def.h.

Field Documentation

◆ TopLeftX

uint8_t VL53LX_UserRoi_t::TopLeftX

Top Left x coordinate: 0-15 range

Definition at line 214 of file vl53lx_def.h.

◆ TopLeftY

uint8_t VL53LX_UserRoi_t::TopLeftY

Top Left y coordinate: 0-15 range

Definition at line 215 of file vl53lx_def.h.

◆ BotRightX

uint8_t VL53LX_UserRoi_t::BotRightX

Bot Right x coordinate: 0-15 range

Definition at line 216 of file vl53lx_def.h.

◆ BotRightY

uint8_t VL53LX_UserRoi_t::BotRightY

Bot Right y coordinate: 0-15 range

Definition at line 217 of file vl53lx_def.h.

The documentation for this struct was generated from the following file:
  • vl53lx_def.h


VL53LX API Specification: VL53LX_CustomerNvmManaged_t Struct Reference

Data Fields
VL53LX_CustomerNvmManaged_t Struct Reference
VL53LX Defines

#include <vl53lx_def.h>

Data Fields

uint8_t global_config__spad_enables_ref_0
uint8_t global_config__spad_enables_ref_1
uint8_t global_config__spad_enables_ref_2
uint8_t global_config__spad_enables_ref_3
uint8_t global_config__spad_enables_ref_4
uint8_t global_config__spad_enables_ref_5
uint8_t global_config__ref_en_start_select
uint8_t ref_spad_man__num_requested_ref_spads
uint8_t ref_spad_man__ref_location
uint32_t algo__crosstalk_compensation_plane_offset_kcps
int16_t algo__crosstalk_compensation_x_plane_gradient_kcps
int16_t algo__crosstalk_compensation_y_plane_gradient_kcps
uint16_t ref_spad_char__total_rate_target_mcps
int16_t algo__part_to_part_range_offset_mm
int16_t mm_config__inner_offset_mm
int16_t mm_config__outer_offset_mm

Detailed Description

Definition at line 227 of file vl53lx_def.h.

Field Documentation

◆ global_config__spad_enables_ref_0

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_0

Definition at line 228 of file vl53lx_def.h.

◆ global_config__spad_enables_ref_1

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_1

Definition at line 229 of file vl53lx_def.h.

◆ global_config__spad_enables_ref_2

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_2

Definition at line 230 of file vl53lx_def.h.

◆ global_config__spad_enables_ref_3

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_3

Definition at line 231 of file vl53lx_def.h.

◆ global_config__spad_enables_ref_4

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_4

Definition at line 232 of file vl53lx_def.h.

◆ global_config__spad_enables_ref_5

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_5

Definition at line 233 of file vl53lx_def.h.

◆ global_config__ref_en_start_select

uint8_t VL53LX_CustomerNvmManaged_t::global_config__ref_en_start_select

Definition at line 234 of file vl53lx_def.h.

◆ ref_spad_man__num_requested_ref_spads

uint8_t VL53LX_CustomerNvmManaged_t::ref_spad_man__num_requested_ref_spads

Definition at line 235 of file vl53lx_def.h.

◆ ref_spad_man__ref_location

uint8_t VL53LX_CustomerNvmManaged_t::ref_spad_man__ref_location

Definition at line 236 of file vl53lx_def.h.

◆ algo__crosstalk_compensation_plane_offset_kcps

uint32_t VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_plane_offset_kcps

Definition at line 237 of file vl53lx_def.h.

◆ algo__crosstalk_compensation_x_plane_gradient_kcps

int16_t VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_x_plane_gradient_kcps

Definition at line 238 of file vl53lx_def.h.

◆ algo__crosstalk_compensation_y_plane_gradient_kcps

int16_t VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_y_plane_gradient_kcps

Definition at line 239 of file vl53lx_def.h.

◆ ref_spad_char__total_rate_target_mcps

uint16_t VL53LX_CustomerNvmManaged_t::ref_spad_char__total_rate_target_mcps

Definition at line 240 of file vl53lx_def.h.

◆ algo__part_to_part_range_offset_mm

int16_t VL53LX_CustomerNvmManaged_t::algo__part_to_part_range_offset_mm

Definition at line 241 of file vl53lx_def.h.

◆ mm_config__inner_offset_mm

int16_t VL53LX_CustomerNvmManaged_t::mm_config__inner_offset_mm

Definition at line 242 of file vl53lx_def.h.

◆ mm_config__outer_offset_mm

int16_t VL53LX_CustomerNvmManaged_t::mm_config__outer_offset_mm

Definition at line 243 of file vl53lx_def.h.

The documentation for this struct was generated from the following file:
  • vl53lx_def.h


VL53LX API Specification: VL53LX_CalibrationData_t Struct Reference

Data Fields
VL53LX_CalibrationData_t Struct Reference
VL53LX Defines

Structure for storing the Calibration Data. More...

#include <vl53lx_def.h>

Data Fields

uint32_t struct_version
VL53LX_CustomerNvmManaged_t customer
VL53LX_additional_offset_cal_data_t | add_off_cal_data
VL53LX_optical_centre_t | optical_centre
VL53LX_xtalk_histogram_data_t | xtalkhisto
VL53LX_gain_calibration_data_t | gain_cal
VL53LX_cal_peak_rate_map_t | cal_peak_rate_map
VL53LX_per_vcsel_period_offset_cal_data_t | per_vcsel_cal_data
uint32_t | algo__xtalk_cpo_HistoMerge_kcps [VL53LX_BIN_REC_SIZE]

Detailed Description

Structure for storing the Calibration Data.

Definition at line 252 of file vl53lx_def.h.

Field Documentation

◆ struct_version

uint32_t VL53LX_CalibrationData_t::struct_version

Definition at line 254 of file vl53lx_def.h.

◆ customer

VL53LX_CustomerNvmManaged_t VL53LX_CalibrationData_t::customer

Definition at line 255 of file vl53lx_def.h.

◆ add_off_cal_data

VL53LX_additional_offset_cal_data_t VL53LX_CalibrationData_t::add_off_cal_data

Definition at line 256 of file vl53lx_def.h.

◆ optical_centre

VL53LX_optical_centre_t VL53LX_CalibrationData_t::optical_centre

Definition at line 257 of file vl53lx_def.h.

◆ xtalkhisto

VL53LX_xtalk_histogram_data_t VL53LX_CalibrationData_t::xtalkhisto

Definition at line 258 of file vl53lx_def.h.

◆ gain_cal

VL53LX_gain_calibration_data_t VL53LX_CalibrationData_t::gain_cal

Definition at line 259 of file vl53lx_def.h.

◆ cal_peak_rate_map

VL53LX_cal_peak_rate_map_t VL53LX_CalibrationData_t::cal_peak_rate_map

Definition at line 260 of file vl53lx_def.h.

◆ per_vcsel_cal_data

VL53LX_per_vcsel_period_offset_cal_data_t VL53LX_CalibrationData_t::per_vcsel_cal_data

Definition at line 261 of file vl53lx_def.h.

◆ algo__xtalk_cpo_HistoMerge_kcps

uint32_t VL53LX_CalibrationData_t::algo__xtalk_cpo_HistoMerge_kcps[VL53LX_BIN_REC_SIZE]

Definition at line 262 of file vl53lx_def.h.

The documentation for this struct was generated from the following file:
  • vl53lx_def.h


VL53LX API Specification: VL53LX_DevData_t Struct Reference

Data Fields
VL53LX_DevData_t Struct Reference
VL53LX Defines

Contains the Internal data of the Bare Driver. More...

#include <vl53lx_def.h>

Data Fields

VL53LX_LLDriverData_t | LLData
VL53LX_LLDriverResults_t | llresults
VL53LX_DeviceParameters_t CurrentParameters

Detailed Description

Contains the Internal data of the Bare Driver.

Definition at line 327 of file vl53lx_def.h.

Field Documentation

◆ LLData

VL53LX_LLDriverData_t VL53LX_DevData_t::LLData

Low Level Driver data structure

Definition at line 328 of file vl53lx_def.h.

◆ llresults

VL53LX_LLDriverResults_t VL53LX_DevData_t::llresults

Low Level Driver data structure

Definition at line 331 of file vl53lx_def.h.

◆ CurrentParameters

VL53LX_DeviceParameters_t VL53LX_DevData_t::CurrentParameters

Current Device Parameter

Definition at line 334 of file vl53lx_def.h.

The documentation for this struct was generated from the following file:
  • vl53lx_def.h


VL53LX API Specification: VL53LX_AdditionalData_t Struct Reference

VL53LX_AdditionalData_t Struct Reference
VL53LX Defines

Structure for storing the Additional Data. More...

#include <vl53lx_def.h>

Detailed Description

Structure for storing the Additional Data.

The documentation for this struct was generated from the following file:
  • vl53lx_def.h


VL53LX API Specification: Error and Warning code returned by API

Macros | Typedefs
Error and Warning code returned by API

The following DEFINE are used to identify the TOF device ERROR. More...

Macros

#define | VL53LX_ERROR_NONE ((VL53LX_Error) 0)
#define | VL53LX_ERROR_CALIBRATION_WARNING ((VL53LX_Error) - 1)
#define | VL53LX_ERROR_MIN_CLIPPED ((VL53LX_Error) - 2)
#define | VL53LX_ERROR_UNDEFINED ((VL53LX_Error) - 3)
#define | VL53LX_ERROR_INVALID_PARAMS ((VL53LX_Error) - 4)
#define | VL53LX_ERROR_NOT_SUPPORTED ((VL53LX_Error) - 5)
#define | VL53LX_ERROR_RANGE_ERROR ((VL53LX_Error) - 6)
#define | VL53LX_ERROR_TIME_OUT ((VL53LX_Error) - 7)
#define | VL53LX_ERROR_MODE_NOT_SUPPORTED ((VL53LX_Error) - 8)
#define | VL53LX_ERROR_BUFFER_TOO_SMALL ((VL53LX_Error) - 9)
#define | VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL ((VL53LX_Error) - 10)
#define | VL53LX_ERROR_GPIO_NOT_EXISTING ((VL53LX_Error) - 11)
#define | VL53LX_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53LX_Error) - 12)
#define | VL53LX_ERROR_CONTROL_INTERFACE ((VL53LX_Error) - 13)
#define | VL53LX_ERROR_INVALID_COMMAND ((VL53LX_Error) - 14)
#define | VL53LX_ERROR_DIVISION_BY_ZERO ((VL53LX_Error) - 15)
#define | VL53LX_ERROR_REF_SPAD_INIT ((VL53LX_Error) - 16)
#define | VL53LX_ERROR_GPH_SYNC_CHECK_FAIL ((VL53LX_Error) - 17)
#define | VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 18)
#define | VL53LX_ERROR_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 19)
#define | VL53LX_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 20)
#define | VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 21)
#define | VL53LX_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL ((VL53LX_Error) - 22)
#define | VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL ((VL53LX_Error) - 23)
#define | VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL ((VL53LX_Error) - 24)
#define | VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL ((VL53LX_Error) - 25)
#define | VL53LX_ERROR_ZONE_CAL_NO_SAMPLE_FAIL ((VL53LX_Error) - 26)
#define | VL53LX_ERROR_TUNING_PARM_KEY_MISMATCH ((VL53LX_Error) - 27)
#define | VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS ((VL53LX_Error) - 28)
#define | VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH ((VL53LX_Error) - 29)
#define | VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW ((VL53LX_Error) - 30)
#define | VL53LX_WARNING_OFFSET_CAL_MISSING_SAMPLES ((VL53LX_Error) - 31)
#define | VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH ((VL53LX_Error) - 32)
#define | VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HIGH ((VL53LX_Error) - 33)
#define | VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW ((VL53LX_Error) - 34)
#define | VL53LX_WARNING_ZONE_CAL_MISSING_SAMPLES ((VL53LX_Error) - 35)
#define | VL53LX_WARNING_ZONE_CAL_SIGMA_TOO_HIGH ((VL53LX_Error) - 36)
#define | VL53LX_WARNING_ZONE_CAL_RATE_TOO_HIGH ((VL53LX_Error) - 37)
#define | VL53LX_WARNING_XTALK_MISSING_SAMPLES ((VL53LX_Error) - 38)
#define | VL53LX_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT ((VL53LX_Error) - 39)
#define | VL53LX_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT ((VL53LX_Error) - 40)
#define | VL53LX_ERROR_NOT_IMPLEMENTED ((VL53LX_Error) - 41)
#define | VL53LX_ERROR_PLATFORM_SPECIFIC_START ((VL53LX_Error) - 60)

Typedefs

typedef int8_t VL53LX_Error

Detailed Description

The following DEFINE are used to identify the TOF device ERROR.

Macro Definition Documentation

◆ VL53LX_ERROR_NONE

#define VL53LX_ERROR_NONE ((VL53LX_Error) 0)

Definition at line 42 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_CALIBRATION_WARNING

#define VL53LX_ERROR_CALIBRATION_WARNING ((VL53LX_Error) - 1)

Warning invalid calibration data may be in used VL53LX_InitData() VL53LX_GetOffsetCalibrationData VL53LX_SetOffsetCalibrationData

Definition at line 48 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_MIN_CLIPPED

#define VL53LX_ERROR_MIN_CLIPPED ((VL53LX_Error) - 2)

Warning parameter passed was clipped to min before to be applied

Definition at line 50 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_UNDEFINED

#define VL53LX_ERROR_UNDEFINED ((VL53LX_Error) - 3)

Unqualified error

Definition at line 53 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_INVALID_PARAMS

#define VL53LX_ERROR_INVALID_PARAMS ((VL53LX_Error) - 4)

Parameter passed is invalid or out of range

Definition at line 55 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_NOT_SUPPORTED

#define VL53LX_ERROR_NOT_SUPPORTED ((VL53LX_Error) - 5)

Function is not supported in current mode or configuration

Definition at line 57 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_RANGE_ERROR

#define VL53LX_ERROR_RANGE_ERROR ((VL53LX_Error) - 6)

Device report a ranging error interrupt status

Definition at line 59 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_TIME_OUT

#define VL53LX_ERROR_TIME_OUT ((VL53LX_Error) - 7)

Aborted due to time out

Definition at line 61 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_MODE_NOT_SUPPORTED

#define VL53LX_ERROR_MODE_NOT_SUPPORTED ((VL53LX_Error) - 8)

Asked mode is not supported by the device

Definition at line 63 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_BUFFER_TOO_SMALL

#define VL53LX_ERROR_BUFFER_TOO_SMALL ((VL53LX_Error) - 9)

...

Definition at line 65 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL

#define VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL ((VL53LX_Error) - 10)

Supplied buffer is larger than I2C supports

Definition at line 67 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_GPIO_NOT_EXISTING

#define VL53LX_ERROR_GPIO_NOT_EXISTING ((VL53LX_Error) - 11)

User tried to setup a non-existing GPIO pin

Definition at line 69 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED

#define VL53LX_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53LX_Error) - 12)

unsupported GPIO functionality

Definition at line 71 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_CONTROL_INTERFACE

#define VL53LX_ERROR_CONTROL_INTERFACE ((VL53LX_Error) - 13)

error reported from IO functions

Definition at line 73 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_INVALID_COMMAND

#define VL53LX_ERROR_INVALID_COMMAND ((VL53LX_Error) - 14)

The command is not allowed in the current device state (power down)

Definition at line 77 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_DIVISION_BY_ZERO

#define VL53LX_ERROR_DIVISION_BY_ZERO ((VL53LX_Error) - 15)

In the function a division by zero occurs

Definition at line 79 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_REF_SPAD_INIT

#define VL53LX_ERROR_REF_SPAD_INIT ((VL53LX_Error) - 16)

Error during reference SPAD initialization

Definition at line 81 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_GPH_SYNC_CHECK_FAIL

#define VL53LX_ERROR_GPH_SYNC_CHECK_FAIL ((VL53LX_Error) - 17)

GPH sync interrupt check fail - API out of sync with device

Definition at line 83 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL

#define VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 18)

Stream count check fail - API out of sync with device

Definition at line 85 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_GPH_ID_CHECK_FAIL

#define VL53LX_ERROR_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 19)

GPH ID check fail - API out of sync with device

Definition at line 87 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL

#define VL53LX_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 20)

Zone dynamic config stream count check failed - API out of sync

Definition at line 89 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL

#define VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 21)

Zone dynamic config GPH ID check failed - API out of sync

Definition at line 91 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL

#define VL53LX_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL ((VL53LX_Error) - 22)

Thrown when run_xtalk_extraction fn has 0 successful samples when using the full array to sample the xtalk. In this case there is not enough information to generate new Xtalk parm info. The function will exit and leave the current xtalk parameters unaltered

Definition at line 98 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL

#define VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL ((VL53LX_Error) - 23)

Thrown when run_xtalk_extraction fn has found that the avg sigma estimate of the full array xtalk sample is > than the maximal limit allowed. In this case the xtalk sample is too noisy for measurement. The function will exit and leave the current xtalk parameters unaltered.

Definition at line 105 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL

#define VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL ((VL53LX_Error) - 24)

Thrown if there one of stages has no valid offset calibration samples. A fatal error calibration not valid

Definition at line 111 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL

#define VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL ((VL53LX_Error) - 25)

Thrown if there one of stages has zero effective SPADS Traps the case when MM1 SPADs is zero. A fatal error calibration not valid

Definition at line 116 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_ZONE_CAL_NO_SAMPLE_FAIL

#define VL53LX_ERROR_ZONE_CAL_NO_SAMPLE_FAIL ((VL53LX_Error) - 26)

Thrown if then some of the zones have no valid samples A fatal error calibration not valid

Definition at line 120 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_TUNING_PARM_KEY_MISMATCH

#define VL53LX_ERROR_TUNING_PARM_KEY_MISMATCH ((VL53LX_Error) - 27)

Thrown if the tuning file key table version does not match with expected value. The driver expects the key table version to match the compiled default version number in the define VL53LX_TUNINGPARM_KEY_TABLE_VERSION_DEFAULT

Definition at line 127 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS

#define VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS ((VL53LX_Error) - 28)

Thrown if there are less than 5 good SPADs are available.

Definition at line 130 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH

#define VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH ((VL53LX_Error) - 29)

Thrown if the final reference rate is greater than the upper reference rate limit - default is 40 Mcps. Implies a minimum Q3 (x10) SPAD (5) selected

Definition at line 135 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW

#define VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW ((VL53LX_Error) - 30)

Thrown if the final reference rate is less than the lower reference rate limit - default is 10 Mcps. Implies maximum Q1 (x1) SPADs selected

Definition at line 140 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_OFFSET_CAL_MISSING_SAMPLES

#define VL53LX_WARNING_OFFSET_CAL_MISSING_SAMPLES ((VL53LX_Error) - 31)

Thrown if there is less than the requested number of valid samples.

Definition at line 146 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH

#define VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH ((VL53LX_Error) - 32)

Thrown if the offset calibration range sigma estimate is greater than 8.0 mm. This is the recommended min value to yield a stable offset measurement

Definition at line 151 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HIGH

#define VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HIGH ((VL53LX_Error) - 33)

Thrown when VL53LX_run_offset_calibration() peak rate is greater than that 50.0Mcps. This is the recommended max rate to avoid pile-up influencing the offset measurement

Definition at line 156 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW

#define VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW ((VL53LX_Error) - 34)

Thrown when VL53LX_run_offset_calibration() when one of stages range has less that 5.0 effective SPADS. This is the recommended min value to yield a stable offset

Definition at line 161 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_ZONE_CAL_MISSING_SAMPLES

#define VL53LX_WARNING_ZONE_CAL_MISSING_SAMPLES ((VL53LX_Error) - 35)

Thrown if one of more of the zones have less than the requested number of valid samples

Definition at line 167 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_ZONE_CAL_SIGMA_TOO_HIGH

#define VL53LX_WARNING_ZONE_CAL_SIGMA_TOO_HIGH ((VL53LX_Error) - 36)

Thrown if one or more zones have sigma estimate value greater than 8.0 mm. This is the recommended min value to yield a stable offset measurement

Definition at line 172 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_ZONE_CAL_RATE_TOO_HIGH

#define VL53LX_WARNING_ZONE_CAL_RATE_TOO_HIGH ((VL53LX_Error) - 37)

Thrown if one of more zones have peak rate higher than that 50.0Mcps. This is the recommended max rate to avoid pile-up influencing the offset measurement

Definition at line 177 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_XTALK_MISSING_SAMPLES

#define VL53LX_WARNING_XTALK_MISSING_SAMPLES ((VL53LX_Error) - 38)

Thrown to notify that some of the xtalk samples did not yield valid ranging pulse data while attempting to measure the xtalk signal in vl53lx_run_xtalk_extract(). This can signify any of the zones are missing samples, for further debug information the xtalk_results struct should be referred to. This warning is for notification only, xtalk pulse and shape have still been generated

Definition at line 187 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT

#define VL53LX_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT ((VL53LX_Error) - 39)

Thrown to notify that some of the xtalk samples used for gradient generation did not yield valid ranging pulse data while attempting to measure the xtalk signal in vl53lx_run_xtalk_extract(). This can signify that any one of the zones 0-3 yielded no successful samples. xtalk_results struct should be referred to for further debug info. This warning is for notification only, the xtalk pulse and shape have still been generated.

Definition at line 196 of file vl53lx_error_codes.h.

◆ VL53LX_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT

#define VL53LX_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT ((VL53LX_Error) - 40)

Thrown to notify that some of the xtalk samples used for gradient generation did not pass the sigma limit check while attempting to measure the xtalk signal in vl53lx_run_xtalk_extract(). This can signify that any one of the zones 0-3 yielded an avg sigma_mm value > the limit. The xtalk_results struct should be referred to for further debug info. This warning is for notification only, the xtalk pulse and shape have still been generated.

Definition at line 206 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_NOT_IMPLEMENTED

#define VL53LX_ERROR_NOT_IMPLEMENTED ((VL53LX_Error) - 41)

Tells requested functionality has not been implemented yet or not compatible with the device

Definition at line 211 of file vl53lx_error_codes.h.

◆ VL53LX_ERROR_PLATFORM_SPECIFIC_START

#define VL53LX_ERROR_PLATFORM_SPECIFIC_START ((VL53LX_Error) - 60)

Tells the starting code for platform

Definition at line 213 of file vl53lx_error_codes.h.

Typedef Documentation

◆ VL53LX_Error

typedef int8_t VL53LX_Error

Definition at line 40 of file vl53lx_error_codes.h.


VL53LX API Specification: Data Structures

Data Structures
Here are the data structures with brief descriptions:
C VL53LX_AdditionalData_t | Structure for storing the Additional Data
C VL53LX_CalibrationData_t | Structure for storing the Calibration Data
C VL53LX_CustomerNvmManaged_t |
C VL53LX_Dev_t |
C VL53LX_DevData_t | Contains the Internal data of the Bare Driver
C VL53LX_DeviceInfo_t | Defines the parameters of the Get Device Info Functions
C VL53LX_DeviceParameters_t | Defines all parameters for the device
C VL53LX_MultiRangingData_t | Structure for storing the set of range results
C VL53LX_TargetRangeData_t | One Range measurement data for each target
C VL53LX_UserRoi_t | Defines User Zone(ROI) parameters
C VL53LX_Version_t | Defines the parameters of the Get Version Functions


VL53LX API Specification: VL53LX_Dev_t Struct Reference

Data Fields
VL53LX_Dev_t Struct Reference

#include <vl53lx_platform_user_data.h>

Data Fields

VL53LX_DevData_t Data
uint8_t i2c_slave_address
uint8_t comms_type
uint16_t comms_speed_khz
uint32_t new_data_ready_poll_duration_ms

Detailed Description

Definition at line 32 of file vl53lx_platform_user_data.h.

Field Documentation

◆ Data

VL53LX_DevData_t VL53LX_Dev_t::Data

Definition at line 34 of file vl53lx_platform_user_data.h.

◆ i2c_slave_address

uint8_t VL53LX_Dev_t::i2c_slave_address

Definition at line 37 of file vl53lx_platform_user_data.h.

◆ comms_type

uint8_t VL53LX_Dev_t::comms_type

Definition at line 39 of file vl53lx_platform_user_data.h.

◆ comms_speed_khz

uint16_t VL53LX_Dev_t::comms_speed_khz

Definition at line 41 of file vl53lx_platform_user_data.h.

◆ new_data_ready_poll_duration_ms

uint32_t VL53LX_Dev_t::new_data_ready_poll_duration_ms

Definition at line 44 of file vl53lx_platform_user_data.h.

The documentation for this struct was generated from the following file:
  • vl53lx_platform_user_data.h


VL53LX API Specification: Data Structure Index

Data Structure Index
V
V
VL53LX_AdditionalData_t
VL53LX_CalibrationData_t
VL53LX_CustomerNvmManaged_t
VL53LX_Dev_t
VL53LX_DevData_t
VL53LX_DeviceInfo_t
VL53LX_DeviceParameters_t
VL53LX_MultiRangingData_t
VL53LX_TargetRangeData_t
VL53LX_UserRoi_t
VL53LX_Version_t


VL53LX API Specification: Data Fields

Here is a list of all struct and union fields with links to the structures/unions they belong to:

- a -

  • add_off_cal_data : VL53LX_CalibrationData_t
  • algo__crosstalk_compensation_plane_offset_kcps : VL53LX_CustomerNvmManaged_t
  • algo__crosstalk_compensation_x_plane_gradient_kcps : VL53LX_CustomerNvmManaged_t
  • algo__crosstalk_compensation_y_plane_gradient_kcps : VL53LX_CustomerNvmManaged_t
  • algo__part_to_part_range_offset_mm : VL53LX_CustomerNvmManaged_t
  • algo__xtalk_cpo_HistoMerge_kcps : VL53LX_CalibrationData_t
  • AmbientRateRtnMegaCps : VL53LX_TargetRangeData_t

- b -

  • BotRightX : VL53LX_UserRoi_t
  • BotRightY : VL53LX_UserRoi_t
  • build : VL53LX_Version_t

- c -

  • cal_peak_rate_map : VL53LX_CalibrationData_t
  • comms_speed_khz : VL53LX_Dev_t
  • comms_type : VL53LX_Dev_t
  • CurrentParameters : VL53LX_DevData_t
  • customer : VL53LX_CalibrationData_t

- d -

  • Data : VL53LX_Dev_t
  • DistanceMode : VL53LX_DeviceParameters_t

- e -

  • EffectiveSpadRtnCount : VL53LX_MultiRangingData_t
  • ExtendedRange : VL53LX_TargetRangeData_t

- g -

  • gain_cal : VL53LX_CalibrationData_t
  • global_config__ref_en_start_select : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_0 : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_1 : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_2 : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_3 : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_4 : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_5 : VL53LX_CustomerNvmManaged_t

- h -

  • HasXtalkValueChanged : VL53LX_MultiRangingData_t

- i -

  • i2c_slave_address : VL53LX_Dev_t

- l -

  • LLData : VL53LX_DevData_t
  • llresults : VL53LX_DevData_t

- m -

  • major : VL53LX_Version_t
  • MeasurementTimingBudgetMicroSeconds : VL53LX_DeviceParameters_t
  • minor : VL53LX_Version_t
  • mm_config__inner_offset_mm : VL53LX_CustomerNvmManaged_t
  • mm_config__outer_offset_mm : VL53LX_CustomerNvmManaged_t

- n -

  • new_data_ready_poll_duration_ms : VL53LX_Dev_t
  • NumberOfObjectsFound : VL53LX_MultiRangingData_t

- o -

  • optical_centre : VL53LX_CalibrationData_t

- p -

  • per_vcsel_cal_data : VL53LX_CalibrationData_t
  • ProductRevisionMajor : VL53LX_DeviceInfo_t
  • ProductRevisionMinor : VL53LX_DeviceInfo_t
  • ProductType : VL53LX_DeviceInfo_t

- r -

  • RangeData : VL53LX_MultiRangingData_t
  • RangeMaxMilliMeter : VL53LX_TargetRangeData_t
  • RangeMilliMeter : VL53LX_TargetRangeData_t
  • RangeMinMilliMeter : VL53LX_TargetRangeData_t
  • RangeStatus : VL53LX_TargetRangeData_t
  • ref_spad_char__total_rate_target_mcps : VL53LX_CustomerNvmManaged_t
  • ref_spad_man__num_requested_ref_spads : VL53LX_CustomerNvmManaged_t
  • ref_spad_man__ref_location : VL53LX_CustomerNvmManaged_t
  • revision : VL53LX_Version_t

- s -

  • SigmaMilliMeter : VL53LX_TargetRangeData_t
  • SignalRateRtnMegaCps : VL53LX_TargetRangeData_t
  • StreamCount : VL53LX_MultiRangingData_t
  • struct_version : VL53LX_CalibrationData_t

- t -

  • TimeStamp : VL53LX_MultiRangingData_t
  • TopLeftX : VL53LX_UserRoi_t
  • TopLeftY : VL53LX_UserRoi_t

- x -

  • xtalkhisto : VL53LX_CalibrationData_t


VL53LX API Specification: Data Fields - Variables

- a -

  • add_off_cal_data : VL53LX_CalibrationData_t
  • algo__crosstalk_compensation_plane_offset_kcps : VL53LX_CustomerNvmManaged_t
  • algo__crosstalk_compensation_x_plane_gradient_kcps : VL53LX_CustomerNvmManaged_t
  • algo__crosstalk_compensation_y_plane_gradient_kcps : VL53LX_CustomerNvmManaged_t
  • algo__part_to_part_range_offset_mm : VL53LX_CustomerNvmManaged_t
  • algo__xtalk_cpo_HistoMerge_kcps : VL53LX_CalibrationData_t
  • AmbientRateRtnMegaCps : VL53LX_TargetRangeData_t

- b -

  • BotRightX : VL53LX_UserRoi_t
  • BotRightY : VL53LX_UserRoi_t
  • build : VL53LX_Version_t

- c -

  • cal_peak_rate_map : VL53LX_CalibrationData_t
  • comms_speed_khz : VL53LX_Dev_t
  • comms_type : VL53LX_Dev_t
  • CurrentParameters : VL53LX_DevData_t
  • customer : VL53LX_CalibrationData_t

- d -

  • Data : VL53LX_Dev_t
  • DistanceMode : VL53LX_DeviceParameters_t

- e -

  • EffectiveSpadRtnCount : VL53LX_MultiRangingData_t
  • ExtendedRange : VL53LX_TargetRangeData_t

- g -

  • gain_cal : VL53LX_CalibrationData_t
  • global_config__ref_en_start_select : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_0 : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_1 : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_2 : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_3 : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_4 : VL53LX_CustomerNvmManaged_t
  • global_config__spad_enables_ref_5 : VL53LX_CustomerNvmManaged_t

- h -

  • HasXtalkValueChanged : VL53LX_MultiRangingData_t

- i -

  • i2c_slave_address : VL53LX_Dev_t

- l -

  • LLData : VL53LX_DevData_t
  • llresults : VL53LX_DevData_t

- m -

  • major : VL53LX_Version_t
  • MeasurementTimingBudgetMicroSeconds : VL53LX_DeviceParameters_t
  • minor : VL53LX_Version_t
  • mm_config__inner_offset_mm : VL53LX_CustomerNvmManaged_t
  • mm_config__outer_offset_mm : VL53LX_CustomerNvmManaged_t

- n -

  • new_data_ready_poll_duration_ms : VL53LX_Dev_t
  • NumberOfObjectsFound : VL53LX_MultiRangingData_t

- o -

  • optical_centre : VL53LX_CalibrationData_t

- p -

  • per_vcsel_cal_data : VL53LX_CalibrationData_t
  • ProductRevisionMajor : VL53LX_DeviceInfo_t
  • ProductRevisionMinor : VL53LX_DeviceInfo_t
  • ProductType : VL53LX_DeviceInfo_t

- r -

  • RangeData : VL53LX_MultiRangingData_t
  • RangeMaxMilliMeter : VL53LX_TargetRangeData_t
  • RangeMilliMeter : VL53LX_TargetRangeData_t
  • RangeMinMilliMeter : VL53LX_TargetRangeData_t
  • RangeStatus : VL53LX_TargetRangeData_t
  • ref_spad_char__total_rate_target_mcps : VL53LX_CustomerNvmManaged_t
  • ref_spad_man__num_requested_ref_spads : VL53LX_CustomerNvmManaged_t
  • ref_spad_man__ref_location : VL53LX_CustomerNvmManaged_t
  • revision : VL53LX_Version_t

- s -

  • SigmaMilliMeter : VL53LX_TargetRangeData_t
  • SignalRateRtnMegaCps : VL53LX_TargetRangeData_t
  • StreamCount : VL53LX_MultiRangingData_t
  • struct_version : VL53LX_CalibrationData_t

- t -

  • TimeStamp : VL53LX_MultiRangingData_t
  • TopLeftX : VL53LX_UserRoi_t
  • TopLeftY : VL53LX_UserRoi_t

- x -

  • xtalkhisto : VL53LX_CalibrationData_t


VL53LX API Specification: File List

File List
Here is a list of all files with brief descriptions:
vl53lx_api.h |
vl53lx_def.h | Type definitions for VL53LX API
vl53lx_disclaimer.c | No code doxygen doc only
vl53lx_doxydoc.c | No code doxygen doc only
vl53lx_error_codes.h | Error Code definitions for VL53LX API
vl53lx_platform.h | All end user OS/platform/application porting
vl53lx_platform_init.h |
vl53lx_platform_ipp.h |
vl53lx_platform_ipp_imports.h |
vl53lx_platform_log.h |
vl53lx_platform_user_config.h |
vl53lx_platform_user_data.h |
vl53lx_platform_user_defines.h |
vl53lx_types.h |


VL53LX API Specification: vl53lx_api.h File Reference

  • delivery
  • bare_driver_lx
  • core
  • inc
Functions
vl53lx_api.h File Reference
#include "vl53lx_api_core.h"
#include "vl53lx_preset_setup.h"

Go to the source code of this file.

Functions

VL53LX_Error | VL53LX_GetVersion (VL53LX_Version_t *pVersion)
Return the VL53LX driver Version. More...
VL53LX_Error | VL53LX_GetProductRevision (VL53LX_DEV Dev, uint8_t *pProductRevisionMajor, uint8_t *pProductRevisionMinor)
Reads the Product Revision for a for given Device This function can be used to distinguish cut1.0 from cut1.1. More...
VL53LX_Error | VL53LX_GetDeviceInfo (VL53LX_DEV Dev, VL53LX_DeviceInfo_t *pVL53LX_DeviceInfo)
Reads the Device information for given Device. More...
VL53LX_Error | VL53LX_GetUID (VL53LX_DEV Dev, uint64_t *pUid)
Reads the Device unique identifier. More...
VL53LX_Error | VL53LX_SetDeviceAddress (VL53LX_DEV Dev, uint8_t DeviceAddress)
Set new device address. More...
VL53LX_Error | VL53LX_DataInit (VL53LX_DEV Dev)
One time device initialization. More...
VL53LX_Error | VL53LX_WaitDeviceBooted (VL53LX_DEV Dev)
Wait for device booted after chip enable (hardware standby) More...
VL53LX_Error | VL53LX_SetDistanceMode (VL53LX_DEV Dev, VL53LX_DistanceModes DistanceMode)
Set the distance mode. More...
VL53LX_Error | VL53LX_GetDistanceMode (VL53LX_DEV Dev, VL53LX_DistanceModes *pDistanceMode)
Get the distance mode. More...
VL53LX_Error | VL53LX_SetMeasurementTimingBudgetMicroSeconds (VL53LX_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds)
Set Ranging Timing Budget in microseconds. More...
VL53LX_Error | VL53LX_GetMeasurementTimingBudgetMicroSeconds (VL53LX_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds)
Get Ranging Timing Budget in microseconds. More...
VL53LX_Error | VL53LX_SetUserROI (VL53LX_DEV Dev, VL53LX_UserRoi_t *pUserROi)
Set the ROI to be used for ranging. More...
VL53LX_Error | VL53LX_GetUserROI (VL53LX_DEV Dev, VL53LX_UserRoi_t *pUserROi)
Get the ROI managed by the Device. More...
VL53LX_Error | VL53LX_StartMeasurement (VL53LX_DEV Dev)
Start device measurement. More...
VL53LX_Error | VL53LX_StopMeasurement (VL53LX_DEV Dev)
Stop device measurement. More...
VL53LX_Error | VL53LX_ClearInterruptAndStartMeasurement (VL53LX_DEV Dev)
Clear the Interrupt flag and start new measurement *. More...
VL53LX_Error | VL53LX_GetMeasurementDataReady (VL53LX_DEV Dev, uint8_t *pMeasurementDataReady)
Return Measurement Data Ready. More...
VL53LX_Error | VL53LX_WaitMeasurementDataReady (VL53LX_DEV Dev)
Wait for measurement data ready. More...
VL53LX_Error | VL53LX_GetMultiRangingData (VL53LX_DEV Dev, VL53LX_MultiRangingData_t *pMultiRangingData)
Retrieve all measurements from device with the current setup. More...
VL53LX_Error | VL53LX_GetAdditionalData (VL53LX_DEV Dev, VL53LX_AdditionalData_t *pAdditionalData)
Get Additional Data. More...
VL53LX_Error | VL53LX_SetTuningParameter (VL53LX_DEV Dev, uint16_t TuningParameterId, int32_t TuningParameterValue)
Set Tuning Parameter value for a given parameter ID. More...
VL53LX_Error | VL53LX_GetTuningParameter (VL53LX_DEV Dev, uint16_t TuningParameterId, int32_t *pTuningParameterValue)
Get Tuning Parameter value for a given parameter ID. More...
VL53LX_Error | VL53LX_PerformRefSpadManagement (VL53LX_DEV Dev)
Performs Reference Spad Management. More...
VL53LX_Error | VL53LX_SmudgeCorrectionEnable (VL53LX_DEV Dev, VL53LX_SmudgeCorrectionModes Mode)
Enable/Disable dynamic Xtalk compensation feature. More...
VL53LX_Error | VL53LX_SetXTalkCompensationEnable (VL53LX_DEV Dev, uint8_t XTalkCompensationEnable)
Enable/Disable Cross talk compensation feature. More...
VL53LX_Error | VL53LX_GetXTalkCompensationEnable (VL53LX_DEV Dev, uint8_t *pXTalkCompensationEnable)
Get Cross talk compensation rate enable. More...
VL53LX_Error | VL53LX_PerformXTalkCalibration (VL53LX_DEV Dev)
Perform XTalk Calibration. More...
VL53LX_Error | VL53LX_SetOffsetCorrectionMode (VL53LX_DEV Dev, VL53LX_OffsetCorrectionModes OffsetCorrectionMode)
Define the mode to be used for the offset correction. More...
VL53LX_Error | VL53LX_PerformOffsetSimpleCalibration (VL53LX_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset simple Calibration. More...
VL53LX_Error | VL53LX_PerformOffsetZeroDistanceCalibration (VL53LX_DEV Dev)
Perform Offset simple Calibration with a "zero distance" target. More...
VL53LX_Error | VL53LX_PerformOffsetPerVcselCalibration (VL53LX_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset per Vcsel Calibration. More...
VL53LX_Error | VL53LX_SetCalibrationData (VL53LX_DEV Dev, VL53LX_CalibrationData_t *pCalibrationData)
Sets the Calibration Data. More...
VL53LX_Error | VL53LX_GetCalibrationData (VL53LX_DEV Dev, VL53LX_CalibrationData_t *pCalibrationData)
Gets the Calibration Data. More...
VL53LX_Error | VL53LX_GetOpticalCenter (VL53LX_DEV Dev, FixPoint1616_t *pOpticalCenterX, FixPoint1616_t *pOpticalCenterY)
Gets the optical center. More...


VL53LX API Specification: vl53lx_def.h File Reference

  • delivery
  • bare_driver_lx
  • core
  • inc
Data Structures | Macros | Typedefs
vl53lx_def.h File Reference

Type definitions for VL53LX API. More...

#include "vl53lx_ll_def.h"

Go to the source code of this file.

Data Structures

struct | VL53LX_Version_t
Defines the parameters of the Get Version Functions. More...
struct | VL53LX_DeviceInfo_t
Defines the parameters of the Get Device Info Functions. More...
struct | VL53LX_DeviceParameters_t
Defines all parameters for the device. More...
struct | VL53LX_TargetRangeData_t
One Range measurement data for each target. More...
struct | VL53LX_MultiRangingData_t
Structure for storing the set of range results. More...
struct | VL53LX_UserRoi_t
Defines User Zone(ROI) parameters. More...
struct | VL53LX_CustomerNvmManaged_t
struct | VL53LX_CalibrationData_t
Structure for storing the Calibration Data. More...
struct | VL53LX_DevData_t
Contains the Internal data of the Bare Driver. More...

Macros

#define | VL53LX_IMPLEMENTATION_VER_MAJOR 1
VL53LX IMPLEMENTATION major version. More...
#define | VL53LX_IMPLEMENTATION_VER_MINOR 2
VL53LX IMPLEMENTATION minor version. More...
#define | VL53LX_IMPLEMENTATION_VER_SUB 13
VL53LX IMPLEMENTATION sub version. More...
#define | VL53LX_IMPLEMENTATION_VER_REVISION 2676
VL53LX IMPLEMENTATION sub version. More...
#define | VL53LX_DISTANCEMODE_SHORT ((VL53LX_DistanceModes) 1)
#define | VL53LX_DISTANCEMODE_MEDIUM ((VL53LX_DistanceModes) 2)
#define | VL53LX_DISTANCEMODE_LONG ((VL53LX_DistanceModes) 3)
#define | VL53LX_OFFSETCORRECTIONMODE_STANDARD ((VL53LX_OffsetCorrectionModes) 1)
#define | VL53LX_OFFSETCORRECTIONMODE_PERVCSEL ((VL53LX_OffsetCorrectionModes) 3)
#define | VL53LX_SMUDGE_CORRECTION_NONE ((VL53LX_SmudgeCorrectionModes) 0)
#define | VL53LX_SMUDGE_CORRECTION_CONTINUOUS ((VL53LX_SmudgeCorrectionModes) 1)
#define | VL53LX_SMUDGE_CORRECTION_SINGLE ((VL53LX_SmudgeCorrectionModes) 2)
#define | VL53LX_SMUDGE_CORRECTION_DEBUG ((VL53LX_SmudgeCorrectionModes) 3)
#define | VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x20
#define | VL53LX_CALIBRATION_DATA_STRUCT_VERSION
VL53LX additional Calibration Data struct version final struct version is given by adding it to VL53LX_LL_CALIBRATION_DATA_STRUCT_VERSION. More...
#define | VL53LX_RANGESTATUS_RANGE_VALID 0
#define | VL53LX_RANGESTATUS_SIGMA_FAIL 1
#define | VL53LX_RANGESTATUS_SIGNAL_FAIL 2
#define | VL53LX_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3
#define | VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL 4
#define | VL53LX_RANGESTATUS_HARDWARE_FAIL 5
#define | VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL 6
#define | VL53LX_RANGESTATUS_WRAP_TARGET_FAIL 7
#define | VL53LX_RANGESTATUS_PROCESSING_FAIL 8
#define | VL53LX_RANGESTATUS_XTALK_SIGNAL_FAIL 9
#define | VL53LX_RANGESTATUS_SYNCRONISATION_INT 10
#define | VL53LX_RANGESTATUS_RANGE_VALID_MERGED_PULSE 11
#define | VL53LX_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12
#define | VL53LX_RANGESTATUS_MIN_RANGE_FAIL 13
#define | VL53LX_RANGESTATUS_RANGE_INVALID 14
#define | VL53LX_RANGESTATUS_NONE 255
#define | VL53LX_SETPARAMETERFIELD(Dev, field, value) (VL53LXDevDataSet(Dev, CurrentParameters.field, value))
#define | VL53LX_GETPARAMETERFIELD(Dev, field, variable) (variable = VL53LXDevDataGet(Dev, CurrentParameters).field)
#define | VL53LX_SETARRAYPARAMETERFIELD(Dev, field, index, value) (VL53LXDevDataSet(Dev, CurrentParameters.field[index], value))
#define | VL53LX_GETARRAYPARAMETERFIELD(Dev, field, index, variable) (variable = VL53LXDevDataGet(Dev, CurrentParameters).field[index])
#define | VL53LX_SETDEVICESPECIFICPARAMETER(Dev, field, value) (VL53LXDevDataSet(Dev, DeviceSpecificParameters.field, value))
#define | VL53LX_GETDEVICESPECIFICPARAMETER(Dev, field) (VL53LXDevDataGet(Dev, DeviceSpecificParameters).field)
#define | VL53LX_FIXPOINT1616TOFIXPOINT44(Value) (uint16_t)((Value>>12)&0xFFFF)
#define | VL53LX_FIXPOINT44TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<12)
#define | VL53LX_FIXPOINT1616TOFIXPOINT72(Value) (uint16_t)((Value>>14)&0xFFFF)
#define | VL53LX_FIXPOINT72TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53LX_FIXPOINT1616TOFIXPOINT97(Value) (uint16_t)((Value>>9)&0xFFFF)
#define | VL53LX_FIXPOINT97TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<9)
#define | VL53LX_FIXPOINT1616TOFIXPOINT88(Value) (uint16_t)((Value>>8)&0xFFFF)
#define | VL53LX_FIXPOINT88TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<8)
#define | VL53LX_FIXPOINT1616TOFIXPOINT412(Value) (uint16_t)((Value>>4)&0xFFFF)
#define | VL53LX_FIXPOINT412TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<4)
#define | VL53LX_FIXPOINT1616TOFIXPOINT313(Value) (uint16_t)((Value>>3)&0xFFFF)
#define | VL53LX_FIXPOINT313TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<3)
#define | VL53LX_FIXPOINT1616TOFIXPOINT08(Value) (uint8_t)((Value>>8)&0x00FF)
#define | VL53LX_FIXPOINT08TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<8)
#define | VL53LX_FIXPOINT1616TOFIXPOINT53(Value) (uint8_t)((Value>>13)&0x00FF)
#define | VL53LX_FIXPOINT53TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<13)
#define | VL53LX_FIXPOINT1616TOFIXPOINT102(Value) (uint16_t)((Value>>14)&0x0FFF)
#define | VL53LX_FIXPOINT102TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53LX_FIXPOINT1616TOFIXPOINT142(Value) (uint16_t)((Value>>14)&0xFFFF)
#define | VL53LX_FIXPOINT142TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53LX_FIXPOINT1616TOFIXPOINT160(Value) (uint16_t)((Value>>16)&0xFFFF)
#define | VL53LX_FIXPOINT160TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<16)
#define | VL53LX_MAKEUINT16(lsb, msb)

Typedefs

typedef uint8_t | VL53LX_DistanceModes
typedef uint8_t | VL53LX_OffsetCorrectionModes
typedef uint8_t | VL53LX_SmudgeCorrectionModes
typedef VL53LX_additional_data_t | VL53LX_AdditionalData_t

Detailed Description

Type definitions for VL53LX API.

Definition in file vl53lx_def.h.


VL53LX API Specification: vl53lx_disclaimer.c File Reference

  • doc_lx
vl53lx_disclaimer.c File Reference

no code doxygen doc only More...

Go to the source code of this file.

Detailed Description

no code doxygen doc only

Definition in file vl53lx_disclaimer.c.


VL53LX API Specification: vl53lx_doxydoc.c File Reference

  • doc_lx
vl53lx_doxydoc.c File Reference

no code doxygen doc only More...

Go to the source code of this file.

Detailed Description

no code doxygen doc only

Definition in file vl53lx_doxydoc.c.


VL53LX API Specification: vl53lx_error_codes.h File Reference

  • delivery
  • bare_driver_lx
  • core
  • inc
Macros | Typedefs
vl53lx_error_codes.h File Reference

Error Code definitions for VL53LX API. More...

#include "vl53lx_types.h"

Go to the source code of this file.

Macros

#define | VL53LX_ERROR_NONE ((VL53LX_Error) 0)
#define | VL53LX_ERROR_CALIBRATION_WARNING ((VL53LX_Error) - 1)
#define | VL53LX_ERROR_MIN_CLIPPED ((VL53LX_Error) - 2)
#define | VL53LX_ERROR_UNDEFINED ((VL53LX_Error) - 3)
#define | VL53LX_ERROR_INVALID_PARAMS ((VL53LX_Error) - 4)
#define | VL53LX_ERROR_NOT_SUPPORTED ((VL53LX_Error) - 5)
#define | VL53LX_ERROR_RANGE_ERROR ((VL53LX_Error) - 6)
#define | VL53LX_ERROR_TIME_OUT ((VL53LX_Error) - 7)
#define | VL53LX_ERROR_MODE_NOT_SUPPORTED ((VL53LX_Error) - 8)
#define | VL53LX_ERROR_BUFFER_TOO_SMALL ((VL53LX_Error) - 9)
#define | VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL ((VL53LX_Error) - 10)
#define | VL53LX_ERROR_GPIO_NOT_EXISTING ((VL53LX_Error) - 11)
#define | VL53LX_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53LX_Error) - 12)
#define | VL53LX_ERROR_CONTROL_INTERFACE ((VL53LX_Error) - 13)
#define | VL53LX_ERROR_INVALID_COMMAND ((VL53LX_Error) - 14)
#define | VL53LX_ERROR_DIVISION_BY_ZERO ((VL53LX_Error) - 15)
#define | VL53LX_ERROR_REF_SPAD_INIT ((VL53LX_Error) - 16)
#define | VL53LX_ERROR_GPH_SYNC_CHECK_FAIL ((VL53LX_Error) - 17)
#define | VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 18)
#define | VL53LX_ERROR_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 19)
#define | VL53LX_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 20)
#define | VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 21)
#define | VL53LX_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL ((VL53LX_Error) - 22)
#define | VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL ((VL53LX_Error) - 23)
#define | VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL ((VL53LX_Error) - 24)
#define | VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL ((VL53LX_Error) - 25)
#define | VL53LX_ERROR_ZONE_CAL_NO_SAMPLE_FAIL ((VL53LX_Error) - 26)
#define | VL53LX_ERROR_TUNING_PARM_KEY_MISMATCH ((VL53LX_Error) - 27)
#define | VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS ((VL53LX_Error) - 28)
#define | VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH ((VL53LX_Error) - 29)
#define | VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW ((VL53LX_Error) - 30)
#define | VL53LX_WARNING_OFFSET_CAL_MISSING_SAMPLES ((VL53LX_Error) - 31)
#define | VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH ((VL53LX_Error) - 32)
#define | VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HIGH ((VL53LX_Error) - 33)
#define | VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW ((VL53LX_Error) - 34)
#define | VL53LX_WARNING_ZONE_CAL_MISSING_SAMPLES ((VL53LX_Error) - 35)
#define | VL53LX_WARNING_ZONE_CAL_SIGMA_TOO_HIGH ((VL53LX_Error) - 36)
#define | VL53LX_WARNING_ZONE_CAL_RATE_TOO_HIGH ((VL53LX_Error) - 37)
#define | VL53LX_WARNING_XTALK_MISSING_SAMPLES ((VL53LX_Error) - 38)
#define | VL53LX_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT ((VL53LX_Error) - 39)
#define | VL53LX_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT ((VL53LX_Error) - 40)
#define | VL53LX_ERROR_NOT_IMPLEMENTED ((VL53LX_Error) - 41)
#define | VL53LX_ERROR_PLATFORM_SPECIFIC_START ((VL53LX_Error) - 60)

Typedefs

typedef int8_t VL53LX_Error

Detailed Description

Error Code definitions for VL53LX API.

Definition in file vl53lx_error_codes.h.


VL53LX API Specification: vl53lx_platform.h File Reference

  • delivery
  • bare_driver_lx
  • platform
  • inc
Macros | Functions
vl53lx_platform.h File Reference

All end user OS/platform/application porting. More...

#include "vl53lx_ll_def.h"
#include "vl53lx_platform_log.h"
#include "vl53lx_platform_ipp_imports.h"
#include "vl53lx_platform_user_data.h"

Go to the source code of this file.

Macros

#define VL53LX_IPP_API

Functions

VL53LX_Error | VL53LX_CommsInitialise (VL53LX_Dev_t *pdev, uint8_t comms_type, uint16_t comms_speed_khz)
Initialise platform comms. More...
VL53LX_Error | VL53LX_CommsClose (VL53LX_Dev_t *pdev)
Close platform comms. More...
VL53LX_Error | VL53LX_WriteMulti (VL53LX_Dev_t *pdev, uint16_t index, uint8_t *pdata, uint32_t count)
Writes the supplied byte buffer to the device. More...
VL53LX_Error | VL53LX_ReadMulti (VL53LX_Dev_t *pdev, uint16_t index, uint8_t *pdata, uint32_t count)
Reads the requested number of bytes from the device. More...
VL53LX_Error | VL53LX_WrByte (VL53LX_Dev_t *pdev, uint16_t index, uint8_t data)
Writes a single byte to the device. More...
VL53LX_Error | VL53LX_WrWord (VL53LX_Dev_t *pdev, uint16_t index, uint16_t data)
Writes a single word (16-bit unsigned) to the device. More...
VL53LX_Error | VL53LX_WrDWord (VL53LX_Dev_t *pdev, uint16_t index, uint32_t data)
Writes a single dword (32-bit unsigned) to the device. More...
VL53LX_Error | VL53LX_RdByte (VL53LX_Dev_t *pdev, uint16_t index, uint8_t *pdata)
Reads a single byte from the device. More...
VL53LX_Error | VL53LX_RdWord (VL53LX_Dev_t *pdev, uint16_t index, uint16_t *pdata)
Reads a single word (16-bit unsigned) from the device. More...
VL53LX_Error | VL53LX_RdDWord (VL53LX_Dev_t *pdev, uint16_t index, uint32_t *pdata)
Reads a single dword (32-bit unsigned) from the device. More...
VL53LX_Error | VL53LX_WaitUs (VL53LX_Dev_t *pdev, int32_t wait_us)
Implements a programmable wait in us. More...
VL53LX_Error | VL53LX_WaitMs (VL53LX_Dev_t *pdev, int32_t wait_ms)
Implements a programmable wait in ms. More...
VL53LX_Error | VL53LX_GetTimerFrequency (int32_t *ptimer_freq_hz)
Get the frequency of the timer used for ranging results time stamps. More...
VL53LX_Error | VL53LX_GetTimerValue (int32_t *ptimer_count)
Get the timer value in units of timer_freq_hz (see VL53LX_get_timestamp_frequency()) More...
VL53LX_Error | VL53LX_GpioSetMode (uint8_t pin, uint8_t mode)
Set the mode of a specified GPIO pin. More...
VL53LX_Error | VL53LX_GpioSetValue (uint8_t pin, uint8_t value)
Set the value of a specified GPIO pin. More...
VL53LX_Error | VL53LX_GpioGetValue (uint8_t pin, uint8_t *pvalue)
Get the value of a specified GPIO pin. More...
VL53LX_Error | VL53LX_GpioXshutdown (uint8_t value)
Sets and clears the XShutdown pin on the Ewok. More...
VL53LX_Error | VL53LX_GpioCommsSelect (uint8_t value)
Sets and clears the Comms Mode pin (NCS) on the Ewok. More...
VL53LX_Error | VL53LX_GpioPowerEnable (uint8_t value)
Enables and disables the power to the Ewok module. More...
VL53LX_Error | VL53LX_GpioInterruptEnable (void(*function)(void), uint8_t edge_type)
Enables callbacks to the supplied funtion pointer when Ewok interrupts ocurr. More...
VL53LX_Error | VL53LX_GpioInterruptDisable (void)
Disables the callback on Ewok interrupts. More...
VL53LX_Error | VL53LX_GetTickCount (VL53LX_Dev_t *pdev, uint32_t *ptime_ms)
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)
Register "wait for value" polling routine. More...

Detailed Description

All end user OS/platform/application porting.

Definition in file vl53lx_platform.h.

Macro Definition Documentation

◆ VL53LX_IPP_API

#define VL53LX_IPP_API

Definition at line 18 of file vl53lx_platform.h.

Function Documentation

◆ VL53LX_CommsInitialise()

VL53LX_Error VL53LX_CommsInitialise | ( | VL53LX_Dev_t * | pdev,
 |  | uint8_t | comms_type,
 |  | uint16_t | comms_speed_khz
 | ) |  |

Initialise platform comms.

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | comms_type | : selects between I2C and SPI
[in] | comms_speed_khz | : unsigned short containing the I2C speed in kHz
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_CommsClose()

VL53LX_Error VL53LX_CommsClose ( VL53LX_Dev_t * pdev )

Close platform comms.

Parameters
[in] pdev : pointer to device structure (device handle)
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_WriteMulti()

VL53LX_Error VL53LX_WriteMulti | ( | VL53LX_Dev_t * | pdev,
 |  | uint16_t | index,
 |  | uint8_t * | pdata,
 |  | uint32_t | count
 | ) |  |

Writes the supplied byte buffer to the device.

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | index | : uint16_t register index value
[in] | pdata | : pointer to uint8_t (byte) buffer containing the data to be written
[in] | count | : number of bytes in the supplied byte buffer
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_ReadMulti()

VL53LX_Error VL53LX_ReadMulti | ( | VL53LX_Dev_t * | pdev,
 |  | uint16_t | index,
 |  | uint8_t * | pdata,
 |  | uint32_t | count
 | ) |  |

Reads the requested number of bytes from the device.

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | index | : uint16_t register index value
[out] | pdata | : pointer to the uint8_t (byte) buffer to store read data
[in] | count | : number of bytes to read
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_WrByte()

VL53LX_Error VL53LX_WrByte | ( | VL53LX_Dev_t * | pdev,
 |  | uint16_t | index,
 |  | uint8_t | data
 | ) |  |

Writes a single byte to the device.

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | index | : uint16_t register index value
[in] | data | : uint8_t data value to write
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_WrWord()

VL53LX_Error VL53LX_WrWord | ( | VL53LX_Dev_t * | pdev,
 |  | uint16_t | index,
 |  | uint16_t | data
 | ) |  |

Writes a single word (16-bit unsigned) to the device.

Manages the big-endian nature of the device register map (first byte written is the MS byte).

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | index | : uint16_t register index value
[in] | data | : uin16_t data value write
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_WrDWord()

VL53LX_Error VL53LX_WrDWord | ( | VL53LX_Dev_t * | pdev,
 |  | uint16_t | index,
 |  | uint32_t | data
 | ) |  |

Writes a single dword (32-bit unsigned) to the device.

Manages the big-endian nature of the device register map (first byte written is the MS byte).

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | index | : uint16_t register index value
[in] | data | : uint32_t data value to write
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_RdByte()

VL53LX_Error VL53LX_RdByte | ( | VL53LX_Dev_t * | pdev,
 |  | uint16_t | index,
 |  | uint8_t * | pdata
 | ) |  |

Reads a single byte from the device.

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | index | : uint16_t register index
[out] | pdata | : pointer to uint8_t data value
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_RdWord()

VL53LX_Error VL53LX_RdWord | ( | VL53LX_Dev_t * | pdev,
 |  | uint16_t | index,
 |  | uint16_t * | pdata
 | ) |  |

Reads a single word (16-bit unsigned) from the device.

Manages the big-endian nature of the device (first byte read is the MS byte).

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | index | : uint16_t register index value
[out] | pdata | : pointer to uint16_t data value
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_RdDWord()

VL53LX_Error VL53LX_RdDWord | ( | VL53LX_Dev_t * | pdev,
 |  | uint16_t | index,
 |  | uint32_t * | pdata
 | ) |  |

Reads a single dword (32-bit unsigned) from the device.

Manages the big-endian nature of the device (first byte read is the MS byte).

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | index | : uint16_t register index value
[out] | pdata | : pointer to uint32_t data value
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_WaitUs()

VL53LX_Error VL53LX_WaitUs | ( | VL53LX_Dev_t * | pdev,
 |  | int32_t | wait_us
 | ) |  |

Implements a programmable wait in us.

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | wait_us | : integer wait in micro seconds
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_WaitMs()

VL53LX_Error VL53LX_WaitMs | ( | VL53LX_Dev_t * | pdev,
 |  | int32_t | wait_ms
 | ) |  |

Implements a programmable wait in ms.

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | wait_ms | : integer wait in milliseconds
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetTimerFrequency()

VL53LX_Error VL53LX_GetTimerFrequency ( int32_t * ptimer_freq_hz )

Get the frequency of the timer used for ranging results time stamps.

Parameters
[out] ptimer_freq_hz : pointer for timer frequency
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetTimerValue()

VL53LX_Error VL53LX_GetTimerValue ( int32_t * ptimer_count )

Get the timer value in units of timer_freq_hz (see VL53LX_get_timestamp_frequency())

Parameters
[out] ptimer_count : pointer for timer count value
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GpioSetMode()

VL53LX_Error VL53LX_GpioSetMode | ( | uint8_t | pin,
 |  | uint8_t | mode
 | ) |  |

Set the mode of a specified GPIO pin.

Parameters
pin | - an identifier specifying the pin being modified - defined per platform
mode | - an identifier specifying the requested mode - defined per platform
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GpioSetValue()

VL53LX_Error VL53LX_GpioSetValue | ( | uint8_t | pin,
 |  | uint8_t | value
 | ) |  |

Set the value of a specified GPIO pin.

Parameters
pin | - an identifier specifying the pin being modified - defined per platform
value | - a value to set on the GPIO pin - typically 0 or 1
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GpioGetValue()

VL53LX_Error VL53LX_GpioGetValue | ( | uint8_t | pin,
 |  | uint8_t * | pvalue
 | ) |  |

Get the value of a specified GPIO pin.

Parameters
pin | - an identifier specifying the pin being modified - defined per platform
pvalue | - a value retrieved from the GPIO pin - typically 0 or 1
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GpioXshutdown()

VL53LX_Error VL53LX_GpioXshutdown ( uint8_t value )

Sets and clears the XShutdown pin on the Ewok.

Parameters
value - the value for xshutdown - 0 = in reset, 1 = operational
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GpioCommsSelect()

VL53LX_Error VL53LX_GpioCommsSelect ( uint8_t value )

Sets and clears the Comms Mode pin (NCS) on the Ewok.

Parameters
value - the value for comms select - 0 = I2C, 1 = SPI
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GpioPowerEnable()

VL53LX_Error VL53LX_GpioPowerEnable ( uint8_t value )

Enables and disables the power to the Ewok module.

Parameters
value - the state of the power supply - 0 = power off, 1 = power on
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GpioInterruptEnable()

VL53LX_Error VL53LX_GpioInterruptEnable | ( | void(*)(void) | function,
 |  | uint8_t | edge_type
 | ) |  |

Enables callbacks to the supplied funtion pointer when Ewok interrupts ocurr.

Parameters
function | - a function callback supplies by the caller, for interrupt notification
edge_type | - falling edge or rising edge interrupt detection
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GpioInterruptDisable()

VL53LX_Error VL53LX_GpioInterruptDisable ( void )

Disables the callback on Ewok interrupts.

Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error

◆ VL53LX_GetTickCount()

VL53LX_Error VL53LX_GetTickCount | ( | VL53LX_Dev_t * | pdev,
 |  | uint32_t * | ptime_ms
 | ) |  |

◆ VL53LX_WaitValueMaskEx()

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
 | ) |  |

Register "wait for value" polling routine.

Port of the V2WReg Script function WaitValueMaskEx()

Parameters
[in] | pdev | : pointer to device structure (device handle)
[in] | timeout_ms | : timeout in [ms]
[in] | index | : uint16_t register index value
[in] | value | : value to wait for
[in] | mask | : mask to be applied before comparison with value
[in] | poll_delay_ms | : polling delay been each read transaction in [ms]
Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error


VL53LX API Specification: vl53lx_platform_init.h File Reference

  • delivery
  • bare_driver_lx
  • platform
  • inc
Functions
vl53lx_platform_init.h File Reference
#include "vl53lx_platform.h"

Go to the source code of this file.

Functions

VL53LX_Error | VL53LX_platform_init (VL53LX_Dev_t *pdev, uint8_t i2c_slave_address, uint8_t comms_type, uint16_t comms_speed_khz)
VL53LX_Error | VL53LX_platform_terminate (VL53LX_Dev_t *pdev)

Function Documentation

◆ VL53LX_platform_init()

VL53LX_Error VL53LX_platform_init | ( | VL53LX_Dev_t * | pdev,
 |  | uint8_t | i2c_slave_address,
 |  | uint8_t | comms_type,
 |  | uint16_t | comms_speed_khz
 | ) |  |

◆ VL53LX_platform_terminate()

VL53LX_Error VL53LX_platform_terminate ( VL53LX_Dev_t * pdev )


VL53LX API Specification: vl53lx_platform_ipp.h File Reference

  • delivery
  • bare_driver_lx
  • platform
  • inc
Functions
vl53lx_platform_ipp.h File Reference
#include <vl53lx_platform_user_data.h>

Go to the source code of this file.

Functions

VL53LX_Error | VL53LX_ipp_hist_process_data (VL53LX_DEV Dev, VL53LX_dmax_calibration_data_t *pdmax_cal, VL53LX_hist_gen3_dmax_config_t *pdmax_cfg, VL53LX_hist_post_process_config_t *ppost_cfg, VL53LX_histogram_bin_data_t *pbins, VL53LX_xtalk_histogram_data_t *pxtalk, uint8_t *pArea1, uint8_t *pArea2, uint8_t *phisto_merge_nb, VL53LX_range_results_t *presults)
VL53LX_Error | VL53LX_ipp_hist_ambient_dmax (VL53LX_DEV Dev, uint16_t target_reflectance, VL53LX_dmax_calibration_data_t *pdmax_cal, VL53LX_hist_gen3_dmax_config_t *pdmax_cfg, VL53LX_histogram_bin_data_t *pbins, int16_t *pambient_dmax_mm)
VL53LX_Error | VL53LX_ipp_xtalk_calibration_process_data (VL53LX_DEV Dev, VL53LX_xtalk_range_results_t *pxtalk_ranges, VL53LX_xtalk_histogram_data_t *pxtalk_shape, VL53LX_xtalk_calibration_results_t *pxtalk_cal)

Function Documentation

◆ VL53LX_ipp_hist_process_data()

VL53LX_Error VL53LX_ipp_hist_process_data | ( | VL53LX_DEV | Dev,
 |  | VL53LX_dmax_calibration_data_t * | pdmax_cal,
 |  | VL53LX_hist_gen3_dmax_config_t * | pdmax_cfg,
 |  | VL53LX_hist_post_process_config_t * | ppost_cfg,
 |  | VL53LX_histogram_bin_data_t * | pbins,
 |  | VL53LX_xtalk_histogram_data_t * | pxtalk,
 |  | uint8_t * | pArea1,
 |  | uint8_t * | pArea2,
 |  | uint8_t * | phisto_merge_nb,
 |  | VL53LX_range_results_t * | presults
 | ) |  |

◆ VL53LX_ipp_hist_ambient_dmax()

VL53LX_Error VL53LX_ipp_hist_ambient_dmax | ( | VL53LX_DEV | Dev,
 |  | uint16_t | target_reflectance,
 |  | VL53LX_dmax_calibration_data_t * | pdmax_cal,
 |  | VL53LX_hist_gen3_dmax_config_t * | pdmax_cfg,
 |  | VL53LX_histogram_bin_data_t * | pbins,
 |  | int16_t * | pambient_dmax_mm
 | ) |  |

◆ VL53LX_ipp_xtalk_calibration_process_data()

VL53LX_Error VL53LX_ipp_xtalk_calibration_process_data | ( | VL53LX_DEV | Dev,
 |  | VL53LX_xtalk_range_results_t * | pxtalk_ranges,
 |  | VL53LX_xtalk_histogram_data_t * | pxtalk_shape,
 |  | VL53LX_xtalk_calibration_results_t * | pxtalk_cal
 | ) |  |


VL53LX API Specification: vl53lx_platform_ipp_imports.h File Reference

  • delivery
  • bare_driver_lx
  • platform
  • inc
vl53lx_platform_ipp_imports.h File Reference

Go to the source code of this file.


VL53LX API Specification: vl53lx_platform_log.h File Reference

  • delivery
  • bare_driver_lx
  • platform
  • inc
Macros
vl53lx_platform_log.h File Reference

Go to the source code of this file.

Macros

#define | _LOG_TRACE_PRINT(module, level, function, ...)
#define | _LOG_FUNCTION_START(module, fmt, ...)
#define | _LOG_FUNCTION_END(module, status, ...)
#define | _LOG_FUNCTION_END_FMT(module, status, fmt, ...)
#define | _LOG_GET_TRACE_FUNCTIONS() 0
#define | _LOG_SET_TRACE_FUNCTIONS(functions)
#define | _LOG_STRING_BUFFER(x)

Macro Definition Documentation

◆ _LOG_TRACE_PRINT

#define _LOG_TRACE_PRINT | ( | module,
 |  | level,
 |  | function,
 |  | ...
 | ) |

Definition at line 131 of file vl53lx_platform_log.h.

◆ _LOG_FUNCTION_START

#define _LOG_FUNCTION_START | ( | module,
 |  | fmt,
 |  | ...
 | ) |

Definition at line 132 of file vl53lx_platform_log.h.

◆ _LOG_FUNCTION_END

#define _LOG_FUNCTION_END | ( | module,
 |  | status,
 |  | ...
 | ) |

Definition at line 133 of file vl53lx_platform_log.h.

◆ _LOG_FUNCTION_END_FMT

#define _LOG_FUNCTION_END_FMT | ( | module,
 |  | status,
 |  | fmt,
 |  | ...
 | ) |

Definition at line 134 of file vl53lx_platform_log.h.

◆ _LOG_GET_TRACE_FUNCTIONS

#define _LOG_GET_TRACE_FUNCTIONS ( ) 0

Definition at line 135 of file vl53lx_platform_log.h.

◆ _LOG_SET_TRACE_FUNCTIONS

#define _LOG_SET_TRACE_FUNCTIONS ( functions )

Definition at line 136 of file vl53lx_platform_log.h.

◆ _LOG_STRING_BUFFER

#define _LOG_STRING_BUFFER ( x )

Definition at line 137 of file vl53lx_platform_log.h.


VL53LX API Specification: vl53lx_platform_user_config.h File Reference

  • delivery
  • bare_driver_lx
  • platform
  • inc
Macros
vl53lx_platform_user_config.h File Reference

Go to the source code of this file.

Macros

#define | VL53LX_BYTES_PER_WORD 2
#define | VL53LX_BYTES_PER_DWORD 4
#define | VL53LX_BOOT_COMPLETION_POLLING_TIMEOUT_MS 500
#define | VL53LX_RANGE_COMPLETION_POLLING_TIMEOUT_MS 2000
#define | VL53LX_TEST_COMPLETION_POLLING_TIMEOUT_MS 60000
#define | VL53LX_POLLING_DELAY_MS 1
#define | VL53LX_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS 0x8000
#define | VL53LX_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS 0xC000
#define | VL53LX_GAIN_FACTOR__STANDARD_DEFAULT 0x0800
#define | VL53LX_GAIN_FACTOR__HISTOGRAM_DEFAULT 0x0800
#define | VL53LX_OFFSET_CAL_MIN_EFFECTIVE_SPADS 0x0500
#define | VL53LX_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900
#define | VL53LX_OFFSET_CAL_MAX_SIGMA_MM 0x0040
#define | VL53LX_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900
#define | VL53LX_ZONE_CAL_MAX_SIGMA_MM 0x0040
#define | VL53LX_XTALK_EXTRACT_MAX_SIGMA_MM 0x008C
#define | VL53LX_MAX_USER_ZONES 5
#define | VL53LX_MAX_RANGE_RESULTS 4
#define | VL53LX_MAX_STRING_LENGTH 512

Macro Definition Documentation

◆ VL53LX_BYTES_PER_WORD

#define VL53LX_BYTES_PER_WORD 2

Definition at line 19 of file vl53lx_platform_user_config.h.

◆ VL53LX_BYTES_PER_DWORD

#define VL53LX_BYTES_PER_DWORD 4

Definition at line 20 of file vl53lx_platform_user_config.h.

◆ VL53LX_BOOT_COMPLETION_POLLING_TIMEOUT_MS

#define VL53LX_BOOT_COMPLETION_POLLING_TIMEOUT_MS 500

Definition at line 23 of file vl53lx_platform_user_config.h.

◆ VL53LX_RANGE_COMPLETION_POLLING_TIMEOUT_MS

#define VL53LX_RANGE_COMPLETION_POLLING_TIMEOUT_MS 2000

Definition at line 24 of file vl53lx_platform_user_config.h.

◆ VL53LX_TEST_COMPLETION_POLLING_TIMEOUT_MS

#define VL53LX_TEST_COMPLETION_POLLING_TIMEOUT_MS 60000

Definition at line 25 of file vl53lx_platform_user_config.h.

◆ VL53LX_POLLING_DELAY_MS

#define VL53LX_POLLING_DELAY_MS 1

Definition at line 27 of file vl53lx_platform_user_config.h.

◆ VL53LX_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS

#define VL53LX_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS 0x8000

Definition at line 30 of file vl53lx_platform_user_config.h.

◆ VL53LX_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS

#define VL53LX_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS 0xC000

Definition at line 31 of file vl53lx_platform_user_config.h.

◆ VL53LX_GAIN_FACTOR__STANDARD_DEFAULT

#define VL53LX_GAIN_FACTOR__STANDARD_DEFAULT 0x0800

Definition at line 33 of file vl53lx_platform_user_config.h.

◆ VL53LX_GAIN_FACTOR__HISTOGRAM_DEFAULT

#define VL53LX_GAIN_FACTOR__HISTOGRAM_DEFAULT 0x0800

Definition at line 35 of file vl53lx_platform_user_config.h.

◆ VL53LX_OFFSET_CAL_MIN_EFFECTIVE_SPADS

#define VL53LX_OFFSET_CAL_MIN_EFFECTIVE_SPADS 0x0500

Definition at line 39 of file vl53lx_platform_user_config.h.

◆ VL53LX_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS

#define VL53LX_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900

Definition at line 42 of file vl53lx_platform_user_config.h.

◆ VL53LX_OFFSET_CAL_MAX_SIGMA_MM

#define VL53LX_OFFSET_CAL_MAX_SIGMA_MM 0x0040

Definition at line 45 of file vl53lx_platform_user_config.h.

◆ VL53LX_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS

#define VL53LX_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900

Definition at line 49 of file vl53lx_platform_user_config.h.

◆ VL53LX_ZONE_CAL_MAX_SIGMA_MM

#define VL53LX_ZONE_CAL_MAX_SIGMA_MM 0x0040

Definition at line 52 of file vl53lx_platform_user_config.h.

◆ VL53LX_XTALK_EXTRACT_MAX_SIGMA_MM

#define VL53LX_XTALK_EXTRACT_MAX_SIGMA_MM 0x008C

Definition at line 56 of file vl53lx_platform_user_config.h.

◆ VL53LX_MAX_USER_ZONES

#define VL53LX_MAX_USER_ZONES 5

Definition at line 59 of file vl53lx_platform_user_config.h.

◆ VL53LX_MAX_RANGE_RESULTS

#define VL53LX_MAX_RANGE_RESULTS 4

Definition at line 61 of file vl53lx_platform_user_config.h.

◆ VL53LX_MAX_STRING_LENGTH

#define VL53LX_MAX_STRING_LENGTH 512

Definition at line 65 of file vl53lx_platform_user_config.h.


VL53LX API Specification: vl53lx_platform_user_data.h File Reference

  • delivery
  • bare_driver_lx
  • platform
  • inc
Data Structures | Macros | Typedefs
vl53lx_platform_user_data.h File Reference
#include <stdlib.h>
#include "vl53lx_def.h"

Go to the source code of this file.

Data Structures

struct VL53LX_Dev_t

Macros

#define | VL53LXDevDataGet(Dev, field) (Dev->Data.field)
#define | VL53LXDevDataSet(Dev, field, VL53LX_p_003) ((Dev->Data.field) = (VL53LX_p_003))
#define | VL53LXDevStructGetLLDriverHandle(Dev) (&Dev->Data.LLData)
#define | VL53LXDevStructGetLLResultsHandle(Dev) (&Dev->Data.llresults)

Typedefs

typedef VL53LX_Dev_t * VL53LX_DEV

Macro Definition Documentation

◆ VL53LXDevDataGet

#define VL53LXDevDataGet | ( | Dev,
 |  | field
 | ) | (Dev->Data.field)

Definition at line 54 of file vl53lx_platform_user_data.h.

◆ VL53LXDevDataSet

#define VL53LXDevDataSet | ( | Dev,
 |  | field,
 |  | VL53LX_p_003
 | ) | ((Dev->Data.field) = (VL53LX_p_003))

Definition at line 58 of file vl53lx_platform_user_data.h.

◆ VL53LXDevStructGetLLDriverHandle

#define VL53LXDevStructGetLLDriverHandle ( Dev ) (&Dev->Data.LLData)

Definition at line 62 of file vl53lx_platform_user_data.h.

◆ VL53LXDevStructGetLLResultsHandle

#define VL53LXDevStructGetLLResultsHandle ( Dev ) (&Dev->Data.llresults)

Definition at line 66 of file vl53lx_platform_user_data.h.

Typedef Documentation

◆ VL53LX_DEV

typedef VL53LX_Dev_t* VL53LX_DEV

Definition at line 50 of file vl53lx_platform_user_data.h.


VL53LX API Specification: vl53lx_platform_user_defines.h File Reference

  • delivery
  • bare_driver_lx
  • platform
  • inc
Macros
vl53lx_platform_user_defines.h File Reference

Go to the source code of this file.

Macros

#define | do_division_u(dividend, divisor) (dividend / divisor)
#define | do_division_s(dividend, divisor) (dividend / divisor)
#define | WARN_OVERRIDE_STATUS(__X__) trace_print (VL53LX_TRACE_LEVEL_WARNING, #__X__);
#define | DISABLE_WARNINGS()
#define | ENABLE_WARNINGS()

Macro Definition Documentation

◆ do_division_u

#define do_division_u | ( | dividend,
 |  | divisor
 | ) | (dividend / divisor)

Definition at line 25 of file vl53lx_platform_user_defines.h.

◆ do_division_s

#define do_division_s | ( | dividend,
 |  | divisor
 | ) | (dividend / divisor)

Definition at line 29 of file vl53lx_platform_user_defines.h.

◆ WARN_OVERRIDE_STATUS

#define WARN_OVERRIDE_STATUS ( __X__ ) trace_print (VL53LX_TRACE_LEVEL_WARNING, #__X__);

Definition at line 33 of file vl53lx_platform_user_defines.h.

◆ DISABLE_WARNINGS

#define DISABLE_WARNINGS ( )

Definition at line 46 of file vl53lx_platform_user_defines.h.

◆ ENABLE_WARNINGS

#define ENABLE_WARNINGS ( )

Definition at line 47 of file vl53lx_platform_user_defines.h.


VL53LX API Specification: vl53lx_types.h File Reference

  • delivery
  • bare_driver_lx
  • platform
  • inc
Typedefs
vl53lx_types.h File Reference
#include <stdint.h>
#include <stddef.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Typedefs

typedef unsigned long long | uint64_t
typedef unsigned int | uint32_t
typedef int | int32_t
typedef unsigned short | uint16_t
typedef short | int16_t
typedef unsigned char | uint8_t
typedef signed char | int8_t
typedef uint32_t | FixPoint1616_t

Typedef Documentation

◆ uint64_t

typedef unsigned long long uint64_t

Definition at line 38 of file vl53lx_types.h.

◆ uint32_t

typedef unsigned int uint32_t

Definition at line 42 of file vl53lx_types.h.

◆ int32_t

typedef int int32_t

Definition at line 45 of file vl53lx_types.h.

◆ uint16_t

typedef unsigned short uint16_t

Definition at line 48 of file vl53lx_types.h.

◆ int16_t

typedef short int16_t

Definition at line 51 of file vl53lx_types.h.

◆ uint8_t

typedef unsigned char uint8_t

Definition at line 54 of file vl53lx_types.h.

◆ int8_t

typedef signed char int8_t

Definition at line 57 of file vl53lx_types.h.

◆ FixPoint1616_t

typedef uint32_t FixPoint1616_t

Definition at line 64 of file vl53lx_types.h.


VL53LX API Specification: Globals

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- _ -

  • _LOG_FUNCTION_END : vl53lx_platform_log.h
  • _LOG_FUNCTION_END_FMT : vl53lx_platform_log.h
  • _LOG_FUNCTION_START : vl53lx_platform_log.h
  • _LOG_GET_TRACE_FUNCTIONS : vl53lx_platform_log.h
  • _LOG_SET_TRACE_FUNCTIONS : vl53lx_platform_log.h
  • _LOG_STRING_BUFFER : vl53lx_platform_log.h
  • _LOG_TRACE_PRINT : vl53lx_platform_log.h


VL53LX API Specification: Globals

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- d -

  • DISABLE_WARNINGS : vl53lx_platform_user_defines.h
  • do_division_s : vl53lx_platform_user_defines.h
  • do_division_u : vl53lx_platform_user_defines.h


VL53LX API Specification: Globals

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- e -

  • ENABLE_WARNINGS : vl53lx_platform_user_defines.h


VL53LX API Specification: Globals

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- f -

  • FixPoint1616_t : vl53lx_types.h


VL53LX API Specification: Globals

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- i -

  • int16_t : vl53lx_types.h
  • int32_t : vl53lx_types.h
  • int8_t : vl53lx_types.h


VL53LX API Specification: Globals

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- u -

  • uint16_t : vl53lx_types.h
  • uint32_t : vl53lx_types.h
  • uint64_t : vl53lx_types.h
  • uint8_t : vl53lx_types.h


VL53LX API Specification: Globals

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- v -

  • VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION : vl53lx_def.h
  • VL53LX_AdditionalData_t : vl53lx_def.h
  • VL53LX_BOOT_COMPLETION_POLLING_TIMEOUT_MS : vl53lx_platform_user_config.h
  • VL53LX_BYTES_PER_DWORD : vl53lx_platform_user_config.h
  • VL53LX_BYTES_PER_WORD : vl53lx_platform_user_config.h
  • VL53LX_CALIBRATION_DATA_STRUCT_VERSION : vl53lx_def.h
  • VL53LX_ClearInterruptAndStartMeasurement() : vl53lx_api.h
  • VL53LX_CommsClose() : vl53lx_platform.h
  • VL53LX_CommsInitialise() : vl53lx_platform.h
  • VL53LX_DataInit() : vl53lx_api.h
  • VL53LX_DEV : vl53lx_platform_user_data.h
  • VL53LX_DISTANCEMODE_LONG : vl53lx_def.h
  • VL53LX_DISTANCEMODE_MEDIUM : vl53lx_def.h
  • VL53LX_DISTANCEMODE_SHORT : vl53lx_def.h
  • VL53LX_DistanceModes : vl53lx_def.h
  • VL53LX_Error : vl53lx_error_codes.h
  • VL53LX_ERROR_BUFFER_TOO_SMALL : vl53lx_error_codes.h
  • VL53LX_ERROR_CALIBRATION_WARNING : vl53lx_error_codes.h
  • VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL : vl53lx_error_codes.h
  • VL53LX_ERROR_CONTROL_INTERFACE : vl53lx_error_codes.h
  • VL53LX_ERROR_DIVISION_BY_ZERO : vl53lx_error_codes.h
  • VL53LX_ERROR_GPH_ID_CHECK_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_GPH_SYNC_CHECK_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED : vl53lx_error_codes.h
  • VL53LX_ERROR_GPIO_NOT_EXISTING : vl53lx_error_codes.h
  • VL53LX_ERROR_INVALID_COMMAND : vl53lx_error_codes.h
  • VL53LX_ERROR_INVALID_PARAMS : vl53lx_error_codes.h
  • VL53LX_ERROR_MIN_CLIPPED : vl53lx_error_codes.h
  • VL53LX_ERROR_MODE_NOT_SUPPORTED : vl53lx_error_codes.h
  • VL53LX_ERROR_NONE : vl53lx_error_codes.h
  • VL53LX_ERROR_NOT_IMPLEMENTED : vl53lx_error_codes.h
  • VL53LX_ERROR_NOT_SUPPORTED : vl53lx_error_codes.h
  • VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_PLATFORM_SPECIFIC_START : vl53lx_error_codes.h
  • VL53LX_ERROR_RANGE_ERROR : vl53lx_error_codes.h
  • VL53LX_ERROR_REF_SPAD_INIT : vl53lx_error_codes.h
  • VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_TIME_OUT : vl53lx_error_codes.h
  • VL53LX_ERROR_TUNING_PARM_KEY_MISMATCH : vl53lx_error_codes.h
  • VL53LX_ERROR_UNDEFINED : vl53lx_error_codes.h
  • VL53LX_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_ZONE_CAL_NO_SAMPLE_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL : vl53lx_error_codes.h
  • VL53LX_FIXPOINT08TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT102TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT142TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT160TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT08 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT102 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT142 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT160 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT313 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT412 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT44 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT53 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT72 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT88 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT97 : vl53lx_def.h
  • VL53LX_FIXPOINT313TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT412TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT44TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT53TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT72TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT88TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT97TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_GAIN_FACTOR__HISTOGRAM_DEFAULT : vl53lx_platform_user_config.h
  • VL53LX_GAIN_FACTOR__STANDARD_DEFAULT : vl53lx_platform_user_config.h
  • VL53LX_GetAdditionalData() : vl53lx_api.h
  • VL53LX_GETARRAYPARAMETERFIELD : vl53lx_def.h
  • VL53LX_GetCalibrationData() : vl53lx_api.h
  • VL53LX_GetDeviceInfo() : vl53lx_api.h
  • VL53LX_GETDEVICESPECIFICPARAMETER : vl53lx_def.h
  • VL53LX_GetDistanceMode() : vl53lx_api.h
  • VL53LX_GetMeasurementDataReady() : vl53lx_api.h
  • VL53LX_GetMeasurementTimingBudgetMicroSeconds() : vl53lx_api.h
  • VL53LX_GetMultiRangingData() : vl53lx_api.h
  • VL53LX_GetOpticalCenter() : vl53lx_api.h
  • VL53LX_GETPARAMETERFIELD : vl53lx_def.h
  • VL53LX_GetProductRevision() : vl53lx_api.h
  • VL53LX_GetTickCount() : vl53lx_platform.h
  • VL53LX_GetTimerFrequency() : vl53lx_platform.h
  • VL53LX_GetTimerValue() : vl53lx_platform.h
  • VL53LX_GetTuningParameter() : vl53lx_api.h
  • VL53LX_GetUID() : vl53lx_api.h
  • VL53LX_GetUserROI() : vl53lx_api.h
  • VL53LX_GetVersion() : vl53lx_api.h
  • VL53LX_GetXTalkCompensationEnable() : vl53lx_api.h
  • VL53LX_GpioCommsSelect() : vl53lx_platform.h
  • VL53LX_GpioGetValue() : vl53lx_platform.h
  • VL53LX_GpioInterruptDisable() : vl53lx_platform.h
  • VL53LX_GpioInterruptEnable() : vl53lx_platform.h
  • VL53LX_GpioPowerEnable() : vl53lx_platform.h
  • VL53LX_GpioSetMode() : vl53lx_platform.h
  • VL53LX_GpioSetValue() : vl53lx_platform.h
  • VL53LX_GpioXshutdown() : vl53lx_platform.h
  • VL53LX_IMPLEMENTATION_VER_MAJOR : vl53lx_def.h
  • VL53LX_IMPLEMENTATION_VER_MINOR : vl53lx_def.h
  • VL53LX_IMPLEMENTATION_VER_REVISION : vl53lx_def.h
  • VL53LX_IMPLEMENTATION_VER_SUB : vl53lx_def.h
  • VL53LX_IPP_API : vl53lx_platform.h
  • VL53LX_ipp_hist_ambient_dmax() : vl53lx_platform_ipp.h
  • VL53LX_ipp_hist_process_data() : vl53lx_platform_ipp.h
  • VL53LX_ipp_xtalk_calibration_process_data() : vl53lx_platform_ipp.h
  • VL53LX_MAKEUINT16 : vl53lx_def.h
  • VL53LX_MAX_RANGE_RESULTS : vl53lx_platform_user_config.h
  • VL53LX_MAX_STRING_LENGTH : vl53lx_platform_user_config.h
  • VL53LX_MAX_USER_ZONES : vl53lx_platform_user_config.h
  • VL53LX_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS : vl53lx_platform_user_config.h
  • VL53LX_OFFSET_CAL_MAX_SIGMA_MM : vl53lx_platform_user_config.h
  • VL53LX_OFFSET_CAL_MIN_EFFECTIVE_SPADS : vl53lx_platform_user_config.h
  • VL53LX_OFFSETCORRECTIONMODE_PERVCSEL : vl53lx_def.h
  • VL53LX_OFFSETCORRECTIONMODE_STANDARD : vl53lx_def.h
  • VL53LX_OffsetCorrectionModes : vl53lx_def.h
  • VL53LX_PerformOffsetPerVcselCalibration() : vl53lx_api.h
  • VL53LX_PerformOffsetSimpleCalibration() : vl53lx_api.h
  • VL53LX_PerformOffsetZeroDistanceCalibration() : vl53lx_api.h
  • VL53LX_PerformRefSpadManagement() : vl53lx_api.h
  • VL53LX_PerformXTalkCalibration() : vl53lx_api.h
  • VL53LX_platform_init() : vl53lx_platform_init.h
  • VL53LX_platform_terminate() : vl53lx_platform_init.h
  • VL53LX_POLLING_DELAY_MS : vl53lx_platform_user_config.h
  • VL53LX_RANGE_COMPLETION_POLLING_TIMEOUT_MS : vl53lx_platform_user_config.h
  • VL53LX_RANGESTATUS_HARDWARE_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_MIN_RANGE_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_NONE : vl53lx_def.h
  • VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_PROCESSING_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_RANGE_INVALID : vl53lx_def.h
  • VL53LX_RANGESTATUS_RANGE_VALID : vl53lx_def.h
  • VL53LX_RANGESTATUS_RANGE_VALID_MERGED_PULSE : vl53lx_def.h
  • VL53LX_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED : vl53lx_def.h
  • VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_SIGMA_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_SIGNAL_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_SYNCRONISATION_INT : vl53lx_def.h
  • VL53LX_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL : vl53lx_def.h
  • VL53LX_RANGESTATUS_WRAP_TARGET_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_XTALK_SIGNAL_FAIL : vl53lx_def.h
  • VL53LX_RdByte() : vl53lx_platform.h
  • VL53LX_RdDWord() : vl53lx_platform.h
  • VL53LX_RdWord() : vl53lx_platform.h
  • VL53LX_ReadMulti() : vl53lx_platform.h
  • VL53LX_SETARRAYPARAMETERFIELD : vl53lx_def.h
  • VL53LX_SetCalibrationData() : vl53lx_api.h
  • VL53LX_SetDeviceAddress() : vl53lx_api.h
  • VL53LX_SETDEVICESPECIFICPARAMETER : vl53lx_def.h
  • VL53LX_SetDistanceMode() : vl53lx_api.h
  • VL53LX_SetMeasurementTimingBudgetMicroSeconds() : vl53lx_api.h
  • VL53LX_SetOffsetCorrectionMode() : vl53lx_api.h
  • VL53LX_SETPARAMETERFIELD : vl53lx_def.h
  • VL53LX_SetTuningParameter() : vl53lx_api.h
  • VL53LX_SetUserROI() : vl53lx_api.h
  • VL53LX_SetXTalkCompensationEnable() : vl53lx_api.h
  • VL53LX_SMUDGE_CORRECTION_CONTINUOUS : vl53lx_def.h
  • VL53LX_SMUDGE_CORRECTION_DEBUG : vl53lx_def.h
  • VL53LX_SMUDGE_CORRECTION_NONE : vl53lx_def.h
  • VL53LX_SMUDGE_CORRECTION_SINGLE : vl53lx_def.h
  • VL53LX_SmudgeCorrectionEnable() : vl53lx_api.h
  • VL53LX_SmudgeCorrectionModes : vl53lx_def.h
  • VL53LX_StartMeasurement() : vl53lx_api.h
  • VL53LX_StopMeasurement() : vl53lx_api.h
  • VL53LX_TEST_COMPLETION_POLLING_TIMEOUT_MS : vl53lx_platform_user_config.h
  • VL53LX_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS : vl53lx_platform_user_config.h
  • VL53LX_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS : vl53lx_platform_user_config.h
  • VL53LX_WaitDeviceBooted() : vl53lx_api.h
  • VL53LX_WaitMeasurementDataReady() : vl53lx_api.h
  • VL53LX_WaitMs() : vl53lx_platform.h
  • VL53LX_WaitUs() : vl53lx_platform.h
  • VL53LX_WaitValueMaskEx() : vl53lx_platform.h
  • VL53LX_WARNING_OFFSET_CAL_MISSING_SAMPLES : vl53lx_error_codes.h
  • VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HIGH : vl53lx_error_codes.h
  • VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH : vl53lx_error_codes.h
  • VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW : vl53lx_error_codes.h
  • VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS : vl53lx_error_codes.h
  • VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH : vl53lx_error_codes.h
  • VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW : vl53lx_error_codes.h
  • VL53LX_WARNING_XTALK_MISSING_SAMPLES : vl53lx_error_codes.h
  • VL53LX_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT : vl53lx_error_codes.h
  • VL53LX_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT : vl53lx_error_codes.h
  • VL53LX_WARNING_ZONE_CAL_MISSING_SAMPLES : vl53lx_error_codes.h
  • VL53LX_WARNING_ZONE_CAL_RATE_TOO_HIGH : vl53lx_error_codes.h
  • VL53LX_WARNING_ZONE_CAL_SIGMA_TOO_HIGH : vl53lx_error_codes.h
  • VL53LX_WrByte() : vl53lx_platform.h
  • VL53LX_WrDWord() : vl53lx_platform.h
  • VL53LX_WriteMulti() : vl53lx_platform.h
  • VL53LX_WrWord() : vl53lx_platform.h
  • VL53LX_XTALK_EXTRACT_MAX_SIGMA_MM : vl53lx_platform_user_config.h
  • VL53LX_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS : vl53lx_platform_user_config.h
  • VL53LX_ZONE_CAL_MAX_SIGMA_MM : vl53lx_platform_user_config.h
  • VL53LXDevDataGet : vl53lx_platform_user_data.h
  • VL53LXDevDataSet : vl53lx_platform_user_data.h
  • VL53LXDevStructGetLLDriverHandle : vl53lx_platform_user_data.h
  • VL53LXDevStructGetLLResultsHandle : vl53lx_platform_user_data.h


VL53LX API Specification: Globals

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- w -

  • WARN_OVERRIDE_STATUS : vl53lx_platform_user_defines.h


VL53LX API Specification: Globals

- v -

  • VL53LX_ClearInterruptAndStartMeasurement() : vl53lx_api.h
  • VL53LX_CommsClose() : vl53lx_platform.h
  • VL53LX_CommsInitialise() : vl53lx_platform.h
  • VL53LX_DataInit() : vl53lx_api.h
  • VL53LX_GetAdditionalData() : vl53lx_api.h
  • VL53LX_GetCalibrationData() : vl53lx_api.h
  • VL53LX_GetDeviceInfo() : vl53lx_api.h
  • VL53LX_GetDistanceMode() : vl53lx_api.h
  • VL53LX_GetMeasurementDataReady() : vl53lx_api.h
  • VL53LX_GetMeasurementTimingBudgetMicroSeconds() : vl53lx_api.h
  • VL53LX_GetMultiRangingData() : vl53lx_api.h
  • VL53LX_GetOpticalCenter() : vl53lx_api.h
  • VL53LX_GetProductRevision() : vl53lx_api.h
  • VL53LX_GetTickCount() : vl53lx_platform.h
  • VL53LX_GetTimerFrequency() : vl53lx_platform.h
  • VL53LX_GetTimerValue() : vl53lx_platform.h
  • VL53LX_GetTuningParameter() : vl53lx_api.h
  • VL53LX_GetUID() : vl53lx_api.h
  • VL53LX_GetUserROI() : vl53lx_api.h
  • VL53LX_GetVersion() : vl53lx_api.h
  • VL53LX_GetXTalkCompensationEnable() : vl53lx_api.h
  • VL53LX_GpioCommsSelect() : vl53lx_platform.h
  • VL53LX_GpioGetValue() : vl53lx_platform.h
  • VL53LX_GpioInterruptDisable() : vl53lx_platform.h
  • VL53LX_GpioInterruptEnable() : vl53lx_platform.h
  • VL53LX_GpioPowerEnable() : vl53lx_platform.h
  • VL53LX_GpioSetMode() : vl53lx_platform.h
  • VL53LX_GpioSetValue() : vl53lx_platform.h
  • VL53LX_GpioXshutdown() : vl53lx_platform.h
  • VL53LX_ipp_hist_ambient_dmax() : vl53lx_platform_ipp.h
  • VL53LX_ipp_hist_process_data() : vl53lx_platform_ipp.h
  • VL53LX_ipp_xtalk_calibration_process_data() : vl53lx_platform_ipp.h
  • VL53LX_PerformOffsetPerVcselCalibration() : vl53lx_api.h
  • VL53LX_PerformOffsetSimpleCalibration() : vl53lx_api.h
  • VL53LX_PerformOffsetZeroDistanceCalibration() : vl53lx_api.h
  • VL53LX_PerformRefSpadManagement() : vl53lx_api.h
  • VL53LX_PerformXTalkCalibration() : vl53lx_api.h
  • VL53LX_platform_init() : vl53lx_platform_init.h
  • VL53LX_platform_terminate() : vl53lx_platform_init.h
  • VL53LX_RdByte() : vl53lx_platform.h
  • VL53LX_RdDWord() : vl53lx_platform.h
  • VL53LX_RdWord() : vl53lx_platform.h
  • VL53LX_ReadMulti() : vl53lx_platform.h
  • VL53LX_SetCalibrationData() : vl53lx_api.h
  • VL53LX_SetDeviceAddress() : vl53lx_api.h
  • VL53LX_SetDistanceMode() : vl53lx_api.h
  • VL53LX_SetMeasurementTimingBudgetMicroSeconds() : vl53lx_api.h
  • VL53LX_SetOffsetCorrectionMode() : vl53lx_api.h
  • VL53LX_SetTuningParameter() : vl53lx_api.h
  • VL53LX_SetUserROI() : vl53lx_api.h
  • VL53LX_SetXTalkCompensationEnable() : vl53lx_api.h
  • VL53LX_SmudgeCorrectionEnable() : vl53lx_api.h
  • VL53LX_StartMeasurement() : vl53lx_api.h
  • VL53LX_StopMeasurement() : vl53lx_api.h
  • VL53LX_WaitDeviceBooted() : vl53lx_api.h
  • VL53LX_WaitMeasurementDataReady() : vl53lx_api.h
  • VL53LX_WaitMs() : vl53lx_platform.h
  • VL53LX_WaitUs() : vl53lx_platform.h
  • VL53LX_WaitValueMaskEx() : vl53lx_platform.h
  • VL53LX_WrByte() : vl53lx_platform.h
  • VL53LX_WrDWord() : vl53lx_platform.h
  • VL53LX_WriteMulti() : vl53lx_platform.h
  • VL53LX_WrWord() : vl53lx_platform.h


VL53LX API Specification: Globals

  • FixPoint1616_t : vl53lx_types.h
  • int16_t : vl53lx_types.h
  • int32_t : vl53lx_types.h
  • int8_t : vl53lx_types.h
  • uint16_t : vl53lx_types.h
  • uint32_t : vl53lx_types.h
  • uint64_t : vl53lx_types.h
  • uint8_t : vl53lx_types.h
  • VL53LX_AdditionalData_t : vl53lx_def.h
  • VL53LX_DEV : vl53lx_platform_user_data.h
  • VL53LX_DistanceModes : vl53lx_def.h
  • VL53LX_Error : vl53lx_error_codes.h
  • VL53LX_OffsetCorrectionModes : vl53lx_def.h
  • VL53LX_SmudgeCorrectionModes : vl53lx_def.h


VL53LX API Specification: Globals

- _ -

  • _LOG_FUNCTION_END : vl53lx_platform_log.h
  • _LOG_FUNCTION_END_FMT : vl53lx_platform_log.h
  • _LOG_FUNCTION_START : vl53lx_platform_log.h
  • _LOG_GET_TRACE_FUNCTIONS : vl53lx_platform_log.h
  • _LOG_SET_TRACE_FUNCTIONS : vl53lx_platform_log.h
  • _LOG_STRING_BUFFER : vl53lx_platform_log.h
  • _LOG_TRACE_PRINT : vl53lx_platform_log.h

- d -

  • DISABLE_WARNINGS : vl53lx_platform_user_defines.h
  • do_division_s : vl53lx_platform_user_defines.h
  • do_division_u : vl53lx_platform_user_defines.h

- e -

  • ENABLE_WARNINGS : vl53lx_platform_user_defines.h

- v -

  • VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION : vl53lx_def.h
  • VL53LX_BOOT_COMPLETION_POLLING_TIMEOUT_MS : vl53lx_platform_user_config.h
  • VL53LX_BYTES_PER_DWORD : vl53lx_platform_user_config.h
  • VL53LX_BYTES_PER_WORD : vl53lx_platform_user_config.h
  • VL53LX_CALIBRATION_DATA_STRUCT_VERSION : vl53lx_def.h
  • VL53LX_DISTANCEMODE_LONG : vl53lx_def.h
  • VL53LX_DISTANCEMODE_MEDIUM : vl53lx_def.h
  • VL53LX_DISTANCEMODE_SHORT : vl53lx_def.h
  • VL53LX_ERROR_BUFFER_TOO_SMALL : vl53lx_error_codes.h
  • VL53LX_ERROR_CALIBRATION_WARNING : vl53lx_error_codes.h
  • VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL : vl53lx_error_codes.h
  • VL53LX_ERROR_CONTROL_INTERFACE : vl53lx_error_codes.h
  • VL53LX_ERROR_DIVISION_BY_ZERO : vl53lx_error_codes.h
  • VL53LX_ERROR_GPH_ID_CHECK_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_GPH_SYNC_CHECK_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED : vl53lx_error_codes.h
  • VL53LX_ERROR_GPIO_NOT_EXISTING : vl53lx_error_codes.h
  • VL53LX_ERROR_INVALID_COMMAND : vl53lx_error_codes.h
  • VL53LX_ERROR_INVALID_PARAMS : vl53lx_error_codes.h
  • VL53LX_ERROR_MIN_CLIPPED : vl53lx_error_codes.h
  • VL53LX_ERROR_MODE_NOT_SUPPORTED : vl53lx_error_codes.h
  • VL53LX_ERROR_NONE : vl53lx_error_codes.h
  • VL53LX_ERROR_NOT_IMPLEMENTED : vl53lx_error_codes.h
  • VL53LX_ERROR_NOT_SUPPORTED : vl53lx_error_codes.h
  • VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_PLATFORM_SPECIFIC_START : vl53lx_error_codes.h
  • VL53LX_ERROR_RANGE_ERROR : vl53lx_error_codes.h
  • VL53LX_ERROR_REF_SPAD_INIT : vl53lx_error_codes.h
  • VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_TIME_OUT : vl53lx_error_codes.h
  • VL53LX_ERROR_TUNING_PARM_KEY_MISMATCH : vl53lx_error_codes.h
  • VL53LX_ERROR_UNDEFINED : vl53lx_error_codes.h
  • VL53LX_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_ZONE_CAL_NO_SAMPLE_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL : vl53lx_error_codes.h
  • VL53LX_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL : vl53lx_error_codes.h
  • VL53LX_FIXPOINT08TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT102TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT142TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT160TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT08 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT102 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT142 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT160 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT313 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT412 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT44 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT53 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT72 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT88 : vl53lx_def.h
  • VL53LX_FIXPOINT1616TOFIXPOINT97 : vl53lx_def.h
  • VL53LX_FIXPOINT313TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT412TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT44TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT53TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT72TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT88TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_FIXPOINT97TOFIXPOINT1616 : vl53lx_def.h
  • VL53LX_GAIN_FACTOR__HISTOGRAM_DEFAULT : vl53lx_platform_user_config.h
  • VL53LX_GAIN_FACTOR__STANDARD_DEFAULT : vl53lx_platform_user_config.h
  • VL53LX_GETARRAYPARAMETERFIELD : vl53lx_def.h
  • VL53LX_GETDEVICESPECIFICPARAMETER : vl53lx_def.h
  • VL53LX_GETPARAMETERFIELD : vl53lx_def.h
  • VL53LX_IMPLEMENTATION_VER_MAJOR : vl53lx_def.h
  • VL53LX_IMPLEMENTATION_VER_MINOR : vl53lx_def.h
  • VL53LX_IMPLEMENTATION_VER_REVISION : vl53lx_def.h
  • VL53LX_IMPLEMENTATION_VER_SUB : vl53lx_def.h
  • VL53LX_IPP_API : vl53lx_platform.h
  • VL53LX_MAKEUINT16 : vl53lx_def.h
  • VL53LX_MAX_RANGE_RESULTS : vl53lx_platform_user_config.h
  • VL53LX_MAX_STRING_LENGTH : vl53lx_platform_user_config.h
  • VL53LX_MAX_USER_ZONES : vl53lx_platform_user_config.h
  • VL53LX_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS : vl53lx_platform_user_config.h
  • VL53LX_OFFSET_CAL_MAX_SIGMA_MM : vl53lx_platform_user_config.h
  • VL53LX_OFFSET_CAL_MIN_EFFECTIVE_SPADS : vl53lx_platform_user_config.h
  • VL53LX_OFFSETCORRECTIONMODE_PERVCSEL : vl53lx_def.h
  • VL53LX_OFFSETCORRECTIONMODE_STANDARD : vl53lx_def.h
  • VL53LX_POLLING_DELAY_MS : vl53lx_platform_user_config.h
  • VL53LX_RANGE_COMPLETION_POLLING_TIMEOUT_MS : vl53lx_platform_user_config.h
  • VL53LX_RANGESTATUS_HARDWARE_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_MIN_RANGE_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_NONE : vl53lx_def.h
  • VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_PROCESSING_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_RANGE_INVALID : vl53lx_def.h
  • VL53LX_RANGESTATUS_RANGE_VALID : vl53lx_def.h
  • VL53LX_RANGESTATUS_RANGE_VALID_MERGED_PULSE : vl53lx_def.h
  • VL53LX_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED : vl53lx_def.h
  • VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_SIGMA_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_SIGNAL_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_SYNCRONISATION_INT : vl53lx_def.h
  • VL53LX_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL : vl53lx_def.h
  • VL53LX_RANGESTATUS_WRAP_TARGET_FAIL : vl53lx_def.h
  • VL53LX_RANGESTATUS_XTALK_SIGNAL_FAIL : vl53lx_def.h
  • VL53LX_SETARRAYPARAMETERFIELD : vl53lx_def.h
  • VL53LX_SETDEVICESPECIFICPARAMETER : vl53lx_def.h
  • VL53LX_SETPARAMETERFIELD : vl53lx_def.h
  • VL53LX_SMUDGE_CORRECTION_CONTINUOUS : vl53lx_def.h
  • VL53LX_SMUDGE_CORRECTION_DEBUG : vl53lx_def.h
  • VL53LX_SMUDGE_CORRECTION_NONE : vl53lx_def.h
  • VL53LX_SMUDGE_CORRECTION_SINGLE : vl53lx_def.h
  • VL53LX_TEST_COMPLETION_POLLING_TIMEOUT_MS : vl53lx_platform_user_config.h
  • VL53LX_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS : vl53lx_platform_user_config.h
  • VL53LX_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS : vl53lx_platform_user_config.h
  • VL53LX_WARNING_OFFSET_CAL_MISSING_SAMPLES : vl53lx_error_codes.h
  • VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HIGH : vl53lx_error_codes.h
  • VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH : vl53lx_error_codes.h
  • VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW : vl53lx_error_codes.h
  • VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS : vl53lx_error_codes.h
  • VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH : vl53lx_error_codes.h
  • VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW : vl53lx_error_codes.h
  • VL53LX_WARNING_XTALK_MISSING_SAMPLES : vl53lx_error_codes.h
  • VL53LX_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT : vl53lx_error_codes.h
  • VL53LX_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT : vl53lx_error_codes.h
  • VL53LX_WARNING_ZONE_CAL_MISSING_SAMPLES : vl53lx_error_codes.h
  • VL53LX_WARNING_ZONE_CAL_RATE_TOO_HIGH : vl53lx_error_codes.h
  • VL53LX_WARNING_ZONE_CAL_SIGMA_TOO_HIGH : vl53lx_error_codes.h
  • VL53LX_XTALK_EXTRACT_MAX_SIGMA_MM : vl53lx_platform_user_config.h
  • VL53LX_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS : vl53lx_platform_user_config.h
  • VL53LX_ZONE_CAL_MAX_SIGMA_MM : vl53lx_platform_user_config.h
  • VL53LXDevDataGet : vl53lx_platform_user_data.h
  • VL53LXDevDataSet : vl53lx_platform_user_data.h
  • VL53LXDevStructGetLLDriverHandle : vl53lx_platform_user_data.h
  • VL53LXDevStructGetLLResultsHandle : vl53lx_platform_user_data.h

- w -

  • WARN_OVERRIDE_STATUS : vl53lx_platform_user_defines.h


VL53LX API Specification: delivery Directory Reference

  • delivery
delivery Directory Reference

Directories

directory bare_driver_lx


VL53LX API Specification: doc_lx Directory Reference

  • doc_lx
doc_lx Directory Reference

Files

file | vl53lx_disclaimer.c [code]
no code doxygen doc only
file | vl53lx_doxydoc.c [code]
no code doxygen doc only


VL53LX API Specification: inc Directory Reference

  • delivery
  • bare_driver_lx
  • core
  • inc
inc Directory Reference

Files

file | vl53lx_api.h [code]
file | vl53lx_def.h [code]
Type definitions for VL53LX API.
file | vl53lx_error_codes.h [code]
Error Code definitions for VL53LX API.


VL53LX API Specification: inc Directory Reference

  • delivery
  • bare_driver_lx
  • platform
  • inc
inc Directory Reference

Files

file | vl53lx_platform.h [code]
All end user OS/platform/application porting.
file | vl53lx_platform_init.h [code]
file | vl53lx_platform_ipp.h [code]
file | vl53lx_platform_ipp_imports.h [code]
file | vl53lx_platform_log.h [code]
file | vl53lx_platform_user_config.h [code]
file | vl53lx_platform_user_data.h [code]
file | vl53lx_platform_user_defines.h [code]
file | vl53lx_types.h [code]


VL53LX API Specification: core Directory Reference

  • delivery
  • bare_driver_lx
  • core
core Directory Reference

Directories

directory inc


VL53LX API Specification: platform Directory Reference

  • delivery
  • bare_driver_lx
  • platform
platform Directory Reference

Directories

directory inc


VL53LX API Specification: bare_driver_lx Directory Reference

  • delivery
  • bare_driver_lx
bare_driver_lx Directory Reference

Directories

directory | core
directory | platform


VL53LX API Specification: Related Pages

Related Pages
Here is a list of all related documentation pages:
Disclaimer | Copyright (C) 2021 STMicroelectronics Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts
Platform | All API settings that are platform-dependent must be adapted to the platform on which API is compiled/running
RangeStatus | The Range Status is contained in the VL53LX_RangingMeasurementData_t and give the quality of the latest ranging


VL53LX API Specification: vl53lx_api.h Source File

  • delivery
  • bare_driver_lx
  • core
  • inc
vl53lx_api.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53LX and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12 #ifndef _VL53LX_API_H_
13 #define _VL53LX_API_H_
14
15 #include "vl53lx_api_core.h"
16 #include "vl53lx_preset_setup.h"
17
18 #ifdef __cplusplus
19 extern "C"
20 {
21 #endif
22
42 VL53LX_Error VL53LX_GetVersion(VL53LX_Version_t *pVersion);
43
56 VL53LX_Error VL53LX_GetProductRevision(VL53LX_DEV Dev,
57 uint8_t *pProductRevisionMajor, uint8_t *pProductRevisionMinor);
58
70 VL53LX_Error VL53LX_GetDeviceInfo(VL53LX_DEV Dev,
71 VL53LX_DeviceInfo_t *pVL53LX_DeviceInfo);
72
83 VL53LX_Error VL53LX_GetUID(VL53LX_DEV Dev, uint64_t *pUid);
84
85
108 VL53LX_Error VL53LX_SetDeviceAddress(VL53LX_DEV Dev,
109 uint8_t DeviceAddress);
110
133 VL53LX_Error VL53LX_DataInit(VL53LX_DEV Dev);
134
143 VL53LX_Error VL53LX_WaitDeviceBooted(VL53LX_DEV Dev);
144
145
174 VL53LX_Error VL53LX_SetDistanceMode(VL53LX_DEV Dev,
175 VL53LX_DistanceModes DistanceMode);
176
187 VL53LX_Error VL53LX_GetDistanceMode(VL53LX_DEV Dev,
188 VL53LX_DistanceModes *pDistanceMode);
189
190
210 VL53LX_Error VL53LX_SetMeasurementTimingBudgetMicroSeconds(
211 VL53LX_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds);
212
227 VL53LX_Error VL53LX_GetMeasurementTimingBudgetMicroSeconds(
228 VL53LX_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds);
251 VL53LX_Error VL53LX_SetUserROI(VL53LX_DEV Dev,
252 VL53LX_UserRoi_t *pUserROi);
253
265 VL53LX_Error VL53LX_GetUserROI(VL53LX_DEV Dev,
266 VL53LX_UserRoi_t *pUserROi);
267
294 VL53LX_Error VL53LX_StartMeasurement(VL53LX_DEV Dev);
295
309 VL53LX_Error VL53LX_StopMeasurement(VL53LX_DEV Dev);
310
320 VL53LX_Error VL53LX_ClearInterruptAndStartMeasurement(VL53LX_DEV Dev);
321
337 VL53LX_Error VL53LX_GetMeasurementDataReady(VL53LX_DEV Dev,
338 uint8_t *pMeasurementDataReady);
339
353 VL53LX_Error VL53LX_WaitMeasurementDataReady(VL53LX_DEV Dev);
354
355
377 VL53LX_Error VL53LX_GetMultiRangingData(VL53LX_DEV Dev,
378 VL53LX_MultiRangingData_t *pMultiRangingData);
379
394 VL53LX_Error VL53LX_GetAdditionalData(VL53LX_DEV Dev,
395 VL53LX_AdditionalData_t *pAdditionalData);
396
397
423 VL53LX_Error VL53LX_SetTuningParameter(VL53LX_DEV Dev,
424 uint16_t TuningParameterId, int32_t TuningParameterValue);
425
442 VL53LX_Error VL53LX_GetTuningParameter(VL53LX_DEV Dev,
443 uint16_t TuningParameterId, int32_t *pTuningParameterValue);
444
459 VL53LX_Error VL53LX_PerformRefSpadManagement(VL53LX_DEV Dev);
460
472 VL53LX_Error VL53LX_SmudgeCorrectionEnable(VL53LX_DEV Dev,
473 VL53LX_SmudgeCorrectionModes Mode);
474
475
487 VL53LX_Error VL53LX_SetXTalkCompensationEnable(VL53LX_DEV Dev,
488 uint8_t XTalkCompensationEnable);
489
503 VL53LX_Error VL53LX_GetXTalkCompensationEnable(VL53LX_DEV Dev,
504 uint8_t *pXTalkCompensationEnable);
505
530 VL53LX_Error VL53LX_PerformXTalkCalibration(VL53LX_DEV Dev);
531
532
546 VL53LX_Error VL53LX_SetOffsetCorrectionMode(VL53LX_DEV Dev,
547 VL53LX_OffsetCorrectionModes OffsetCorrectionMode);
548
549
574 VL53LX_Error VL53LX_PerformOffsetSimpleCalibration(VL53LX_DEV Dev,
575 int32_t CalDistanceMilliMeter);
576
600 VL53LX_Error VL53LX_PerformOffsetZeroDistanceCalibration(VL53LX_DEV Dev);
601
602
628 VL53LX_Error VL53LX_PerformOffsetPerVcselCalibration(VL53LX_DEV Dev,
629 int32_t CalDistanceMilliMeter);
630
631
649 VL53LX_Error VL53LX_SetCalibrationData(VL53LX_DEV Dev,
650 VL53LX_CalibrationData_t *pCalibrationData);
651
668 VL53LX_Error VL53LX_GetCalibrationData(VL53LX_DEV Dev,
669 VL53LX_CalibrationData_t *pCalibrationData);
670
671
689 VL53LX_Error VL53LX_GetOpticalCenter(VL53LX_DEV Dev,
690 FixPoint1616_t *pOpticalCenterX,
691 FixPoint1616_t *pOpticalCenterY);
692
693
698 #ifdef __cplusplus
699 }
700 #endif
701
702 #endif /* _VL53LX_API_H_ */
VL53LX_SetCalibrationData
VL53LX_Error VL53LX_SetCalibrationData(VL53LX_DEV Dev, VL53LX_CalibrationData_t *pCalibrationData)
Sets the Calibration Data.
VL53LX_GetXTalkCompensationEnable
VL53LX_Error VL53LX_GetXTalkCompensationEnable(VL53LX_DEV Dev, uint8_t *pXTalkCompensationEnable)
Get Cross talk compensation rate enable.
VL53LX_GetCalibrationData
VL53LX_Error VL53LX_GetCalibrationData(VL53LX_DEV Dev, VL53LX_CalibrationData_t *pCalibrationData)
Gets the Calibration Data.
VL53LX_PerformXTalkCalibration
VL53LX_Error VL53LX_PerformXTalkCalibration(VL53LX_DEV Dev)
Perform XTalk Calibration.
VL53LX_SmudgeCorrectionEnable
VL53LX_Error VL53LX_SmudgeCorrectionEnable(VL53LX_DEV Dev, VL53LX_SmudgeCorrectionModes Mode)
Enable/Disable dynamic Xtalk compensation feature.
VL53LX_PerformRefSpadManagement
VL53LX_Error VL53LX_PerformRefSpadManagement(VL53LX_DEV Dev)
Performs Reference Spad Management.
VL53LX_PerformOffsetZeroDistanceCalibration
VL53LX_Error VL53LX_PerformOffsetZeroDistanceCalibration(VL53LX_DEV Dev)
Perform Offset simple Calibration with a "zero distance" target.
VL53LX_SetXTalkCompensationEnable
VL53LX_Error VL53LX_SetXTalkCompensationEnable(VL53LX_DEV Dev, uint8_t XTalkCompensationEnable)
Enable/Disable Cross talk compensation feature.
VL53LX_SetTuningParameter
VL53LX_Error VL53LX_SetTuningParameter(VL53LX_DEV Dev, uint16_t TuningParameterId, int32_t TuningParameterValue)
Set Tuning Parameter value for a given parameter ID.
VL53LX_PerformOffsetPerVcselCalibration
VL53LX_Error VL53LX_PerformOffsetPerVcselCalibration(VL53LX_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset per Vcsel Calibration.
VL53LX_SetOffsetCorrectionMode
VL53LX_Error VL53LX_SetOffsetCorrectionMode(VL53LX_DEV Dev, VL53LX_OffsetCorrectionModes OffsetCorrectionMode)
Define the mode to be used for the offset correction.
VL53LX_PerformOffsetSimpleCalibration
VL53LX_Error VL53LX_PerformOffsetSimpleCalibration(VL53LX_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset simple Calibration.
VL53LX_GetTuningParameter
VL53LX_Error VL53LX_GetTuningParameter(VL53LX_DEV Dev, uint16_t TuningParameterId, int32_t *pTuningParameterValue)
Get Tuning Parameter value for a given parameter ID.
VL53LX_GetOpticalCenter
VL53LX_Error VL53LX_GetOpticalCenter(VL53LX_DEV Dev, FixPoint1616_t *pOpticalCenterX, FixPoint1616_t *pOpticalCenterY)
Gets the optical center.
VL53LX_SetUserROI
VL53LX_Error VL53LX_SetUserROI(VL53LX_DEV Dev, VL53LX_UserRoi_t *pUserROi)
Set the ROI to be used for ranging.
VL53LX_GetUserROI
VL53LX_Error VL53LX_GetUserROI(VL53LX_DEV Dev, VL53LX_UserRoi_t *pUserROi)
Get the ROI managed by the Device.
VL53LX_DistanceModes
uint8_t VL53LX_DistanceModes
Definition: vl53lx_def.h:73
VL53LX_Error
int8_t VL53LX_Error
Definition: vl53lx_error_codes.h:40
VL53LX_OffsetCorrectionModes
uint8_t VL53LX_OffsetCorrectionModes
Definition: vl53lx_def.h:86
VL53LX_SmudgeCorrectionModes
uint8_t VL53LX_SmudgeCorrectionModes
Definition: vl53lx_def.h:108
VL53LX_GetUID
VL53LX_Error VL53LX_GetUID(VL53LX_DEV Dev, uint64_t *pUid)
Reads the Device unique identifier.
VL53LX_GetVersion
VL53LX_Error VL53LX_GetVersion(VL53LX_Version_t *pVersion)
Return the VL53LX driver Version.
VL53LX_GetProductRevision
VL53LX_Error VL53LX_GetProductRevision(VL53LX_DEV Dev, uint8_t *pProductRevisionMajor, uint8_t *pProductRevisionMinor)
Reads the Product Revision for a for given Device This function can be used to distinguish cut1....
VL53LX_GetDeviceInfo
VL53LX_Error VL53LX_GetDeviceInfo(VL53LX_DEV Dev, VL53LX_DeviceInfo_t *pVL53LX_DeviceInfo)
Reads the Device information for given Device.
VL53LX_SetDeviceAddress
VL53LX_Error VL53LX_SetDeviceAddress(VL53LX_DEV Dev, uint8_t DeviceAddress)
Set new device address.
VL53LX_WaitDeviceBooted
VL53LX_Error VL53LX_WaitDeviceBooted(VL53LX_DEV Dev)
Wait for device booted after chip enable (hardware standby)
VL53LX_DataInit
VL53LX_Error VL53LX_DataInit(VL53LX_DEV Dev)
One time device initialization.
VL53LX_WaitMeasurementDataReady
VL53LX_Error VL53LX_WaitMeasurementDataReady(VL53LX_DEV Dev)
Wait for measurement data ready.
VL53LX_GetMeasurementDataReady
VL53LX_Error VL53LX_GetMeasurementDataReady(VL53LX_DEV Dev, uint8_t *pMeasurementDataReady)
Return Measurement Data Ready.
VL53LX_StartMeasurement
VL53LX_Error VL53LX_StartMeasurement(VL53LX_DEV Dev)
Start device measurement.
VL53LX_StopMeasurement
VL53LX_Error VL53LX_StopMeasurement(VL53LX_DEV Dev)
Stop device measurement.
VL53LX_GetMultiRangingData
VL53LX_Error VL53LX_GetMultiRangingData(VL53LX_DEV Dev, VL53LX_MultiRangingData_t *pMultiRangingData)
Retrieve all measurements from device with the current setup.
VL53LX_GetAdditionalData
VL53LX_Error VL53LX_GetAdditionalData(VL53LX_DEV Dev, VL53LX_AdditionalData_t *pAdditionalData)
Get Additional Data.
VL53LX_ClearInterruptAndStartMeasurement
VL53LX_Error VL53LX_ClearInterruptAndStartMeasurement(VL53LX_DEV Dev)
Clear the Interrupt flag and start new measurement *.
VL53LX_SetMeasurementTimingBudgetMicroSeconds
VL53LX_Error VL53LX_SetMeasurementTimingBudgetMicroSeconds(VL53LX_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds)
Set Ranging Timing Budget in microseconds.
VL53LX_SetDistanceMode
VL53LX_Error VL53LX_SetDistanceMode(VL53LX_DEV Dev, VL53LX_DistanceModes DistanceMode)
Set the distance mode.
VL53LX_GetDistanceMode
VL53LX_Error VL53LX_GetDistanceMode(VL53LX_DEV Dev, VL53LX_DistanceModes *pDistanceMode)
Get the distance mode.
VL53LX_GetMeasurementTimingBudgetMicroSeconds
VL53LX_Error VL53LX_GetMeasurementTimingBudgetMicroSeconds(VL53LX_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds)
Get Ranging Timing Budget in microseconds.
VL53LX_AdditionalData_t
Structure for storing the Additional Data.
VL53LX_CalibrationData_t
Structure for storing the Calibration Data.
Definition: vl53lx_def.h:252
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:32
VL53LX_DeviceInfo_t
Defines the parameters of the Get Device Info Functions.
Definition: vl53lx_def.h:58
VL53LX_MultiRangingData_t
Structure for storing the set of range results.
Definition: vl53lx_def.h:176
VL53LX_UserRoi_t
Defines User Zone(ROI) parameters.
Definition: vl53lx_def.h:212
VL53LX_Version_t
Defines the parameters of the Get Version Functions.
Definition: vl53lx_def.h:48
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:48
int32_t
int int32_t
Definition: vl53lx_types.h:45
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:42
uint64_t
unsigned long long uint64_t
Definition: vl53lx_types.h:38
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:54
FixPoint1616_t
uint32_t FixPoint1616_t
Definition: vl53lx_types.h:64


VL53LX API Specification: vl53lx_def.h Source File

  • delivery
  • bare_driver_lx
  • core
  • inc
vl53lx_def.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
2 /******************************************************************************
3 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
4
5 This file is part of VL53LX and is dual licensed,
6 either GPL-2.0+
7 or 'BSD 3-clause "New" or "Revised" License' , at your option.
8 ******************************************************************************
9 */
10
19 #ifndef _VL53LX_DEF_H_
20 #define _VL53LX_DEF_H_
21
22 #include "vl53lx_ll_def.h"
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
35 #define VL53LX_IMPLEMENTATION_VER_MAJOR 1
37 #define VL53LX_IMPLEMENTATION_VER_MINOR 2
39 #define VL53LX_IMPLEMENTATION_VER_SUB 13
41 #define VL53LX_IMPLEMENTATION_VER_REVISION 2676
42 /****************************************
43 * PRIVATE define do not edit
44 ****************************************/
45
48 typedef struct {
49 uint32_t revision;
50 uint8_t major;
51 uint8_t minor;
52 uint8_t build;
53 } VL53LX_Version_t;
54
55
58 typedef struct {
59 uint8_t ProductType;
63 uint8_t ProductRevisionMajor;
65 uint8_t ProductRevisionMinor;
67 } VL53LX_DeviceInfo_t;
68
73 typedef uint8_t VL53LX_DistanceModes;
74
75 #define VL53LX_DISTANCEMODE_SHORT ((VL53LX_DistanceModes) 1)
76 #define VL53LX_DISTANCEMODE_MEDIUM ((VL53LX_DistanceModes) 2)
77 #define VL53LX_DISTANCEMODE_LONG ((VL53LX_DistanceModes) 3)
86 typedef uint8_t VL53LX_OffsetCorrectionModes;
87
88 #define VL53LX_OFFSETCORRECTIONMODE_STANDARD ((VL53LX_OffsetCorrectionModes) 1)
89 #define VL53LX_OFFSETCORRECTIONMODE_PERVCSEL ((VL53LX_OffsetCorrectionModes) 3)
90
95 typedef struct {
96 VL53LX_DistanceModes DistanceMode;
98 uint32_t MeasurementTimingBudgetMicroSeconds;
100 } VL53LX_DeviceParameters_t;
101
102
108 typedef uint8_t VL53LX_SmudgeCorrectionModes;
109
110 #define VL53LX_SMUDGE_CORRECTION_NONE ((VL53LX_SmudgeCorrectionModes) 0)
112 #define VL53LX_SMUDGE_CORRECTION_CONTINUOUS ((VL53LX_SmudgeCorrectionModes) 1)
114 #define VL53LX_SMUDGE_CORRECTION_SINGLE ((VL53LX_SmudgeCorrectionModes) 2)
116 #define VL53LX_SMUDGE_CORRECTION_DEBUG ((VL53LX_SmudgeCorrectionModes) 3)
127 typedef struct {
128 int16_t RangeMaxMilliMeter;
134 int16_t RangeMinMilliMeter;
140 FixPoint1616_t SignalRateRtnMegaCps;
146 FixPoint1616_t AmbientRateRtnMegaCps;
152 FixPoint1616_t SigmaMilliMeter;
155 int16_t RangeMilliMeter;
160 uint8_t RangeStatus;
165 uint8_t ExtendedRange;
170 } VL53LX_TargetRangeData_t;
176 typedef struct {
177 uint32_t TimeStamp;
182 uint8_t StreamCount;
185 uint8_t NumberOfObjectsFound;
191 VL53LX_TargetRangeData_t RangeData[VL53LX_MAX_RANGE_RESULTS];
193 uint8_t HasXtalkValueChanged;
200 uint16_t EffectiveSpadRtnCount;
204 } VL53LX_MultiRangingData_t;
205
206
212 typedef struct {
213
214 uint8_t TopLeftX;
215 uint8_t TopLeftY;
216 uint8_t BotRightX;
217 uint8_t BotRightY;
219 } VL53LX_UserRoi_t;
220
221
227 typedef struct {
228 uint8_t global_config__spad_enables_ref_0;
229 uint8_t global_config__spad_enables_ref_1;
230 uint8_t global_config__spad_enables_ref_2;
231 uint8_t global_config__spad_enables_ref_3;
232 uint8_t global_config__spad_enables_ref_4;
233 uint8_t global_config__spad_enables_ref_5;
234 uint8_t global_config__ref_en_start_select;
235 uint8_t ref_spad_man__num_requested_ref_spads;
236 uint8_t ref_spad_man__ref_location;
237 uint32_t algo__crosstalk_compensation_plane_offset_kcps;
238 int16_t algo__crosstalk_compensation_x_plane_gradient_kcps;
239 int16_t algo__crosstalk_compensation_y_plane_gradient_kcps;
240 uint16_t ref_spad_char__total_rate_target_mcps;
241 int16_t algo__part_to_part_range_offset_mm;
242 int16_t mm_config__inner_offset_mm;
243 int16_t mm_config__outer_offset_mm;
244 } VL53LX_CustomerNvmManaged_t;
245
252 typedef struct {
253
254 uint32_t struct_version;
255 VL53LX_CustomerNvmManaged_t customer;
256 VL53LX_additional_offset_cal_data_t add_off_cal_data;
257 VL53LX_optical_centre_t optical_centre;
258 VL53LX_xtalk_histogram_data_t xtalkhisto;
259 VL53LX_gain_calibration_data_t gain_cal;
260 VL53LX_cal_peak_rate_map_t cal_peak_rate_map;
261 VL53LX_per_vcsel_period_offset_cal_data_t per_vcsel_cal_data;
262 uint32_t algo__xtalk_cpo_HistoMerge_kcps[VL53LX_BIN_REC_SIZE];
263 } VL53LX_CalibrationData_t;
264
265 #define VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x20
270 #define VL53LX_CALIBRATION_DATA_STRUCT_VERSION \
271 (VL53LX_LL_CALIBRATION_DATA_STRUCT_VERSION + \
272 VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION)
273 /* VL53LX Calibration Data struct version */
274
280 typedef VL53LX_additional_data_t VL53LX_AdditionalData_t;
281
282
286 #define VL53LX_RANGESTATUS_RANGE_VALID 0
288 #define VL53LX_RANGESTATUS_SIGMA_FAIL 1
290 #define VL53LX_RANGESTATUS_SIGNAL_FAIL 2
292 #define VL53LX_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3
294 #define VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL 4
296 #define VL53LX_RANGESTATUS_HARDWARE_FAIL 5
298 #define VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL 6
300 #define VL53LX_RANGESTATUS_WRAP_TARGET_FAIL 7
302 #define VL53LX_RANGESTATUS_PROCESSING_FAIL 8
304 #define VL53LX_RANGESTATUS_XTALK_SIGNAL_FAIL 9
306 #define VL53LX_RANGESTATUS_SYNCRONISATION_INT 10
308 #define VL53LX_RANGESTATUS_RANGE_VALID_MERGED_PULSE 11
312 #define VL53LX_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12
314 #define VL53LX_RANGESTATUS_MIN_RANGE_FAIL 13
316 #define VL53LX_RANGESTATUS_RANGE_INVALID 14
318 #define VL53LX_RANGESTATUS_NONE 255
327 typedef struct {
328 VL53LX_LLDriverData_t LLData;
331 VL53LX_LLDriverResults_t llresults;
334 VL53LX_DeviceParameters_t CurrentParameters;
337 } VL53LX_DevData_t;
338
339
340 /* MACRO Definitions */
346 /* Defines */
347 #define VL53LX_SETPARAMETERFIELD(Dev, field, value) \
348 (VL53LXDevDataSet(Dev, CurrentParameters.field, value))
349
350 #define VL53LX_GETPARAMETERFIELD(Dev, field, variable) \
351 (variable = VL53LXDevDataGet(Dev, CurrentParameters).field)
352
353 #define VL53LX_SETARRAYPARAMETERFIELD(Dev, field, index, value) \
354 (VL53LXDevDataSet(Dev, CurrentParameters.field[index], value))
355
356 #define VL53LX_GETARRAYPARAMETERFIELD(Dev, field, index, variable) \
357 (variable = VL53LXDevDataGet(Dev, CurrentParameters).field[index])
358
359 #define VL53LX_SETDEVICESPECIFICPARAMETER(Dev, field, value) \
360 (VL53LXDevDataSet(Dev, DeviceSpecificParameters.field, value))
361
362 #define VL53LX_GETDEVICESPECIFICPARAMETER(Dev, field) \
363 (VL53LXDevDataGet(Dev, DeviceSpecificParameters).field)
364
365
366 #define VL53LX_FIXPOINT1616TOFIXPOINT44(Value) \
367 (uint16_t)((Value>>12)&0xFFFF)
368 #define VL53LX_FIXPOINT44TOFIXPOINT1616(Value) \
369 (FixPoint1616_t)((uint32_t)Value<<12)
370
371 #define VL53LX_FIXPOINT1616TOFIXPOINT72(Value) \
372 (uint16_t)((Value>>14)&0xFFFF)
373 #define VL53LX_FIXPOINT72TOFIXPOINT1616(Value) \
374 (FixPoint1616_t)((uint32_t)Value<<14)
375
376 #define VL53LX_FIXPOINT1616TOFIXPOINT97(Value) \
377 (uint16_t)((Value>>9)&0xFFFF)
378 #define VL53LX_FIXPOINT97TOFIXPOINT1616(Value) \
379 (FixPoint1616_t)((uint32_t)Value<<9)
380
381 #define VL53LX_FIXPOINT1616TOFIXPOINT88(Value) \
382 (uint16_t)((Value>>8)&0xFFFF)
383 #define VL53LX_FIXPOINT88TOFIXPOINT1616(Value) \
384 (FixPoint1616_t)((uint32_t)Value<<8)
385
386 #define VL53LX_FIXPOINT1616TOFIXPOINT412(Value) \
387 (uint16_t)((Value>>4)&0xFFFF)
388 #define VL53LX_FIXPOINT412TOFIXPOINT1616(Value) \
389 (FixPoint1616_t)((uint32_t)Value<<4)
390
391 #define VL53LX_FIXPOINT1616TOFIXPOINT313(Value) \
392 (uint16_t)((Value>>3)&0xFFFF)
393 #define VL53LX_FIXPOINT313TOFIXPOINT1616(Value) \
394 (FixPoint1616_t)((uint32_t)Value<<3)
395
396 #define VL53LX_FIXPOINT1616TOFIXPOINT08(Value) \
397 (uint8_t)((Value>>8)&0x00FF)
398 #define VL53LX_FIXPOINT08TOFIXPOINT1616(Value) \
399 (FixPoint1616_t)((uint32_t)Value<<8)
400
401 #define VL53LX_FIXPOINT1616TOFIXPOINT53(Value) \
402 (uint8_t)((Value>>13)&0x00FF)
403 #define VL53LX_FIXPOINT53TOFIXPOINT1616(Value) \
404 (FixPoint1616_t)((uint32_t)Value<<13)
405
406 #define VL53LX_FIXPOINT1616TOFIXPOINT102(Value) \
407 (uint16_t)((Value>>14)&0x0FFF)
408 #define VL53LX_FIXPOINT102TOFIXPOINT1616(Value) \
409 (FixPoint1616_t)((uint32_t)Value<<14)
410
411 #define VL53LX_FIXPOINT1616TOFIXPOINT142(Value) \
412 (uint16_t)((Value>>14)&0xFFFF)
413 #define VL53LX_FIXPOINT142TOFIXPOINT1616(Value) \
414 (FixPoint1616_t)((uint32_t)Value<<14)
415
416 #define VL53LX_FIXPOINT1616TOFIXPOINT160(Value) \
417 (uint16_t)((Value>>16)&0xFFFF)
418 #define VL53LX_FIXPOINT160TOFIXPOINT1616(Value) \
419 (FixPoint1616_t)((uint32_t)Value<<16)
420
421 #define VL53LX_MAKEUINT16(lsb, msb) (uint16_t)((((uint16_t)msb)<<8) + \
422 (uint16_t)lsb)
423
424 #ifndef SUPPRESS_UNUSED_WARNING
425 #define SUPPRESS_UNUSED_WARNING(x) ((void) (x))
426 #endif
427
434 #ifdef __cplusplus
435 }
436 #endif
437
438
439 #endif /* _VL53LX_DEF_H_ */
VL53LX_DistanceModes
uint8_t VL53LX_DistanceModes
Definition: vl53lx_def.h:73
VL53LX_OffsetCorrectionModes
uint8_t VL53LX_OffsetCorrectionModes
Definition: vl53lx_def.h:86
VL53LX_SmudgeCorrectionModes
uint8_t VL53LX_SmudgeCorrectionModes
Definition: vl53lx_def.h:108
VL53LX_AdditionalData_t
VL53LX_additional_data_t VL53LX_AdditionalData_t
Definition: vl53lx_def.h:280
VL53LX_CalibrationData_t
Structure for storing the Calibration Data.
Definition: vl53lx_def.h:252
VL53LX_CalibrationData_t::gain_cal
VL53LX_gain_calibration_data_t gain_cal
Definition: vl53lx_def.h:259
VL53LX_CalibrationData_t::struct_version
uint32_t struct_version
Definition: vl53lx_def.h:254
VL53LX_CalibrationData_t::add_off_cal_data
VL53LX_additional_offset_cal_data_t add_off_cal_data
Definition: vl53lx_def.h:256
VL53LX_CalibrationData_t::per_vcsel_cal_data
VL53LX_per_vcsel_period_offset_cal_data_t per_vcsel_cal_data
Definition: vl53lx_def.h:261
VL53LX_CalibrationData_t::optical_centre
VL53LX_optical_centre_t optical_centre
Definition: vl53lx_def.h:257
VL53LX_CalibrationData_t::cal_peak_rate_map
VL53LX_cal_peak_rate_map_t cal_peak_rate_map
Definition: vl53lx_def.h:260
VL53LX_CalibrationData_t::customer
VL53LX_CustomerNvmManaged_t customer
Definition: vl53lx_def.h:255
VL53LX_CalibrationData_t::xtalkhisto
VL53LX_xtalk_histogram_data_t xtalkhisto
Definition: vl53lx_def.h:258
VL53LX_CustomerNvmManaged_t
Definition: vl53lx_def.h:227
VL53LX_CustomerNvmManaged_t::global_config__ref_en_start_select
uint8_t global_config__ref_en_start_select
Definition: vl53lx_def.h:234
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_2
uint8_t global_config__spad_enables_ref_2
Definition: vl53lx_def.h:230
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_1
uint8_t global_config__spad_enables_ref_1
Definition: vl53lx_def.h:229
VL53LX_CustomerNvmManaged_t::ref_spad_char__total_rate_target_mcps
uint16_t ref_spad_char__total_rate_target_mcps
Definition: vl53lx_def.h:240
VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_x_plane_gradient_kcps
int16_t algo__crosstalk_compensation_x_plane_gradient_kcps
Definition: vl53lx_def.h:238
VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_y_plane_gradient_kcps
int16_t algo__crosstalk_compensation_y_plane_gradient_kcps
Definition: vl53lx_def.h:239
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_4
uint8_t global_config__spad_enables_ref_4
Definition: vl53lx_def.h:232
VL53LX_CustomerNvmManaged_t::mm_config__inner_offset_mm
int16_t mm_config__inner_offset_mm
Definition: vl53lx_def.h:242
VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_plane_offset_kcps
uint32_t algo__crosstalk_compensation_plane_offset_kcps
Definition: vl53lx_def.h:237
VL53LX_CustomerNvmManaged_t::ref_spad_man__ref_location
uint8_t ref_spad_man__ref_location
Definition: vl53lx_def.h:236
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_5
uint8_t global_config__spad_enables_ref_5
Definition: vl53lx_def.h:233
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_3
uint8_t global_config__spad_enables_ref_3
Definition: vl53lx_def.h:231
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_0
uint8_t global_config__spad_enables_ref_0
Definition: vl53lx_def.h:228
VL53LX_CustomerNvmManaged_t::mm_config__outer_offset_mm
int16_t mm_config__outer_offset_mm
Definition: vl53lx_def.h:243
VL53LX_CustomerNvmManaged_t::ref_spad_man__num_requested_ref_spads
uint8_t ref_spad_man__num_requested_ref_spads
Definition: vl53lx_def.h:235
VL53LX_CustomerNvmManaged_t::algo__part_to_part_range_offset_mm
int16_t algo__part_to_part_range_offset_mm
Definition: vl53lx_def.h:241
VL53LX_DevData_t
Contains the Internal data of the Bare Driver.
Definition: vl53lx_def.h:327
VL53LX_DevData_t::llresults
VL53LX_LLDriverResults_t llresults
Definition: vl53lx_def.h:331
VL53LX_DevData_t::LLData
VL53LX_LLDriverData_t LLData
Definition: vl53lx_def.h:328
VL53LX_DevData_t::CurrentParameters
VL53LX_DeviceParameters_t CurrentParameters
Definition: vl53lx_def.h:334
VL53LX_DeviceInfo_t
Defines the parameters of the Get Device Info Functions.
Definition: vl53lx_def.h:58
VL53LX_DeviceInfo_t::ProductType
uint8_t ProductType
Definition: vl53lx_def.h:59
VL53LX_DeviceInfo_t::ProductRevisionMajor
uint8_t ProductRevisionMajor
Definition: vl53lx_def.h:63
VL53LX_DeviceInfo_t::ProductRevisionMinor
uint8_t ProductRevisionMinor
Definition: vl53lx_def.h:65
VL53LX_DeviceParameters_t
Defines all parameters for the device.
Definition: vl53lx_def.h:95
VL53LX_DeviceParameters_t::MeasurementTimingBudgetMicroSeconds
uint32_t MeasurementTimingBudgetMicroSeconds
Definition: vl53lx_def.h:98
VL53LX_DeviceParameters_t::DistanceMode
VL53LX_DistanceModes DistanceMode
Definition: vl53lx_def.h:96
VL53LX_MultiRangingData_t
Structure for storing the set of range results.
Definition: vl53lx_def.h:176
VL53LX_MultiRangingData_t::NumberOfObjectsFound
uint8_t NumberOfObjectsFound
Definition: vl53lx_def.h:185
VL53LX_MultiRangingData_t::StreamCount
uint8_t StreamCount
Definition: vl53lx_def.h:182
VL53LX_MultiRangingData_t::EffectiveSpadRtnCount
uint16_t EffectiveSpadRtnCount
Definition: vl53lx_def.h:200
VL53LX_MultiRangingData_t::TimeStamp
uint32_t TimeStamp
Definition: vl53lx_def.h:177
VL53LX_MultiRangingData_t::HasXtalkValueChanged
uint8_t HasXtalkValueChanged
Definition: vl53lx_def.h:193
VL53LX_TargetRangeData_t
One Range measurement data for each target.
Definition: vl53lx_def.h:127
VL53LX_TargetRangeData_t::SignalRateRtnMegaCps
FixPoint1616_t SignalRateRtnMegaCps
Definition: vl53lx_def.h:140
VL53LX_TargetRangeData_t::ExtendedRange
uint8_t ExtendedRange
Definition: vl53lx_def.h:165
VL53LX_TargetRangeData_t::RangeMaxMilliMeter
int16_t RangeMaxMilliMeter
Definition: vl53lx_def.h:128
VL53LX_TargetRangeData_t::RangeStatus
uint8_t RangeStatus
Definition: vl53lx_def.h:160
VL53LX_TargetRangeData_t::SigmaMilliMeter
FixPoint1616_t SigmaMilliMeter
Definition: vl53lx_def.h:152
VL53LX_TargetRangeData_t::RangeMilliMeter
int16_t RangeMilliMeter
Definition: vl53lx_def.h:155
VL53LX_TargetRangeData_t::RangeMinMilliMeter
int16_t RangeMinMilliMeter
Definition: vl53lx_def.h:134
VL53LX_TargetRangeData_t::AmbientRateRtnMegaCps
FixPoint1616_t AmbientRateRtnMegaCps
Definition: vl53lx_def.h:146
VL53LX_UserRoi_t
Defines User Zone(ROI) parameters.
Definition: vl53lx_def.h:212
VL53LX_UserRoi_t::BotRightY
uint8_t BotRightY
Definition: vl53lx_def.h:217
VL53LX_UserRoi_t::TopLeftY
uint8_t TopLeftY
Definition: vl53lx_def.h:215
VL53LX_UserRoi_t::TopLeftX
uint8_t TopLeftX
Definition: vl53lx_def.h:214
VL53LX_UserRoi_t::BotRightX
uint8_t BotRightX
Definition: vl53lx_def.h:216
VL53LX_Version_t
Defines the parameters of the Get Version Functions.
Definition: vl53lx_def.h:48
VL53LX_Version_t::revision
uint32_t revision
Definition: vl53lx_def.h:49
VL53LX_Version_t::build
uint8_t build
Definition: vl53lx_def.h:52
VL53LX_Version_t::minor
uint8_t minor
Definition: vl53lx_def.h:51
VL53LX_Version_t::major
uint8_t major
Definition: vl53lx_def.h:50
VL53LX_MAX_RANGE_RESULTS
#define VL53LX_MAX_RANGE_RESULTS
Definition: vl53lx_platform_user_config.h:61
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:48
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:42
int16_t
short int16_t
Definition: vl53lx_types.h:51
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:54
FixPoint1616_t
uint32_t FixPoint1616_t
Definition: vl53lx_types.h:64


VL53LX API Specification: vl53lx_disclaimer.c Source File

  • doc_lx
vl53lx_disclaimer.c
Go to the documentation of this file.
1


VL53LX API Specification: vl53lx_doxydoc.c Source File

  • doc_lx
vl53lx_doxydoc.c
Go to the documentation of this file.
1


VL53LX API Specification: vl53lx_error_codes.h Source File

  • delivery
  • bare_driver_lx
  • core
  • inc
vl53lx_error_codes.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
2 /******************************************************************************
3 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
4
5 This file is part of VL53LX and is dual licensed,
6 either GPL-2.0+
7 or 'BSD 3-clause "New" or "Revised" License' , at your option.
8 ******************************************************************************
9 */
10
18 #ifndef _VL53LX_ERROR_CODES_H_
19 #define _VL53LX_ERROR_CODES_H_
20
21 #include "vl53lx_types.h"
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27
28 /*
29 ****************************************
30 * PRIVATE define do not edit
31 ***************************************
32 */
33
40 typedef int8_t VL53LX_Error;
41
42 #define VL53LX_ERROR_NONE ((VL53LX_Error) 0)
43 #define VL53LX_ERROR_CALIBRATION_WARNING ((VL53LX_Error) - 1)
49 #define VL53LX_ERROR_MIN_CLIPPED ((VL53LX_Error) - 2)
52 #define VL53LX_ERROR_UNDEFINED ((VL53LX_Error) - 3)
54 #define VL53LX_ERROR_INVALID_PARAMS ((VL53LX_Error) - 4)
56 #define VL53LX_ERROR_NOT_SUPPORTED ((VL53LX_Error) - 5)
58 #define VL53LX_ERROR_RANGE_ERROR ((VL53LX_Error) - 6)
60 #define VL53LX_ERROR_TIME_OUT ((VL53LX_Error) - 7)
62 #define VL53LX_ERROR_MODE_NOT_SUPPORTED ((VL53LX_Error) - 8)
64 #define VL53LX_ERROR_BUFFER_TOO_SMALL ((VL53LX_Error) - 9)
66 #define VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL ((VL53LX_Error) - 10)
68 #define VL53LX_ERROR_GPIO_NOT_EXISTING ((VL53LX_Error) - 11)
70 #define VL53LX_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53LX_Error) - 12)
72 #define VL53LX_ERROR_CONTROL_INTERFACE ((VL53LX_Error) - 13)
74 #define VL53LX_ERROR_INVALID_COMMAND ((VL53LX_Error) - 14)
78 #define VL53LX_ERROR_DIVISION_BY_ZERO ((VL53LX_Error) - 15)
80 #define VL53LX_ERROR_REF_SPAD_INIT ((VL53LX_Error) - 16)
82 #define VL53LX_ERROR_GPH_SYNC_CHECK_FAIL ((VL53LX_Error) - 17)
84 #define VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 18)
86 #define VL53LX_ERROR_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 19)
88 #define VL53LX_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 20)
90 #define VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 21)
93 #define VL53LX_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL ((VL53LX_Error) - 22)
99 #define VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL ((VL53LX_Error) - 23)
108 #define VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL ((VL53LX_Error) - 24)
112 #define VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL ((VL53LX_Error) - 25)
117 #define VL53LX_ERROR_ZONE_CAL_NO_SAMPLE_FAIL ((VL53LX_Error) - 26)
122 #define VL53LX_ERROR_TUNING_PARM_KEY_MISMATCH ((VL53LX_Error) - 27)
129 #define VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS ((VL53LX_Error) - 28)
131 #define VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH ((VL53LX_Error) - 29)
136 #define VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW ((VL53LX_Error) - 30)
143 #define VL53LX_WARNING_OFFSET_CAL_MISSING_SAMPLES ((VL53LX_Error) - 31)
147 #define VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH ((VL53LX_Error) - 32)
152 #define VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HIGH ((VL53LX_Error) - 33)
157 #define VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW ((VL53LX_Error) - 34)
164 #define VL53LX_WARNING_ZONE_CAL_MISSING_SAMPLES ((VL53LX_Error) - 35)
168 #define VL53LX_WARNING_ZONE_CAL_SIGMA_TOO_HIGH ((VL53LX_Error) - 36)
173 #define VL53LX_WARNING_ZONE_CAL_RATE_TOO_HIGH ((VL53LX_Error) - 37)
180 #define VL53LX_WARNING_XTALK_MISSING_SAMPLES ((VL53LX_Error) - 38)
188 #define VL53LX_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT ((VL53LX_Error) - 39)
197 #define VL53LX_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT ((VL53LX_Error) - 40)
208 #define VL53LX_ERROR_NOT_IMPLEMENTED ((VL53LX_Error) - 41)
212 #define VL53LX_ERROR_PLATFORM_SPECIFIC_START ((VL53LX_Error) - 60)
217 #ifdef __cplusplus
218 }
219 #endif
220
221
222 #endif /* _VL53LX_ERROR_CODES_H_ */
VL53LX_Error
int8_t VL53LX_Error
Definition: vl53lx_error_codes.h:40
vl53lx_types.h
int8_t
signed char int8_t
Definition: vl53lx_types.h:57


VL53LX API Specification: vl53lx_platform.h Source File

  • delivery
  • bare_driver_lx
  • platform
  • inc
vl53lx_platform.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53LX and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12 #ifndef _VL53LX_PLATFORM_H_
13 #define _VL53LX_PLATFORM_H_
14
15 #include "vl53lx_ll_def.h"
16 #include "vl53lx_platform_log.h"
17
18 #define VL53LX_IPP_API
19 #include "vl53lx_platform_ipp_imports.h"
20 #include "vl53lx_platform_user_data.h"
21
22 #ifdef __cplusplus
23 extern "C"
24 {
25 #endif
26
46 VL53LX_Error VL53LX_CommsInitialise(
47 VL53LX_Dev_t *pdev,
48 uint8_t comms_type,
49 uint16_t comms_speed_khz);
50
51
61 VL53LX_Error VL53LX_CommsClose(
62 VL53LX_Dev_t *pdev);
63
64
77 VL53LX_Error VL53LX_WriteMulti(
78 VL53LX_Dev_t *pdev,
79 uint16_t index,
80 uint8_t *pdata,
81 uint32_t count);
82
83
96 VL53LX_Error VL53LX_ReadMulti(
97 VL53LX_Dev_t *pdev,
98 uint16_t index,
99 uint8_t *pdata,
100 uint32_t count);
101
102
114 VL53LX_Error VL53LX_WrByte(
115 VL53LX_Dev_t *pdev,
116 uint16_t index,
117 uint8_t data);
118
119
134 VL53LX_Error VL53LX_WrWord(
135 VL53LX_Dev_t *pdev,
136 uint16_t index,
137 uint16_t data);
138
139
154 VL53LX_Error VL53LX_WrDWord(
155 VL53LX_Dev_t *pdev,
156 uint16_t index,
157 uint32_t data);
158
159
160
173 VL53LX_Error VL53LX_RdByte(
174 VL53LX_Dev_t *pdev,
175 uint16_t index,
176 uint8_t *pdata);
177
178
192 VL53LX_Error VL53LX_RdWord(
193 VL53LX_Dev_t *pdev,
194 uint16_t index,
195 uint16_t *pdata);
196
197
211 VL53LX_Error VL53LX_RdDWord(
212 VL53LX_Dev_t *pdev,
213 uint16_t index,
214 uint32_t *pdata);
215
216
217
228 VL53LX_Error VL53LX_WaitUs(
229 VL53LX_Dev_t *pdev,
230 int32_t wait_us);
231
232
243 VL53LX_Error VL53LX_WaitMs(
244 VL53LX_Dev_t *pdev,
245 int32_t wait_ms);
246
247
257 VL53LX_Error VL53LX_GetTimerFrequency(int32_t *ptimer_freq_hz);
258
268 VL53LX_Error VL53LX_GetTimerValue(int32_t *ptimer_count);
269
270
282 VL53LX_Error VL53LX_GpioSetMode(uint8_t pin, uint8_t mode);
283
284
296 VL53LX_Error VL53LX_GpioSetValue(uint8_t pin, uint8_t value);
297
298
310 VL53LX_Error VL53LX_GpioGetValue(uint8_t pin, uint8_t *pvalue);
311
312
322 VL53LX_Error VL53LX_GpioXshutdown(uint8_t value);
323
324
334 VL53LX_Error VL53LX_GpioCommsSelect(uint8_t value);
335
336
346 VL53LX_Error VL53LX_GpioPowerEnable(uint8_t value);
347
358 VL53LX_Error VL53LX_GpioInterruptEnable(void (*function)(void), uint8_t edge_type);
359
360
368 VL53LX_Error VL53LX_GpioInterruptDisable(void);
369
370
371 /*
372 * @brief Gets current system tick count in [ms]
373 *
374 * @param[in] pdev : pointer to device structure (device handle)
375 * @return time_ms : current time in [ms]
376 *
377 * @return VL53LX_ERROR_NONE Success
378 * @return "Other error code" See ::VL53LX_Error
379 */
380
381 VL53LX_Error VL53LX_GetTickCount(
382 VL53LX_Dev_t *pdev,
383 uint32_t *ptime_ms);
384
385
402 VL53LX_Error VL53LX_WaitValueMaskEx(
403 VL53LX_Dev_t *pdev,
404 uint32_t timeout_ms,
405 uint16_t index,
406 uint8_t value,
407 uint8_t mask,
408 uint32_t poll_delay_ms);
409
410 #ifdef __cplusplus
411 }
412 #endif
413
414 #endif
415
VL53LX_Error
int8_t VL53LX_Error
Definition: vl53lx_error_codes.h:40
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:32
VL53LX_GpioSetValue
VL53LX_Error VL53LX_GpioSetValue(uint8_t pin, uint8_t value)
Set the value of a specified GPIO pin.
VL53LX_WrByte
VL53LX_Error VL53LX_WrByte(VL53LX_Dev_t *pdev, uint16_t index, uint8_t data)
Writes a single byte to the device.
VL53LX_GetTickCount
VL53LX_Error VL53LX_GetTickCount(VL53LX_Dev_t *pdev, uint32_t *ptime_ms)
VL53LX_WaitUs
VL53LX_Error VL53LX_WaitUs(VL53LX_Dev_t *pdev, int32_t wait_us)
Implements a programmable wait in us.
VL53LX_RdByte
VL53LX_Error VL53LX_RdByte(VL53LX_Dev_t *pdev, uint16_t index, uint8_t *pdata)
Reads a single byte from the device.
VL53LX_ReadMulti
VL53LX_Error VL53LX_ReadMulti(VL53LX_Dev_t *pdev, uint16_t index, uint8_t *pdata, uint32_t count)
Reads the requested number of bytes from the device.
VL53LX_GpioSetMode
VL53LX_Error VL53LX_GpioSetMode(uint8_t pin, uint8_t mode)
Set the mode of a specified GPIO pin.
VL53LX_GpioInterruptEnable
VL53LX_Error VL53LX_GpioInterruptEnable(void(*function)(void), uint8_t edge_type)
Enables callbacks to the supplied funtion pointer when Ewok interrupts ocurr.
VL53LX_WrDWord
VL53LX_Error VL53LX_WrDWord(VL53LX_Dev_t *pdev, uint16_t index, uint32_t data)
Writes a single dword (32-bit unsigned) to the device.
VL53LX_GpioXshutdown
VL53LX_Error VL53LX_GpioXshutdown(uint8_t value)
Sets and clears the XShutdown pin on the Ewok.
VL53LX_GetTimerFrequency
VL53LX_Error VL53LX_GetTimerFrequency(int32_t *ptimer_freq_hz)
Get the frequency of the timer used for ranging results time stamps.
VL53LX_CommsInitialise
VL53LX_Error VL53LX_CommsInitialise(VL53LX_Dev_t *pdev, uint8_t comms_type, uint16_t comms_speed_khz)
Initialise platform comms.
VL53LX_CommsClose
VL53LX_Error VL53LX_CommsClose(VL53LX_Dev_t *pdev)
Close platform comms.
VL53LX_GpioPowerEnable
VL53LX_Error VL53LX_GpioPowerEnable(uint8_t value)
Enables and disables the power to the Ewok module.
VL53LX_WrWord
VL53LX_Error VL53LX_WrWord(VL53LX_Dev_t *pdev, uint16_t index, uint16_t data)
Writes a single word (16-bit unsigned) to the device.
VL53LX_WaitMs
VL53LX_Error VL53LX_WaitMs(VL53LX_Dev_t *pdev, int32_t wait_ms)
Implements a programmable wait in ms.
VL53LX_RdDWord
VL53LX_Error VL53LX_RdDWord(VL53LX_Dev_t *pdev, uint16_t index, uint32_t *pdata)
Reads a single dword (32-bit unsigned) from the device.
VL53LX_WriteMulti
VL53LX_Error VL53LX_WriteMulti(VL53LX_Dev_t *pdev, uint16_t index, uint8_t *pdata, uint32_t count)
Writes the supplied byte buffer to the device.
VL53LX_WaitValueMaskEx
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)
Register "wait for value" polling routine.
VL53LX_GetTimerValue
VL53LX_Error VL53LX_GetTimerValue(int32_t *ptimer_count)
Get the timer value in units of timer_freq_hz (see VL53LX_get_timestamp_frequency())
VL53LX_GpioCommsSelect
VL53LX_Error VL53LX_GpioCommsSelect(uint8_t value)
Sets and clears the Comms Mode pin (NCS) on the Ewok.
VL53LX_GpioGetValue
VL53LX_Error VL53LX_GpioGetValue(uint8_t pin, uint8_t *pvalue)
Get the value of a specified GPIO pin.
VL53LX_RdWord
VL53LX_Error VL53LX_RdWord(VL53LX_Dev_t *pdev, uint16_t index, uint16_t *pdata)
Reads a single word (16-bit unsigned) from the device.
VL53LX_GpioInterruptDisable
VL53LX_Error VL53LX_GpioInterruptDisable(void)
Disables the callback on Ewok interrupts.
vl53lx_platform_ipp_imports.h
vl53lx_platform_log.h
vl53lx_platform_user_data.h
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:48
int32_t
int int32_t
Definition: vl53lx_types.h:45
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:42
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:54


VL53LX API Specification: vl53lx_platform_init.h Source File

  • delivery
  • bare_driver_lx
  • platform
  • inc
vl53lx_platform_init.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53LX and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13
14 #ifndef _VL53LX_PLATFORM_INIT_H_
15 #define _VL53LX_PLATFORM_INIT_H_
16
17 #include "vl53lx_platform.h"
18
19 #ifdef __cplusplus
20 extern "C"
21 {
22 #endif
23
24
25
26
27
28
29 VL53LX_Error VL53LX_platform_init(
30 VL53LX_Dev_t *pdev,
31 uint8_t i2c_slave_address,
32 uint8_t comms_type,
33 uint16_t comms_speed_khz);
34
35
36
37
38 VL53LX_Error VL53LX_platform_terminate(
39 VL53LX_Dev_t *pdev);
40
41
42 #ifdef __cplusplus
43 }
44 #endif
45
46 #endif
47
48
VL53LX_Error
int8_t VL53LX_Error
Definition: vl53lx_error_codes.h:40
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:32
vl53lx_platform.h
All end user OS/platform/application porting.
VL53LX_platform_terminate
VL53LX_Error VL53LX_platform_terminate(VL53LX_Dev_t *pdev)
VL53LX_platform_init
VL53LX_Error VL53LX_platform_init(VL53LX_Dev_t *pdev, uint8_t i2c_slave_address, uint8_t comms_type, uint16_t comms_speed_khz)
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:48
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:54


VL53LX API Specification: vl53lx_platform_ipp.h Source File

  • delivery
  • bare_driver_lx
  • platform
  • inc
vl53lx_platform_ipp.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53LX and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13
14 #ifndef _VL53LX_PLATFORM_IPP_H_
15 #define _VL53LX_PLATFORM_IPP_H_
16
17 #include <vl53lx_platform_user_data.h>
18
19 #ifdef __cplusplus
20 extern "C"
21 {
22 #endif
23
24
25
26
27
28 VL53LX_Error VL53LX_ipp_hist_process_data(
29 VL53LX_DEV Dev,
30 VL53LX_dmax_calibration_data_t *pdmax_cal,
31 VL53LX_hist_gen3_dmax_config_t *pdmax_cfg,
32 VL53LX_hist_post_process_config_t *ppost_cfg,
33 VL53LX_histogram_bin_data_t *pbins,
34 VL53LX_xtalk_histogram_data_t *pxtalk,
35 uint8_t *pArea1,
36 uint8_t *pArea2,
37 uint8_t *phisto_merge_nb,
38 VL53LX_range_results_t *presults);
39
40
41
42
43 VL53LX_Error VL53LX_ipp_hist_ambient_dmax(
44 VL53LX_DEV Dev,
45 uint16_t target_reflectance,
46 VL53LX_dmax_calibration_data_t *pdmax_cal,
47 VL53LX_hist_gen3_dmax_config_t *pdmax_cfg,
48 VL53LX_histogram_bin_data_t *pbins,
49 int16_t *pambient_dmax_mm);
50
51
52
53
54 VL53LX_Error VL53LX_ipp_xtalk_calibration_process_data(
55 VL53LX_DEV Dev,
56 VL53LX_xtalk_range_results_t *pxtalk_ranges,
57 VL53LX_xtalk_histogram_data_t *pxtalk_shape,
58 VL53LX_xtalk_calibration_results_t *pxtalk_cal);
59
60
61 #ifdef __cplusplus
62 }
63 #endif
64
65 #endif
66
67
VL53LX_Error
int8_t VL53LX_Error
Definition: vl53lx_error_codes.h:40
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:32
VL53LX_ipp_xtalk_calibration_process_data
VL53LX_Error VL53LX_ipp_xtalk_calibration_process_data(VL53LX_DEV Dev, VL53LX_xtalk_range_results_t *pxtalk_ranges, VL53LX_xtalk_histogram_data_t *pxtalk_shape, VL53LX_xtalk_calibration_results_t *pxtalk_cal)
VL53LX_ipp_hist_process_data
VL53LX_Error VL53LX_ipp_hist_process_data(VL53LX_DEV Dev, VL53LX_dmax_calibration_data_t *pdmax_cal, VL53LX_hist_gen3_dmax_config_t *pdmax_cfg, VL53LX_hist_post_process_config_t *ppost_cfg, VL53LX_histogram_bin_data_t *pbins, VL53LX_xtalk_histogram_data_t *pxtalk, uint8_t *pArea1, uint8_t *pArea2, uint8_t *phisto_merge_nb, VL53LX_range_results_t *presults)
VL53LX_ipp_hist_ambient_dmax
VL53LX_Error VL53LX_ipp_hist_ambient_dmax(VL53LX_DEV Dev, uint16_t target_reflectance, VL53LX_dmax_calibration_data_t *pdmax_cal, VL53LX_hist_gen3_dmax_config_t *pdmax_cfg, VL53LX_histogram_bin_data_t *pbins, int16_t *pambient_dmax_mm)
vl53lx_platform_user_data.h
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:48
int16_t
short int16_t
Definition: vl53lx_types.h:51
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:54


VL53LX API Specification: vl53lx_platform_ipp_imports.h Source File

  • delivery
  • bare_driver_lx
  • platform
  • inc
vl53lx_platform_ipp_imports.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53LX and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12 #ifdef VL53LX_NEEDS_IPP
13 # undef VL53LX_IPP_API
14 # define VL53LX_IPP_API __declspec(dllimport)
15 # pragma comment (lib, "EwokPlus25API_IPP")
16 #endif
17


VL53LX API Specification: vl53lx_platform_log.h Source File

  • delivery
  • bare_driver_lx
  • platform
  • inc
vl53lx_platform_log.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53LX and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13
14
15
16 #ifndef _VL53LX_PLATFORM_LOG_H_
17 #define _VL53LX_PLATFORM_LOG_H_
18
19
20 #ifdef VL53LX_LOG_ENABLE
21 #include "vl53lx_platform_user_config.h"
22
23 #ifdef _MSC_VER
24 # define EWOKPLUS_EXPORTS __declspec(dllexport)
25 #else
26 # define EWOKPLUS_EXPORTS
27 #endif
28
29 #include "vl53lx_types.h"
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 #include <time.h>
36
37
38
39 #define VL53LX_TRACE_LEVEL_NONE 0x00000000
40 #define VL53LX_TRACE_LEVEL_ERRORS 0x00000001
41 #define VL53LX_TRACE_LEVEL_WARNING 0x00000002
42 #define VL53LX_TRACE_LEVEL_INFO 0x00000004
43 #define VL53LX_TRACE_LEVEL_DEBUG 0x00000008
44 #define VL53LX_TRACE_LEVEL_ALL 0x00000010
45 #define VL53LX_TRACE_LEVEL_IGNORE 0x00000020
46
47 #define VL53LX_TRACE_FUNCTION_NONE 0x00000000
48 #define VL53LX_TRACE_FUNCTION_I2C 0x00000001
49 #define VL53LX_TRACE_FUNCTION_ALL 0x7fffffff
50
51 #define VL53LX_TRACE_MODULE_NONE 0x00000000
52 #define VL53LX_TRACE_MODULE_API 0x00000001
53 #define VL53LX_TRACE_MODULE_CORE 0x00000002
54 #define VL53LX_TRACE_MODULE_PROTECTED 0x00000004
55 #define VL53LX_TRACE_MODULE_HISTOGRAM 0x00000008
56 #define VL53LX_TRACE_MODULE_REGISTERS 0x00000010
57 #define VL53LX_TRACE_MODULE_PLATFORM 0x00000020
58 #define VL53LX_TRACE_MODULE_NVM 0x00000040
59 #define VL53LX_TRACE_MODULE_CALIBRATION_DATA 0x00000080
60 #define VL53LX_TRACE_MODULE_NVM_DATA 0x00000100
61 #define VL53LX_TRACE_MODULE_HISTOGRAM_DATA 0x00000200
62 #define VL53LX_TRACE_MODULE_RANGE_RESULTS_DATA 0x00000400
63 #define VL53LX_TRACE_MODULE_XTALK_DATA 0x00000800
64 #define VL53LX_TRACE_MODULE_OFFSET_DATA 0x00001000
65 #define VL53LX_TRACE_MODULE_DATA_INIT 0x00002000
66 #define VL53LX_TRACE_MODULE_REF_SPAD_CHAR 0x00004000
67 #define VL53LX_TRACE_MODULE_SPAD_RATE_MAP 0x00008000
68 #define VL53LX_TRACE_MODULE_CUSTOMER_API 0x40000000
69 #define VL53LX_TRACE_MODULE_ALL 0x7fffffff
70
71
72 extern uint32_t _trace_level;
73
74
75 EWOKPLUS_EXPORTS int8_t VL53LX_trace_config(
76 char *filename,
77 uint32_t modules,
78 uint32_t level,
79 uint32_t functions);
80
81
82
83 EWOKPLUS_EXPORTS void VL53LX_trace_print_module_function(
84 uint32_t module,
85 uint32_t level,
86 uint32_t function,
87 const char *format, ...);
88
89
90
91 uint32_t VL53LX_get_trace_functions(void);
92
93
94
95 void VL53LX_set_trace_functions(uint32_t function);
96
97
98
99
100 uint32_t VL53LX_clock(void);
101
102 #define LOG_GET_TIME() \
103 ((int)VL53LX_clock())
104
105 #define _LOG_TRACE_PRINT(module, level, function, ...) \
106 VL53LX_trace_print_module_function(module, level, function, ##__VA_ARGS__);
107
108 #define _LOG_FUNCTION_START(module, fmt, ...) \
109 VL53LX_trace_print_module_function(module, _trace_level, VL53LX_TRACE_FUNCTION_ALL, "%6ld <START> %s "fmt"\n", LOG_GET_TIME(), __FUNCTION__, ##__VA_ARGS__);
110
111 #define _LOG_FUNCTION_END(module, status, ...)\
112 VL53LX_trace_print_module_function(module, _trace_level, VL53LX_TRACE_FUNCTION_ALL, "%6ld <END> %s %d\n", LOG_GET_TIME(), __FUNCTION__, (int)status, ##__VA_ARGS__)
113
114 #define _LOG_FUNCTION_END_FMT(module, status, fmt, ...)\
115 VL53LX_trace_print_module_function(module, _trace_level, VL53LX_TRACE_FUNCTION_ALL, "%6ld <END> %s %d "fmt"\n", LOG_GET_TIME(), __FUNCTION__, (int)status, ##__VA_ARGS__)
116
117 #define _LOG_GET_TRACE_FUNCTIONS()\
118 VL53LX_get_trace_functions()
119
120 #define _LOG_SET_TRACE_FUNCTIONS(functions)\
121 VL53LX_set_trace_functions(functions)
122
123 #define _LOG_STRING_BUFFER(x) char x[VL53LX_MAX_STRING_LENGTH]
124
125 #ifdef __cplusplus
126 }
127 #endif
128
129 #else
130
131 #define _LOG_TRACE_PRINT(module, level, function, ...)
132 #define _LOG_FUNCTION_START(module, fmt, ...)
133 #define _LOG_FUNCTION_END(module, status, ...)
134 #define _LOG_FUNCTION_END_FMT(module, status, fmt, ...)
135 #define _LOG_GET_TRACE_FUNCTIONS() 0
136 #define _LOG_SET_TRACE_FUNCTIONS(functions)
137 #define _LOG_STRING_BUFFER(x)
138
139 #endif
140
141 #endif
142
vl53lx_platform_user_config.h
vl53lx_types.h
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:42
int8_t
signed char int8_t
Definition: vl53lx_types.h:57


VL53LX API Specification: vl53lx_platform_user_config.h Source File

  • delivery
  • bare_driver_lx
  • platform
  • inc
vl53lx_platform_user_config.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53LX and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13
14
15
16 #ifndef _VL53LX_PLATFORM_USER_CONFIG_H_
17 #define _VL53LX_PLATFORM_USER_CONFIG_H_
18
19 #define VL53LX_BYTES_PER_WORD 2
20 #define VL53LX_BYTES_PER_DWORD 4
21
22
23 #define VL53LX_BOOT_COMPLETION_POLLING_TIMEOUT_MS 500
24 #define VL53LX_RANGE_COMPLETION_POLLING_TIMEOUT_MS 2000
25 #define VL53LX_TEST_COMPLETION_POLLING_TIMEOUT_MS 60000
26
27 #define VL53LX_POLLING_DELAY_MS 1
28
29
30 #define VL53LX_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS 0x8000
31 #define VL53LX_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS 0xC000
32
33 #define VL53LX_GAIN_FACTOR__STANDARD_DEFAULT 0x0800
34
35 #define VL53LX_GAIN_FACTOR__HISTOGRAM_DEFAULT 0x0800
36
37
38
39 #define VL53LX_OFFSET_CAL_MIN_EFFECTIVE_SPADS 0x0500
40
41
42 #define VL53LX_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900
43
44
45 #define VL53LX_OFFSET_CAL_MAX_SIGMA_MM 0x0040
46
47
48
49 #define VL53LX_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900
50
51
52 #define VL53LX_ZONE_CAL_MAX_SIGMA_MM 0x0040
53
54
55
56 #define VL53LX_XTALK_EXTRACT_MAX_SIGMA_MM 0x008C
57
58
59 #define VL53LX_MAX_USER_ZONES 5
60
61 #define VL53LX_MAX_RANGE_RESULTS 4
62
63
64
65 #define VL53LX_MAX_STRING_LENGTH 512
66
67 #endif
68
69


VL53LX API Specification: vl53lx_platform_user_data.h Source File

  • delivery
  • bare_driver_lx
  • platform
  • inc
vl53lx_platform_user_data.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53LX and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13
14 #ifndef _VL53LX_PLATFORM_USER_DATA_H_
15 #define _VL53LX_PLATFORM_USER_DATA_H_
16
17 #ifndef __KERNEL__
18 #include <stdlib.h>
19 #endif
20
21 #include "vl53lx_def.h"
22
23 #ifdef __cplusplus
24 extern "C"
25 {
26 #endif
27
28
29
30
31
32 typedef struct {
33
34 VL53LX_DevData_t Data;
35
36
37 uint8_t i2c_slave_address;
38
39 uint8_t comms_type;
40
41 uint16_t comms_speed_khz;
42
43
44 uint32_t new_data_ready_poll_duration_ms;
45
46 } VL53LX_Dev_t;
47
48
49
50 typedef VL53LX_Dev_t *VL53LX_DEV;
51
52
53
54 #define VL53LXDevDataGet(Dev, field) (Dev->Data.field)
55
56
57
58 #define VL53LXDevDataSet(Dev, field, VL53LX_p_003) ((Dev->Data.field) = (VL53LX_p_003))
59
60
61
62 #define VL53LXDevStructGetLLDriverHandle(Dev) (&Dev->Data.LLData)
63
64
65
66 #define VL53LXDevStructGetLLResultsHandle(Dev) (&Dev->Data.llresults)
67
68
69 #ifdef __cplusplus
70 }
71 #endif
72
73 #endif
74
75
VL53LX_DevData_t
Contains the Internal data of the Bare Driver.
Definition: vl53lx_def.h:327
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:32
VL53LX_Dev_t::comms_speed_khz
uint16_t comms_speed_khz
Definition: vl53lx_platform_user_data.h:41
VL53LX_Dev_t::i2c_slave_address
uint8_t i2c_slave_address
Definition: vl53lx_platform_user_data.h:37
VL53LX_Dev_t::Data
VL53LX_DevData_t Data
Definition: vl53lx_platform_user_data.h:34
VL53LX_Dev_t::new_data_ready_poll_duration_ms
uint32_t new_data_ready_poll_duration_ms
Definition: vl53lx_platform_user_data.h:44
VL53LX_Dev_t::comms_type
uint8_t comms_type
Definition: vl53lx_platform_user_data.h:39
vl53lx_def.h
Type definitions for VL53LX API.
VL53LX_DEV
VL53LX_Dev_t * VL53LX_DEV
Definition: vl53lx_platform_user_data.h:50
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:48
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:42
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:54


VL53LX API Specification: vl53lx_platform_user_defines.h Source File

  • delivery
  • bare_driver_lx
  • platform
  • inc
vl53lx_platform_user_defines.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53LX and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13 #ifndef _VL53LX_PLATFORM_USER_DEFINES_H_
14 #define _VL53LX_PLATFORM_USER_DEFINES_H_
15
16 #ifdef __cplusplus
17 extern "C"
18 {
19 #endif
20
21
22
23
24
25 #define do_division_u(dividend, divisor) (dividend / divisor)
26
27
28
29 #define do_division_s(dividend, divisor) (dividend / divisor)
30
31
32
33 #define WARN_OVERRIDE_STATUS(__X__)\
34 trace_print (VL53LX_TRACE_LEVEL_WARNING, #__X__);
35
36
37 #ifdef _MSC_VER
38 #define DISABLE_WARNINGS() { \
39 __pragma (warning (push)); \
40 __pragma (warning (disable:4127)); \
41 }
42 #define ENABLE_WARNINGS() { \
43 __pragma (warning (pop)); \
44 }
45 #else
46 #define DISABLE_WARNINGS()
47 #define ENABLE_WARNINGS()
48 #endif
49
50
51 #ifdef __cplusplus
52 }
53 #endif
54
55 #endif
56
57


VL53LX API Specification: vl53lx_types.h Source File

  • delivery
  • bare_driver_lx
  • platform
  • inc
vl53lx_types.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53LX and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13
14 #ifndef _VL53LX_TYPES_H_
15 #define _VL53LX_TYPES_H_
16
17
18 #include <stdint.h>
19 #include <stddef.h>
20 #include <string.h>
21 #include <stdio.h>
22 #include <stdlib.h>
23
24 #ifndef NULL
25 #error "Error NULL definition should be done. Please add required include "
26 #endif
27
28
29 #if !defined(STDINT_H) && !defined(_STDINT_H) && !defined(_GCC_STDINT_H) && !defined(__STDINT_DECLS) && !defined(_GCC_WRAP_STDINT_H) && !defined(_STDINT)
30
31 #pragma message("Please review type definition of STDINT define for your platform and add to list above ")
32
33
34
35
36
37
38 typedef unsigned long long uint64_t;
39
40
41
42 typedef unsigned int uint32_t;
43
44
45 typedef int int32_t;
46
47
48 typedef unsigned short uint16_t;
49
50
51 typedef short int16_t;
52
53
54 typedef unsigned char uint8_t;
55
56
57 typedef signed char int8_t;
58
59
60 #endif
61
62
63
64 typedef uint32_t FixPoint1616_t;
65
66 #endif
67
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:48
int32_t
int int32_t
Definition: vl53lx_types.h:45
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:42
int16_t
short int16_t
Definition: vl53lx_types.h:51
uint64_t
unsigned long long uint64_t
Definition: vl53lx_types.h:38
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:54
int8_t
signed char int8_t
Definition: vl53lx_types.h:57
FixPoint1616_t
uint32_t FixPoint1616_t
Definition: vl53lx_types.h:64