VL53LX API Specification: Documentation

VL53LX API Specification

1.1.1.2320
  • Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
Documentation

Introduction

This driver is intended to provide an API functions in order 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.8.9.1)


VL53LX API Specification: Disclaimer

  • Related Pages
  • Modules
  • Data Structures
  • Files
Disclaimer

Copyright (C) 2019 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

  • Files
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, ... )

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


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 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_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_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_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_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_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.

When it is requested for multi devices system this function MUST be called prior to VL53LX_DataInit()

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_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_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_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_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_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_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 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_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_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_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_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_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_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_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...

Detailed Description

Functions used for Calibration.

Function Documentation

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_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_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_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_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_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_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_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_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_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_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_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_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 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_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 1
VL53LX IMPLEMENTATION minor version. More...
#define | VL53LX_IMPLEMENTATION_VER_SUB 1
VL53LX IMPLEMENTATION sub version. More...
#define | VL53LX_IMPLEMENTATION_VER_REVISION 2320
VL53LX IMPLEMENTATION sub version. More...
#define | VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x10
#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

#define VL53LX_IMPLEMENTATION_VER_MAJOR 1

VL53LX IMPLEMENTATION major version.

Definition at line 85 of file vl53lx_def.h.

#define VL53LX_IMPLEMENTATION_VER_MINOR 1

VL53LX IMPLEMENTATION minor version.

Definition at line 87 of file vl53lx_def.h.

#define VL53LX_IMPLEMENTATION_VER_SUB 1

VL53LX IMPLEMENTATION sub version.

Definition at line 89 of file vl53lx_def.h.

#define VL53LX_IMPLEMENTATION_VER_REVISION 2320

VL53LX IMPLEMENTATION sub version.

Definition at line 91 of file vl53lx_def.h.

#define VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x10

Definition at line 296 of file vl53lx_def.h.

#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
#define VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION
Definition: vl53lx_def.h:296

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

Definition at line 301 of file vl53lx_def.h.

Typedef Documentation

typedef VL53LX_additional_data_t VL53LX_AdditionalData_t

Definition at line 311 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

#define VL53LX_DISTANCEMODE_SHORT ((VL53LX_DistanceModes) 1)

Definition at line 126 of file vl53lx_def.h.

#define VL53LX_DISTANCEMODE_MEDIUM ((VL53LX_DistanceModes) 2)

Definition at line 127 of file vl53lx_def.h.

#define VL53LX_DISTANCEMODE_LONG ((VL53LX_DistanceModes) 3)

Definition at line 128 of file vl53lx_def.h.

Typedef Documentation

typedef uint8_t VL53LX_DistanceModes

Definition at line 124 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

#define VL53LX_OFFSETCORRECTIONMODE_STANDARD ((VL53LX_OffsetCorrectionModes) 1)

Definition at line 139 of file vl53lx_def.h.

#define VL53LX_OFFSETCORRECTIONMODE_PERVCSEL ((VL53LX_OffsetCorrectionModes) 3)

Definition at line 140 of file vl53lx_def.h.

Typedef Documentation

typedef uint8_t VL53LX_OffsetCorrectionModes

Definition at line 137 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

#define VL53LX_SMUDGE_CORRECTION_NONE ((VL53LX_SmudgeCorrectionModes) 0)

Smudge correction is applied continously accross the rangings

Definition at line 161 of file vl53lx_def.h.

#define VL53LX_SMUDGE_CORRECTION_CONTINUOUS ((VL53LX_SmudgeCorrectionModes) 1)

Smudge correction is applied continously accross the rangings

Definition at line 163 of file vl53lx_def.h.

#define VL53LX_SMUDGE_CORRECTION_SINGLE ((VL53LX_SmudgeCorrectionModes) 2)

Smudge correction is applied only once accross the rangings

Definition at line 165 of file vl53lx_def.h.

#define VL53LX_SMUDGE_CORRECTION_DEBUG ((VL53LX_SmudgeCorrectionModes) 3)

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

Definition at line 167 of file vl53lx_def.h.

Typedef Documentation

typedef uint8_t VL53LX_SmudgeCorrectionModes

Definition at line 159 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

#define VL53LX_RANGESTATUS_RANGE_VALID 0

The Range is valid.

Definition at line 317 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_SIGMA_FAIL 1

Sigma Fail.

Definition at line 319 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_SIGNAL_FAIL 2

Signal fail.

Definition at line 321 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3

Target is below minimum detection threshold.

Definition at line 323 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL 4

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

Definition at line 325 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_HARDWARE_FAIL 5

Hardware fail.

Definition at line 327 of file vl53lx_def.h.

#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 329 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_WRAP_TARGET_FAIL 7

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

Definition at line 331 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_PROCESSING_FAIL 8

Internal algo underflow or overflow in lite ranging.

Definition at line 333 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_XTALK_SIGNAL_FAIL 9

Specific to lite ranging.

Definition at line 335 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_SYNCRONISATION_INT 10

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

Definition at line 337 of file vl53lx_def.h.

#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 339 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12

Used by RQL as different to phase fail.

Definition at line 343 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_MIN_RANGE_FAIL 13

Unexpected error in SPAD Array.

Definition at line 345 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_RANGE_INVALID 14

lld returned valid range but negative value !

Definition at line 347 of file vl53lx_def.h.

#define VL53LX_RANGESTATUS_NONE 255

No Update.

Definition at line 349 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

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

Definition at line 378 of file vl53lx_def.h.

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

Definition at line 381 of file vl53lx_def.h.

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

Definition at line 384 of file vl53lx_def.h.

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

Definition at line 387 of file vl53lx_def.h.

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

Definition at line 390 of file vl53lx_def.h.

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

Definition at line 393 of file vl53lx_def.h.

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

Definition at line 397 of file vl53lx_def.h.

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

Definition at line 399 of file vl53lx_def.h.

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

Definition at line 402 of file vl53lx_def.h.

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

Definition at line 404 of file vl53lx_def.h.

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

Definition at line 407 of file vl53lx_def.h.

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

Definition at line 409 of file vl53lx_def.h.

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

Definition at line 412 of file vl53lx_def.h.

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

Definition at line 414 of file vl53lx_def.h.

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

Definition at line 417 of file vl53lx_def.h.

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

Definition at line 419 of file vl53lx_def.h.

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

Definition at line 422 of file vl53lx_def.h.

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

Definition at line 424 of file vl53lx_def.h.

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

Definition at line 427 of file vl53lx_def.h.

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

Definition at line 429 of file vl53lx_def.h.

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

Definition at line 432 of file vl53lx_def.h.

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

Definition at line 434 of file vl53lx_def.h.

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

Definition at line 437 of file vl53lx_def.h.

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

Definition at line 439 of file vl53lx_def.h.

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

Definition at line 442 of file vl53lx_def.h.

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

Definition at line 444 of file vl53lx_def.h.

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

Definition at line 447 of file vl53lx_def.h.

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

Definition at line 449 of file vl53lx_def.h.

#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:162

Definition at line 452 of file vl53lx_def.h.


VL53LX API Specification: VL53LX_Version_t Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 99 of file vl53lx_def.h.

Field Documentation

uint32_t VL53LX_Version_t::revision

revision number

Definition at line 100 of file vl53lx_def.h.

uint8_t VL53LX_Version_t::major

major number

Definition at line 101 of file vl53lx_def.h.

uint8_t VL53LX_Version_t::minor

minor number

Definition at line 102 of file vl53lx_def.h.

uint8_t VL53LX_Version_t::build

build number

Definition at line 103 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 Structures
  • Data Structure Index
  • Data Fields
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 109 of file vl53lx_def.h.

Field Documentation

uint8_t VL53LX_DeviceInfo_t::ProductType

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

Definition at line 110 of file vl53lx_def.h.

uint8_t VL53LX_DeviceInfo_t::ProductRevisionMajor

Product revision major

Definition at line 114 of file vl53lx_def.h.

uint8_t VL53LX_DeviceInfo_t::ProductRevisionMinor

Product revision minor

Definition at line 116 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 Structures
  • Data Structure Index
  • Data Fields
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 146 of file vl53lx_def.h.

Field Documentation

VL53LX_DistanceModes VL53LX_DeviceParameters_t::DistanceMode

Defines the operating mode to be used for the next measure

Definition at line 147 of file vl53lx_def.h.

uint32_t VL53LX_DeviceParameters_t::MeasurementTimingBudgetMicroSeconds

Defines the allowed total time for a single measurement

Definition at line 149 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 Structures
  • Data Structure Index
  • Data Fields
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

Detailed Description

One Range measurement data for each target.

Definition at line 178 of file vl53lx_def.h.

Field Documentation

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 179 of file vl53lx_def.h.

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 185 of file vl53lx_def.h.

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 191 of file vl53lx_def.h.

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 ambien t light.

Definition at line 197 of file vl53lx_def.h.

FixPoint1616_t VL53LX_TargetRangeData_t::SigmaMilliMeter

Return the Sigma value in millimeter

Definition at line 203 of file vl53lx_def.h.

int16_t VL53LX_TargetRangeData_t::RangeMilliMeter

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

Definition at line 206 of file vl53lx_def.h.

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 211 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 Structures
  • Data Structure Index
  • Data Fields
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 221 of file vl53lx_def.h.

Field Documentation

uint32_t VL53LX_MultiRangingData_t::TimeStamp

32-bit time stamp.

Warning
Not yet implemented

Definition at line 222 of file vl53lx_def.h.

uint8_t VL53LX_MultiRangingData_t::StreamCount

8-bit Stream Count.

Definition at line 227 of file vl53lx_def.h.

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 230 of file vl53lx_def.h.

VL53LX_TargetRangeData_t VL53LX_MultiRangingData_t::RangeData[VL53LX_MAX_RANGE_RESULTS]

Range data each target distance

Definition at line 236 of file vl53lx_def.h.

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 238 of file vl53lx_def.h.

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 245 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 Structures
  • Data Structure Index
  • Data Fields
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 258 of file vl53lx_def.h.

Field Documentation

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_0

Definition at line 259 of file vl53lx_def.h.

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_1

Definition at line 260 of file vl53lx_def.h.

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_2

Definition at line 261 of file vl53lx_def.h.

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_3

Definition at line 262 of file vl53lx_def.h.

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_4

Definition at line 263 of file vl53lx_def.h.

uint8_t VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_5

Definition at line 264 of file vl53lx_def.h.

uint8_t VL53LX_CustomerNvmManaged_t::global_config__ref_en_start_select

Definition at line 265 of file vl53lx_def.h.

uint8_t VL53LX_CustomerNvmManaged_t::ref_spad_man__num_requested_ref_spads

Definition at line 266 of file vl53lx_def.h.

uint8_t VL53LX_CustomerNvmManaged_t::ref_spad_man__ref_location

Definition at line 267 of file vl53lx_def.h.

uint32_t VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_plane_offset_kcps

Definition at line 268 of file vl53lx_def.h.

int16_t VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_x_plane_gradient_kcps

Definition at line 269 of file vl53lx_def.h.

int16_t VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_y_plane_gradient_kcps

Definition at line 270 of file vl53lx_def.h.

uint16_t VL53LX_CustomerNvmManaged_t::ref_spad_char__total_rate_target_mcps

Definition at line 271 of file vl53lx_def.h.

int16_t VL53LX_CustomerNvmManaged_t::algo__part_to_part_range_offset_mm

Definition at line 272 of file vl53lx_def.h.

int16_t VL53LX_CustomerNvmManaged_t::mm_config__inner_offset_mm

Definition at line 273 of file vl53lx_def.h.

int16_t VL53LX_CustomerNvmManaged_t::mm_config__outer_offset_mm

Definition at line 274 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 Structures
  • Data Structure Index
  • Data Fields
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 283 of file vl53lx_def.h.

Field Documentation

uint32_t VL53LX_CalibrationData_t::struct_version

Definition at line 285 of file vl53lx_def.h.

VL53LX_CustomerNvmManaged_t VL53LX_CalibrationData_t::customer

Definition at line 286 of file vl53lx_def.h.

VL53LX_additional_offset_cal_data_t VL53LX_CalibrationData_t::add_off_cal_data

Definition at line 287 of file vl53lx_def.h.

VL53LX_optical_centre_t VL53LX_CalibrationData_t::optical_centre

Definition at line 288 of file vl53lx_def.h.

VL53LX_xtalk_histogram_data_t VL53LX_CalibrationData_t::xtalkhisto

Definition at line 289 of file vl53lx_def.h.

VL53LX_gain_calibration_data_t VL53LX_CalibrationData_t::gain_cal

Definition at line 290 of file vl53lx_def.h.

VL53LX_cal_peak_rate_map_t VL53LX_CalibrationData_t::cal_peak_rate_map

Definition at line 291 of file vl53lx_def.h.

VL53LX_per_vcsel_period_offset_cal_data_t VL53LX_CalibrationData_t::per_vcsel_cal_data

Definition at line 292 of file vl53lx_def.h.

uint32_t VL53LX_CalibrationData_t::algo__xtalk_cpo_HistoMerge_kcps[VL53LX_BIN_REC_SIZE]

Definition at line 293 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 Structures
  • Data Structure Index
  • Data Fields
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 358 of file vl53lx_def.h.

Field Documentation

VL53LX_LLDriverData_t VL53LX_DevData_t::LLData

Low Level Driver data structure

Definition at line 359 of file vl53lx_def.h.

VL53LX_LLDriverResults_t VL53LX_DevData_t::llresults

Low Level Driver data structure

Definition at line 362 of file vl53lx_def.h.

VL53LX_DeviceParameters_t VL53LX_DevData_t::CurrentParameters

Current Device Parameter

Definition at line 365 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

  • Data Structures
  • Data Structure Index
  • Data Fields
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: Data Structures

  • Data Structures
  • Data Structure Index
  • Data Fields
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_Version_t | Defines the parameters of the Get Version Functions


VL53LX API Specification: VL53LX_Dev_t Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 122 of file vl53lx_platform_user_data.h.

Field Documentation

VL53LX_DevData_t VL53LX_Dev_t::Data

Definition at line 124 of file vl53lx_platform_user_data.h.

uint8_t VL53LX_Dev_t::i2c_slave_address

Definition at line 128 of file vl53lx_platform_user_data.h.

uint8_t VL53LX_Dev_t::comms_type

Definition at line 131 of file vl53lx_platform_user_data.h.

uint16_t VL53LX_Dev_t::comms_speed_khz

Definition at line 134 of file vl53lx_platform_user_data.h.

uint32_t VL53LX_Dev_t::new_data_ready_poll_duration_ms

Definition at line 138 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 Structures
  • Data Structure Index
  • Data Fields
Data Structure Index
V
V
VL53LX_CalibrationData_t VL53LX_DevData_t VL53LX_MultiRangingData_t
VL53LX_CustomerNvmManaged_t VL53LX_DeviceInfo_t VL53LX_TargetRangeData_t
VL53LX_AdditionalData_t VL53LX_Dev_t VL53LX_DeviceParameters_t VL53LX_Version_t
V


VL53LX API Specification: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • x
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 -

  • 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

- 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

- x -

  • xtalkhisto : VL53LX_CalibrationData_t


VL53LX API Specification: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • x

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

  • 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

- 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

- x -

  • xtalkhisto : VL53LX_CalibrationData_t


VL53LX API Specification: File List

  • File List
  • Globals
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 |
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
Typedefs | Functions
vl53lx_api.h File Reference
#include "vl53lx_api_core.h"

Go to the source code of this file.

Typedefs

typedef int8_t VL53LX_Error

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_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...

Typedef Documentation

typedef int8_t VL53LX_Error

Definition at line 66 of file vl53lx_api.h.


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_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 1
VL53LX IMPLEMENTATION minor version. More...
#define | VL53LX_IMPLEMENTATION_VER_SUB 1
VL53LX IMPLEMENTATION sub version. More...
#define | VL53LX_IMPLEMENTATION_VER_REVISION 2320
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 0x10
#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

Go to the source code of this file.


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.

Macro Definition Documentation

#define VL53LX_ERROR_NONE ((VL53LX_Error) 0)

Definition at line 92 of file vl53lx_error_codes.h.

#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 93 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_MIN_CLIPPED ((VL53LX_Error) - 2)

Warning parameter passed was clipped to min before to be applied

Definition at line 99 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_UNDEFINED ((VL53LX_Error) - 3)

Unqualified error

Definition at line 102 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_INVALID_PARAMS ((VL53LX_Error) - 4)

Parameter passed is invalid or out of range

Definition at line 104 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_NOT_SUPPORTED ((VL53LX_Error) - 5)

Function is not supported in current mode or configuration

Definition at line 106 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_RANGE_ERROR ((VL53LX_Error) - 6)

Device report a ranging error interrupt status

Definition at line 108 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_TIME_OUT ((VL53LX_Error) - 7)

Aborted due to time out

Definition at line 110 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_MODE_NOT_SUPPORTED ((VL53LX_Error) - 8)

Asked mode is not supported by the device

Definition at line 112 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_BUFFER_TOO_SMALL ((VL53LX_Error) - 9)

...

Definition at line 114 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL ((VL53LX_Error) - 10)

Supplied buffer is larger than I2C supports

Definition at line 116 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_GPIO_NOT_EXISTING ((VL53LX_Error) - 11)

User tried to setup a non-existing GPIO pin

Definition at line 118 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53LX_Error) - 12)

unsupported GPIO functionality

Definition at line 120 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_CONTROL_INTERFACE ((VL53LX_Error) - 13)

error reported from IO functions

Definition at line 122 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_INVALID_COMMAND ((VL53LX_Error) - 14)

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

Definition at line 124 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_DIVISION_BY_ZERO ((VL53LX_Error) - 15)

In the function a division by zero occurs

Definition at line 128 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_REF_SPAD_INIT ((VL53LX_Error) - 16)

Error during reference SPAD initialization

Definition at line 130 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_GPH_SYNC_CHECK_FAIL ((VL53LX_Error) - 17)

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

Definition at line 132 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 18)

Stream count check fail - API out of sync with device

Definition at line 134 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 19)

GPH ID check fail - API out of sync with device

Definition at line 136 of file vl53lx_error_codes.h.

#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 138 of file vl53lx_error_codes.h.

#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 140 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL ((VL53LX_Error) - 22)

Thrown when run_xtalk_extraction fn has 0 succesful 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 143 of file vl53lx_error_codes.h.

#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 149 of file vl53lx_error_codes.h.

#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 158 of file vl53lx_error_codes.h.

#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 162 of file vl53lx_error_codes.h.

#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 167 of file vl53lx_error_codes.h.

#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 172 of file vl53lx_error_codes.h.

#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 179 of file vl53lx_error_codes.h.

#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 181 of file vl53lx_error_codes.h.

#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 186 of file vl53lx_error_codes.h.

#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 193 of file vl53lx_error_codes.h.

#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 197 of file vl53lx_error_codes.h.

#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 202 of file vl53lx_error_codes.h.

#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 207 of file vl53lx_error_codes.h.

#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 214 of file vl53lx_error_codes.h.

#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 218 of file vl53lx_error_codes.h.

#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 223 of file vl53lx_error_codes.h.

#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 230 of file vl53lx_error_codes.h.

#define VL53LX_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT ((VL53LX_Error) - 39)

Thrown to notify that some of teh 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 238 of file vl53lx_error_codes.h.

#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 247 of file vl53lx_error_codes.h.

#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 258 of file vl53lx_error_codes.h.

#define VL53LX_ERROR_PLATFORM_SPECIFIC_START ((VL53LX_Error) - 60)

Tells the starting code for platform

Definition at line 262 of file vl53lx_error_codes.h.

Typedef Documentation

typedef int8_t VL53LX_Error

Definition at line 90 of 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 (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

#define VL53LX_IPP_API

Definition at line 68 of file vl53lx_platform.h.

Function Documentation

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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_Error VL53LX_GpioInterruptDisable ( void )

Disables the callback on Ewok interrupts.

Returns
VL53LX_ERROR_NONE Success
"Other error code" See VL53LX_Error
VL53LX_Error VL53LX_GetTickCount ( 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.

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


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)
VL53LX_Error | VL53LX_ipp_hist_xtalk_correction (VL53LX_DEV Dev, VL53LX_customer_nvm_managed_t *pcustomer, VL53LX_dynamic_config_t *pdyn_cfg, VL53LX_xtalk_histogram_data_t *pxtalk_shape, VL53LX_histogram_bin_data_t *pip_hist_data, VL53LX_histogram_bin_data_t *pop_hist_data, VL53LX_histogram_bin_data_t *pxtalk_count_data)
VL53LX_Error | VL53LX_ipp_generate_dual_reflectance_xtalk_samples (VL53LX_DEV Dev, VL53LX_xtalk_range_results_t *pxtalk_results, uint16_t expected_target_distance_mm, uint8_t higher_reflectance, VL53LX_histogram_bin_data_t *pxtalk_avg_samples)

Function Documentation

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
 | ) |  |
VL53LX_Error VL53LX_ipp_hist_xtalk_correction | ( | VL53LX_DEV | Dev,
 |  | VL53LX_customer_nvm_managed_t * | pcustomer,
 |  | VL53LX_dynamic_config_t * | pdyn_cfg,
 |  | VL53LX_xtalk_histogram_data_t * | pxtalk_shape,
 |  | VL53LX_histogram_bin_data_t * | pip_hist_data,
 |  | VL53LX_histogram_bin_data_t * | pop_hist_data,
 |  | VL53LX_histogram_bin_data_t * | pxtalk_count_data
 | ) |  |
VL53LX_Error VL53LX_ipp_generate_dual_reflectance_xtalk_samples | ( | VL53LX_DEV | Dev,
 |  | VL53LX_xtalk_range_results_t * | pxtalk_results,
 |  | uint16_t | expected_target_distance_mm,
 |  | uint8_t | higher_reflectance,
 |  | VL53LX_histogram_bin_data_t * | pxtalk_avg_samples
 | ) |  |


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

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

Definition at line 282 of file vl53lx_platform_log.h.

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

Definition at line 283 of file vl53lx_platform_log.h.

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

Definition at line 284 of file vl53lx_platform_log.h.

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

Definition at line 285 of file vl53lx_platform_log.h.

#define _LOG_GET_TRACE_FUNCTIONS ( ) 0

Definition at line 286 of file vl53lx_platform_log.h.

#define _LOG_SET_TRACE_FUNCTIONS ( functions )

Definition at line 287 of file vl53lx_platform_log.h.

#define _LOG_STRING_BUFFER ( x )

Definition at line 288 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

#define VL53LX_BYTES_PER_WORD 2

Definition at line 107 of file vl53lx_platform_user_config.h.

#define VL53LX_BYTES_PER_DWORD 4

Definition at line 108 of file vl53lx_platform_user_config.h.

#define VL53LX_BOOT_COMPLETION_POLLING_TIMEOUT_MS 500

Definition at line 112 of file vl53lx_platform_user_config.h.

#define VL53LX_RANGE_COMPLETION_POLLING_TIMEOUT_MS 2000

Definition at line 113 of file vl53lx_platform_user_config.h.

#define VL53LX_TEST_COMPLETION_POLLING_TIMEOUT_MS 60000

Definition at line 114 of file vl53lx_platform_user_config.h.

#define VL53LX_POLLING_DELAY_MS 1

Definition at line 116 of file vl53lx_platform_user_config.h.

#define VL53LX_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS 0x8000

Definition at line 122 of file vl53lx_platform_user_config.h.

#define VL53LX_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS 0xC000

Definition at line 123 of file vl53lx_platform_user_config.h.

#define VL53LX_GAIN_FACTOR__STANDARD_DEFAULT 0x0800

Definition at line 125 of file vl53lx_platform_user_config.h.

#define VL53LX_GAIN_FACTOR__HISTOGRAM_DEFAULT 0x0800

Definition at line 129 of file vl53lx_platform_user_config.h.

#define VL53LX_OFFSET_CAL_MIN_EFFECTIVE_SPADS 0x0500

Definition at line 135 of file vl53lx_platform_user_config.h.

#define VL53LX_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900

Definition at line 140 of file vl53lx_platform_user_config.h.

#define VL53LX_OFFSET_CAL_MAX_SIGMA_MM 0x0040

Definition at line 146 of file vl53lx_platform_user_config.h.

#define VL53LX_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900

Definition at line 153 of file vl53lx_platform_user_config.h.

#define VL53LX_ZONE_CAL_MAX_SIGMA_MM 0x0040

Definition at line 159 of file vl53lx_platform_user_config.h.

#define VL53LX_XTALK_EXTRACT_MAX_SIGMA_MM 0x008C

Definition at line 165 of file vl53lx_platform_user_config.h.

#define VL53LX_MAX_USER_ZONES 5

Definition at line 170 of file vl53lx_platform_user_config.h.

#define VL53LX_MAX_RANGE_RESULTS 4

Definition at line 172 of file vl53lx_platform_user_config.h.

#define VL53LX_MAX_STRING_LENGTH 512

Definition at line 178 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

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

Definition at line 163 of file vl53lx_platform_user_data.h.

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

Definition at line 174 of file vl53lx_platform_user_data.h.

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

Definition at line 184 of file vl53lx_platform_user_data.h.

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

Definition at line 194 of file vl53lx_platform_user_data.h.

Typedef Documentation

typedef VL53LX_Dev_t* VL53LX_DEV

Definition at line 149 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

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

Definition at line 120 of file vl53lx_platform_user_defines.h.

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

Definition at line 131 of file vl53lx_platform_user_defines.h.

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

Definition at line 142 of file vl53lx_platform_user_defines.h.

#define DISABLE_WARNINGS ( )

Definition at line 155 of file vl53lx_platform_user_defines.h.

#define ENABLE_WARNINGS ( )

Definition at line 156 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

typedef unsigned long long uint64_t

Definition at line 143 of file vl53lx_types.h.

typedef unsigned int uint32_t

Definition at line 150 of file vl53lx_types.h.

typedef int int32_t

Definition at line 156 of file vl53lx_types.h.

typedef unsigned short uint16_t

Definition at line 162 of file vl53lx_types.h.

typedef short int16_t

Definition at line 168 of file vl53lx_types.h.

typedef unsigned char uint8_t

Definition at line 174 of file vl53lx_types.h.

typedef signed char int8_t

Definition at line 180 of file vl53lx_types.h.

typedef uint32_t FixPoint1616_t

Definition at line 192 of file vl53lx_types.h.


VL53LX API Specification: Globals

  • All
  • Functions
  • Typedefs
  • Macros
  • _
  • d
  • e
  • f
  • i
  • u
  • v
  • w
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

  • All
  • Functions
  • Typedefs
  • Macros
  • _
  • d
  • e
  • f
  • i
  • u
  • v
  • w
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

  • All
  • Functions
  • Typedefs
  • Macros
  • _
  • d
  • e
  • f
  • i
  • u
  • v
  • w
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

  • All
  • Functions
  • Typedefs
  • Macros
  • _
  • d
  • e
  • f
  • i
  • u
  • v
  • w
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

  • All
  • Functions
  • Typedefs
  • Macros
  • _
  • d
  • e
  • f
  • i
  • u
  • v
  • w
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

  • All
  • Functions
  • Typedefs
  • Macros
  • _
  • d
  • e
  • f
  • i
  • u
  • v
  • w
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

  • All
  • Functions
  • Typedefs
  • Macros
  • _
  • d
  • e
  • f
  • i
  • u
  • v
  • w
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_api.h , 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_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_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_generate_dual_reflectance_xtalk_samples() : vl53lx_platform_ipp.h
  • VL53LX_ipp_hist_ambient_dmax() : vl53lx_platform_ipp.h
  • VL53LX_ipp_hist_process_data() : vl53lx_platform_ipp.h
  • VL53LX_ipp_hist_xtalk_correction() : 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_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

  • All
  • Functions
  • Typedefs
  • Macros
  • _
  • d
  • e
  • f
  • i
  • u
  • v
  • w
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

  • All
  • Functions
  • Typedefs
  • Macros
  • v

- 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_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_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_generate_dual_reflectance_xtalk_samples() : vl53lx_platform_ipp.h
  • VL53LX_ipp_hist_ambient_dmax() : vl53lx_platform_ipp.h
  • VL53LX_ipp_hist_process_data() : vl53lx_platform_ipp.h
  • VL53LX_ipp_hist_xtalk_correction() : 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_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

  • All
  • Functions
  • Typedefs
  • Macros
  • 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_api.h , vl53lx_error_codes.h
  • VL53LX_OffsetCorrectionModes : vl53lx_def.h
  • VL53LX_SmudgeCorrectionModes : vl53lx_def.h


VL53LX API Specification: Globals

  • All
  • Functions
  • Typedefs
  • Macros
  • _
  • d
  • e
  • v
  • w

- _ -

  • _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]


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) 2019 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 * Copyright (c) 2019, STMicroelectronics - All Rights Reserved
3
4 This file is part of VL53LX Core and is dual licensed,
5 either 'STMicroelectronics Proprietary license'
6 or 'BSD 3-clause "New" or "Revised" License' , at your option.
7
8 ******************************************************************************
9
10 'STMicroelectronics Proprietary license'
11
12 *******************************************************************************
13
14 License terms: STMicroelectronics Proprietary in accordance with licensing
15 terms at www.st.com/sla0081
16
17 STMicroelectronics confidential
18 Reproduction and Communication of this document is strictly prohibited unless
19 specifically authorized in writing by STMicroelectronics.
20
21
22 *******************************************************************************
23
24 Alternatively, VL53LX Core may be distributed under the terms of
25 'BSD 3-clause "New" or "Revised" License', in which case the following
26 provisions apply instead of the ones mentioned above :
27
28 *******************************************************************************
29
30 License terms: BSD 3-clause "New" or "Revised" License.
31
32 Redistribution and use in source and binary forms, with or without
33 modification, are permitted provided that the following conditions are met:
34
35 1. Redistributions of source code must retain the above copyright notice, this
36 list of conditions and the following disclaimer.
37
38 2. Redistributions in binary form must reproduce the above copyright notice,
39 this list of conditions and the following disclaimer in the documentation
40 and/or other materials provided with the distribution.
41
42 3. Neither the name of the copyright holder nor the names of its contributors
43 may be used to endorse or promote products derived from this software
44 without specific prior written permission.
45
46 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
47 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
48 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
49 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
50 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
51 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
52 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
53 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
55 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
56
57
58 *******************************************************************************
59 */
60
61 #ifndef _VL53LX_API_H_
62 #define _VL53LX_API_H_
63
64 #include "vl53lx_api_core.h"
65
66 typedef int8_t VL53LX_Error;
67
68 #ifdef __cplusplus
69 extern "C"
70 {
71 #endif
72
92 VL53LX_Error VL53LX_GetVersion(VL53LX_Version_t *pVersion);
93
106 VL53LX_Error VL53LX_GetProductRevision(VL53LX_DEV Dev,
107 uint8_t *pProductRevisionMajor, uint8_t *pProductRevisionMinor);
108
120 VL53LX_Error VL53LX_GetDeviceInfo(VL53LX_DEV Dev,
121 VL53LX_DeviceInfo_t *pVL53LX_DeviceInfo);
122
133 VL53LX_Error VL53LX_GetUID(VL53LX_DEV Dev, uint64_t *pUid);
134
135
161 VL53LX_Error VL53LX_SetDeviceAddress(VL53LX_DEV Dev,
162 uint8_t DeviceAddress);
163
186 VL53LX_Error VL53LX_DataInit(VL53LX_DEV Dev);
187
196 VL53LX_Error VL53LX_WaitDeviceBooted(VL53LX_DEV Dev);
197
198
227 VL53LX_Error VL53LX_SetDistanceMode(VL53LX_DEV Dev,
228 VL53LX_DistanceModes DistanceMode);
229
240 VL53LX_Error VL53LX_GetDistanceMode(VL53LX_DEV Dev,
241 VL53LX_DistanceModes *pDistanceMode);
242
243
263 VL53LX_Error VL53LX_SetMeasurementTimingBudgetMicroSeconds(
264 VL53LX_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds);
265
280 VL53LX_Error VL53LX_GetMeasurementTimingBudgetMicroSeconds(
281 VL53LX_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds);
308 VL53LX_Error VL53LX_StartMeasurement(VL53LX_DEV Dev);
309
323 VL53LX_Error VL53LX_StopMeasurement(VL53LX_DEV Dev);
324
334 VL53LX_Error VL53LX_ClearInterruptAndStartMeasurement(VL53LX_DEV Dev);
335
351 VL53LX_Error VL53LX_GetMeasurementDataReady(VL53LX_DEV Dev,
352 uint8_t *pMeasurementDataReady);
353
367 VL53LX_Error VL53LX_WaitMeasurementDataReady(VL53LX_DEV Dev);
368
369
391 VL53LX_Error VL53LX_GetMultiRangingData(VL53LX_DEV Dev,
392 VL53LX_MultiRangingData_t *pMultiRangingData);
393
408 VL53LX_Error VL53LX_GetAdditionalData(VL53LX_DEV Dev,
409 VL53LX_AdditionalData_t *pAdditionalData);
410
411
437 VL53LX_Error VL53LX_SetTuningParameter(VL53LX_DEV Dev,
438 uint16_t TuningParameterId, int32_t TuningParameterValue);
439
456 VL53LX_Error VL53LX_GetTuningParameter(VL53LX_DEV Dev,
457 uint16_t TuningParameterId, int32_t *pTuningParameterValue);
458
473 VL53LX_Error VL53LX_PerformRefSpadManagement(VL53LX_DEV Dev);
474
486 VL53LX_Error VL53LX_SmudgeCorrectionEnable(VL53LX_DEV Dev,
487 VL53LX_SmudgeCorrectionModes Mode);
488
489
501 VL53LX_Error VL53LX_SetXTalkCompensationEnable(VL53LX_DEV Dev,
502 uint8_t XTalkCompensationEnable);
503
517 VL53LX_Error VL53LX_GetXTalkCompensationEnable(VL53LX_DEV Dev,
518 uint8_t *pXTalkCompensationEnable);
519
544 VL53LX_Error VL53LX_PerformXTalkCalibration(VL53LX_DEV Dev);
545
546
560 VL53LX_Error VL53LX_SetOffsetCorrectionMode(VL53LX_DEV Dev,
561 VL53LX_OffsetCorrectionModes OffsetCorrectionMode);
562
563
588 VL53LX_Error VL53LX_PerformOffsetSimpleCalibration(VL53LX_DEV Dev,
589 int32_t CalDistanceMilliMeter);
590
614 VL53LX_Error VL53LX_PerformOffsetZeroDistanceCalibration(VL53LX_DEV Dev);
615
616
642 VL53LX_Error VL53LX_PerformOffsetPerVcselCalibration(VL53LX_DEV Dev,
643 int32_t CalDistanceMilliMeter);
644
645
663 VL53LX_Error VL53LX_SetCalibrationData(VL53LX_DEV Dev,
664 VL53LX_CalibrationData_t *pCalibrationData);
665
682 VL53LX_Error VL53LX_GetCalibrationData(VL53LX_DEV Dev,
683 VL53LX_CalibrationData_t *pCalibrationData);
684
689 #ifdef __cplusplus
690 }
691 #endif
692
693 #endif /* _VL53LX_API_H_ */
VL53LX_WaitMeasurementDataReady
VL53LX_Error VL53LX_WaitMeasurementDataReady(VL53LX_DEV Dev)
Wait for measurement data ready.
VL53LX_MultiRangingData_t
Structure for storing the set of range results.
Definition: vl53lx_def.h:221
VL53LX_SetDeviceAddress
VL53LX_Error VL53LX_SetDeviceAddress(VL53LX_DEV Dev, uint8_t DeviceAddress)
Set new device address.
VL53LX_Error
int8_t VL53LX_Error
Definition: vl53lx_api.h:66
int8_t
signed char int8_t
Definition: vl53lx_types.h:180
VL53LX_SetOffsetCorrectionMode
VL53LX_Error VL53LX_SetOffsetCorrectionMode(VL53LX_DEV Dev, VL53LX_OffsetCorrectionModes OffsetCorrectionMode)
Define the mode to be used for the offset correction.
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:122
VL53LX_GetMultiRangingData
VL53LX_Error VL53LX_GetMultiRangingData(VL53LX_DEV Dev, VL53LX_MultiRangingData_t *pMultiRangingData)
Retrieve all measurements from device with the current setup.
VL53LX_GetUID
VL53LX_Error VL53LX_GetUID(VL53LX_DEV Dev, uint64_t *pUid)
Reads the Device unique identifier.
VL53LX_SmudgeCorrectionEnable
VL53LX_Error VL53LX_SmudgeCorrectionEnable(VL53LX_DEV Dev, VL53LX_SmudgeCorrectionModes Mode)
Enable/Disable dynamic Xtalk compensation feature.
VL53LX_AdditionalData_t
Structure for storing the Additional 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.
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:150
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:162
int32_t
int int32_t
Definition: vl53lx_types.h:156
VL53LX_PerformOffsetPerVcselCalibration
VL53LX_Error VL53LX_PerformOffsetPerVcselCalibration(VL53LX_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset per Vcsel Calibration.
VL53LX_SetMeasurementTimingBudgetMicroSeconds
VL53LX_Error VL53LX_SetMeasurementTimingBudgetMicroSeconds(VL53LX_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds)
Set Ranging Timing Budget in microseconds.
VL53LX_PerformRefSpadManagement
VL53LX_Error VL53LX_PerformRefSpadManagement(VL53LX_DEV Dev)
Performs Reference Spad Management.
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.
uint64_t
unsigned long long uint64_t
Definition: vl53lx_types.h:143
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_DistanceModes
uint8_t VL53LX_DistanceModes
Definition: vl53lx_def.h:124
VL53LX_GetDeviceInfo
VL53LX_Error VL53LX_GetDeviceInfo(VL53LX_DEV Dev, VL53LX_DeviceInfo_t *pVL53LX_DeviceInfo)
Reads the Device information for given Device.
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_ClearInterruptAndStartMeasurement
VL53LX_Error VL53LX_ClearInterruptAndStartMeasurement(VL53LX_DEV Dev)
Clear the Interrupt flag and start new measurement *.
VL53LX_SetCalibrationData
VL53LX_Error VL53LX_SetCalibrationData(VL53LX_DEV Dev, VL53LX_CalibrationData_t *pCalibrationData)
Sets the Calibration Data.
VL53LX_StartMeasurement
VL53LX_Error VL53LX_StartMeasurement(VL53LX_DEV Dev)
Start device measurement.
VL53LX_CalibrationData_t
Structure for storing the Calibration Data.
Definition: vl53lx_def.h:283
VL53LX_GetVersion
VL53LX_Error VL53LX_GetVersion(VL53LX_Version_t *pVersion)
Return the VL53LX driver Version.
VL53LX_Version_t
Defines the parameters of the Get Version Functions.
Definition: vl53lx_def.h:99
VL53LX_OffsetCorrectionModes
uint8_t VL53LX_OffsetCorrectionModes
Definition: vl53lx_def.h:137
VL53LX_PerformOffsetZeroDistanceCalibration
VL53LX_Error VL53LX_PerformOffsetZeroDistanceCalibration(VL53LX_DEV Dev)
Perform Offset simple Calibration with a "zero distance" target.
VL53LX_DeviceInfo_t
Defines the parameters of the Get Device Info Functions.
Definition: vl53lx_def.h:109
VL53LX_SetDistanceMode
VL53LX_Error VL53LX_SetDistanceMode(VL53LX_DEV Dev, VL53LX_DistanceModes DistanceMode)
Set the distance mode.
VL53LX_SmudgeCorrectionModes
uint8_t VL53LX_SmudgeCorrectionModes
Definition: vl53lx_def.h:159
VL53LX_PerformOffsetSimpleCalibration
VL53LX_Error VL53LX_PerformOffsetSimpleCalibration(VL53LX_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset simple Calibration.
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:174
VL53LX_PerformXTalkCalibration
VL53LX_Error VL53LX_PerformXTalkCalibration(VL53LX_DEV Dev)
Perform XTalk Calibration.
VL53LX_GetAdditionalData
VL53LX_Error VL53LX_GetAdditionalData(VL53LX_DEV Dev, VL53LX_AdditionalData_t *pAdditionalData)
Get Additional Data.
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_SetXTalkCompensationEnable
VL53LX_Error VL53LX_SetXTalkCompensationEnable(VL53LX_DEV Dev, uint8_t XTalkCompensationEnable)
Enable/Disable Cross talk compensation feature.
VL53LX_GetMeasurementDataReady
VL53LX_Error VL53LX_GetMeasurementDataReady(VL53LX_DEV Dev, uint8_t *pMeasurementDataReady)
Return Measurement Data Ready.
VL53LX_GetMeasurementTimingBudgetMicroSeconds
VL53LX_Error VL53LX_GetMeasurementTimingBudgetMicroSeconds(VL53LX_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds)
Get Ranging Timing Budget in microseconds.
VL53LX_StopMeasurement
VL53LX_Error VL53LX_StopMeasurement(VL53LX_DEV Dev)
Stop device measurement.
VL53LX_GetDistanceMode
VL53LX_Error VL53LX_GetDistanceMode(VL53LX_DEV Dev, VL53LX_DistanceModes *pDistanceMode)
Get the distance mode.


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 /******************************************************************************
2 * Copyright (c) 2019, STMicroelectronics - All Rights Reserved
3
4 This file is part of VL53LX Core and is dual licensed,
5 either 'STMicroelectronics Proprietary license'
6 or 'BSD 3-clause "New" or "Revised" License' , at your option.
7
8 ******************************************************************************
9
10 'STMicroelectronics Proprietary license'
11
12 *******************************************************************************
13
14 License terms: STMicroelectronics Proprietary in accordance with licensing
15 terms at www.st.com/sla0081
16
17 STMicroelectronics confidential
18 Reproduction and Communication of this document is strictly prohibited unless
19 specifically authorized in writing by STMicroelectronics.
20
21
22 *******************************************************************************
23
24 Alternatively, VL53LX Core may be distributed under the terms of
25 'BSD 3-clause "New" or "Revised" License', in which case the following
26 provisions apply instead of the ones mentioned above :
27
28 *******************************************************************************
29
30 License terms: BSD 3-clause "New" or "Revised" License.
31
32 Redistribution and use in source and binary forms, with or without
33 modification, are permitted provided that the following conditions are met:
34
35 1. Redistributions of source code must retain the above copyright notice, this
36 list of conditions and the following disclaimer.
37
38 2. Redistributions in binary form must reproduce the above copyright notice,
39 this list of conditions and the following disclaimer in the documentation
40 and/or other materials provided with the distribution.
41
42 3. Neither the name of the copyright holder nor the names of its contributors
43 may be used to endorse or promote products derived from this software
44 without specific prior written permission.
45
46 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
47 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
48 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
49 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
50 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
51 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
52 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
53 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
55 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
56
57
58 *******************************************************************************
59 */
60
69 #ifndef _VL53LX_DEF_H_
70 #define _VL53LX_DEF_H_
71
72 #include "vl53lx_ll_def.h"
73
74 #ifdef __cplusplus
75 extern "C" {
76 #endif
77
85 #define VL53LX_IMPLEMENTATION_VER_MAJOR 1
86
87 #define VL53LX_IMPLEMENTATION_VER_MINOR 1
88
89 #define VL53LX_IMPLEMENTATION_VER_SUB 1
90
91 #define VL53LX_IMPLEMENTATION_VER_REVISION 2320
92
93 /****************************************
94 * PRIVATE define do not edit
95 ****************************************/
96
99 typedef struct {
100 uint32_t revision;
101 uint8_t major;
102 uint8_t minor;
103 uint8_t build;
104 } VL53LX_Version_t;
105
106
109 typedef struct {
110 uint8_t ProductType;
114 uint8_t ProductRevisionMajor;
116 uint8_t ProductRevisionMinor;
118 } VL53LX_DeviceInfo_t;
119
124 typedef uint8_t VL53LX_DistanceModes;
125
126 #define VL53LX_DISTANCEMODE_SHORT ((VL53LX_DistanceModes) 1)
127 #define VL53LX_DISTANCEMODE_MEDIUM ((VL53LX_DistanceModes) 2)
128 #define VL53LX_DISTANCEMODE_LONG ((VL53LX_DistanceModes) 3)
129
137 typedef uint8_t VL53LX_OffsetCorrectionModes;
138
139 #define VL53LX_OFFSETCORRECTIONMODE_STANDARD ((VL53LX_OffsetCorrectionModes) 1)
140 #define VL53LX_OFFSETCORRECTIONMODE_PERVCSEL ((VL53LX_OffsetCorrectionModes) 3)
141
146 typedef struct {
147 VL53LX_DistanceModes DistanceMode;
149 uint32_t MeasurementTimingBudgetMicroSeconds;
151 } VL53LX_DeviceParameters_t;
152
153
159 typedef uint8_t VL53LX_SmudgeCorrectionModes;
160
161 #define VL53LX_SMUDGE_CORRECTION_NONE ((VL53LX_SmudgeCorrectionModes) 0)
162
163 #define VL53LX_SMUDGE_CORRECTION_CONTINUOUS ((VL53LX_SmudgeCorrectionModes) 1)
164
165 #define VL53LX_SMUDGE_CORRECTION_SINGLE ((VL53LX_SmudgeCorrectionModes) 2)
166
167 #define VL53LX_SMUDGE_CORRECTION_DEBUG ((VL53LX_SmudgeCorrectionModes) 3)
168
178 typedef struct {
179 int16_t RangeMaxMilliMeter;
185 int16_t RangeMinMilliMeter;
191 FixPoint1616_t SignalRateRtnMegaCps;
197 FixPoint1616_t AmbientRateRtnMegaCps;
203 FixPoint1616_t SigmaMilliMeter;
206 int16_t RangeMilliMeter;
211 uint8_t RangeStatus;
215 } VL53LX_TargetRangeData_t;
221 typedef struct {
222 uint32_t TimeStamp;
227 uint8_t StreamCount;
230 uint8_t NumberOfObjectsFound;
236 VL53LX_TargetRangeData_t RangeData[VL53LX_MAX_RANGE_RESULTS];
238 uint8_t HasXtalkValueChanged;
245 uint16_t EffectiveSpadRtnCount;
249 } VL53LX_MultiRangingData_t;
250
251
252
258 typedef struct {
259 uint8_t global_config__spad_enables_ref_0;
260 uint8_t global_config__spad_enables_ref_1;
261 uint8_t global_config__spad_enables_ref_2;
262 uint8_t global_config__spad_enables_ref_3;
263 uint8_t global_config__spad_enables_ref_4;
264 uint8_t global_config__spad_enables_ref_5;
265 uint8_t global_config__ref_en_start_select;
266 uint8_t ref_spad_man__num_requested_ref_spads;
267 uint8_t ref_spad_man__ref_location;
268 uint32_t algo__crosstalk_compensation_plane_offset_kcps;
269 int16_t algo__crosstalk_compensation_x_plane_gradient_kcps;
270 int16_t algo__crosstalk_compensation_y_plane_gradient_kcps;
271 uint16_t ref_spad_char__total_rate_target_mcps;
272 int16_t algo__part_to_part_range_offset_mm;
273 int16_t mm_config__inner_offset_mm;
274 int16_t mm_config__outer_offset_mm;
275 } VL53LX_CustomerNvmManaged_t;
276
283 typedef struct {
284
285 uint32_t struct_version;
286 VL53LX_CustomerNvmManaged_t customer;
287 VL53LX_additional_offset_cal_data_t add_off_cal_data;
288 VL53LX_optical_centre_t optical_centre;
289 VL53LX_xtalk_histogram_data_t xtalkhisto;
290 VL53LX_gain_calibration_data_t gain_cal;
291 VL53LX_cal_peak_rate_map_t cal_peak_rate_map;
292 VL53LX_per_vcsel_period_offset_cal_data_t per_vcsel_cal_data;
293 uint32_t algo__xtalk_cpo_HistoMerge_kcps[VL53LX_BIN_REC_SIZE];
294 } VL53LX_CalibrationData_t;
295
296 #define VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x10
297
301 #define VL53LX_CALIBRATION_DATA_STRUCT_VERSION \
302 (VL53LX_LL_CALIBRATION_DATA_STRUCT_VERSION + \
303 VL53LX_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION)
304 /* VL53LX Calibration Data struct version */
305
311 typedef VL53LX_additional_data_t VL53LX_AdditionalData_t;
312
313
317 #define VL53LX_RANGESTATUS_RANGE_VALID 0
318
319 #define VL53LX_RANGESTATUS_SIGMA_FAIL 1
320
321 #define VL53LX_RANGESTATUS_SIGNAL_FAIL 2
322
323 #define VL53LX_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3
324
325 #define VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL 4
326
327 #define VL53LX_RANGESTATUS_HARDWARE_FAIL 5
328
329 #define VL53LX_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL 6
330
331 #define VL53LX_RANGESTATUS_WRAP_TARGET_FAIL 7
332
333 #define VL53LX_RANGESTATUS_PROCESSING_FAIL 8
334
335 #define VL53LX_RANGESTATUS_XTALK_SIGNAL_FAIL 9
336
337 #define VL53LX_RANGESTATUS_SYNCRONISATION_INT 10
338
339 #define VL53LX_RANGESTATUS_RANGE_VALID_MERGED_PULSE 11
340
343 #define VL53LX_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12
344
345 #define VL53LX_RANGESTATUS_MIN_RANGE_FAIL 13
346
347 #define VL53LX_RANGESTATUS_RANGE_INVALID 14
348
349 #define VL53LX_RANGESTATUS_NONE 255
350
358 typedef struct {
359 VL53LX_LLDriverData_t LLData;
362 VL53LX_LLDriverResults_t llresults;
365 VL53LX_DeviceParameters_t CurrentParameters;
368 } VL53LX_DevData_t;
369
370
371 /* MACRO Definitions */
377 /* Defines */
378 #define VL53LX_SETPARAMETERFIELD(Dev, field, value) \
379 (VL53LXDevDataSet(Dev, CurrentParameters.field, value))
380
381 #define VL53LX_GETPARAMETERFIELD(Dev, field, variable) \
382 (variable = VL53LXDevDataGet(Dev, CurrentParameters).field)
383
384 #define VL53LX_SETARRAYPARAMETERFIELD(Dev, field, index, value) \
385 (VL53LXDevDataSet(Dev, CurrentParameters.field[index], value))
386
387 #define VL53LX_GETARRAYPARAMETERFIELD(Dev, field, index, variable) \
388 (variable = VL53LXDevDataGet(Dev, CurrentParameters).field[index])
389
390 #define VL53LX_SETDEVICESPECIFICPARAMETER(Dev, field, value) \
391 (VL53LXDevDataSet(Dev, DeviceSpecificParameters.field, value))
392
393 #define VL53LX_GETDEVICESPECIFICPARAMETER(Dev, field) \
394 (VL53LXDevDataGet(Dev, DeviceSpecificParameters).field)
395
396
397 #define VL53LX_FIXPOINT1616TOFIXPOINT44(Value) \
398 (uint16_t)((Value>>12)&0xFFFF)
399 #define VL53LX_FIXPOINT44TOFIXPOINT1616(Value) \
400 (FixPoint1616_t)((uint32_t)Value<<12)
401
402 #define VL53LX_FIXPOINT1616TOFIXPOINT72(Value) \
403 (uint16_t)((Value>>14)&0xFFFF)
404 #define VL53LX_FIXPOINT72TOFIXPOINT1616(Value) \
405 (FixPoint1616_t)((uint32_t)Value<<14)
406
407 #define VL53LX_FIXPOINT1616TOFIXPOINT97(Value) \
408 (uint16_t)((Value>>9)&0xFFFF)
409 #define VL53LX_FIXPOINT97TOFIXPOINT1616(Value) \
410 (FixPoint1616_t)((uint32_t)Value<<9)
411
412 #define VL53LX_FIXPOINT1616TOFIXPOINT88(Value) \
413 (uint16_t)((Value>>8)&0xFFFF)
414 #define VL53LX_FIXPOINT88TOFIXPOINT1616(Value) \
415 (FixPoint1616_t)((uint32_t)Value<<8)
416
417 #define VL53LX_FIXPOINT1616TOFIXPOINT412(Value) \
418 (uint16_t)((Value>>4)&0xFFFF)
419 #define VL53LX_FIXPOINT412TOFIXPOINT1616(Value) \
420 (FixPoint1616_t)((uint32_t)Value<<4)
421
422 #define VL53LX_FIXPOINT1616TOFIXPOINT313(Value) \
423 (uint16_t)((Value>>3)&0xFFFF)
424 #define VL53LX_FIXPOINT313TOFIXPOINT1616(Value) \
425 (FixPoint1616_t)((uint32_t)Value<<3)
426
427 #define VL53LX_FIXPOINT1616TOFIXPOINT08(Value) \
428 (uint8_t)((Value>>8)&0x00FF)
429 #define VL53LX_FIXPOINT08TOFIXPOINT1616(Value) \
430 (FixPoint1616_t)((uint32_t)Value<<8)
431
432 #define VL53LX_FIXPOINT1616TOFIXPOINT53(Value) \
433 (uint8_t)((Value>>13)&0x00FF)
434 #define VL53LX_FIXPOINT53TOFIXPOINT1616(Value) \
435 (FixPoint1616_t)((uint32_t)Value<<13)
436
437 #define VL53LX_FIXPOINT1616TOFIXPOINT102(Value) \
438 (uint16_t)((Value>>14)&0x0FFF)
439 #define VL53LX_FIXPOINT102TOFIXPOINT1616(Value) \
440 (FixPoint1616_t)((uint32_t)Value<<14)
441
442 #define VL53LX_FIXPOINT1616TOFIXPOINT142(Value) \
443 (uint16_t)((Value>>14)&0xFFFF)
444 #define VL53LX_FIXPOINT142TOFIXPOINT1616(Value) \
445 (FixPoint1616_t)((uint32_t)Value<<14)
446
447 #define VL53LX_FIXPOINT1616TOFIXPOINT160(Value) \
448 (uint16_t)((Value>>16)&0xFFFF)
449 #define VL53LX_FIXPOINT160TOFIXPOINT1616(Value) \
450 (FixPoint1616_t)((uint32_t)Value<<16)
451
452 #define VL53LX_MAKEUINT16(lsb, msb) (uint16_t)((((uint16_t)msb)<<8) + \
453 (uint16_t)lsb)
454
455 #ifndef SUPPRESS_UNUSED_WARNING
456 #define SUPPRESS_UNUSED_WARNING(x) ((void) (x))
457 #endif
458
465 #ifdef __cplusplus
466 }
467 #endif
468
469
470 #endif /* _VL53LX_DEF_H_ */
VL53LX_MultiRangingData_t
Structure for storing the set of range results.
Definition: vl53lx_def.h:221
VL53LX_DevData_t::CurrentParameters
VL53LX_DeviceParameters_t CurrentParameters
Definition: vl53lx_def.h:365
VL53LX_CalibrationData_t::cal_peak_rate_map
VL53LX_cal_peak_rate_map_t cal_peak_rate_map
Definition: vl53lx_def.h:291
VL53LX_CustomerNvmManaged_t::mm_config__inner_offset_mm
int16_t mm_config__inner_offset_mm
Definition: vl53lx_def.h:273
VL53LX_TargetRangeData_t::RangeStatus
uint8_t RangeStatus
Definition: vl53lx_def.h:211
VL53LX_CalibrationData_t::struct_version
uint32_t struct_version
Definition: vl53lx_def.h:285
VL53LX_Version_t::build
uint8_t build
Definition: vl53lx_def.h:103
VL53LX_MultiRangingData_t::StreamCount
uint8_t StreamCount
Definition: vl53lx_def.h:227
VL53LX_CustomerNvmManaged_t::ref_spad_char__total_rate_target_mcps
uint16_t ref_spad_char__total_rate_target_mcps
Definition: vl53lx_def.h:271
VL53LX_DevData_t::LLData
VL53LX_LLDriverData_t LLData
Definition: vl53lx_def.h:359
int16_t
short int16_t
Definition: vl53lx_types.h:168
VL53LX_DeviceInfo_t::ProductType
uint8_t ProductType
Definition: vl53lx_def.h:110
VL53LX_TargetRangeData_t::SignalRateRtnMegaCps
FixPoint1616_t SignalRateRtnMegaCps
Definition: vl53lx_def.h:191
VL53LX_Version_t::minor
uint8_t minor
Definition: vl53lx_def.h:102
VL53LX_Version_t::revision
uint32_t revision
Definition: vl53lx_def.h:100
VL53LX_TargetRangeData_t::RangeMilliMeter
int16_t RangeMilliMeter
Definition: vl53lx_def.h:206
VL53LX_TargetRangeData_t
One Range measurement data for each target.
Definition: vl53lx_def.h:178
VL53LX_Version_t::major
uint8_t major
Definition: vl53lx_def.h:101
VL53LX_CustomerNvmManaged_t::ref_spad_man__num_requested_ref_spads
uint8_t ref_spad_man__num_requested_ref_spads
Definition: vl53lx_def.h:266
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:150
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:162
VL53LX_CustomerNvmManaged_t::mm_config__outer_offset_mm
int16_t mm_config__outer_offset_mm
Definition: vl53lx_def.h:274
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_0
uint8_t global_config__spad_enables_ref_0
Definition: vl53lx_def.h:259
VL53LX_DevData_t
Contains the Internal data of the Bare Driver.
Definition: vl53lx_def.h:358
VL53LX_MultiRangingData_t::EffectiveSpadRtnCount
uint16_t EffectiveSpadRtnCount
Definition: vl53lx_def.h:245
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_1
uint8_t global_config__spad_enables_ref_1
Definition: vl53lx_def.h:260
VL53LX_DeviceParameters_t::DistanceMode
VL53LX_DistanceModes DistanceMode
Definition: vl53lx_def.h:147
VL53LX_DistanceModes
uint8_t VL53LX_DistanceModes
Definition: vl53lx_def.h:124
VL53LX_DeviceInfo_t::ProductRevisionMinor
uint8_t ProductRevisionMinor
Definition: vl53lx_def.h:116
VL53LX_DeviceParameters_t::MeasurementTimingBudgetMicroSeconds
uint32_t MeasurementTimingBudgetMicroSeconds
Definition: vl53lx_def.h:149
VL53LX_CustomerNvmManaged_t::algo__part_to_part_range_offset_mm
int16_t algo__part_to_part_range_offset_mm
Definition: vl53lx_def.h:272
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_2
uint8_t global_config__spad_enables_ref_2
Definition: vl53lx_def.h:261
VL53LX_MultiRangingData_t::TimeStamp
uint32_t TimeStamp
Definition: vl53lx_def.h:222
VL53LX_CalibrationData_t::gain_cal
VL53LX_gain_calibration_data_t gain_cal
Definition: vl53lx_def.h:290
VL53LX_CalibrationData_t
Structure for storing the Calibration Data.
Definition: vl53lx_def.h:283
VL53LX_TargetRangeData_t::AmbientRateRtnMegaCps
FixPoint1616_t AmbientRateRtnMegaCps
Definition: vl53lx_def.h:197
VL53LX_CalibrationData_t::add_off_cal_data
VL53LX_additional_offset_cal_data_t add_off_cal_data
Definition: vl53lx_def.h:287
VL53LX_DeviceParameters_t
Defines all parameters for the device.
Definition: vl53lx_def.h:146
VL53LX_Version_t
Defines the parameters of the Get Version Functions.
Definition: vl53lx_def.h:99
VL53LX_OffsetCorrectionModes
uint8_t VL53LX_OffsetCorrectionModes
Definition: vl53lx_def.h:137
VL53LX_MultiRangingData_t::NumberOfObjectsFound
uint8_t NumberOfObjectsFound
Definition: vl53lx_def.h:230
VL53LX_CalibrationData_t::xtalkhisto
VL53LX_xtalk_histogram_data_t xtalkhisto
Definition: vl53lx_def.h:289
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_5
uint8_t global_config__spad_enables_ref_5
Definition: vl53lx_def.h:264
VL53LX_TargetRangeData_t::RangeMaxMilliMeter
int16_t RangeMaxMilliMeter
Definition: vl53lx_def.h:179
VL53LX_CalibrationData_t::customer
VL53LX_CustomerNvmManaged_t customer
Definition: vl53lx_def.h:286
VL53LX_DeviceInfo_t
Defines the parameters of the Get Device Info Functions.
Definition: vl53lx_def.h:109
VL53LX_DeviceInfo_t::ProductRevisionMajor
uint8_t ProductRevisionMajor
Definition: vl53lx_def.h:114
VL53LX_MAX_RANGE_RESULTS
#define VL53LX_MAX_RANGE_RESULTS
Definition: vl53lx_platform_user_config.h:172
VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_plane_offset_kcps
uint32_t algo__crosstalk_compensation_plane_offset_kcps
Definition: vl53lx_def.h:268
VL53LX_DevData_t::llresults
VL53LX_LLDriverResults_t llresults
Definition: vl53lx_def.h:362
VL53LX_SmudgeCorrectionModes
uint8_t VL53LX_SmudgeCorrectionModes
Definition: vl53lx_def.h:159
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_3
uint8_t global_config__spad_enables_ref_3
Definition: vl53lx_def.h:262
VL53LX_TargetRangeData_t::RangeMinMilliMeter
int16_t RangeMinMilliMeter
Definition: vl53lx_def.h:185
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:174
FixPoint1616_t
uint32_t FixPoint1616_t
Definition: vl53lx_types.h:192
VL53LX_AdditionalData_t
VL53LX_additional_data_t VL53LX_AdditionalData_t
Definition: vl53lx_def.h:311
VL53LX_CalibrationData_t::optical_centre
VL53LX_optical_centre_t optical_centre
Definition: vl53lx_def.h:288
VL53LX_CustomerNvmManaged_t::global_config__ref_en_start_select
uint8_t global_config__ref_en_start_select
Definition: vl53lx_def.h:265
VL53LX_CustomerNvmManaged_t
Definition: vl53lx_def.h:258
VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_x_plane_gradient_kcps
int16_t algo__crosstalk_compensation_x_plane_gradient_kcps
Definition: vl53lx_def.h:269
VL53LX_TargetRangeData_t::SigmaMilliMeter
FixPoint1616_t SigmaMilliMeter
Definition: vl53lx_def.h:203
VL53LX_CustomerNvmManaged_t::algo__crosstalk_compensation_y_plane_gradient_kcps
int16_t algo__crosstalk_compensation_y_plane_gradient_kcps
Definition: vl53lx_def.h:270
VL53LX_CustomerNvmManaged_t::global_config__spad_enables_ref_4
uint8_t global_config__spad_enables_ref_4
Definition: vl53lx_def.h:263
VL53LX_CustomerNvmManaged_t::ref_spad_man__ref_location
uint8_t ref_spad_man__ref_location
Definition: vl53lx_def.h:267
VL53LX_MultiRangingData_t::HasXtalkValueChanged
uint8_t HasXtalkValueChanged
Definition: vl53lx_def.h:238
VL53LX_CalibrationData_t::per_vcsel_cal_data
VL53LX_per_vcsel_period_offset_cal_data_t per_vcsel_cal_data
Definition: vl53lx_def.h:292


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 /********************************************************************************
2 * @file vl53lx_doxydoc.c no code doxygen doc only *
3 ********************************************************************************
4 */
5


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 /******************************************************************************
2 * Copyright (c) 2019, STMicroelectronics - All Rights Reserved
3
4 This file is part of VL53LX Core and is dual licensed,
5 either 'STMicroelectronics Proprietary license'
6 or 'BSD 3-clause "New" or "Revised" License' , at your option.
7
8 ******************************************************************************
9
10 'STMicroelectronics Proprietary license'
11
12 *******************************************************************************
13
14 License terms: STMicroelectronics Proprietary in accordance with licensing
15 terms at www.st.com/sla0081
16
17 STMicroelectronics confidential
18 Reproduction and Communication of this document is strictly prohibited unless
19 specifically authorized in writing by STMicroelectronics.
20
21
22 *******************************************************************************
23
24 Alternatively, VL53LX Core may be distributed under the terms of
25 'BSD 3-clause "New" or "Revised" License', in which case the following
26 provisions apply instead of the ones mentioned above :
27
28 *******************************************************************************
29
30 License terms: BSD 3-clause "New" or "Revised" License.
31
32 Redistribution and use in source and binary forms, with or without
33 modification, are permitted provided that the following conditions are met:
34
35 1. Redistributions of source code must retain the above copyright notice, this
36 list of conditions and the following disclaimer.
37
38 2. Redistributions in binary form must reproduce the above copyright notice,
39 this list of conditions and the following disclaimer in the documentation
40 and/or other materials provided with the distribution.
41
42 3. Neither the name of the copyright holder nor the names of its contributors
43 may be used to endorse or promote products derived from this software
44 without specific prior written permission.
45
46 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
47 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
48 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
49 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
50 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
51 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
52 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
53 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
55 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
56
57
58 *******************************************************************************
59 */
60
68 #ifndef _VL53LX_ERROR_CODES_H_
69 #define _VL53LX_ERROR_CODES_H_
70
71 #include "vl53lx_types.h"
72
73 #ifdef __cplusplus
74 extern "C" {
75 #endif
76
77
78 /*
79 ****************************************
80 * PRIVATE define do not edit
81 ***************************************
82 */
83
84 /*
85 * @defgroup VL53LX_define_Error_group Error and Warning code returned by API
86 * The following DEFINE are used to identify the PAL ERROR
87 * @{
88 */
89
90 typedef int8_t VL53LX_Error;
91
92 #define VL53LX_ERROR_NONE ((VL53LX_Error) 0)
93 #define VL53LX_ERROR_CALIBRATION_WARNING ((VL53LX_Error) - 1)
94
99 #define VL53LX_ERROR_MIN_CLIPPED ((VL53LX_Error) - 2)
100
102 #define VL53LX_ERROR_UNDEFINED ((VL53LX_Error) - 3)
103
104 #define VL53LX_ERROR_INVALID_PARAMS ((VL53LX_Error) - 4)
105
106 #define VL53LX_ERROR_NOT_SUPPORTED ((VL53LX_Error) - 5)
107
108 #define VL53LX_ERROR_RANGE_ERROR ((VL53LX_Error) - 6)
109
110 #define VL53LX_ERROR_TIME_OUT ((VL53LX_Error) - 7)
111
112 #define VL53LX_ERROR_MODE_NOT_SUPPORTED ((VL53LX_Error) - 8)
113
114 #define VL53LX_ERROR_BUFFER_TOO_SMALL ((VL53LX_Error) - 9)
115
116 #define VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL ((VL53LX_Error) - 10)
117
118 #define VL53LX_ERROR_GPIO_NOT_EXISTING ((VL53LX_Error) - 11)
119
120 #define VL53LX_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53LX_Error) - 12)
121
122 #define VL53LX_ERROR_CONTROL_INTERFACE ((VL53LX_Error) - 13)
123
124 #define VL53LX_ERROR_INVALID_COMMAND ((VL53LX_Error) - 14)
125
128 #define VL53LX_ERROR_DIVISION_BY_ZERO ((VL53LX_Error) - 15)
129
130 #define VL53LX_ERROR_REF_SPAD_INIT ((VL53LX_Error) - 16)
131
132 #define VL53LX_ERROR_GPH_SYNC_CHECK_FAIL ((VL53LX_Error) - 17)
133
134 #define VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 18)
135
136 #define VL53LX_ERROR_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 19)
137
138 #define VL53LX_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL ((VL53LX_Error) - 20)
139
140 #define VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL ((VL53LX_Error) - 21)
141
143 #define VL53LX_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL ((VL53LX_Error) - 22)
144
149 #define VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL ((VL53LX_Error) - 23)
150
158 #define VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL ((VL53LX_Error) - 24)
159
162 #define VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL ((VL53LX_Error) - 25)
163
167 #define VL53LX_ERROR_ZONE_CAL_NO_SAMPLE_FAIL ((VL53LX_Error) - 26)
168
172 #define VL53LX_ERROR_TUNING_PARM_KEY_MISMATCH ((VL53LX_Error) - 27)
173
179 #define VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS ((VL53LX_Error) - 28)
180
181 #define VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH ((VL53LX_Error) - 29)
182
186 #define VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW ((VL53LX_Error) - 30)
187
193 #define VL53LX_WARNING_OFFSET_CAL_MISSING_SAMPLES ((VL53LX_Error) - 31)
194
197 #define VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH ((VL53LX_Error) - 32)
198
202 #define VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HIGH ((VL53LX_Error) - 33)
203
207 #define VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW ((VL53LX_Error) - 34)
208
214 #define VL53LX_WARNING_ZONE_CAL_MISSING_SAMPLES ((VL53LX_Error) - 35)
215
218 #define VL53LX_WARNING_ZONE_CAL_SIGMA_TOO_HIGH ((VL53LX_Error) - 36)
219
223 #define VL53LX_WARNING_ZONE_CAL_RATE_TOO_HIGH ((VL53LX_Error) - 37)
224
230 #define VL53LX_WARNING_XTALK_MISSING_SAMPLES ((VL53LX_Error) - 38)
231
238 #define VL53LX_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT ((VL53LX_Error) - 39)
239
247 #define VL53LX_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT ((VL53LX_Error) - 40)
248
258 #define VL53LX_ERROR_NOT_IMPLEMENTED ((VL53LX_Error) - 41)
259
262 #define VL53LX_ERROR_PLATFORM_SPECIFIC_START ((VL53LX_Error) - 60)
263
267 #ifdef __cplusplus
268 }
269 #endif
270
271
272 #endif /* _VL53LX_ERROR_CODES_H_ */
int8_t
signed char int8_t
Definition: vl53lx_types.h:180
VL53LX_Error
int8_t VL53LX_Error
Definition: vl53lx_error_codes.h:90
vl53lx_types.h


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 * Copyright (c) 2019, STMicroelectronics - All Rights Reserved
3
4 This file is part of VL53LX Core and is dual licensed,
5 either 'STMicroelectronics Proprietary license'
6 or 'BSD 3-clause "New" or "Revised" License' , at your option.
7
8 ******************************************************************************
9
10 'STMicroelectronics Proprietary license'
11
12 *******************************************************************************
13
14 License terms: STMicroelectronics Proprietary in accordance with licensing
15 terms at www.st.com/sla0081
16
17 STMicroelectronics confidential
18 Reproduction and Communication of this document is strictly prohibited unless
19 specifically authorized in writing by STMicroelectronics.
20
21
22 *******************************************************************************
23
24 Alternatively, VL53LX Core may be distributed under the terms of
25 'BSD 3-clause "New" or "Revised" License', in which case the following
26 provisions apply instead of the ones mentioned above :
27
28 *******************************************************************************
29
30 License terms: BSD 3-clause "New" or "Revised" License.
31
32 Redistribution and use in source and binary forms, with or without
33 modification, are permitted provided that the following conditions are met:
34
35 1. Redistributions of source code must retain the above copyright notice, this
36 list of conditions and the following disclaimer.
37
38 2. Redistributions in binary form must reproduce the above copyright notice,
39 this list of conditions and the following disclaimer in the documentation
40 and/or other materials provided with the distribution.
41
42 3. Neither the name of the copyright holder nor the names of its contributors
43 may be used to endorse or promote products derived from this software
44 without specific prior written permission.
45
46 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
47 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
48 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
49 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
50 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
51 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
52 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
53 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
55 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
56
57
58 *******************************************************************************
59 */
60
61
62 #ifndef _VL53LX_PLATFORM_H_
63 #define _VL53LX_PLATFORM_H_
64
65 #include "vl53lx_ll_def.h"
66 #include "vl53lx_platform_log.h"
67
68 #define VL53LX_IPP_API
69 #include "vl53lx_platform_ipp_imports.h"
70 #include "vl53lx_platform_user_data.h"
71
72 #ifdef __cplusplus
73 extern "C"
74 {
75 #endif
76
96 VL53LX_Error VL53LX_CommsInitialise(
97 VL53LX_Dev_t *pdev,
98 uint8_t comms_type,
99 uint16_t comms_speed_khz);
100
101
111 VL53LX_Error VL53LX_CommsClose(
112 VL53LX_Dev_t *pdev);
113
114
127 VL53LX_Error VL53LX_WriteMulti(
128 VL53LX_Dev_t *pdev,
129 uint16_t index,
130 uint8_t *pdata,
131 uint32_t count);
132
133
146 VL53LX_Error VL53LX_ReadMulti(
147 VL53LX_Dev_t *pdev,
148 uint16_t index,
149 uint8_t *pdata,
150 uint32_t count);
151
152
164 VL53LX_Error VL53LX_WrByte(
165 VL53LX_Dev_t *pdev,
166 uint16_t index,
167 uint8_t data);
168
169
184 VL53LX_Error VL53LX_WrWord(
185 VL53LX_Dev_t *pdev,
186 uint16_t index,
187 uint16_t data);
188
189
204 VL53LX_Error VL53LX_WrDWord(
205 VL53LX_Dev_t *pdev,
206 uint16_t index,
207 uint32_t data);
208
209
210
223 VL53LX_Error VL53LX_RdByte(
224 VL53LX_Dev_t *pdev,
225 uint16_t index,
226 uint8_t *pdata);
227
228
242 VL53LX_Error VL53LX_RdWord(
243 VL53LX_Dev_t *pdev,
244 uint16_t index,
245 uint16_t *pdata);
246
247
261 VL53LX_Error VL53LX_RdDWord(
262 VL53LX_Dev_t *pdev,
263 uint16_t index,
264 uint32_t *pdata);
265
266
267
278 VL53LX_Error VL53LX_WaitUs(
279 VL53LX_Dev_t *pdev,
280 int32_t wait_us);
281
282
293 VL53LX_Error VL53LX_WaitMs(
294 VL53LX_Dev_t *pdev,
295 int32_t wait_ms);
296
297
307 VL53LX_Error VL53LX_GetTimerFrequency(int32_t *ptimer_freq_hz);
308
318 VL53LX_Error VL53LX_GetTimerValue(int32_t *ptimer_count);
319
320
332 VL53LX_Error VL53LX_GpioSetMode(uint8_t pin, uint8_t mode);
333
334
346 VL53LX_Error VL53LX_GpioSetValue(uint8_t pin, uint8_t value);
347
348
360 VL53LX_Error VL53LX_GpioGetValue(uint8_t pin, uint8_t *pvalue);
361
362
372 VL53LX_Error VL53LX_GpioXshutdown(uint8_t value);
373
374
384 VL53LX_Error VL53LX_GpioCommsSelect(uint8_t value);
385
386
396 VL53LX_Error VL53LX_GpioPowerEnable(uint8_t value);
397
408 VL53LX_Error VL53LX_GpioInterruptEnable(void (*function)(void), uint8_t edge_type);
409
410
418 VL53LX_Error VL53LX_GpioInterruptDisable(void);
419
420
421 /*
422 * @brief Gets current system tick count in [ms]
423 *
424 * @return time_ms : current time in [ms]
425 *
426 * @return VL53LX_ERROR_NONE Success
427 * @return "Other error code" See ::VL53LX_Error
428 */
429
430 VL53LX_Error VL53LX_GetTickCount(
431 uint32_t *ptime_ms);
432
433
450 VL53LX_Error VL53LX_WaitValueMaskEx(
451 VL53LX_Dev_t *pdev,
452 uint32_t timeout_ms,
453 uint16_t index,
454 uint8_t value,
455 uint8_t mask,
456 uint32_t poll_delay_ms);
457
458 #ifdef __cplusplus
459 }
460 #endif
461
462 #endif
463
VL53LX_CommsClose
VL53LX_Error VL53LX_CommsClose(VL53LX_Dev_t *pdev)
Close platform comms.
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_platform_user_data.h
VL53LX_Error
int8_t VL53LX_Error
Definition: vl53lx_api.h:66
VL53LX_RdByte
VL53LX_Error VL53LX_RdByte(VL53LX_Dev_t *pdev, uint16_t index, uint8_t *pdata)
Reads a single byte from the device.
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:122
VL53LX_GpioXshutdown
VL53LX_Error VL53LX_GpioXshutdown(uint8_t value)
Sets and clears the XShutdown pin on the Ewok.
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_GpioSetValue
VL53LX_Error VL53LX_GpioSetValue(uint8_t pin, uint8_t value)
Set the value of a specified GPIO pin.
vl53lx_platform_log.h
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:150
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:162
VL53LX_GpioGetValue
VL53LX_Error VL53LX_GpioGetValue(uint8_t pin, uint8_t *pvalue)
Get the value of a specified GPIO pin.
VL53LX_CommsInitialise
VL53LX_Error VL53LX_CommsInitialise(VL53LX_Dev_t *pdev, uint8_t comms_type, uint16_t comms_speed_khz)
Initialise platform comms.
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_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.
int32_t
int int32_t
Definition: vl53lx_types.h:156
VL53LX_GpioInterruptDisable
VL53LX_Error VL53LX_GpioInterruptDisable(void)
Disables the callback on Ewok interrupts.
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_GpioPowerEnable
VL53LX_Error VL53LX_GpioPowerEnable(uint8_t value)
Enables and disables the power to the Ewok module.
VL53LX_GpioCommsSelect
VL53LX_Error VL53LX_GpioCommsSelect(uint8_t value)
Sets and clears the Comms Mode pin (NCS) on the Ewok.
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_GetTickCount
VL53LX_Error VL53LX_GetTickCount(uint32_t *ptime_ms)
VL53LX_WrByte
VL53LX_Error VL53LX_WrByte(VL53LX_Dev_t *pdev, uint16_t index, uint8_t data)
Writes a single byte to the device.
VL53LX_WaitUs
VL53LX_Error VL53LX_WaitUs(VL53LX_Dev_t *pdev, int32_t wait_us)
Implements a programmable wait in us.
VL53LX_GetTimerFrequency
VL53LX_Error VL53LX_GetTimerFrequency(int32_t *ptimer_freq_hz)
Get the frequency of the timer used for ranging results time stamps.
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_platform_ipp_imports.h
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:174
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_WaitMs
VL53LX_Error VL53LX_WaitMs(VL53LX_Dev_t *pdev, int32_t wait_ms)
Implements a programmable wait in ms.
VL53LX_GpioSetMode
VL53LX_Error VL53LX_GpioSetMode(uint8_t pin, uint8_t mode)
Set the mode of a specified GPIO pin.
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 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 /*******************************************************************************
3 This file is part of VL53LX Platform
4
5 Copyright (c) 2020, STMicroelectronics - All Rights Reserved
6
7 License terms: BSD 3-clause "New" or "Revised" License.
8
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions are met:
11
12 1. Redistributions of source code must retain the above copyright notice, this
13 list of conditions and the following disclaimer.
14
15 2. Redistributions in binary form must reproduce the above copyright notice,
16 this list of conditions and the following disclaimer in the documentation
17 and/or other materials provided with the distribution.
18
19 3. Neither the name of the copyright holder nor the names of its contributors
20 may be used to endorse or promote products derived from this software
21 without specific prior written permission.
22
23 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34 */
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 #ifndef _VL53LX_PLATFORM_INIT_H_
98 #define _VL53LX_PLATFORM_INIT_H_
99
100 #include "vl53lx_platform.h"
101
102 #ifdef __cplusplus
103 extern "C"
104 {
105 #endif
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131 VL53LX_Error VL53LX_platform_init(
132 VL53LX_Dev_t *pdev,
133 uint8_t i2c_slave_address,
134 uint8_t comms_type,
135 uint16_t comms_speed_khz);
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151 VL53LX_Error VL53LX_platform_terminate(
152 VL53LX_Dev_t *pdev);
153
154
155 #ifdef __cplusplus
156 }
157 #endif
158
159 #endif
160
161
vl53lx_platform.h
All end user OS/platform/application porting.
VL53LX_Error
int8_t VL53LX_Error
Definition: vl53lx_api.h:66
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:122
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:162
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:174


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 /*******************************************************************************
3 This file is part of VL53LX Platform
4
5 Copyright (c) 2020, STMicroelectronics - All Rights Reserved
6
7 License terms: BSD 3-clause "New" or "Revised" License.
8
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions are met:
11
12 1. Redistributions of source code must retain the above copyright notice, this
13 list of conditions and the following disclaimer.
14
15 2. Redistributions in binary form must reproduce the above copyright notice,
16 this list of conditions and the following disclaimer in the documentation
17 and/or other materials provided with the distribution.
18
19 3. Neither the name of the copyright holder nor the names of its contributors
20 may be used to endorse or promote products derived from this software
21 without specific prior written permission.
22
23 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34 */
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 #ifndef _VL53LX_PLATFORM_IPP_H_
98 #define _VL53LX_PLATFORM_IPP_H_
99
100 #include <vl53lx_platform_user_data.h>
101
102 #ifdef __cplusplus
103 extern "C"
104 {
105 #endif
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131 VL53LX_Error VL53LX_ipp_hist_process_data(
132 VL53LX_DEV Dev,
133 VL53LX_dmax_calibration_data_t *pdmax_cal,
134 VL53LX_hist_gen3_dmax_config_t *pdmax_cfg,
135 VL53LX_hist_post_process_config_t *ppost_cfg,
136 VL53LX_histogram_bin_data_t *pbins,
137 VL53LX_xtalk_histogram_data_t *pxtalk,
138 uint8_t *pArea1,
139 uint8_t *pArea2,
140 uint8_t *phisto_merge_nb,
141 VL53LX_range_results_t *presults);
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165 VL53LX_Error VL53LX_ipp_hist_ambient_dmax(
166 VL53LX_DEV Dev,
167 uint16_t target_reflectance,
168 VL53LX_dmax_calibration_data_t *pdmax_cal,
169 VL53LX_hist_gen3_dmax_config_t *pdmax_cfg,
170 VL53LX_histogram_bin_data_t *pbins,
171 int16_t *pambient_dmax_mm);
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188 VL53LX_Error VL53LX_ipp_xtalk_calibration_process_data(
189 VL53LX_DEV Dev,
190 VL53LX_xtalk_range_results_t *pxtalk_ranges,
191 VL53LX_xtalk_histogram_data_t *pxtalk_shape,
192 VL53LX_xtalk_calibration_results_t *pxtalk_cal);
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211 VL53LX_Error VL53LX_ipp_hist_xtalk_correction(
212 VL53LX_DEV Dev,
213 VL53LX_customer_nvm_managed_t *pcustomer,
214 VL53LX_dynamic_config_t *pdyn_cfg,
215 VL53LX_xtalk_histogram_data_t *pxtalk_shape,
216 VL53LX_histogram_bin_data_t *pip_hist_data,
217 VL53LX_histogram_bin_data_t *pop_hist_data,
218 VL53LX_histogram_bin_data_t *pxtalk_count_data);
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237 VL53LX_Error VL53LX_ipp_generate_dual_reflectance_xtalk_samples(
238 VL53LX_DEV Dev,
239 VL53LX_xtalk_range_results_t *pxtalk_results,
240 uint16_t expected_target_distance_mm,
241 uint8_t higher_reflectance,
242 VL53LX_histogram_bin_data_t *pxtalk_avg_samples);
243
244
245
246 #ifdef __cplusplus
247 }
248 #endif
249
250 #endif
251
252
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_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
VL53LX_Error
int8_t VL53LX_Error
Definition: vl53lx_api.h:66
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:122
int16_t
short int16_t
Definition: vl53lx_types.h:168
VL53LX_ipp_generate_dual_reflectance_xtalk_samples
VL53LX_Error VL53LX_ipp_generate_dual_reflectance_xtalk_samples(VL53LX_DEV Dev, VL53LX_xtalk_range_results_t *pxtalk_results, uint16_t expected_target_distance_mm, uint8_t higher_reflectance, VL53LX_histogram_bin_data_t *pxtalk_avg_samples)
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:162
VL53LX_ipp_hist_xtalk_correction
VL53LX_Error VL53LX_ipp_hist_xtalk_correction(VL53LX_DEV Dev, VL53LX_customer_nvm_managed_t *pcustomer, VL53LX_dynamic_config_t *pdyn_cfg, VL53LX_xtalk_histogram_data_t *pxtalk_shape, VL53LX_histogram_bin_data_t *pip_hist_data, VL53LX_histogram_bin_data_t *pop_hist_data, VL53LX_histogram_bin_data_t *pxtalk_count_data)
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:174
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 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 /*******************************************************************************
3 This file is part of VL53LX Platform
4
5 Copyright (c) 2020, STMicroelectronics - All Rights Reserved
6
7 License terms: BSD 3-clause "New" or "Revised" License.
8
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions are met:
11
12 1. Redistributions of source code must retain the above copyright notice, this
13 list of conditions and the following disclaimer.
14
15 2. Redistributions in binary form must reproduce the above copyright notice,
16 this list of conditions and the following disclaimer in the documentation
17 and/or other materials provided with the distribution.
18
19 3. Neither the name of the copyright holder nor the names of its contributors
20 may be used to endorse or promote products derived from this software
21 without specific prior written permission.
22
23 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34 */
35
36 #ifdef VL53LX_NEEDS_IPP
37 # undef VL53LX_IPP_API
38 # define VL53LX_IPP_API __declspec(dllimport)
39 # pragma comment (lib, "EwokPlus25API_IPP")
40 #endif
41


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 /*******************************************************************************
3 This file is part of VL53LX Platform
4
5 Copyright (c) 2020, STMicroelectronics - All Rights Reserved
6
7 License terms: BSD 3-clause "New" or "Revised" License.
8
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions are met:
11
12 1. Redistributions of source code must retain the above copyright notice, this
13 list of conditions and the following disclaimer.
14
15 2. Redistributions in binary form must reproduce the above copyright notice,
16 this list of conditions and the following disclaimer in the documentation
17 and/or other materials provided with the distribution.
18
19 3. Neither the name of the copyright holder nor the names of its contributors
20 may be used to endorse or promote products derived from this software
21 without specific prior written permission.
22
23 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34 */
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104 #ifndef _VL53LX_PLATFORM_LOG_H_
105 #define _VL53LX_PLATFORM_LOG_H_
106
107
108 #ifdef VL53LX_LOG_ENABLE
109 #include "vl53lx_platform_user_config.h"
110
111 #ifdef _MSC_VER
112 # define EWOKPLUS_EXPORTS __declspec(dllexport)
113 #else
114 # define EWOKPLUS_EXPORTS
115 #endif
116
117 #include "vl53lx_types.h"
118
119 #ifdef __cplusplus
120 extern "C" {
121 #endif
122
123 #include <time.h>
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159 #define VL53LX_TRACE_LEVEL_NONE 0x00000000
160 #define VL53LX_TRACE_LEVEL_ERRORS 0x00000001
161 #define VL53LX_TRACE_LEVEL_WARNING 0x00000002
162 #define VL53LX_TRACE_LEVEL_INFO 0x00000004
163 #define VL53LX_TRACE_LEVEL_DEBUG 0x00000008
164 #define VL53LX_TRACE_LEVEL_ALL 0x00000010
165 #define VL53LX_TRACE_LEVEL_IGNORE 0x00000020
166
167 #define VL53LX_TRACE_FUNCTION_NONE 0x00000000
168 #define VL53LX_TRACE_FUNCTION_I2C 0x00000001
169 #define VL53LX_TRACE_FUNCTION_ALL 0x7fffffff
170
171 #define VL53LX_TRACE_MODULE_NONE 0x00000000
172 #define VL53LX_TRACE_MODULE_API 0x00000001
173 #define VL53LX_TRACE_MODULE_CORE 0x00000002
174 #define VL53LX_TRACE_MODULE_PROTECTED 0x00000004
175 #define VL53LX_TRACE_MODULE_HISTOGRAM 0x00000008
176 #define VL53LX_TRACE_MODULE_REGISTERS 0x00000010
177 #define VL53LX_TRACE_MODULE_PLATFORM 0x00000020
178 #define VL53LX_TRACE_MODULE_NVM 0x00000040
179 #define VL53LX_TRACE_MODULE_CALIBRATION_DATA 0x00000080
180 #define VL53LX_TRACE_MODULE_NVM_DATA 0x00000100
181 #define VL53LX_TRACE_MODULE_HISTOGRAM_DATA 0x00000200
182 #define VL53LX_TRACE_MODULE_RANGE_RESULTS_DATA 0x00000400
183 #define VL53LX_TRACE_MODULE_XTALK_DATA 0x00000800
184 #define VL53LX_TRACE_MODULE_OFFSET_DATA 0x00001000
185 #define VL53LX_TRACE_MODULE_DATA_INIT 0x00002000
186 #define VL53LX_TRACE_MODULE_REF_SPAD_CHAR 0x00004000
187 #define VL53LX_TRACE_MODULE_SPAD_RATE_MAP 0x00008000
188 #define VL53LX_TRACE_MODULE_CUSTOMER_API 0x40000000
189 #define VL53LX_TRACE_MODULE_ALL 0x7fffffff
190
191
192 extern uint32_t _trace_level;
193
194
195
196
197
198
199
200 EWOKPLUS_EXPORTS int8_t VL53LX_trace_config(
201 char *filename,
202 uint32_t modules,
203 uint32_t level,
204 uint32_t functions);
205
206
207
208
209
210
211
212
213
214
215
216
217 EWOKPLUS_EXPORTS void VL53LX_trace_print_module_function(
218 uint32_t module,
219 uint32_t level,
220 uint32_t function,
221 const char *format, ...);
222
223
224
225
226
227
228
229
230 uint32_t VL53LX_get_trace_functions(void);
231
232
233
234
235
236
237
238
239 void VL53LX_set_trace_functions(uint32_t function);
240
241
242
243
244
245
246
247
248
249
250 uint32_t VL53LX_clock(void);
251
252 #define LOG_GET_TIME() \
253 ((int)VL53LX_clock())
254
255 #define _LOG_TRACE_PRINT(module, level, function, ...) \
256 VL53LX_trace_print_module_function(module, level, function, ##__VA_ARGS__);
257
258 #define _LOG_FUNCTION_START(module, fmt, ...) \
259 VL53LX_trace_print_module_function(module, _trace_level, VL53LX_TRACE_FUNCTION_ALL, "%6ld <START> %s "fmt"\n", LOG_GET_TIME(), __FUNCTION__, ##__VA_ARGS__);
260
261 #define _LOG_FUNCTION_END(module, status, ...)\
262 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__)
263
264 #define _LOG_FUNCTION_END_FMT(module, status, fmt, ...)\
265 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__)
266
267 #define _LOG_GET_TRACE_FUNCTIONS()\
268 VL53LX_get_trace_functions()
269
270 #define _LOG_SET_TRACE_FUNCTIONS(functions)\
271 VL53LX_set_trace_functions(functions)
272
273 #define _LOG_STRING_BUFFER(x) char x[VL53LX_MAX_STRING_LENGTH]
274
275 #ifdef __cplusplus
276 }
277 #endif
278
279 #else
280
281
282 #define _LOG_TRACE_PRINT(module, level, function, ...)
283 #define _LOG_FUNCTION_START(module, fmt, ...)
284 #define _LOG_FUNCTION_END(module, status, ...)
285 #define _LOG_FUNCTION_END_FMT(module, status, fmt, ...)
286 #define _LOG_GET_TRACE_FUNCTIONS() 0
287 #define _LOG_SET_TRACE_FUNCTIONS(functions)
288 #define _LOG_STRING_BUFFER(x)
289
290 #endif
291
292
293 #endif
294
295
int8_t
signed char int8_t
Definition: vl53lx_types.h:180
vl53lx_types.h
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:150
vl53lx_platform_user_config.h


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 /*******************************************************************************
3 This file is part of VL53LX Platform
4
5 Copyright (c) 2020, STMicroelectronics - All Rights Reserved
6
7 License terms: BSD 3-clause "New" or "Revised" License.
8
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions are met:
11
12 1. Redistributions of source code must retain the above copyright notice, this
13 list of conditions and the following disclaimer.
14
15 2. Redistributions in binary form must reproduce the above copyright notice,
16 this list of conditions and the following disclaimer in the documentation
17 and/or other materials provided with the distribution.
18
19 3. Neither the name of the copyright holder nor the names of its contributors
20 may be used to endorse or promote products derived from this software
21 without specific prior written permission.
22
23 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34 */
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104 #ifndef _VL53LX_PLATFORM_USER_CONFIG_H_
105 #define _VL53LX_PLATFORM_USER_CONFIG_H_
106
107 #define VL53LX_BYTES_PER_WORD 2
108 #define VL53LX_BYTES_PER_DWORD 4
109
110
111
112 #define VL53LX_BOOT_COMPLETION_POLLING_TIMEOUT_MS 500
113 #define VL53LX_RANGE_COMPLETION_POLLING_TIMEOUT_MS 2000
114 #define VL53LX_TEST_COMPLETION_POLLING_TIMEOUT_MS 60000
115
116 #define VL53LX_POLLING_DELAY_MS 1
117
118
119
120
121
122 #define VL53LX_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS 0x8000
123 #define VL53LX_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS 0xC000
124
125 #define VL53LX_GAIN_FACTOR__STANDARD_DEFAULT 0x0800
126
127
128
129 #define VL53LX_GAIN_FACTOR__HISTOGRAM_DEFAULT 0x0800
130
131
132
133
134
135 #define VL53LX_OFFSET_CAL_MIN_EFFECTIVE_SPADS 0x0500
136
137
138
139
140 #define VL53LX_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900
141
142
143
144
145
146 #define VL53LX_OFFSET_CAL_MAX_SIGMA_MM 0x0040
147
148
149
150
151
152
153 #define VL53LX_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900
154
155
156
157
158
159 #define VL53LX_ZONE_CAL_MAX_SIGMA_MM 0x0040
160
161
162
163
164
165 #define VL53LX_XTALK_EXTRACT_MAX_SIGMA_MM 0x008C
166
167
168
169
170 #define VL53LX_MAX_USER_ZONES 5
171
172 #define VL53LX_MAX_RANGE_RESULTS 4
173
174
175
176
177
178 #define VL53LX_MAX_STRING_LENGTH 512
179
180 #endif
181
182
183


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 /*******************************************************************************
3 This file is part of VL53LX Platform
4
5 Copyright (c) 2020, STMicroelectronics - All Rights Reserved
6
7 License terms: BSD 3-clause "New" or "Revised" License.
8
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions are met:
11
12 1. Redistributions of source code must retain the above copyright notice, this
13 list of conditions and the following disclaimer.
14
15 2. Redistributions in binary form must reproduce the above copyright notice,
16 this list of conditions and the following disclaimer in the documentation
17 and/or other materials provided with the distribution.
18
19 3. Neither the name of the copyright holder nor the names of its contributors
20 may be used to endorse or promote products derived from this software
21 without specific prior written permission.
22
23 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34 */
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 #ifndef _VL53LX_PLATFORM_USER_DATA_H_
98 #define _VL53LX_PLATFORM_USER_DATA_H_
99
100 #ifndef __KERNEL__
101 #include <stdlib.h>
102 #endif
103
104 #include "vl53lx_def.h"
105
106 #ifdef __cplusplus
107 extern "C"
108 {
109 #endif
110
111
112
113
114
115
116
117
118
119
120
121
122 typedef struct {
123
124 VL53LX_DevData_t Data;
125
126
127
128 uint8_t i2c_slave_address;
129
130
131 uint8_t comms_type;
132
133
134 uint16_t comms_speed_khz;
135
136
137
138 uint32_t new_data_ready_poll_duration_ms;
139
140
141 } VL53LX_Dev_t;
142
143
144
145
146
147
148
149 typedef VL53LX_Dev_t *VL53LX_DEV;
150
151
152
153
154
155
156
157
158
159
160
161
162
163 #define VL53LXDevDataGet(Dev, field) (Dev->Data.field)
164
165
166
167
168
169
170
171
172
173
174 #define VL53LXDevDataSet(Dev, field, VL53LX_p_003) ((Dev->Data.field) = (VL53LX_p_003))
175
176
177
178
179
180
181
182
183
184 #define VL53LXDevStructGetLLDriverHandle(Dev) (&Dev->Data.LLData)
185
186
187
188
189
190
191
192
193
194 #define VL53LXDevStructGetLLResultsHandle(Dev) (&Dev->Data.llresults)
195
196
197 #ifdef __cplusplus
198 }
199 #endif
200
201 #endif
202
203
VL53LX_Dev_t::comms_type
uint8_t comms_type
Definition: vl53lx_platform_user_data.h:131
VL53LX_Dev_t
Definition: vl53lx_platform_user_data.h:122
VL53LX_Dev_t::new_data_ready_poll_duration_ms
uint32_t new_data_ready_poll_duration_ms
Definition: vl53lx_platform_user_data.h:138
VL53LX_DEV
VL53LX_Dev_t * VL53LX_DEV
Definition: vl53lx_platform_user_data.h:149
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:150
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:162
VL53LX_DevData_t
Contains the Internal data of the Bare Driver.
Definition: vl53lx_def.h:358
VL53LX_Dev_t::comms_speed_khz
uint16_t comms_speed_khz
Definition: vl53lx_platform_user_data.h:134
vl53lx_def.h
Type definitions for VL53LX API.
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:174
VL53LX_Dev_t::Data
VL53LX_DevData_t Data
Definition: vl53lx_platform_user_data.h:124
VL53LX_Dev_t::i2c_slave_address
uint8_t i2c_slave_address
Definition: vl53lx_platform_user_data.h:128


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 /*******************************************************************************
3 This file is part of VL53LX Platform
4
5 Copyright (c) 2020, STMicroelectronics - All Rights Reserved
6
7 License terms: BSD 3-clause "New" or "Revised" License.
8
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions are met:
11
12 1. Redistributions of source code must retain the above copyright notice, this
13 list of conditions and the following disclaimer.
14
15 2. Redistributions in binary form must reproduce the above copyright notice,
16 this list of conditions and the following disclaimer in the documentation
17 and/or other materials provided with the distribution.
18
19 3. Neither the name of the copyright holder nor the names of its contributors
20 may be used to endorse or promote products derived from this software
21 without specific prior written permission.
22
23 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34 */
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96 #ifndef _VL53LX_PLATFORM_USER_DEFINES_H_
97 #define _VL53LX_PLATFORM_USER_DEFINES_H_
98
99 #ifdef __cplusplus
100 extern "C"
101 {
102 #endif
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120 #define do_division_u(dividend, divisor) (dividend / divisor)
121
122
123
124
125
126
127
128
129
130
131 #define do_division_s(dividend, divisor) (dividend / divisor)
132
133
134
135
136
137
138
139
140
141
142 #define WARN_OVERRIDE_STATUS(__X__)\
143 trace_print (VL53LX_TRACE_LEVEL_WARNING, #__X__);
144
145
146 #ifdef _MSC_VER
147 #define DISABLE_WARNINGS() { \
148 __pragma (warning (push)); \
149 __pragma (warning (disable:4127)); \
150 }
151 #define ENABLE_WARNINGS() { \
152 __pragma (warning (pop)); \
153 }
154 #else
155 #define DISABLE_WARNINGS()
156 #define ENABLE_WARNINGS()
157 #endif
158
159
160 #ifdef __cplusplus
161 }
162 #endif
163
164 #endif
165
166
167


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 /*******************************************************************************
3 This file is part of VL53LX Platform
4
5 Copyright (c) 2020, STMicroelectronics - All Rights Reserved
6
7 License terms: BSD 3-clause "New" or "Revised" License.
8
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions are met:
11
12 1. Redistributions of source code must retain the above copyright notice, this
13 list of conditions and the following disclaimer.
14
15 2. Redistributions in binary form must reproduce the above copyright notice,
16 this list of conditions and the following disclaimer in the documentation
17 and/or other materials provided with the distribution.
18
19 3. Neither the name of the copyright holder nor the names of its contributors
20 may be used to endorse or promote products derived from this software
21 without specific prior written permission.
22
23 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34 */
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101 #ifndef _VL53LX_TYPES_H_
102 #define _VL53LX_TYPES_H_
103
104
105
106
107
108
109
110
111
112
113
114
115 #include <stdint.h>
116 #include <stddef.h>
117 #include <string.h>
118 #include <stdio.h>
119 #include <stdlib.h>
120
121 #ifndef NULL
122 #error "Error NULL definition should be done. Please add required include "
123 #endif
124
125
126 #if !defined(STDINT_H) && !defined(_STDINT_H) && !defined(_GCC_STDINT_H) && !defined(__STDINT_DECLS) && !defined(_GCC_WRAP_STDINT_H) && !defined(_STDINT)
127
128 #pragma message("Please review type definition of STDINT define for your platform and add to list above ")
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143 typedef unsigned long long uint64_t;
144
145
146
147
148
149
150 typedef unsigned int uint32_t;
151
152
153
154
155
156 typedef int int32_t;
157
158
159
160
161
162 typedef unsigned short uint16_t;
163
164
165
166
167
168 typedef short int16_t;
169
170
171
172
173
174 typedef unsigned char uint8_t;
175
176
177
178
179
180 typedef signed char int8_t;
181
182
183
184 #endif
185
186
187
188
189
190
191
192 typedef uint32_t FixPoint1616_t;
193
194 #endif
195
196
int8_t
signed char int8_t
Definition: vl53lx_types.h:180
int16_t
short int16_t
Definition: vl53lx_types.h:168
uint32_t
unsigned int uint32_t
Definition: vl53lx_types.h:150
uint16_t
unsigned short uint16_t
Definition: vl53lx_types.h:162
int32_t
int int32_t
Definition: vl53lx_types.h:156
uint64_t
unsigned long long uint64_t
Definition: vl53lx_types.h:143
uint8_t
unsigned char uint8_t
Definition: vl53lx_types.h:174
FixPoint1616_t
uint32_t FixPoint1616_t
Definition: vl53lx_types.h:192