VL53L1 API Specification: Documentation

VL53L1 API Specification

6.6.18.2652
Documentation

Introduction

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

Overview

This document is intended to help in the development of applications based on VL53L1 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 VL53L1_GetDeviceInfo().

Coding Standards

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

Generated by DoxyGen (1.9.1)


VL53L1 API Specification: Disclaimer

Disclaimer

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

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


VL53L1 API Specification: Platform

Platform

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

This is done in VL53L1_platform.h file.

1. Sensor device type definition

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

int VL53L1_xxxx(VL53L1_Dev_t dev, ... )
VL53L1_Dev_t
Definition: vl53l1_platform_user_data.h:32

functions

2. Device Read & Write access

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

  • VL53L1_WriteMulti()
  • VL53L1_ReadMulti()
  • VL53L1_WrByte()
  • VL53L1_WrWord()
  • VL53L1_WrDWord()
  • VL53L1_RdByte()
  • VL53L1_RdWord()
  • VL53L1_RdDWord()

    3. Data Types declaration

API functions rely on data types which are defined in VL53L1_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 VL53L1_PollingDelay() inside their while loop. A default implementation of the VL53L1_PollingDelay() function is provided. You may decide to change and implement your own VL53L1_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 VL53L1_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


VL53L1 API Specification: RangeStatus

RangeStatus

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

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

VL53L1_RANGESTATUS_RANGE_VALID = Range Valid

This value indicate that the ranging is valid.

VL53L1_RANGESTATUS_SIGMA_FAIL = Sigma Fail

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

VL53L1_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 VL53L1_SetLimitCheckEnable() and VL53L1_SetLimitCheckValue() to manage the limit.

VL53L1_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED = Min Range Fail

This value indicate that the min range check has failed.

VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL = Phase out of valid limits

This value indicate that the Phase check has failed.

VL53L1_RANGESTATUS_HARDWARE_FAIL = HardWare Fail

This value indicate that the Hardware check has failed.

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

VL53L1_RANGESTATUS_WRAP_TARGET_FAIL = wrapped target

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

VL53L1_RANGESTATUS_SYNCRONISATION_INT = ACK after VL53L1_StartMeasurement() call

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

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

VL53L1_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL = Range Quality Level information

this warning is different to phase fail.

VL53L1_RANGESTATUS_MIN_RANGE_FAIL = ROI issue

User ROI input is not valid e.g. beyond SPAD Array.

VL53L1_RANGESTATUS_NONE = None

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


VL53L1 API Specification: Strings

Strings

The API uses character strings to inform the user about the state of the API, the meaning of the error or about the name of a particular mode.

1. String can be removed

At compilation stage a DEFINE can be used to remove all the strings to save some space on device. Strings will be replaced with empty string.
The Define to be used is USE_EMPTY_STRING:

  • if USE_EMPTY_STRING is defined: all the strings are replaced with empty string.
  • if USE_EMPTY_STRING is NOT defined: all the strings are well defined and not empty.

2. Max Length String

The API uses the macro VL53L1_COPYSTRING to copy strings. For example the following code from get device info

VL53L1_COPYSTRING(pVL53L1_DeviceInfo->Type,
VL53L1_STRING_DEVICE_INFO_TYPE);

This MACRO is defined inside platform code. This means that is the responsibility of the customer to use the right function to copy the string. In the Platform gives as example this is:

#define VL53L1_COPYSTRING(str, ...) strcpy(str, ##__VA_ARGS__)

In previous example we copy the string defined in VL53L1_STRING_DEVICE_INFO_TYPE in a field in a structure pVL53L1_DeviceInfo->Type. This is defined with a max length:

char Type[VL53L1_MAX_STRING_LENGTH];
VL53L1_MAX_STRING_LENGTH
#define VL53L1_MAX_STRING_LENGTH
Definition: vl53l1_platform_user_config.h:69

In that case by construction the Define:

len(VL53L1_STRING_DEVICE_INFO_TYPE) < VL53L1_MAX_STRING_LENGTH.

In the API the max Length is defined in the VL53L1_api_def.h as follow:

#define VL53L1_MAX_STRING_LENGTH 32

In the API there are some functions which output directly the string like the following:

VL53L1_Error VL53L1_GetRangeStatusString(uint8_t RangeStatus,
char *pRangeStatusString)
VL53L1_Error
int8_t VL53L1_Error
Definition: vl53l1_error_codes.h:41
VL53L1_GetRangeStatusString
VL53L1_Error VL53L1_GetRangeStatusString(uint8_t RangeStatus, char *pRangeStatusString)
Human readable Range Status string for a given RangeStatus.
uint8_t
unsigned char uint8_t
Definition: vl53l1_types.h:54

Even in that case a copy string is done. To avoid overflow problem when the copy is done, the string which will contains the one is copied, should be greather or equal to the max Length described before.

void print_range_status(VL53L1_RangingMeasurementData_t* pRangingMeasurementData){
char buf[VL53L1_MAX_STRING_LENGTH];
uint8_t RangeStatus;
RangeStatus = pRangingMeasurementData->RangeStatus;
VL53L1_GetRangeStatusString(RangeStatus, buf);
printf("Range Status: %i : %s\n", RangeStatus, buf);
}
VL53L1_RangingMeasurementData_t
Single Range measurement data.
Definition: vl53l1_def.h:360
VL53L1_RangingMeasurementData_t::RangeStatus
uint8_t RangeStatus
Definition: vl53l1_def.h:405


VL53L1 API Specification: Modules

Modules
Here is a list of all modules:
[detail level 12]
▼ VL53L1 cut1.1 Function Definition | VL53L1 cut1.1 Function Definition
VL53L1 General Functions | General functions and definitions
VL53L1 Init Functions | VL53L1 Init Functions
VL53L1 Parameters Functions | Functions used to prepare and setup the device
VL53L1 Limit Check Functions | Functions used for the Limit checks
VL53L1 ROI Functions | Functions used to select ROIs
VL53L1 Sequence Step Functions | Functions used to select Steps done on each ranging
VL53L1 Measurement Functions | Functions used for the measurements
VL53L1 Calibration Functions | Functions used for Calibration
VL53L1 IRQ Triggered events Functions | Functions used to configure interrupt to be triggered only when a measurement satisfies some thresholds parameters
▼ VL53L1 Defines | VL53L1 Defines
Defines Preset modes | Defines all possible preset modes for the device
Defines Distance modes | Defines all possible Distance modes for the device
Defines Output modes | Defines all possible Output modes for the device
Defines Xtalk Calibration modes | Defines all possible Offset Calibration modes for the device
Defines Offset Calibration modes | Defines all possible Offset Calibration modes for the device
Defines Dmax source modes | Defines all possible sources for Dmax calibration for the device
Defines offset Mode | Defines all possible offset correction modes for the device
Defines Roi Status | Defines the read status mode
Check Enable list | Check Enable code
Detection Functionality | Defines the different functionalities for the detection feature
Gpio Functionality | Defines conditions leading to device's IT on GPIO
Defines the current status of the device | Defines the current status of the device
Defines smudge correction modes | Defines the smudge correction modes
Defines the SequenceStep | Configure the sequence steps performed during ranging
Defines the Range Status |
General Macro Defines | General Macro Defines
Error and Warning code returned by API | The following DEFINE are used to identify the TOF device ERROR


VL53L1 API Specification: VL53L1 cut1.1 Function Definition

Modules
VL53L1 cut1.1 Function Definition

VL53L1 cut1.1 Function Definition. More...

Modules

VL53L1 General Functions
General functions and definitions.
VL53L1 Init Functions
VL53L1 Init Functions.
VL53L1 Parameters Functions
Functions used to prepare and setup the device.
VL53L1 Limit Check Functions
Functions used for the Limit checks.
VL53L1 ROI Functions
Functions used to select ROIs.
VL53L1 Sequence Step Functions
Functions used to select Steps done on each ranging.
VL53L1 Measurement Functions
Functions used for the measurements.
VL53L1 Calibration Functions
Functions used for Calibration.
VL53L1 IRQ Triggered events Functions
Functions used to configure interrupt to be triggered only when a measurement satisfies some thresholds parameters.

Detailed Description

VL53L1 cut1.1 Function Definition.


VL53L1 API Specification: VL53L1 General Functions

Functions
VL53L1 General Functions
VL53L1 cut1.1 Function Definition

General functions and definitions. More...

Functions

VL53L1_Error | VL53L1_GetVersion (VL53L1_Version_t *pVersion)
Return the VL53L1 driver Version. More...
VL53L1_Error | VL53L1_GetProductRevision (VL53L1_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...
VL53L1_Error | VL53L1_GetDeviceInfo (VL53L1_DEV Dev, VL53L1_DeviceInfo_t *pVL53L1_DeviceInfo)
Reads the Device information for given Device. More...
VL53L1_Error | VL53L1_GetUID (VL53L1_DEV Dev, uint64_t *pUid)
Reads the Device unique identifier. More...
VL53L1_Error | VL53L1_GetRangeStatusString (uint8_t RangeStatus, char *pRangeStatusString)
Human readable Range Status string for a given RangeStatus. More...
VL53L1_Error | VL53L1_GetPalErrorString (VL53L1_Error PalErrorCode, char *pPalErrorString)
Human readable error string for driver error status. More...
VL53L1_Error | VL53L1_GetPalStateString (VL53L1_State PalStateCode, char *pPalStateString)
Human readable driver State string. More...
VL53L1_Error | VL53L1_GetPalState (VL53L1_DEV Dev, VL53L1_State *pPalState)
Reads the internal state of the driver for a given Device. More...

Detailed Description

General functions and definitions.

Function Documentation

◆ VL53L1_GetVersion()

VL53L1_Error VL53L1_GetVersion ( VL53L1_Version_t * pVersion )

Return the VL53L1 driver Version.

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

◆ VL53L1_GetProductRevision()

VL53L1_Error VL53L1_GetProductRevision | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetDeviceInfo()

VL53L1_Error VL53L1_GetDeviceInfo | ( | VL53L1_DEV | Dev,
 |  | VL53L1_DeviceInfo_t * | pVL53L1_DeviceInfo
 | ) |  |

Reads the Device information for given Device.

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

◆ VL53L1_GetUID()

VL53L1_Error VL53L1_GetUID | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetRangeStatusString()

VL53L1_Error VL53L1_GetRangeStatusString | ( | uint8_t | RangeStatus,
 |  | char * | pRangeStatusString
 | ) |  |

Human readable Range Status string for a given RangeStatus.

Note
This function doesn't access to the device
Parameters
RangeStatus | The RangeStatus code as stored on VL53L1_RangingMeasurementData_t
pRangeStatusString | The returned RangeStatus string. Shall be defined as char buf[VL53L1_MAX_STRING_LENGTH]
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetPalErrorString()

VL53L1_Error VL53L1_GetPalErrorString | ( | VL53L1_Error | PalErrorCode,
 |  | char * | pPalErrorString
 | ) |  |

Human readable error string for driver error status.

Note
This function doesn't access to the device
Parameters
PalErrorCode | The error code as stored on VL53L1_Error
pPalErrorString | The error string corresponding to the PalErrorCode. Shall be defined as char buf[VL53L1_MAX_STRING_LENGTH]
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetPalStateString()

VL53L1_Error VL53L1_GetPalStateString | ( | VL53L1_State | PalStateCode,
 |  | char * | pPalStateString
 | ) |  |

Human readable driver State string.

Note
This function doesn't access to the device
Parameters
PalStateCode | The State code as stored on VL53L1_State
pPalStateString | The State string corresponding to the PalStateCode. Shall be defined as char buf[VL53L1_MAX_STRING_LENGTH]
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetPalState()

VL53L1_Error VL53L1_GetPalState | ( | VL53L1_DEV | Dev,
 |  | VL53L1_State * | pPalState
 | ) |  |

Reads the internal state of the driver for a given Device.

Note
This function doesn't access to the device
Parameters
Dev | Device Handle
pPalState | Pointer to current state of the PAL for a given Device
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error


VL53L1 API Specification: VL53L1 Init Functions

Functions
VL53L1 Init Functions
VL53L1 cut1.1 Function Definition

VL53L1 Init Functions. More...

Functions

VL53L1_Error | VL53L1_SetDeviceAddress (VL53L1_DEV Dev, uint8_t DeviceAddress)
Set new device address. More...
VL53L1_Error | VL53L1_DataInit (VL53L1_DEV Dev)
One time device initialization. More...
VL53L1_Error | VL53L1_StaticInit (VL53L1_DEV Dev)
Do basic device init (and eventually patch loading) This function will change the VL53L1_State from VL53L1_STATE_WAIT_STATICINIT to VL53L1_STATE_IDLE. More...
VL53L1_Error | VL53L1_WaitDeviceBooted (VL53L1_DEV Dev)
Wait for device booted after chip enable (hardware standby) This function can be run only when VL53L1_State is VL53L1_STATE_POWERDOWN. More...

Detailed Description

VL53L1 Init Functions.

Function Documentation

◆ VL53L1_SetDeviceAddress()

VL53L1_Error VL53L1_SetDeviceAddress | ( | VL53L1_DEV | Dev,
 |  | uint8_t | DeviceAddress
 | ) |  |

Set new device address.

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

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

◆ VL53L1_DataInit()

VL53L1_Error VL53L1_DataInit ( VL53L1_DEV Dev )

One time device initialization.

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

Function Description
When not used after a fresh device "power up", it may return VL53L1_ERROR_CALIBRATION_WARNING meaning wrong calibration data may have been fetched from device that can result in ranging offset error
If VL53L1_DataInit is called several times then the application must restore calibration calling VL53L1_SetOffsetCalibrationData() It implies application has gathered calibration data thanks to VL53L1_GetOffsetCalibrationData() after an initial calibration stage. This function will change the VL53L1_State from VL53L1_STATE_POWERDOWN to VL53L1_STATE_WAIT_STATICINIT.
Note
This function Access to the device
Parameters
Dev Device Handle
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_StaticInit()

VL53L1_Error VL53L1_StaticInit ( VL53L1_DEV Dev )

Do basic device init (and eventually patch loading) This function will change the VL53L1_State from VL53L1_STATE_WAIT_STATICINIT to VL53L1_STATE_IDLE.

In this stage all default setting will be applied.

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

◆ VL53L1_WaitDeviceBooted()

VL53L1_Error VL53L1_WaitDeviceBooted ( VL53L1_DEV Dev )

Wait for device booted after chip enable (hardware standby) This function can be run only when VL53L1_State is VL53L1_STATE_POWERDOWN.

Parameters
Dev Device Handle
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error


VL53L1 API Specification: VL53L1 Parameters Functions

Functions
VL53L1 Parameters Functions
VL53L1 cut1.1 Function Definition

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

Functions

VL53L1_Error | VL53L1_SetPresetMode (VL53L1_DEV Dev, VL53L1_PresetModes PresetMode)
Set a new Preset Mode. More...
VL53L1_Error | VL53L1_GetPresetMode (VL53L1_DEV Dev, VL53L1_PresetModes *pPresetMode)
Get current Preset Mode. More...
VL53L1_Error | VL53L1_SetDistanceMode (VL53L1_DEV Dev, VL53L1_DistanceModes DistanceMode)
Set the distance mode. More...
VL53L1_Error | VL53L1_GetDistanceMode (VL53L1_DEV Dev, VL53L1_DistanceModes *pDistanceMode)
Get the distance mode. More...
VL53L1_Error | VL53L1_SetOutputMode (VL53L1_DEV Dev, VL53L1_OutputModes OutputMode)
Set the output mode. More...
VL53L1_Error | VL53L1_GetOutputMode (VL53L1_DEV Dev, VL53L1_OutputModes *pOutputMode)
Get the output mode. More...
VL53L1_Error | VL53L1_SetMeasurementTimingBudgetMicroSeconds (VL53L1_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds)
Set Ranging Timing Budget in microseconds. More...
VL53L1_Error | VL53L1_GetMeasurementTimingBudgetMicroSeconds (VL53L1_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds)
Get Ranging Timing Budget in microseconds. More...
VL53L1_Error | VL53L1_SetInterMeasurementPeriodMilliSeconds (VL53L1_DEV Dev, uint32_t InterMeasurementPeriodMilliSeconds)
Program continuous mode Inter-Measurement period in milliseconds. More...
VL53L1_Error | VL53L1_GetInterMeasurementPeriodMilliSeconds (VL53L1_DEV Dev, uint32_t *pInterMeasurementPeriodMilliSeconds)
Get continuous mode Inter-Measurement period in milliseconds. More...
VL53L1_Error | VL53L1_SetDmaxReflectance (VL53L1_DEV Dev, FixPoint1616_t DmaxReflectance)
target reflectance for Dmax setting More...
VL53L1_Error | VL53L1_GetDmaxReflectance (VL53L1_DEV Dev, FixPoint1616_t *pDmaxReflectance)
Get target reflectance for Dmax. More...
VL53L1_Error | VL53L1_SetDmaxMode (VL53L1_DEV Dev, VL53L1_DeviceDmaxModes DmaxMode)
Set function for ambient Dmax mode. More...
VL53L1_Error | VL53L1_GetDmaxMode (VL53L1_DEV Dev, VL53L1_DeviceDmaxModes *pDmaxMode)
Get function for ambient Dmax mode. More...

Detailed Description

Functions used to prepare and setup the device.

Function Documentation

◆ VL53L1_SetPresetMode()

VL53L1_Error VL53L1_SetPresetMode | ( | VL53L1_DEV | Dev,
 |  | VL53L1_PresetModes | PresetMode
 | ) |  |

Set a new Preset Mode.

Function Description
Set device to a new Operating Mode (High speed ranging, Multi objects ...)
Note
This function doesn't Access to the device
Warning
This function change the timing budget to 16 ms and the inter- measurement period to 1000 ms. Also the VL53L1_DISTANCEMODE_LONG is used.
Parameters
Dev Device Handle
PresetMode New Preset mode to apply
Valid values are:
  • VL53L1_PRESETMODE_MULTIZONES_SCANNING
  • VL53L1_PRESETMODE_RANGING
  • VL53L1_PRESETMODE_AUTONOMOUS
  • VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS
  • VL53L1_PRESETMODE_LITE_RANGING
  • VL53L1_PRESETMODE_OLT
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_MODE_NOT_SUPPORTED This error occurs when PresetMode is not in the supported list

◆ VL53L1_GetPresetMode()

VL53L1_Error VL53L1_GetPresetMode | ( | VL53L1_DEV | Dev,
 |  | VL53L1_PresetModes * | pPresetMode
 | ) |  |

Get current Preset Mode.

Function Description
Get actual mode of the device(ranging, histogram ...)
Note
This function doesn't Access to the device
Parameters
Dev | Device Handle
pPresetMode | Pointer to current apply mode value
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_MODE_NOT_SUPPORTED This error occurs when DeviceMode is not in the supported list

◆ VL53L1_SetDistanceMode()

VL53L1_Error VL53L1_SetDistanceMode | ( | VL53L1_DEV | Dev,
 |  | VL53L1_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 VL53L1_SetPresetMode().
Parameters
Dev Device Handle
DistanceMode Distance mode to apply, valid values are:
  • VL53L1_DISTANCEMODE_SHORT
  • VL53L1_DISTANCEMODE_MEDIUM
  • VL53L1_DISTANCEMODE_LONG
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_MODE_NOT_SUPPORTED This error occurs when DistanceMode is not in the supported list
"Other error code" See VL53L1_Error

◆ VL53L1_GetDistanceMode()

VL53L1_Error VL53L1_GetDistanceMode | ( | VL53L1_DEV | Dev,
 |  | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SetOutputMode()

VL53L1_Error VL53L1_SetOutputMode | ( | VL53L1_DEV | Dev,
 |  | VL53L1_OutputModes | OutputMode
 | ) |  |

Set the output mode.

Function Description
Set the output mode to be used for the next ranging. The output mode is used to select, in case of multiple objects, which one will be used in function VL53L1_GetRangingMeasurementData(). VL53L1_SetOutputMode also sets the object used by automatic distance mode algorithm when VL53L1_SetDistanceMode() is set to automatic mode.
Note
This function doesn't Access to the device
Warning
This function should be called after VL53L1_SetPresetMode().
Parameters
Dev Device Handle
OutputMode Output mode to apply valid values are:
  • VL53L1_OUTPUTMODE_NEAREST
  • VL53L1_OUTPUTMODE_STRONGEST
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_MODE_NOT_SUPPORTED This error occurs when OutputMode is not in the supported list
"Other error code" See VL53L1_Error

◆ VL53L1_GetOutputMode()

VL53L1_Error VL53L1_GetOutputMode | ( | VL53L1_DEV | Dev,
 |  | VL53L1_OutputModes * | pOutputMode
 | ) |  |

Get the output mode.

Function Description
Get the output mode used for the next ranging.
Parameters
Dev | Device Handle
*pOutputMode | Pointer to Output mode
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SetMeasurementTimingBudgetMicroSeconds()

VL53L1_Error VL53L1_SetMeasurementTimingBudgetMicroSeconds | ( | VL53L1_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
VL53L1_ERROR_NONE Success
VL53L1_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 VL53L1_Error

◆ VL53L1_GetMeasurementTimingBudgetMicroSeconds()

VL53L1_Error VL53L1_GetMeasurementTimingBudgetMicroSeconds | ( | VL53L1_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, ASL ...)
Parameters
Dev | Device Handle
pMeasurementTimingBudgetMicroSeconds | Max measurement time in microseconds.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SetInterMeasurementPeriodMilliSeconds()

VL53L1_Error VL53L1_SetInterMeasurementPeriodMilliSeconds | ( | VL53L1_DEV | Dev,
 |  | uint32_t | InterMeasurementPeriodMilliSeconds
 | ) |  |

Program continuous mode Inter-Measurement period in milliseconds.

Function Description
When trying to set too short time return INVALID_PARAMS minimal value
Parameters
Dev | Device Handle
InterMeasurementPeriodMilliSeconds | Inter-Measurement Period in ms. this value should be greater than the duration set in VL53L1_SetMeasurementTimingBudgetMicroSeconds() to ensure smooth ranging operation.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetInterMeasurementPeriodMilliSeconds()

VL53L1_Error VL53L1_GetInterMeasurementPeriodMilliSeconds | ( | VL53L1_DEV | Dev,
 |  | uint32_t * | pInterMeasurementPeriodMilliSeconds
 | ) |  |

Get continuous mode Inter-Measurement period in milliseconds.

Function Description
Parameters
Dev | Device Handle
pInterMeasurementPeriodMilliSeconds | Pointer to programmed Inter-Measurement Period in milliseconds.
Returns
VL53L1_ERROR_NONE

◆ VL53L1_SetDmaxReflectance()

VL53L1_Error VL53L1_SetDmaxReflectance | ( | VL53L1_DEV | Dev,
 |  | FixPoint1616_t | DmaxReflectance
 | ) |  |

target reflectance for Dmax setting

Function Description
Allow user to set the value for target reflectance @ 940nm to calculate the ambient DMAX values for. Set to 50% by default by VL53L1_DataInit()
Parameters
Dev | Device Handle
DmaxReflectance | Reflectance % in 16.16 fixed point
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_INVALID_PARAMS in case input value is not in range from 0 to 100. Note that this is a fix point value so the max value is 100 * 65536.
"Other error code" See VL53L1_Error

◆ VL53L1_GetDmaxReflectance()

VL53L1_Error VL53L1_GetDmaxReflectance | ( | VL53L1_DEV | Dev,
 |  | FixPoint1616_t * | pDmaxReflectance
 | ) |  |

Get target reflectance for Dmax.

Function Description
Retrieves the value for target reflectance @ 940nm to calculate the ambient DMAX values for. Set to 50% by default by VL53L1_DataInit()
Parameters
Dev | Device Handle
pDmaxReflectance | pointer to Reflectance % in 16.16 fixed point
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SetDmaxMode()

VL53L1_Error VL53L1_SetDmaxMode | ( | VL53L1_DEV | Dev,
 |  | VL53L1_DeviceDmaxModes | DmaxMode
 | ) |  |

Set function for ambient Dmax mode.

Parameters
Dev | Device Handle
DmaxMode | DMAX mode to be used in ranging
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetDmaxMode()

VL53L1_Error VL53L1_GetDmaxMode | ( | VL53L1_DEV | Dev,
 |  | VL53L1_DeviceDmaxModes * | pDmaxMode
 | ) |  |

Get function for ambient Dmax mode.

Parameters
Dev | Device Handle
pDmaxMode | output pointer to DMAX mode currently in use
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error


VL53L1 API Specification: VL53L1 Limit Check Functions

Functions
VL53L1 Limit Check Functions
VL53L1 cut1.1 Function Definition

Functions used for the Limit checks. More...

Functions

VL53L1_Error | VL53L1_GetNumberOfLimitCheck (uint16_t *pNumberOfLimitCheck)
Get the number of the check limit managed by a given Device. More...
VL53L1_Error | VL53L1_GetLimitCheckInfo (uint16_t LimitCheckId, char *pLimitCheckString)
Return a description string for a given limit check number. More...
VL53L1_Error | VL53L1_GetLimitCheckStatus (VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t *pLimitCheckStatus)
Return a the Status of the specified check limit. More...
VL53L1_Error | VL53L1_SetLimitCheckEnable (VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t LimitCheckEnable)
Enable/Disable a specific limit check. More...
VL53L1_Error | VL53L1_GetLimitCheckEnable (VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t *pLimitCheckEnable)
Get specific limit check enable state. More...
VL53L1_Error | VL53L1_SetLimitCheckValue (VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t LimitCheckValue)
Set a specific limit check value. More...
VL53L1_Error | VL53L1_GetLimitCheckValue (VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckValue)
Get a specific limit check value. More...
VL53L1_Error | VL53L1_GetLimitCheckCurrent (VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckCurrent)
Get the current value of the signal used for the limit check. More...

Detailed Description

Functions used for the Limit checks.

Function Documentation

◆ VL53L1_GetNumberOfLimitCheck()

VL53L1_Error VL53L1_GetNumberOfLimitCheck ( uint16_t * pNumberOfLimitCheck )

Get the number of the check limit managed by a given Device.

Function Description
This function give the number of the check limit managed by the Device
Parameters
pNumberOfLimitCheck Pointer to the number of check limit.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetLimitCheckInfo()

VL53L1_Error VL53L1_GetLimitCheckInfo | ( | uint16_t | LimitCheckId,
 |  | char * | pLimitCheckString
 | ) |  |

Return a description string for a given limit check number.

Function Description
This function returns a description string for a given limit check number. The limit check is identified with the LimitCheckId.
Parameters
LimitCheckId | Limit Check ID (0<= LimitCheckId < VL53L1_GetNumberOfLimitCheck() ).
pLimitCheckString | Pointer to the description string of the given check limit. Shall be defined as char buf[VL53L1_MAX_STRING_LENGTH]
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetLimitCheckStatus()

VL53L1_Error VL53L1_GetLimitCheckStatus | ( | VL53L1_DEV | Dev,
 |  | uint16_t | LimitCheckId,
 |  | uint8_t * | pLimitCheckStatus
 | ) |  |

Return a the Status of the specified check limit.

Function Description
This function returns the Status of the specified check limit. The value indicate if the check is fail or not. The limit check is identified with the LimitCheckId.
Parameters
Dev | Device Handle
LimitCheckId | Limit Check ID (0<= LimitCheckId < VL53L1_GetNumberOfLimitCheck() ).
pLimitCheckStatus | Pointer to the Limit Check Status of the given check limit. LimitCheckStatus : 0 the check is not fail or not enabled 1 the check if fail
  • VL53L1_CHECKENABLE_SIGMA_FINAL_RANGE: the sigma indicate the quality of the measure. The more it is little the better it is. The status is 1 when current sigma is greater then the limit.
  • VL53L1_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE: the signal rate indicate the strength of the returned signal. The more it is big the better it is. The status is 1 when current signal is lower then the limit.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SetLimitCheckEnable()

VL53L1_Error VL53L1_SetLimitCheckEnable | ( | VL53L1_DEV | Dev,
 |  | uint16_t | LimitCheckId,
 |  | uint8_t | LimitCheckEnable
 | ) |  |

Enable/Disable a specific limit check.

Function Description
This function Enable/Disable a specific limit check. The limit check is identified with the LimitCheckId.
Note
This function doesn't Access to the device
Parameters
Dev | Device Handle
LimitCheckId | Limit Check ID (0<= LimitCheckId < VL53L1_GetNumberOfLimitCheck() ).
LimitCheckEnable
  • set LimitCheckEnable=1 enables the LimitCheckId limit
  • set LimitCheckEnable=0 disables the LimitCheckId limit
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_INVALID_PARAMS This error is returned when LimitCheckId value is out of range.
"Other error code" See VL53L1_Error

◆ VL53L1_GetLimitCheckEnable()

VL53L1_Error VL53L1_GetLimitCheckEnable | ( | VL53L1_DEV | Dev,
 |  | uint16_t | LimitCheckId,
 |  | uint8_t * | pLimitCheckEnable
 | ) |  |

Get specific limit check enable state.

Function Description
This function get the enable state of a specific limit check. The limit check is identified with the LimitCheckId.
Note
This function Access to the device
Parameters
Dev | Device Handle
LimitCheckId | Limit Check ID (0<= LimitCheckId < VL53L1_GetNumberOfLimitCheck() ).
pLimitCheckEnable Pointer to the check limit enable value.
  • if 1 the check limit corresponding to LimitCheckId is Enabled
  • if 0 the check limit corresponding to LimitCheckId is disabled
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_INVALID_PARAMS This error is returned when LimitCheckId value is out of range.
"Other error code" See VL53L1_Error

◆ VL53L1_SetLimitCheckValue()

VL53L1_Error VL53L1_SetLimitCheckValue | ( | VL53L1_DEV | Dev,
 |  | uint16_t | LimitCheckId,
 |  | FixPoint1616_t | LimitCheckValue
 | ) |  |

Set a specific limit check value.

Function Description
This function set a specific limit check value. The limit check is identified with the LimitCheckId.
Note
Note that the value written with that function will not be applied if the limit is not enabled. In other words this function will not enable the limit but change only the value. In case the limit is not enabled the value is saved internally and applied with VL53L1_SetLimitCheckEnable.
Parameters
Dev | Device Handle
LimitCheckId | Limit Check ID (0<= LimitCheckId < VL53L1_GetNumberOfLimitCheck() ).
LimitCheckValue | Limit check Value for a given LimitCheckId
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetLimitCheckValue()

VL53L1_Error VL53L1_GetLimitCheckValue | ( | VL53L1_DEV | Dev,
 |  | uint16_t | LimitCheckId,
 |  | FixPoint1616_t * | pLimitCheckValue
 | ) |  |

Get a specific limit check value.

Function Description
This function get a specific limit check value from device then it updates internal values and check enables. The limit check is identified with the LimitCheckId.
Note
This function get the current value from device if zero then the value returned is the one stored by the user, but in that case the check is store as disabled. If the value from device is not zero, this is returned and set into the memory at the same way that user call VL53L1_SetLimitCheckValue()
Parameters
Dev | Device Handle
LimitCheckId | Limit Check ID (0<= LimitCheckId < VL53L1_GetNumberOfLimitCheck() ).
pLimitCheckValue | Pointer to Limit check Value for a given LimitCheckId.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetLimitCheckCurrent()

VL53L1_Error VL53L1_GetLimitCheckCurrent | ( | VL53L1_DEV | Dev,
 |  | uint16_t | LimitCheckId,
 |  | FixPoint1616_t * | pLimitCheckCurrent
 | ) |  |

Get the current value of the signal used for the limit check.

Function Description
This function get a the current value of the signal used for the limit check. To obtain the latest value you should run a valid ranging before. The value reported is linked to the limit check identified with the LimitCheckId.
Parameters
Dev | Device Handle
LimitCheckId | Limit Check ID (0<= LimitCheckId < VL53L1_GetNumberOfLimitCheck() ).
pLimitCheckCurrent | Pointer to current Value for a given LimitCheckId.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error


VL53L1 API Specification: VL53L1 ROI Functions

Functions
VL53L1 ROI Functions
VL53L1 cut1.1 Function Definition

Functions used to select ROIs. More...

Functions

VL53L1_Error | VL53L1_GetMaxNumberOfROI (VL53L1_DEV Dev, uint8_t *pMaxNumberOfROI)
Get the Maximum number of ROI Zones managed by the Device. More...
VL53L1_Error | VL53L1_SetROI (VL53L1_DEV Dev, VL53L1_RoiConfig_t *pRoiConfig)
Set the ROI to be used for ranging. More...
VL53L1_Error | VL53L1_GetROI (VL53L1_DEV Dev, VL53L1_RoiConfig_t *pRoiConfig)
Get the ROI managed by the Device. More...

Detailed Description

Functions used to select ROIs.

Function Documentation

◆ VL53L1_GetMaxNumberOfROI()

VL53L1_Error VL53L1_GetMaxNumberOfROI | ( | VL53L1_DEV | Dev,
 |  | uint8_t * | pMaxNumberOfROI
 | ) |  |

Get the Maximum number of ROI Zones managed by the Device.

Function Description
Get Maximum number of ROI Zones managed by the Device.
Note
The number of Zone depends on the preset mode used so to have the right number this function should be call after VL53L1_SetPresetMode()
This function doesn't Access to the device
Parameters
Dev | Device Handle
pMaxNumberOfROI | Pointer to the Maximum Number of ROI Zones value.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SetROI()

VL53L1_Error VL53L1_SetROI | ( | VL53L1_DEV | Dev,
 |  | VL53L1_RoiConfig_t * | pRoiConfig
 | ) |  |

Set the ROI to be used for ranging.

Function Description
The user defined ROIs are rectangles described as per the following system from the Top Left corner to the Bottom Right corner.
Minimal ROI size is 4x4 spads
Parameters
Dev | Device Handle
pRoiConfig | Pointer to the Structure containing all the ROI to be used.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetROI()

VL53L1_Error VL53L1_GetROI | ( | VL53L1_DEV | Dev,
 |  | VL53L1_RoiConfig_t * | pRoiConfig
 | ) |  |

Get the ROI managed by the Device.

Function Description
Get the ROI managed by the Device
Parameters
Dev | Device Handle
pRoiConfig | Pointer to the Structure containing all the ROI to be used.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error


VL53L1 API Specification: VL53L1 Sequence Step Functions

Functions
VL53L1 Sequence Step Functions
VL53L1 cut1.1 Function Definition

Functions used to select Steps done on each ranging. More...

Functions

VL53L1_Error | VL53L1_GetNumberOfSequenceSteps (VL53L1_DEV Dev, uint8_t *pNumberOfSequenceSteps)
Gets number of sequence steps managed by the API. More...
VL53L1_Error | VL53L1_GetSequenceStepsInfo (VL53L1_SequenceStepId SequenceStepId, char *pSequenceStepsString)
Gets the name of a given sequence step. More...
VL53L1_Error | VL53L1_SetSequenceStepEnable (VL53L1_DEV Dev, VL53L1_SequenceStepId SequenceStepId, uint8_t SequenceStepEnabled)
Sets the (on/off) state of a requested sequence step. More...
VL53L1_Error | VL53L1_GetSequenceStepEnable (VL53L1_DEV Dev, VL53L1_SequenceStepId SequenceStepId, uint8_t *pSequenceStepEnabled)
Gets the (on/off) state of a requested sequence step. More...

Detailed Description

Functions used to select Steps done on each ranging.

Function Documentation

◆ VL53L1_GetNumberOfSequenceSteps()

VL53L1_Error VL53L1_GetNumberOfSequenceSteps | ( | VL53L1_DEV | Dev,
 |  | uint8_t * | pNumberOfSequenceSteps
 | ) |  |

Gets number of sequence steps managed by the API.

Function Description
This function retrieves the number of sequence steps currently managed by the API
Note
This function Accesses the device
Parameters
Dev | Device Handle
pNumberOfSequenceSteps | Out parameter reporting the number of sequence steps.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetSequenceStepsInfo()

VL53L1_Error VL53L1_GetSequenceStepsInfo | ( | VL53L1_SequenceStepId | SequenceStepId,
 |  | char * | pSequenceStepsString
 | ) |  |

Gets the name of a given sequence step.

Function Description
This function retrieves the name of sequence steps corresponding to SequenceStepId.
Note
This function doesn't Accesses the device
Parameters
SequenceStepId | Sequence step identifier.
pSequenceStepsString | Pointer to Info string. Shall be defined as char buf[VL53L1_MAX_STRING_LENGTH]
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SetSequenceStepEnable()

VL53L1_Error VL53L1_SetSequenceStepEnable | ( | VL53L1_DEV | Dev,
 |  | VL53L1_SequenceStepId | SequenceStepId,
 |  | uint8_t | SequenceStepEnabled
 | ) |  |

Sets the (on/off) state of a requested sequence step.

Function Description
This function enables/disables a requested sequence step.
Note
This function Accesses the device
Parameters
Dev | Device Handle
SequenceStepId | Sequence step identifier.
SequenceStepEnabled | Demanded state {0=Off,1=On} is enabled.
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_INVALID_PARAMS Error SequenceStepId parameter not supported.
"Other error code" See VL53L1_Error

◆ VL53L1_GetSequenceStepEnable()

VL53L1_Error VL53L1_GetSequenceStepEnable | ( | VL53L1_DEV | Dev,
 |  | VL53L1_SequenceStepId | SequenceStepId,
 |  | uint8_t * | pSequenceStepEnabled
 | ) |  |

Gets the (on/off) state of a requested sequence step.

Function Description
This function retrieves the state of a requested sequence step, i.e. on/off.
Note
This function Accesses the device
Parameters
Dev | Device Handle
SequenceStepId | Sequence step identifier.
pSequenceStepEnabled | Out parameter reporting if the sequence step is enabled {0=Off,1=On}.
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_INVALID_PARAMS Error SequenceStepId parameter not supported.
"Other error code" See VL53L1_Error


VL53L1 API Specification: VL53L1 Measurement Functions

Functions
VL53L1 Measurement Functions
VL53L1 cut1.1 Function Definition

Functions used for the measurements. More...

Functions

VL53L1_Error | VL53L1_StartMeasurement (VL53L1_DEV Dev)
Start device measurement. More...
VL53L1_Error | VL53L1_StopMeasurement (VL53L1_DEV Dev)
Stop device measurement. More...
VL53L1_Error | VL53L1_ClearInterruptAndStartMeasurement (VL53L1_DEV Dev)
Clear the Interrupt flag and start new measurement *. More...
VL53L1_Error | VL53L1_GetMeasurementDataReady (VL53L1_DEV Dev, uint8_t *pMeasurementDataReady)
Return Measurement Data Ready. More...
VL53L1_Error | VL53L1_WaitMeasurementDataReady (VL53L1_DEV Dev)
Wait for measurement data ready. More...
VL53L1_Error | VL53L1_GetRangingMeasurementData (VL53L1_DEV Dev, VL53L1_RangingMeasurementData_t *pRangingMeasurementData)
Retrieve the measurements from device for a given setup. More...
VL53L1_Error | VL53L1_GetMultiRangingData (VL53L1_DEV Dev, VL53L1_MultiRangingData_t *pMultiRangingData)
Retrieve all ROI's measurements from device for a given setup. More...
VL53L1_Error | VL53L1_GetAdditionalData (VL53L1_DEV Dev, VL53L1_AdditionalData_t *pAdditionalData)
Get Additional Data. More...

Detailed Description

Functions used for the measurements.

Function Documentation

◆ VL53L1_StartMeasurement()

VL53L1_Error VL53L1_StartMeasurement ( VL53L1_DEV Dev )

Start device measurement.

Started measurement will depend on preset parameters set through VL53L1_SetPreseMode() This function will change the VL53L1_State from VL53L1_STATE_IDLE to VL53L1_STATE_RUNNING.

Note
This function Access to the device
Parameters
Dev Device Handle
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_MODE_NOT_SUPPORTED This error occurs when PresetMode programmed with VL53L1_SetPresetMode
VL53L1_ERROR_TIME_OUT Time out on start measurement
VL53L1_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 VL53L1_SetMeasurementTimingBudgetMicroSeconds() and VL53L1_SetInterMeasurementPeriodMilliSeconds() functions.
"Other error code" See VL53L1_Error

◆ VL53L1_StopMeasurement()

VL53L1_Error VL53L1_StopMeasurement ( VL53L1_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. This function will change the VL53L1_State from VL53L1_STATE_RUNNING to VL53L1_STATE_IDLE.

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

◆ VL53L1_ClearInterruptAndStartMeasurement()

VL53L1_Error VL53L1_ClearInterruptAndStartMeasurement ( VL53L1_DEV Dev )

Clear the Interrupt flag and start new measurement *.

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

◆ VL53L1_GetMeasurementDataReady()

VL53L1_Error VL53L1_GetMeasurementDataReady | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_WaitMeasurementDataReady()

VL53L1_Error VL53L1_WaitMeasurementDataReady ( VL53L1_DEV Dev )

Wait for measurement data ready.

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

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

◆ VL53L1_GetRangingMeasurementData()

VL53L1_Error VL53L1_GetRangingMeasurementData | ( | VL53L1_DEV | Dev,
 |  | VL53L1_RangingMeasurementData_t * | pRangingMeasurementData
 | ) |  |

Retrieve the measurements from device for a given setup.

Function Description
Get data from last successful Ranging measurement
Warning
this function will return only the first ROI data and only the first object. For multi objects or multi ROI use: Vl53L1_GetMultiRangingData. In case of RANGING only one output is given, this can be selected with the help of VL53L1_SetOutputMode() In case of MULTIZONES_SCANNING and error will be raised because not supported in that function.
USER must call VL53L1_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 VL53L1_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
pRangingMeasurementData | Pointer to the data structure to fill up.
Returns
VL53L1_ERROR_NONE Success
VL53L1_ERROR_MODE_NOT_SUPPORTED in case of MULTIZONES_SCANNING
"Other error code" See VL53L1_Error

◆ VL53L1_GetMultiRangingData()

VL53L1_Error VL53L1_GetMultiRangingData | ( | VL53L1_DEV | Dev,
 |  | VL53L1_MultiRangingData_t * | pMultiRangingData
 | ) |  |

Retrieve all ROI's measurements from device for a given setup.

Function Description
Get data from last successful Ranging measurement
Warning
USER should take care about VL53L1_GetNumberOfROI() before get data. Bare driver will fill a NumberOfROI times the corresponding data structure used in the measurement function.
USER must call VL53L1_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 VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetAdditionalData()

VL53L1_Error VL53L1_GetAdditionalData | ( | VL53L1_DEV | Dev,
 |  | VL53L1_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 VL53L1_GetMeasurementDataReady() polling) and before a call to VL53L1_ClearInterruptAndStartMeasurement(). Depending on the PresetMode currently set parts of the returned data structure may be not relevant.
Parameters
Dev | Device Handle
pAdditionalData | Pointer to Additional data
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error


VL53L1 API Specification: VL53L1 Calibration Functions

Functions
VL53L1 Calibration Functions
VL53L1 cut1.1 Function Definition

Functions used for Calibration. More...

Functions

VL53L1_Error | VL53L1_SetTuningParameter (VL53L1_DEV Dev, uint16_t TuningParameterId, int32_t TuningParameterValue)
Set Tuning Parameter value for a given parameter ID. More...
VL53L1_Error | VL53L1_GetTuningParameter (VL53L1_DEV Dev, uint16_t TuningParameterId, int32_t *pTuningParameterValue)
Get Tuning Parameter value for a given parameter ID. More...
VL53L1_Error | VL53L1_PerformRefSpadManagement (VL53L1_DEV Dev)
Performs Reference Spad Management. More...
VL53L1_Error | VL53L1_SmudgeCorrectionEnable (VL53L1_DEV Dev, VL53L1_SmudgeCorrectionModes Mode)
Enable/Disable dynamic Xtalk compensation feature. More...
VL53L1_Error | VL53L1_SetXTalkCompensationEnable (VL53L1_DEV Dev, uint8_t XTalkCompensationEnable)
Enable/Disable Cross talk compensation feature. More...
VL53L1_Error | VL53L1_GetXTalkCompensationEnable (VL53L1_DEV Dev, uint8_t *pXTalkCompensationEnable)
Get Cross talk compensation rate enable. More...
VL53L1_Error | VL53L1_PerformXTalkCalibration (VL53L1_DEV Dev, uint8_t CalibrationOption)
Perform XTalk Calibration. More...
VL53L1_Error | VL53L1_SetOffsetCalibrationMode (VL53L1_DEV Dev, VL53L1_OffsetCalibrationModes OffsetCalibrationMode)
Define the mode to be used for the offset calibration. More...
VL53L1_Error | VL53L1_SetOffsetCorrectionMode (VL53L1_DEV Dev, VL53L1_OffsetCorrectionModes OffsetCorrectionMode)
Define the mode to be used for the offset correction. More...
VL53L1_Error | VL53L1_PerformOffsetCalibration (VL53L1_DEV Dev, int32_t CalDistanceMilliMeter, FixPoint1616_t CalReflectancePercent)
Perform Offset Calibration. More...
VL53L1_Error | VL53L1_PerformOffsetSimpleCalibration (VL53L1_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset simple Calibration. More...
VL53L1_Error | VL53L1_PerformOffsetZeroDistanceCalibration (VL53L1_DEV Dev)
Perform Offset simple Calibration with a "zero distance" target. More...
VL53L1_Error | VL53L1_PerformOffsetPerVcselCalibration (VL53L1_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset per Vcsel Calibration. More...
VL53L1_Error | VL53L1_SetCalibrationData (VL53L1_DEV Dev, VL53L1_CalibrationData_t *pCalibrationData)
Sets the Calibration Data. More...
VL53L1_Error | VL53L1_GetCalibrationData (VL53L1_DEV Dev, VL53L1_CalibrationData_t *pCalibrationData)
Gets the Calibration Data. More...
VL53L1_Error | VL53L1_SetZoneCalibrationData (VL53L1_DEV Dev, VL53L1_ZoneCalibrationData_t *pZoneCalibrationData)
Sets the Zone Calibration Data. More...
VL53L1_Error | VL53L1_GetZoneCalibrationData (VL53L1_DEV Dev, VL53L1_ZoneCalibrationData_t *pZoneCalibrationData)
Gets the Zone Calibration Data. More...
VL53L1_Error | VL53L1_GetOpticalCenter (VL53L1_DEV Dev, FixPoint1616_t *pOpticalCenterX, FixPoint1616_t *pOpticalCenterY)
Gets the optical center. More...

Detailed Description

Functions used for Calibration.

Function Documentation

◆ VL53L1_SetTuningParameter()

VL53L1_Error VL53L1_SetTuningParameter | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetTuningParameter()

VL53L1_Error VL53L1_GetTuningParameter | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_PerformRefSpadManagement()

VL53L1_Error VL53L1_PerformRefSpadManagement ( VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SmudgeCorrectionEnable()

VL53L1_Error VL53L1_SmudgeCorrectionEnable | ( | VL53L1_DEV | Dev,
 |  | VL53L1_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 VL53L1_SmudgeCorrectionModes
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SetXTalkCompensationEnable()

VL53L1_Error VL53L1_SetXTalkCompensationEnable | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetXTalkCompensationEnable()

VL53L1_Error VL53L1_GetXTalkCompensationEnable | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_PerformXTalkCalibration()

VL53L1_Error VL53L1_PerformXTalkCalibration | ( | VL53L1_DEV | Dev,
 |  | uint8_t | CalibrationOption
 | ) |  |

Perform XTalk Calibration.

Perform a XTalk calibration of the Device. This function will launch a ranging 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
CalibrationOption Select the Calibration to be run :
  • VL53L1_XTALKCALIBRATIONMODE_SINGLE_TARGET the calibration uses current preset and distance mode without altering them.
    User must call VL53L1_SetPresetMode() with VL53L1_PRESETMODE_AUTONOMOUS, VL53L1_PRESETMODE_LITE_RANGING or VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS parameter prior to launch calibration
  • VL53L1_XTALKCALIBRATIONMODE_NO_TARGET the calibration sets appropriate preset and distance mode and thus override existing ones
    User must call VL53L1_SetPresetMode() again after calibration to set the desired one. during this calibration mode no object must be put below a 80cm distance from the target
  • VL53L1_XTALKCALIBRATIONMODE_FULL_ROI the calibration sets appropriate preset and distance mode and thus override existing ones
    User must call VL53L1_SetPresetMode() again after calibration to set the desired one. The ROI settings must define a single 16x16 ROI before to launch this function. 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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SetOffsetCalibrationMode()

VL53L1_Error VL53L1_SetOffsetCalibrationMode | ( | VL53L1_DEV | Dev,
 |  | VL53L1_OffsetCalibrationModes | OffsetCalibrationMode
 | ) |  |

Define the mode to be used for the offset calibration.

Define the mode to be used for the offset calibration. This function should be called before run the VL53L1_PerformOffsetCalibration()

Parameters
Dev Device Handle
OffsetCalibrationMode Offset Calibration Mode valid values are:
  • VL53L1_OFFSETCALIBRATIONMODE_STANDARD
  • VL53L1_OFFSETCALIBRATIONMODE_PRERANGE_ONLY
  • VL53L1_OFFSETCALIBRATIONMODE_MULTI_ZONE
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_SetOffsetCorrectionMode()

VL53L1_Error VL53L1_SetOffsetCorrectionMode | ( | VL53L1_DEV | Dev,
 |  | VL53L1_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:
  • VL53L1_OFFSETCORRECTIONMODE_STANDARD
  • VL53L1_OFFSETCORRECTIONMODE_PERZONE
  • VL53L1_OFFSETCORRECTIONMODE_PERVCSEL
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_PerformOffsetCalibration()

VL53L1_Error VL53L1_PerformOffsetCalibration | ( | VL53L1_DEV | Dev,
 |  | int32_t | CalDistanceMilliMeter,
 |  | FixPoint1616_t | CalReflectancePercent
 | ) |  |

Perform Offset Calibration.

Perform a Offset calibration of the Device. This function will launch a ranging measurement, if interrupts are enabled interrupts will be done. This function will program a new value for the Offset calibration value

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.
CalReflectancePercent | Calibration Target reflectance @ 940nm in percentage.
Returns
VL53L1_ERROR_NONE
"Other error code" See VL53L1_Error

◆ VL53L1_PerformOffsetSimpleCalibration()

VL53L1_Error VL53L1_PerformOffsetSimpleCalibration | ( | VL53L1_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
VL53L1_ERROR_NONE
VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL the calibration failed by lack of valid measurements
VL53L1_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 VL53L1_Error

◆ VL53L1_PerformOffsetZeroDistanceCalibration()

VL53L1_Error VL53L1_PerformOffsetZeroDistanceCalibration ( VL53L1_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
VL53L1_ERROR_NONE
VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL the calibration failed by lack of valid measurements
VL53L1_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 VL53L1_Error

◆ VL53L1_PerformOffsetPerVcselCalibration()

VL53L1_Error VL53L1_PerformOffsetPerVcselCalibration | ( | VL53L1_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
VL53L1_ERROR_NONE
VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL the calibration failed by lack of valid measurements
VL53L1_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 VL53L1_Error

◆ VL53L1_SetCalibrationData()

VL53L1_Error VL53L1_SetCalibrationData | ( | VL53L1_DEV | Dev,
 |  | VL53L1_CalibrationData_t * | pCalibrationData
 | ) |  |

Sets the Calibration Data.

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

◆ VL53L1_GetCalibrationData()

VL53L1_Error VL53L1_GetCalibrationData | ( | VL53L1_DEV | Dev,
 |  | VL53L1_CalibrationData_t * | pCalibrationData
 | ) |  |

Gets the Calibration Data.

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

◆ VL53L1_SetZoneCalibrationData()

VL53L1_Error VL53L1_SetZoneCalibrationData | ( | VL53L1_DEV | Dev,
 |  | VL53L1_ZoneCalibrationData_t * | pZoneCalibrationData
 | ) |  |

Sets the Zone Calibration Data.

Function Description
This function set all the Zone nCalibration Data issued from the functions VL53L1_PerformOffsetCalibration() in multi zone
Note
This function doesn't Accesses the device
Parameters
Dev | Device Handle
*pZoneCalibrationData | Pointer to Zone Calibration data to be set.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetZoneCalibrationData()

VL53L1_Error VL53L1_GetZoneCalibrationData | ( | VL53L1_DEV | Dev,
 |  | VL53L1_ZoneCalibrationData_t * | pZoneCalibrationData
 | ) |  |

Gets the Zone Calibration Data.

Function Description
This function get all the Zone Calibration Data issued from the functions VL53L1_PerformOffsetCalibration()
Note
This function doesn't Accesses the device
Parameters
Dev | Device Handle
*pZoneCalibrationData | pointer where to store Zone Calibration data.
Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetOpticalCenter()

VL53L1_Error VL53L1_GetOpticalCenter | ( | VL53L1_DEV | Dev,
 |  | FixPoint1616_t * | pOpticalCenterX,
 |  | FixPoint1616_t * | pOpticalCenterY
 | ) |  |

Gets the optical center.

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


VL53L1 API Specification: VL53L1 IRQ Triggered events Functions

Functions
VL53L1 IRQ Triggered events Functions
VL53L1 cut1.1 Function Definition

Functions used to configure interrupt to be triggered only when a measurement satisfies some thresholds parameters. More...

Functions

VL53L1_Error | VL53L1_SetThresholdConfig (VL53L1_DEV Dev, VL53L1_DetectionConfig_t *pConfig)
Configure the interrupt config, from the given structure. More...
VL53L1_Error | VL53L1_GetThresholdConfig (VL53L1_DEV Dev, VL53L1_DetectionConfig_t *pConfig)
Retrieves the interrupt config structure currently programmed into the API. More...

Detailed Description

Functions used to configure interrupt to be triggered only when a measurement satisfies some thresholds parameters.

Function Documentation

◆ VL53L1_SetThresholdConfig()

VL53L1_Error VL53L1_SetThresholdConfig | ( | VL53L1_DEV | Dev,
 |  | VL53L1_DetectionConfig_t * | pConfig
 | ) |  |

Configure the interrupt config, from the given structure.

Parameters
[in] | Dev | : Device Handle
[in] | pConfig | : pointer to configuration structure

◆ VL53L1_GetThresholdConfig()

VL53L1_Error VL53L1_GetThresholdConfig | ( | VL53L1_DEV | Dev,
 |  | VL53L1_DetectionConfig_t * | pConfig
 | ) |  |

Retrieves the interrupt config structure currently programmed into the API.

Parameters
[in] | Dev | : Device Handle
[out] | pConfig | : pointer to configuration structure


VL53L1 API Specification: VL53L1 Defines

Modules | Data Structures | Macros | Typedefs
VL53L1 Defines

VL53L1 Defines. More...

Modules

Defines Preset modes
Defines all possible preset modes for the device.
Defines Distance modes
Defines all possible Distance modes for the device.
Defines Output modes
Defines all possible Output modes for the device.
Defines Xtalk Calibration modes
Defines all possible Offset Calibration modes for the device.
Defines Offset Calibration modes
Defines all possible Offset Calibration modes for the device.
Defines Dmax source modes
Defines all possible sources for Dmax calibration for the device.
Defines offset Mode
Defines all possible offset correction modes for the device.
Defines Roi Status
Defines the read status mode.
Check Enable list
Check Enable code.
Detection Functionality
Defines the different functionalities for the detection feature.
Gpio Functionality
Defines conditions leading to device's IT on GPIO.
Defines the current status of the device
Defines the current status of the device.
Defines smudge correction modes
Defines the smudge correction modes.
Defines the SequenceStep
Configure the sequence steps performed during ranging.
Defines the Range Status
General Macro Defines
General Macro Defines.

Data Structures

struct | VL53L1_Version_t
Defines the parameters of the Get Version Functions. More...
struct | VL53L1_DeviceInfo_t
Defines the parameters of the Get Device Info Functions. More...
struct | VL53L1_DistanceThreshold_t
Defines parameters for Distance detection Thresholds configuration. More...
struct | VL53L1_RateThreshold_t
Defines parameters for Signal rate detection Thresholds configuration. More...
struct | VL53L1_DetectionConfig_t
Defines parameters for User/object Detection configuration. More...
struct | VL53L1_DeviceParameters_t
Defines all parameters for the device. More...
struct | VL53L1_RangingMeasurementData_t
Single Range measurement data. More...
struct | VL53L1_TargetRangeData_t
One Range measurement data for each target. More...
struct | VL53L1_MultiRangingData_t
Structure for storing the set of range results for a single ROI. More...
struct | VL53L1_UserRoi_t
Defines User Zone(ROI) parameters. More...
struct | VL53L1_RoiConfig_t
Defines ROI configuration parameters. More...
struct | VL53L1_CustomerNvmManaged_t
struct | VL53L1_CalibrationData_t
Structure for storing the Calibration Data. More...
struct | VL53L1_DevData_t
Contains the Internal data of the Bare Driver. More...
struct | VL53L1_AdditionalData_t
Structure for storing the Additional Data. More...
struct | VL53L1_ZoneCalibrationData_t
Structure for storing the Zone Calibration Data. More...

Macros

#define | VL53L1_IMPLEMENTATION_VER_MAJOR 6
VL53L1 IMPLEMENTATION major version. More...
#define | VL53L1_IMPLEMENTATION_VER_MINOR 6
VL53L1 IMPLEMENTATION minor version. More...
#define | VL53L1_IMPLEMENTATION_VER_SUB 18
VL53L1 IMPLEMENTATION sub version. More...
#define | VL53L1_IMPLEMENTATION_VER_REVISION 2652
VL53L1 IMPLEMENTATION sub version. More...
#define | VL53L1_DEVINFO_STRLEN 32
#define | VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x20
#define | VL53L1_CALIBRATION_DATA_STRUCT_VERSION
VL53L1 additional Calibration Data struct version final struct version is given by adding it to VL53L1_LL_CALIBRATION_DATA_STRUCT_VERSION. More...

Typedefs

typedef VL53L1_additional_data_t | VL53L1_AdditionalData_t
typedef VL53L1_zone_calibration_results_t | VL53L1_ZoneCalibrationData_t

Detailed Description

VL53L1 Defines.

Macro Definition Documentation

◆ VL53L1_IMPLEMENTATION_VER_MAJOR

#define VL53L1_IMPLEMENTATION_VER_MAJOR 6

VL53L1 IMPLEMENTATION major version.

Definition at line 36 of file vl53l1_def.h.

◆ VL53L1_IMPLEMENTATION_VER_MINOR

#define VL53L1_IMPLEMENTATION_VER_MINOR 6

VL53L1 IMPLEMENTATION minor version.

Definition at line 38 of file vl53l1_def.h.

◆ VL53L1_IMPLEMENTATION_VER_SUB

#define VL53L1_IMPLEMENTATION_VER_SUB 18

VL53L1 IMPLEMENTATION sub version.

Definition at line 40 of file vl53l1_def.h.

◆ VL53L1_IMPLEMENTATION_VER_REVISION

#define VL53L1_IMPLEMENTATION_VER_REVISION 2652

VL53L1 IMPLEMENTATION sub version.

Definition at line 42 of file vl53l1_def.h.

◆ VL53L1_DEVINFO_STRLEN

#define VL53L1_DEVINFO_STRLEN 32

Definition at line 58 of file vl53l1_def.h.

◆ VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION

#define VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x20

Definition at line 591 of file vl53l1_def.h.

◆ VL53L1_CALIBRATION_DATA_STRUCT_VERSION

#define VL53L1_CALIBRATION_DATA_STRUCT_VERSION
Value:
(VL53L1_LL_CALIBRATION_DATA_STRUCT_VERSION + \
VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION)

VL53L1 additional Calibration Data struct version final struct version is given by adding it to VL53L1_LL_CALIBRATION_DATA_STRUCT_VERSION.

Definition at line 596 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_AdditionalData_t

typedef VL53L1_additional_data_t VL53L1_AdditionalData_t

Definition at line 606 of file vl53l1_def.h.

◆ VL53L1_ZoneCalibrationData_t

typedef VL53L1_zone_calibration_results_t VL53L1_ZoneCalibrationData_t

Definition at line 613 of file vl53l1_def.h.


VL53L1 API Specification: Defines Preset modes

Macros | Typedefs
Defines Preset modes
VL53L1 Defines

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

Macros

#define | VL53L1_PRESETMODE_RANGING ((VL53L1_PresetModes) 1)
#define | VL53L1_PRESETMODE_MULTIZONES_SCANNING ((VL53L1_PresetModes) 2)
#define | VL53L1_PRESETMODE_AUTONOMOUS ((VL53L1_PresetModes) 3)
#define | VL53L1_PRESETMODE_LITE_RANGING ((VL53L1_PresetModes) 4)
#define | VL53L1_PRESETMODE_OLT ((VL53L1_PresetModes) 7)
#define | VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS ((VL53L1_PresetModes) 8)
#define | VL53L1_PRESETMODE_PROXY_RANGING_MODE ((VL53L1_PresetModes) 9)

Typedefs

typedef uint8_t VL53L1_PresetModes

Detailed Description

Defines all possible preset modes for the device.

Macro Definition Documentation

◆ VL53L1_PRESETMODE_RANGING

#define VL53L1_PRESETMODE_RANGING ((VL53L1_PresetModes) 1)

Definition at line 89 of file vl53l1_def.h.

◆ VL53L1_PRESETMODE_MULTIZONES_SCANNING

#define VL53L1_PRESETMODE_MULTIZONES_SCANNING ((VL53L1_PresetModes) 2)

Definition at line 90 of file vl53l1_def.h.

◆ VL53L1_PRESETMODE_AUTONOMOUS

#define VL53L1_PRESETMODE_AUTONOMOUS ((VL53L1_PresetModes) 3)

Definition at line 91 of file vl53l1_def.h.

◆ VL53L1_PRESETMODE_LITE_RANGING

#define VL53L1_PRESETMODE_LITE_RANGING ((VL53L1_PresetModes) 4)

Definition at line 92 of file vl53l1_def.h.

◆ VL53L1_PRESETMODE_OLT

#define VL53L1_PRESETMODE_OLT ((VL53L1_PresetModes) 7)

Definition at line 93 of file vl53l1_def.h.

◆ VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS

#define VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS ((VL53L1_PresetModes) 8)

Definition at line 94 of file vl53l1_def.h.

◆ VL53L1_PRESETMODE_PROXY_RANGING_MODE

#define VL53L1_PRESETMODE_PROXY_RANGING_MODE ((VL53L1_PresetModes) 9)

Definition at line 95 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_PresetModes

typedef uint8_t VL53L1_PresetModes

Definition at line 87 of file vl53l1_def.h.


VL53L1 API Specification: Defines Distance modes

Macros | Typedefs
Defines Distance modes
VL53L1 Defines

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

Macros

#define | VL53L1_DISTANCEMODE_SHORT ((VL53L1_DistanceModes) 1)
#define | VL53L1_DISTANCEMODE_MEDIUM ((VL53L1_DistanceModes) 2)
#define | VL53L1_DISTANCEMODE_LONG ((VL53L1_DistanceModes) 3)

Typedefs

typedef uint8_t VL53L1_DistanceModes

Detailed Description

Defines all possible Distance modes for the device.

Macro Definition Documentation

◆ VL53L1_DISTANCEMODE_SHORT

#define VL53L1_DISTANCEMODE_SHORT ((VL53L1_DistanceModes) 1)

Definition at line 107 of file vl53l1_def.h.

◆ VL53L1_DISTANCEMODE_MEDIUM

#define VL53L1_DISTANCEMODE_MEDIUM ((VL53L1_DistanceModes) 2)

Definition at line 108 of file vl53l1_def.h.

◆ VL53L1_DISTANCEMODE_LONG

#define VL53L1_DISTANCEMODE_LONG ((VL53L1_DistanceModes) 3)

Definition at line 109 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_DistanceModes

typedef uint8_t VL53L1_DistanceModes

Definition at line 105 of file vl53l1_def.h.


VL53L1 API Specification: Defines Output modes

Macros | Typedefs
Defines Output modes
VL53L1 Defines

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

Macros

#define | VL53L1_OUTPUTMODE_NEAREST ((VL53L1_OutputModes) 1)
#define | VL53L1_OUTPUTMODE_STRONGEST ((VL53L1_OutputModes) 2)

Typedefs

typedef uint8_t VL53L1_OutputModes

Detailed Description

Defines all possible Output modes for the device.

Macro Definition Documentation

◆ VL53L1_OUTPUTMODE_NEAREST

#define VL53L1_OUTPUTMODE_NEAREST ((VL53L1_OutputModes) 1)

Definition at line 118 of file vl53l1_def.h.

◆ VL53L1_OUTPUTMODE_STRONGEST

#define VL53L1_OUTPUTMODE_STRONGEST ((VL53L1_OutputModes) 2)

Definition at line 119 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_OutputModes

typedef uint8_t VL53L1_OutputModes

Definition at line 116 of file vl53l1_def.h.


VL53L1 API Specification: Defines Xtalk Calibration modes

Macros | Typedefs
Defines Xtalk Calibration modes
VL53L1 Defines

Defines all possible Offset Calibration modes for the device. More...

Macros

#define | VL53L1_XTALKCALIBRATIONMODE_NO_TARGET ((VL53L1_OffsetCalibrationModes) 0)
#define | VL53L1_XTALKCALIBRATIONMODE_SINGLE_TARGET ((VL53L1_OffsetCalibrationModes) 1)
#define | VL53L1_XTALKCALIBRATIONMODE_FULL_ROI ((VL53L1_OffsetCalibrationModes) 2)

Typedefs

typedef uint8_t VL53L1_XtalkCalibrationModes

Detailed Description

Defines all possible Offset Calibration modes for the device.

Macro Definition Documentation

◆ VL53L1_XTALKCALIBRATIONMODE_NO_TARGET

#define VL53L1_XTALKCALIBRATIONMODE_NO_TARGET ((VL53L1_OffsetCalibrationModes) 0)

To perform Xtalk calibration with no target below 80 cm

Definition at line 131 of file vl53l1_def.h.

◆ VL53L1_XTALKCALIBRATIONMODE_SINGLE_TARGET

#define VL53L1_XTALKCALIBRATIONMODE_SINGLE_TARGET ((VL53L1_OffsetCalibrationModes) 1)

To perform Xtalk calibration with one target

Definition at line 134 of file vl53l1_def.h.

◆ VL53L1_XTALKCALIBRATIONMODE_FULL_ROI

#define VL53L1_XTALKCALIBRATIONMODE_FULL_ROI ((VL53L1_OffsetCalibrationModes) 2)

To perform Xtalk calibration based on histogram with full ROI

Definition at line 137 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_XtalkCalibrationModes

typedef uint8_t VL53L1_XtalkCalibrationModes

Definition at line 127 of file vl53l1_def.h.


VL53L1 API Specification: Defines Offset Calibration modes

Macros | Typedefs
Defines Offset Calibration modes
VL53L1 Defines

Defines all possible Offset Calibration modes for the device. More...

Macros

#define | VL53L1_OFFSETCALIBRATIONMODE_STANDARD ((VL53L1_OffsetCalibrationModes) 1)
#define | VL53L1_OFFSETCALIBRATIONMODE_PRERANGE_ONLY ((VL53L1_OffsetCalibrationModes) 2)
#define | VL53L1_OFFSETCALIBRATIONMODE_MULTI_ZONE ((VL53L1_OffsetCalibrationModes) 3)

Typedefs

typedef uint8_t VL53L1_OffsetCalibrationModes

Detailed Description

Defines all possible Offset Calibration modes for the device.

Macro Definition Documentation

◆ VL53L1_OFFSETCALIBRATIONMODE_STANDARD

#define VL53L1_OFFSETCALIBRATIONMODE_STANDARD ((VL53L1_OffsetCalibrationModes) 1)

Definition at line 147 of file vl53l1_def.h.

◆ VL53L1_OFFSETCALIBRATIONMODE_PRERANGE_ONLY

#define VL53L1_OFFSETCALIBRATIONMODE_PRERANGE_ONLY ((VL53L1_OffsetCalibrationModes) 2)

Definition at line 149 of file vl53l1_def.h.

◆ VL53L1_OFFSETCALIBRATIONMODE_MULTI_ZONE

#define VL53L1_OFFSETCALIBRATIONMODE_MULTI_ZONE ((VL53L1_OffsetCalibrationModes) 3)

Definition at line 151 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_OffsetCalibrationModes

typedef uint8_t VL53L1_OffsetCalibrationModes

Definition at line 145 of file vl53l1_def.h.


VL53L1 API Specification: Defines Dmax source modes

Macros | Typedefs
Defines Dmax source modes
VL53L1 Defines

Defines all possible sources for Dmax calibration for the device. More...

Macros

#define | VL53L1_DMAXMODE_FMT_CAL_DATA ((VL53L1_DeviceDmaxModes) 1)
#define | VL53L1_DMAXMODE_CUSTCAL_DATA ((VL53L1_DeviceDmaxModes) 2)
#define | VL53L1_DMAXMODE_PER_ZONE_CAL_DATA ((VL53L1_DeviceDmaxModes) 3)

Typedefs

typedef uint8_t VL53L1_DeviceDmaxModes

Detailed Description

Defines all possible sources for Dmax calibration for the device.

Macro Definition Documentation

◆ VL53L1_DMAXMODE_FMT_CAL_DATA

#define VL53L1_DMAXMODE_FMT_CAL_DATA ((VL53L1_DeviceDmaxModes) 1)

Definition at line 162 of file vl53l1_def.h.

◆ VL53L1_DMAXMODE_CUSTCAL_DATA

#define VL53L1_DMAXMODE_CUSTCAL_DATA ((VL53L1_DeviceDmaxModes) 2)

Definition at line 163 of file vl53l1_def.h.

◆ VL53L1_DMAXMODE_PER_ZONE_CAL_DATA

#define VL53L1_DMAXMODE_PER_ZONE_CAL_DATA ((VL53L1_DeviceDmaxModes) 3)

Definition at line 164 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_DeviceDmaxModes

typedef uint8_t VL53L1_DeviceDmaxModes

Definition at line 160 of file vl53l1_def.h.


VL53L1 API Specification: Defines offset Mode

Macros | Typedefs
Defines offset Mode
VL53L1 Defines

Defines all possible offset correction modes for the device. More...

Macros

#define | VL53L1_OFFSETCORRECTIONMODE_STANDARD ((VL53L1_OffsetCorrectionMode) 1)
#define | VL53L1_OFFSETCORRECTIONMODE_PERZONE ((VL53L1_OffsetCorrectionMode) 2)
#define | VL53L1_OFFSETCORRECTIONMODE_PERVCSEL ((VL53L1_OffsetCorrectionMode) 3)

Typedefs

typedef uint8_t VL53L1_OffsetCorrectionModes

Detailed Description

Defines all possible offset correction modes for the device.

Macro Definition Documentation

◆ VL53L1_OFFSETCORRECTIONMODE_STANDARD

#define VL53L1_OFFSETCORRECTIONMODE_STANDARD ((VL53L1_OffsetCorrectionMode) 1)

Definition at line 174 of file vl53l1_def.h.

◆ VL53L1_OFFSETCORRECTIONMODE_PERZONE

#define VL53L1_OFFSETCORRECTIONMODE_PERZONE ((VL53L1_OffsetCorrectionMode) 2)

Definition at line 175 of file vl53l1_def.h.

◆ VL53L1_OFFSETCORRECTIONMODE_PERVCSEL

#define VL53L1_OFFSETCORRECTIONMODE_PERVCSEL ((VL53L1_OffsetCorrectionMode) 3)

Definition at line 176 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_OffsetCorrectionModes

typedef uint8_t VL53L1_OffsetCorrectionModes

Definition at line 172 of file vl53l1_def.h.


VL53L1 API Specification: Defines Roi Status

Macros | Typedefs
Defines Roi Status
VL53L1 Defines

Defines the read status mode. More...

Macros

#define | VL53L1_ROISTATUS_NOT_VALID ((VL53L1_RoiStatus) 0)
#define | VL53L1_ROISTATUS_VALID_NOT_LAST ((VL53L1_RoiStatus) 1)
#define | VL53L1_ROISTATUS_VALID_LAST ((VL53L1_RoiStatus) 2)

Typedefs

typedef uint8_t VL53L1_RoiStatus

Detailed Description

Defines the read status mode.

Macro Definition Documentation

◆ VL53L1_ROISTATUS_NOT_VALID

#define VL53L1_ROISTATUS_NOT_VALID ((VL53L1_RoiStatus) 0)

Definition at line 186 of file vl53l1_def.h.

◆ VL53L1_ROISTATUS_VALID_NOT_LAST

#define VL53L1_ROISTATUS_VALID_NOT_LAST ((VL53L1_RoiStatus) 1)

Definition at line 187 of file vl53l1_def.h.

◆ VL53L1_ROISTATUS_VALID_LAST

#define VL53L1_ROISTATUS_VALID_LAST ((VL53L1_RoiStatus) 2)

Definition at line 188 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_RoiStatus

typedef uint8_t VL53L1_RoiStatus

Definition at line 184 of file vl53l1_def.h.


VL53L1 API Specification: Check Enable list

Macros
Check Enable list
VL53L1 Defines

Check Enable code. More...

Macros

#define | VL53L1_CHECKENABLE_SIGMA_FINAL_RANGE 0
#define | VL53L1_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE 1
#define | VL53L1_CHECKENABLE_NUMBER_OF_CHECKS 2

Detailed Description

Check Enable code.

Define used to specify the LimitCheckId. Use VL53L1_GetLimitCheckInfo() to get the string.

Macro Definition Documentation

◆ VL53L1_CHECKENABLE_SIGMA_FINAL_RANGE

#define VL53L1_CHECKENABLE_SIGMA_FINAL_RANGE 0

Definition at line 200 of file vl53l1_def.h.

◆ VL53L1_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE

#define VL53L1_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE 1

Definition at line 201 of file vl53l1_def.h.

◆ VL53L1_CHECKENABLE_NUMBER_OF_CHECKS

#define VL53L1_CHECKENABLE_NUMBER_OF_CHECKS 2

Definition at line 203 of file vl53l1_def.h.


VL53L1 API Specification: Detection Functionality

Macros | Typedefs
Detection Functionality
VL53L1 Defines

Defines the different functionalities for the detection feature. More...

Macros

#define | VL53L1_THRESHOLD_CROSSED_LOW ((VL53L1_ThresholdMode) 0)
#define | VL53L1_THRESHOLD_CROSSED_HIGH ((VL53L1_ThresholdMode) 1)
#define | VL53L1_THRESHOLD_OUT_OF_WINDOW ((VL53L1_ThresholdMode) 2)
#define | VL53L1_THRESHOLD_IN_WINDOW ((VL53L1_ThresholdMode) 3)

Typedefs

typedef uint8_t VL53L1_ThresholdMode

Detailed Description

Defines the different functionalities for the detection feature.

Macro Definition Documentation

◆ VL53L1_THRESHOLD_CROSSED_LOW

#define VL53L1_THRESHOLD_CROSSED_LOW ((VL53L1_ThresholdMode) 0)

Trigger interrupt if value < thresh_low

Definition at line 216 of file vl53l1_def.h.

◆ VL53L1_THRESHOLD_CROSSED_HIGH

#define VL53L1_THRESHOLD_CROSSED_HIGH ((VL53L1_ThresholdMode) 1)

Trigger interrupt if value > thresh_high

Definition at line 219 of file vl53l1_def.h.

◆ VL53L1_THRESHOLD_OUT_OF_WINDOW

#define VL53L1_THRESHOLD_OUT_OF_WINDOW ((VL53L1_ThresholdMode) 2)

Trigger interrupt if value < thresh_low OR value > thresh_high

Definition at line 222 of file vl53l1_def.h.

◆ VL53L1_THRESHOLD_IN_WINDOW

#define VL53L1_THRESHOLD_IN_WINDOW ((VL53L1_ThresholdMode) 3)

Trigger interrupt if value > thresh_low AND value < thresh_high

Definition at line 225 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_ThresholdMode

typedef uint8_t VL53L1_ThresholdMode

Definition at line 212 of file vl53l1_def.h.


VL53L1 API Specification: Gpio Functionality

Macros | Typedefs
Gpio Functionality
VL53L1 Defines

Defines conditions leading to device's IT on GPIO. More...

Macros

#define | VL53L1_DETECTION_NORMAL_RUN ((VL53L1_DetectionMode) 0)
#define | VL53L1_DETECTION_DISTANCE_ONLY ((VL53L1_DetectionMode) 1)
#define | VL53L1_DETECTION_RATE_ONLY ((VL53L1_DetectionMode) 2)
#define | VL53L1_DETECTION_DISTANCE_AND_RATE ((VL53L1_DetectionMode) 3)
#define | VL53L1_DETECTION_DISTANCE_OR_RATE ((VL53L1_DetectionMode) 4)

Typedefs

typedef uint8_t VL53L1_DetectionMode

Detailed Description

Defines conditions leading to device's IT on GPIO.

Macro Definition Documentation

◆ VL53L1_DETECTION_NORMAL_RUN

#define VL53L1_DETECTION_NORMAL_RUN ((VL53L1_DetectionMode) 0)

Trigger interrupt on new measurement regardless of threshold just like after a VL53L1_SetPresetMode() call

Definition at line 255 of file vl53l1_def.h.

◆ VL53L1_DETECTION_DISTANCE_ONLY

#define VL53L1_DETECTION_DISTANCE_ONLY ((VL53L1_DetectionMode) 1)

Trigger interrupt if "threshold event" occurs on distance

Definition at line 258 of file vl53l1_def.h.

◆ VL53L1_DETECTION_RATE_ONLY

#define VL53L1_DETECTION_RATE_ONLY ((VL53L1_DetectionMode) 2)

Trigger interrupt if "threshold event" occurs on signal rate

Definition at line 261 of file vl53l1_def.h.

◆ VL53L1_DETECTION_DISTANCE_AND_RATE

#define VL53L1_DETECTION_DISTANCE_AND_RATE ((VL53L1_DetectionMode) 3)

Trigger interrupt if "threshold event" occurs on distance AND rate

Definition at line 265 of file vl53l1_def.h.

◆ VL53L1_DETECTION_DISTANCE_OR_RATE

#define VL53L1_DETECTION_DISTANCE_OR_RATE ((VL53L1_DetectionMode) 4)

Trigger interrupt if "threshold event" occurs on distance OR rate

Definition at line 269 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_DetectionMode

typedef uint8_t VL53L1_DetectionMode

Definition at line 249 of file vl53l1_def.h.


VL53L1 API Specification: Defines the current status of the device

Macros | Typedefs
Defines the current status of the device
VL53L1 Defines

Defines the current status of the device. More...

Macros

#define | VL53L1_STATE_POWERDOWN ((VL53L1_State) 0)
#define | VL53L1_STATE_WAIT_STATICINIT ((VL53L1_State) 1)
#define | VL53L1_STATE_STANDBY ((VL53L1_State) 2)
#define | VL53L1_STATE_IDLE ((VL53L1_State) 3)
#define | VL53L1_STATE_RUNNING ((VL53L1_State) 4)
#define | VL53L1_STATE_RESET ((VL53L1_State) 5)
#define | VL53L1_STATE_UNKNOWN ((VL53L1_State) 98)
#define | VL53L1_STATE_ERROR ((VL53L1_State) 99)

Typedefs

typedef uint8_t VL53L1_State

Detailed Description

Defines the current status of the device.

Macro Definition Documentation

◆ VL53L1_STATE_POWERDOWN

#define VL53L1_STATE_POWERDOWN ((VL53L1_State) 0)

Device is in HW reset

Definition at line 317 of file vl53l1_def.h.

◆ VL53L1_STATE_WAIT_STATICINIT

#define VL53L1_STATE_WAIT_STATICINIT ((VL53L1_State) 1)

Device is initialized and wait for static initialization

Definition at line 319 of file vl53l1_def.h.

◆ VL53L1_STATE_STANDBY

#define VL53L1_STATE_STANDBY ((VL53L1_State) 2)

Device is in Low power Standby mode

Definition at line 321 of file vl53l1_def.h.

◆ VL53L1_STATE_IDLE

#define VL53L1_STATE_IDLE ((VL53L1_State) 3)

Device has been initialized and ready to do measurements

Definition at line 323 of file vl53l1_def.h.

◆ VL53L1_STATE_RUNNING

#define VL53L1_STATE_RUNNING ((VL53L1_State) 4)

Device is performing measurement

Definition at line 325 of file vl53l1_def.h.

◆ VL53L1_STATE_RESET

#define VL53L1_STATE_RESET ((VL53L1_State) 5)

Soft reset has been run on Device

Definition at line 327 of file vl53l1_def.h.

◆ VL53L1_STATE_UNKNOWN

#define VL53L1_STATE_UNKNOWN ((VL53L1_State) 98)

Device is in unknown state and need to be rebooted

Definition at line 329 of file vl53l1_def.h.

◆ VL53L1_STATE_ERROR

#define VL53L1_STATE_ERROR ((VL53L1_State) 99)

Device is in error state and need to be rebooted

Definition at line 331 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_State

typedef uint8_t VL53L1_State

Definition at line 314 of file vl53l1_def.h.


VL53L1 API Specification: Defines smudge correction modes

Macros | Typedefs
Defines smudge correction modes
VL53L1 Defines

Defines the smudge correction modes. More...

Macros

#define | VL53L1_SMUDGE_CORRECTION_NONE ((VL53L1_SmudgeCorrectionModes) 0)
#define | VL53L1_SMUDGE_CORRECTION_CONTINUOUS ((VL53L1_SmudgeCorrectionModes) 1)
#define | VL53L1_SMUDGE_CORRECTION_SINGLE ((VL53L1_SmudgeCorrectionModes) 2)
#define | VL53L1_SMUDGE_CORRECTION_DEBUG ((VL53L1_SmudgeCorrectionModes) 3)

Typedefs

typedef uint8_t VL53L1_SmudgeCorrectionModes

Detailed Description

Defines the smudge correction modes.

Macro Definition Documentation

◆ VL53L1_SMUDGE_CORRECTION_NONE

#define VL53L1_SMUDGE_CORRECTION_NONE ((VL53L1_SmudgeCorrectionModes) 0)

Smudge correction is disabled

Definition at line 343 of file vl53l1_def.h.

◆ VL53L1_SMUDGE_CORRECTION_CONTINUOUS

#define VL53L1_SMUDGE_CORRECTION_CONTINUOUS ((VL53L1_SmudgeCorrectionModes) 1)

Smudge correction is applied continuously across the rangings

Definition at line 345 of file vl53l1_def.h.

◆ VL53L1_SMUDGE_CORRECTION_SINGLE

#define VL53L1_SMUDGE_CORRECTION_SINGLE ((VL53L1_SmudgeCorrectionModes) 2)

Smudge correction is applied only once across the rangings

Definition at line 347 of file vl53l1_def.h.

◆ VL53L1_SMUDGE_CORRECTION_DEBUG

#define VL53L1_SMUDGE_CORRECTION_DEBUG ((VL53L1_SmudgeCorrectionModes) 3)

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

Definition at line 351 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_SmudgeCorrectionModes

typedef uint8_t VL53L1_SmudgeCorrectionModes

Definition at line 340 of file vl53l1_def.h.


VL53L1 API Specification: Defines the SequenceStep

Macros | Typedefs
Defines the SequenceStep
VL53L1 Defines

Configure the sequence steps performed during ranging. More...

Macros

#define | VL53L1_SEQUENCESTEP_VHV ((VL53L1_SequenceStepId) 0)
#define | VL53L1_SEQUENCESTEP_PHASECAL ((VL53L1_SequenceStepId) 1)
#define | VL53L1_SEQUENCESTEP_REFPHASE ((VL53L1_SequenceStepId) 2)
#define | VL53L1_SEQUENCESTEP_DSS1 ((VL53L1_SequenceStepId) 3)
#define | VL53L1_SEQUENCESTEP_DSS2 ((VL53L1_SequenceStepId) 4)
#define | VL53L1_SEQUENCESTEP_MM1 ((VL53L1_SequenceStepId) 5)
#define | VL53L1_SEQUENCESTEP_MM2 ((VL53L1_SequenceStepId) 6)
#define | VL53L1_SEQUENCESTEP_RANGE ((VL53L1_SequenceStepId) 7)
#define | VL53L1_SEQUENCESTEP_NUMBER_OF_ITEMS 8

Typedefs

typedef uint8_t VL53L1_SequenceStepId

Detailed Description

Configure the sequence steps performed during ranging.

Macro Definition Documentation

◆ VL53L1_SEQUENCESTEP_VHV

#define VL53L1_SEQUENCESTEP_VHV ((VL53L1_SequenceStepId) 0)

VHV.

Definition at line 622 of file vl53l1_def.h.

◆ VL53L1_SEQUENCESTEP_PHASECAL

#define VL53L1_SEQUENCESTEP_PHASECAL ((VL53L1_SequenceStepId) 1)

Phase Calibration.

Definition at line 624 of file vl53l1_def.h.

◆ VL53L1_SEQUENCESTEP_REFPHASE

#define VL53L1_SEQUENCESTEP_REFPHASE ((VL53L1_SequenceStepId) 2)

Reference Phase.

Definition at line 626 of file vl53l1_def.h.

◆ VL53L1_SEQUENCESTEP_DSS1

#define VL53L1_SEQUENCESTEP_DSS1 ((VL53L1_SequenceStepId) 3)

DSS1.

Definition at line 628 of file vl53l1_def.h.

◆ VL53L1_SEQUENCESTEP_DSS2

#define VL53L1_SEQUENCESTEP_DSS2 ((VL53L1_SequenceStepId) 4)

DSS2.

Definition at line 630 of file vl53l1_def.h.

◆ VL53L1_SEQUENCESTEP_MM1

#define VL53L1_SEQUENCESTEP_MM1 ((VL53L1_SequenceStepId) 5)

Mode Mitigation 1.

Definition at line 632 of file vl53l1_def.h.

◆ VL53L1_SEQUENCESTEP_MM2

#define VL53L1_SEQUENCESTEP_MM2 ((VL53L1_SequenceStepId) 6)

Mode Mitigation 2.

Definition at line 634 of file vl53l1_def.h.

◆ VL53L1_SEQUENCESTEP_RANGE

#define VL53L1_SEQUENCESTEP_RANGE ((VL53L1_SequenceStepId) 7)

Final Range step.

Definition at line 636 of file vl53l1_def.h.

◆ VL53L1_SEQUENCESTEP_NUMBER_OF_ITEMS

#define VL53L1_SEQUENCESTEP_NUMBER_OF_ITEMS 8

Number of Sequence Step Managed by the API.

Definition at line 639 of file vl53l1_def.h.

Typedef Documentation

◆ VL53L1_SequenceStepId

typedef uint8_t VL53L1_SequenceStepId

Definition at line 619 of file vl53l1_def.h.


VL53L1 API Specification: Defines the Range Status

Macros
Defines the Range Status
VL53L1 Defines

Macros

#define | VL53L1_RANGESTATUS_RANGE_VALID 0
#define | VL53L1_RANGESTATUS_SIGMA_FAIL 1
#define | VL53L1_RANGESTATUS_SIGNAL_FAIL 2
#define | VL53L1_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3
#define | VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL 4
#define | VL53L1_RANGESTATUS_HARDWARE_FAIL 5
#define | VL53L1_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL 6
#define | VL53L1_RANGESTATUS_WRAP_TARGET_FAIL 7
#define | VL53L1_RANGESTATUS_PROCESSING_FAIL 8
#define | VL53L1_RANGESTATUS_XTALK_SIGNAL_FAIL 9
#define | VL53L1_RANGESTATUS_SYNCRONISATION_INT 10
#define | VL53L1_RANGESTATUS_RANGE_VALID_MERGED_PULSE 11
#define | VL53L1_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12
#define | VL53L1_RANGESTATUS_MIN_RANGE_FAIL 13
#define | VL53L1_RANGESTATUS_RANGE_INVALID 14
#define | VL53L1_RANGESTATUS_NONE 255

Detailed Description

Macro Definition Documentation

◆ VL53L1_RANGESTATUS_RANGE_VALID

#define VL53L1_RANGESTATUS_RANGE_VALID 0

The Range is valid.

Definition at line 647 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_SIGMA_FAIL

#define VL53L1_RANGESTATUS_SIGMA_FAIL 1

Sigma Fail.

Definition at line 649 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_SIGNAL_FAIL

#define VL53L1_RANGESTATUS_SIGNAL_FAIL 2

Signal fail.

Definition at line 651 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED

#define VL53L1_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3

Target is below minimum detection threshold.

Definition at line 653 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL

#define VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL 4

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

Definition at line 655 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_HARDWARE_FAIL

#define VL53L1_RANGESTATUS_HARDWARE_FAIL 5

Hardware fail.

Definition at line 657 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL

#define VL53L1_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL 6

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

Definition at line 659 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_WRAP_TARGET_FAIL

#define VL53L1_RANGESTATUS_WRAP_TARGET_FAIL 7

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

Definition at line 661 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_PROCESSING_FAIL

#define VL53L1_RANGESTATUS_PROCESSING_FAIL 8

Internal algo underflow or overflow in lite ranging.

Definition at line 663 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_XTALK_SIGNAL_FAIL

#define VL53L1_RANGESTATUS_XTALK_SIGNAL_FAIL 9

Specific to lite ranging.

Definition at line 665 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_SYNCRONISATION_INT

#define VL53L1_RANGESTATUS_SYNCRONISATION_INT 10

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

Definition at line 667 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_RANGE_VALID_MERGED_PULSE

#define VL53L1_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 671 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL

#define VL53L1_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12

Used by RQL as different to phase fail.

Definition at line 673 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_MIN_RANGE_FAIL

#define VL53L1_RANGESTATUS_MIN_RANGE_FAIL 13

User ROI input is not valid e.g. beyond SPAD Array.

Definition at line 675 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_RANGE_INVALID

#define VL53L1_RANGESTATUS_RANGE_INVALID 14

lld returned valid range but negative value !

Definition at line 677 of file vl53l1_def.h.

◆ VL53L1_RANGESTATUS_NONE

#define VL53L1_RANGESTATUS_NONE 255

No Update.

Definition at line 679 of file vl53l1_def.h.


VL53L1 API Specification: General Macro Defines

Macros
General Macro Defines
VL53L1 Defines

General Macro Defines. More...

Macros

#define | VL53L1_SETPARAMETERFIELD(Dev, field, value) (VL53L1DevDataSet(Dev, CurrentParameters.field, value))
#define | VL53L1_GETPARAMETERFIELD(Dev, field, variable) (variable = VL53L1DevDataGet(Dev, CurrentParameters).field)
#define | VL53L1_SETARRAYPARAMETERFIELD(Dev, field, index, value) (VL53L1DevDataSet(Dev, CurrentParameters.field[index], value))
#define | VL53L1_GETARRAYPARAMETERFIELD(Dev, field, index, variable) (variable = VL53L1DevDataGet(Dev, CurrentParameters).field[index])
#define | VL53L1_SETDEVICESPECIFICPARAMETER(Dev, field, value) (VL53L1DevDataSet(Dev, DeviceSpecificParameters.field, value))
#define | VL53L1_GETDEVICESPECIFICPARAMETER(Dev, field) (VL53L1DevDataGet(Dev, DeviceSpecificParameters).field)
#define | VL53L1_FIXPOINT1616TOFIXPOINT44(Value) (uint16_t)((Value>>12)&0xFFFF)
#define | VL53L1_FIXPOINT44TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<12)
#define | VL53L1_FIXPOINT1616TOFIXPOINT72(Value) (uint16_t)((Value>>14)&0xFFFF)
#define | VL53L1_FIXPOINT72TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53L1_FIXPOINT1616TOFIXPOINT97(Value) (uint16_t)((Value>>9)&0xFFFF)
#define | VL53L1_FIXPOINT97TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<9)
#define | VL53L1_FIXPOINT1616TOFIXPOINT88(Value) (uint16_t)((Value>>8)&0xFFFF)
#define | VL53L1_FIXPOINT88TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<8)
#define | VL53L1_FIXPOINT1616TOFIXPOINT412(Value) (uint16_t)((Value>>4)&0xFFFF)
#define | VL53L1_FIXPOINT412TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<4)
#define | VL53L1_FIXPOINT1616TOFIXPOINT313(Value) (uint16_t)((Value>>3)&0xFFFF)
#define | VL53L1_FIXPOINT313TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<3)
#define | VL53L1_FIXPOINT1616TOFIXPOINT08(Value) (uint8_t)((Value>>8)&0x00FF)
#define | VL53L1_FIXPOINT08TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<8)
#define | VL53L1_FIXPOINT1616TOFIXPOINT53(Value) (uint8_t)((Value>>13)&0x00FF)
#define | VL53L1_FIXPOINT53TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<13)
#define | VL53L1_FIXPOINT1616TOFIXPOINT102(Value) (uint16_t)((Value>>14)&0x0FFF)
#define | VL53L1_FIXPOINT102TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53L1_FIXPOINT1616TOFIXPOINT142(Value) (uint16_t)((Value>>14)&0xFFFF)
#define | VL53L1_FIXPOINT142TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53L1_FIXPOINT1616TOFIXPOINT160(Value) (uint16_t)((Value>>16)&0xFFFF)
#define | VL53L1_FIXPOINT160TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<16)
#define | VL53L1_MAKEUINT16(lsb, msb)

Detailed Description

General Macro Defines.

Macro Definition Documentation

◆ VL53L1_SETPARAMETERFIELD

#define VL53L1_SETPARAMETERFIELD | ( | Dev,
 |  | field,
 |  | value
 | ) | (VL53L1DevDataSet(Dev, CurrentParameters.field, value))

Definition at line 708 of file vl53l1_def.h.

◆ VL53L1_GETPARAMETERFIELD

#define VL53L1_GETPARAMETERFIELD | ( | Dev,
 |  | field,
 |  | variable
 | ) | (variable = VL53L1DevDataGet(Dev, CurrentParameters).field)

Definition at line 711 of file vl53l1_def.h.

◆ VL53L1_SETARRAYPARAMETERFIELD

#define VL53L1_SETARRAYPARAMETERFIELD | ( | Dev,
 |  | field,
 |  | index,
 |  | value
 | ) | (VL53L1DevDataSet(Dev, CurrentParameters.field[index], value))

Definition at line 715 of file vl53l1_def.h.

◆ VL53L1_GETARRAYPARAMETERFIELD

#define VL53L1_GETARRAYPARAMETERFIELD | ( | Dev,
 |  | field,
 |  | index,
 |  | variable
 | ) | (variable = VL53L1DevDataGet(Dev, CurrentParameters).field[index])

Definition at line 718 of file vl53l1_def.h.

◆ VL53L1_SETDEVICESPECIFICPARAMETER

#define VL53L1_SETDEVICESPECIFICPARAMETER | ( | Dev,
 |  | field,
 |  | value
 | ) | (VL53L1DevDataSet(Dev, DeviceSpecificParameters.field, value))

Definition at line 722 of file vl53l1_def.h.

◆ VL53L1_GETDEVICESPECIFICPARAMETER

#define VL53L1_GETDEVICESPECIFICPARAMETER | ( | Dev,
 |  | field
 | ) | (VL53L1DevDataGet(Dev, DeviceSpecificParameters).field)

Definition at line 725 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT44

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

Definition at line 729 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT44TOFIXPOINT1616

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

Definition at line 731 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT72

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

Definition at line 734 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT72TOFIXPOINT1616

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

Definition at line 736 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT97

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

Definition at line 739 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT97TOFIXPOINT1616

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

Definition at line 741 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT88

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

Definition at line 744 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT88TOFIXPOINT1616

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

Definition at line 746 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT412

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

Definition at line 749 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT412TOFIXPOINT1616

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

Definition at line 751 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT313

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

Definition at line 754 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT313TOFIXPOINT1616

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

Definition at line 756 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT08

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

Definition at line 759 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT08TOFIXPOINT1616

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

Definition at line 761 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT53

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

Definition at line 764 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT53TOFIXPOINT1616

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

Definition at line 766 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT102

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

Definition at line 769 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT102TOFIXPOINT1616

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

Definition at line 771 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT142

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

Definition at line 774 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT142TOFIXPOINT1616

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

Definition at line 776 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT1616TOFIXPOINT160

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

Definition at line 779 of file vl53l1_def.h.

◆ VL53L1_FIXPOINT160TOFIXPOINT1616

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

Definition at line 781 of file vl53l1_def.h.

◆ VL53L1_MAKEUINT16

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

Definition at line 784 of file vl53l1_def.h.


VL53L1 API Specification: VL53L1_Version_t Struct Reference

Data Fields
VL53L1_Version_t Struct Reference
VL53L1 Defines

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

#include <vl53l1_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 50 of file vl53l1_def.h.

Field Documentation

◆ revision

uint32_t VL53L1_Version_t::revision

revision number

Definition at line 51 of file vl53l1_def.h.

◆ major

uint8_t VL53L1_Version_t::major

major number

Definition at line 52 of file vl53l1_def.h.

◆ minor

uint8_t VL53L1_Version_t::minor

minor number

Definition at line 53 of file vl53l1_def.h.

◆ build

uint8_t VL53L1_Version_t::build

build number

Definition at line 54 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_DeviceInfo_t Struct Reference

Data Fields
VL53L1_DeviceInfo_t Struct Reference
VL53L1 Defines

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

#include <vl53l1_def.h>

Data Fields

char | Name [VL53L1_DEVINFO_STRLEN]
char | Type [VL53L1_DEVINFO_STRLEN]
char | ProductId [VL53L1_DEVINFO_STRLEN]
uint8_t ProductType
uint8_t ProductRevisionMajor
uint8_t ProductRevisionMinor

Detailed Description

Defines the parameters of the Get Device Info Functions.

Definition at line 62 of file vl53l1_def.h.

Field Documentation

◆ Name

char VL53L1_DeviceInfo_t::Name[VL53L1_DEVINFO_STRLEN]

Full Name of the Device e.g. VL53L1 cut1.1

Definition at line 63 of file vl53l1_def.h.

◆ Type

char VL53L1_DeviceInfo_t::Type[VL53L1_DEVINFO_STRLEN]

Type of the Device e.g VL53L1

Definition at line 65 of file vl53l1_def.h.

◆ ProductId

char VL53L1_DeviceInfo_t::ProductId[VL53L1_DEVINFO_STRLEN]

Product Identifier String

Warning
Not yet implemented

Definition at line 67 of file vl53l1_def.h.

◆ ProductType

uint8_t VL53L1_DeviceInfo_t::ProductType

Product Type, VL53L1 = 0xCC, VL53L3 = 0xAA Stands as module_type in the datasheet

Definition at line 71 of file vl53l1_def.h.

◆ ProductRevisionMajor

uint8_t VL53L1_DeviceInfo_t::ProductRevisionMajor

Product revision major

Definition at line 75 of file vl53l1_def.h.

◆ ProductRevisionMinor

uint8_t VL53L1_DeviceInfo_t::ProductRevisionMinor

Product revision minor

Definition at line 77 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_DistanceThreshold_t Struct Reference

Data Fields
VL53L1_DistanceThreshold_t Struct Reference
VL53L1 Defines

Defines parameters for Distance detection Thresholds configuration. More...

#include <vl53l1_def.h>

Data Fields

VL53L1_ThresholdMode CrossMode
uint16_t High
uint16_t Low

Detailed Description

Defines parameters for Distance detection Thresholds configuration.

Definition at line 231 of file vl53l1_def.h.

Field Documentation

◆ CrossMode

VL53L1_ThresholdMode VL53L1_DistanceThreshold_t::CrossMode

Definition at line 232 of file vl53l1_def.h.

◆ High

uint16_t VL53L1_DistanceThreshold_t::High

Distance threshold high limit in mm

Definition at line 233 of file vl53l1_def.h.

◆ Low

uint16_t VL53L1_DistanceThreshold_t::Low

Distance threshold low limit in mm

Definition at line 234 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_RateThreshold_t Struct Reference

Data Fields
VL53L1_RateThreshold_t Struct Reference
VL53L1 Defines

Defines parameters for Signal rate detection Thresholds configuration. More...

#include <vl53l1_def.h>

Data Fields

VL53L1_ThresholdMode CrossMode
FixPoint1616_t High
FixPoint1616_t Low

Detailed Description

Defines parameters for Signal rate detection Thresholds configuration.

Definition at line 239 of file vl53l1_def.h.

Field Documentation

◆ CrossMode

VL53L1_ThresholdMode VL53L1_RateThreshold_t::CrossMode

Definition at line 240 of file vl53l1_def.h.

◆ High

FixPoint1616_t VL53L1_RateThreshold_t::High

Signal rate threshold high limit

Definition at line 241 of file vl53l1_def.h.

◆ Low

FixPoint1616_t VL53L1_RateThreshold_t::Low

Signal rate threshold low limit

Definition at line 242 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_DetectionConfig_t Struct Reference

Data Fields
VL53L1_DetectionConfig_t Struct Reference
VL53L1 Defines

Defines parameters for User/object Detection configuration. More...

#include <vl53l1_def.h>

Data Fields

VL53L1_DetectionMode DetectionMode
uint8_t IntrNoTarget
VL53L1_DistanceThreshold_t Distance
VL53L1_RateThreshold_t Rate

Detailed Description

Defines parameters for User/object Detection configuration.

Definition at line 275 of file vl53l1_def.h.

Field Documentation

◆ DetectionMode

VL53L1_DetectionMode VL53L1_DetectionConfig_t::DetectionMode

See VL53L1_DetectionMode

Definition at line 276 of file vl53l1_def.h.

◆ IntrNoTarget

uint8_t VL53L1_DetectionConfig_t::IntrNoTarget

1 to trigger IT in case of no target found

Definition at line 277 of file vl53l1_def.h.

◆ Distance

VL53L1_DistanceThreshold_t VL53L1_DetectionConfig_t::Distance

limits in mm

Definition at line 278 of file vl53l1_def.h.

◆ Rate

VL53L1_RateThreshold_t VL53L1_DetectionConfig_t::Rate

limits in FixPoint1616_t

Definition at line 279 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_DeviceParameters_t Struct Reference

Data Fields
VL53L1_DeviceParameters_t Struct Reference
VL53L1 Defines

Defines all parameters for the device. More...

#include <vl53l1_def.h>

Data Fields

VL53L1_PresetModes PresetMode
VL53L1_OutputModes OutputMode
VL53L1_DistanceModes DistanceMode
uint32_t MeasurementTimingBudgetMicroSeconds
uint8_t LimitChecksEnable [VL53L1_CHECKENABLE_NUMBER_OF_CHECKS]
uint8_t LimitChecksStatus [VL53L1_CHECKENABLE_NUMBER_OF_CHECKS]
FixPoint1616_t LimitChecksValue [VL53L1_CHECKENABLE_NUMBER_OF_CHECKS]
FixPoint1616_t LimitChecksCurrent [VL53L1_CHECKENABLE_NUMBER_OF_CHECKS]

Detailed Description

Defines all parameters for the device.

Definition at line 285 of file vl53l1_def.h.

Field Documentation

◆ PresetMode

VL53L1_PresetModes VL53L1_DeviceParameters_t::PresetMode

Defines the operating mode to be used for the next measure

Definition at line 286 of file vl53l1_def.h.

◆ OutputMode

VL53L1_OutputModes VL53L1_DeviceParameters_t::OutputMode

Defines the Output mode to be used for the next measure

Definition at line 288 of file vl53l1_def.h.

◆ DistanceMode

VL53L1_DistanceModes VL53L1_DeviceParameters_t::DistanceMode

Defines the operating mode to be used for the next measure

Definition at line 290 of file vl53l1_def.h.

◆ MeasurementTimingBudgetMicroSeconds

uint32_t VL53L1_DeviceParameters_t::MeasurementTimingBudgetMicroSeconds

Defines the allowed total time for a single measurement

Definition at line 292 of file vl53l1_def.h.

◆ LimitChecksEnable

uint8_t VL53L1_DeviceParameters_t::LimitChecksEnable[VL53L1_CHECKENABLE_NUMBER_OF_CHECKS]

This Array store all the Limit Check enable for this device.

Definition at line 294 of file vl53l1_def.h.

◆ LimitChecksStatus

uint8_t VL53L1_DeviceParameters_t::LimitChecksStatus[VL53L1_CHECKENABLE_NUMBER_OF_CHECKS]

This Array stores all the Status of the check linked to last measurement.

Definition at line 296 of file vl53l1_def.h.

◆ LimitChecksValue

FixPoint1616_t VL53L1_DeviceParameters_t::LimitChecksValue[VL53L1_CHECKENABLE_NUMBER_OF_CHECKS]

This Array stores all the Limit Check value for this device

Definition at line 300 of file vl53l1_def.h.

◆ LimitChecksCurrent

FixPoint1616_t VL53L1_DeviceParameters_t::LimitChecksCurrent[VL53L1_CHECKENABLE_NUMBER_OF_CHECKS]

This Array stores all the Limit Check current value from latest ranging

Definition at line 302 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_RangingMeasurementData_t Struct Reference

Data Fields
VL53L1_RangingMeasurementData_t Struct Reference
VL53L1 Defines

Single Range measurement data. More...

#include <vl53l1_def.h>

Data Fields

uint32_t TimeStamp
uint8_t StreamCount
uint8_t RangeQualityLevel
FixPoint1616_t SignalRateRtnMegaCps
FixPoint1616_t AmbientRateRtnMegaCps
uint16_t EffectiveSpadRtnCount
FixPoint1616_t SigmaMilliMeter
int16_t RangeMilliMeter
uint8_t RangeFractionalPart
uint8_t RangeStatus

Detailed Description

Single Range measurement data.

Definition at line 360 of file vl53l1_def.h.

Field Documentation

◆ TimeStamp

uint32_t VL53L1_RangingMeasurementData_t::TimeStamp

32-bit time stamp.

Warning
Not yet implemented

Definition at line 361 of file vl53l1_def.h.

◆ StreamCount

uint8_t VL53L1_RangingMeasurementData_t::StreamCount

8-bit Stream Count.

Definition at line 366 of file vl53l1_def.h.

◆ RangeQualityLevel

uint8_t VL53L1_RangingMeasurementData_t::RangeQualityLevel

indicate a quality level in percentage from 0 to 100

Warning
Not yet implemented

Definition at line 369 of file vl53l1_def.h.

◆ SignalRateRtnMegaCps

FixPoint1616_t VL53L1_RangingMeasurementData_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 374 of file vl53l1_def.h.

◆ AmbientRateRtnMegaCps

FixPoint1616_t VL53L1_RangingMeasurementData_t::AmbientRateRtnMegaCps

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

Definition at line 380 of file vl53l1_def.h.

◆ EffectiveSpadRtnCount

uint16_t VL53L1_RangingMeasurementData_t::EffectiveSpadRtnCount

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

Definition at line 386 of file vl53l1_def.h.

◆ SigmaMilliMeter

FixPoint1616_t VL53L1_RangingMeasurementData_t::SigmaMilliMeter

Return the Sigma value in millimeter

Definition at line 391 of file vl53l1_def.h.

◆ RangeMilliMeter

int16_t VL53L1_RangingMeasurementData_t::RangeMilliMeter

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

Definition at line 394 of file vl53l1_def.h.

◆ RangeFractionalPart

uint8_t VL53L1_RangingMeasurementData_t::RangeFractionalPart

Fractional part of range distance. Final value is a RangeMilliMeter + RangeFractionalPart/256.

Warning
Not yet implemented

Definition at line 399 of file vl53l1_def.h.

◆ RangeStatus

uint8_t VL53L1_RangingMeasurementData_t::RangeStatus

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

Definition at line 405 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_TargetRangeData_t Struct Reference

Data Fields
VL53L1_TargetRangeData_t Struct Reference
VL53L1 Defines

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

#include <vl53l1_def.h>

Data Fields

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

Detailed Description

One Range measurement data for each target.

Definition at line 415 of file vl53l1_def.h.

Field Documentation

◆ RangeQualityLevel

uint8_t VL53L1_TargetRangeData_t::RangeQualityLevel

indicate a quality level in percentage from 0 to 100

Warning
Not yet implemented

Definition at line 416 of file vl53l1_def.h.

◆ RangeMaxMilliMeter

int16_t VL53L1_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 421 of file vl53l1_def.h.

◆ RangeMinMilliMeter

int16_t VL53L1_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 427 of file vl53l1_def.h.

◆ SignalRateRtnMegaCps

FixPoint1616_t VL53L1_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 433 of file vl53l1_def.h.

◆ AmbientRateRtnMegaCps

FixPoint1616_t VL53L1_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 439 of file vl53l1_def.h.

◆ SigmaMilliMeter

FixPoint1616_t VL53L1_TargetRangeData_t::SigmaMilliMeter

Return the Sigma value in millimeter

Definition at line 445 of file vl53l1_def.h.

◆ RangeMilliMeter

int16_t VL53L1_TargetRangeData_t::RangeMilliMeter

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

Definition at line 448 of file vl53l1_def.h.

◆ RangeFractionalPart

uint8_t VL53L1_TargetRangeData_t::RangeFractionalPart

Fractional part of range distance. Final value is a RangeMilliMeter + RangeFractionalPart/256.

Warning
Not yet implemented

Definition at line 453 of file vl53l1_def.h.

◆ RangeStatus

uint8_t VL53L1_TargetRangeData_t::RangeStatus

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

Definition at line 459 of file vl53l1_def.h.

◆ ExtendedRange

uint8_t VL53L1_TargetRangeData_t::ExtendedRange

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

Definition at line 464 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_MultiRangingData_t Struct Reference

Data Fields
VL53L1_MultiRangingData_t Struct Reference
VL53L1 Defines

Structure for storing the set of range results for a single ROI. More...

#include <vl53l1_def.h>

Data Fields

uint32_t TimeStamp
uint8_t StreamCount
uint8_t RoiNumber
uint8_t NumberOfObjectsFound
VL53L1_RoiStatus RoiStatus
VL53L1_TargetRangeData_t RangeData [VL53L1_MAX_RANGE_RESULTS]
uint8_t HasXtalkValueChanged
uint16_t EffectiveSpadRtnCount
int16_t DmaxMilliMeter
VL53L1_DistanceModes RecommendedDistanceMode

Detailed Description

Structure for storing the set of range results for a single ROI.

Definition at line 475 of file vl53l1_def.h.

Field Documentation

◆ TimeStamp

uint32_t VL53L1_MultiRangingData_t::TimeStamp

32-bit time stamp.

Warning
Not yet implemented

Definition at line 476 of file vl53l1_def.h.

◆ StreamCount

uint8_t VL53L1_MultiRangingData_t::StreamCount

8-bit Stream Count.

Definition at line 481 of file vl53l1_def.h.

◆ RoiNumber

uint8_t VL53L1_MultiRangingData_t::RoiNumber

Denotes on which ROI the range data is related to.

Definition at line 484 of file vl53l1_def.h.

◆ NumberOfObjectsFound

uint8_t VL53L1_MultiRangingData_t::NumberOfObjectsFound

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

Definition at line 486 of file vl53l1_def.h.

◆ RoiStatus

VL53L1_RoiStatus VL53L1_MultiRangingData_t::RoiStatus

Indicate if the data read is valid or not or if this is the last valid data in the ROI.

Definition at line 492 of file vl53l1_def.h.

◆ RangeData

VL53L1_TargetRangeData_t VL53L1_MultiRangingData_t::RangeData[VL53L1_MAX_RANGE_RESULTS]

Range data each target distance

Definition at line 496 of file vl53l1_def.h.

◆ HasXtalkValueChanged

uint8_t VL53L1_MultiRangingData_t::HasXtalkValueChanged

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

Definition at line 498 of file vl53l1_def.h.

◆ EffectiveSpadRtnCount

uint16_t VL53L1_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 505 of file vl53l1_def.h.

◆ DmaxMilliMeter

int16_t VL53L1_MultiRangingData_t::DmaxMilliMeter

range Dmax distance in millimeter.

Definition at line 509 of file vl53l1_def.h.

◆ RecommendedDistanceMode

VL53L1_DistanceModes VL53L1_MultiRangingData_t::RecommendedDistanceMode

suggestion for a better distance mode choice to improve range accuracy.

Definition at line 512 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_UserRoi_t Struct Reference

Data Fields
VL53L1_UserRoi_t Struct Reference
VL53L1 Defines

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

#include <vl53l1_def.h>

Data Fields

uint8_t TopLeftX
uint8_t TopLeftY
uint8_t BotRightX
uint8_t BotRightY

Detailed Description

Defines User Zone(ROI) parameters.

Definition at line 522 of file vl53l1_def.h.

Field Documentation

◆ TopLeftX

uint8_t VL53L1_UserRoi_t::TopLeftX

Top Left x coordinate: 0-15 range

Definition at line 524 of file vl53l1_def.h.

◆ TopLeftY

uint8_t VL53L1_UserRoi_t::TopLeftY

Top Left y coordinate: 0-15 range

Definition at line 525 of file vl53l1_def.h.

◆ BotRightX

uint8_t VL53L1_UserRoi_t::BotRightX

Bot Right x coordinate: 0-15 range

Definition at line 526 of file vl53l1_def.h.

◆ BotRightY

uint8_t VL53L1_UserRoi_t::BotRightY

Bot Right y coordinate: 0-15 range

Definition at line 527 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_RoiConfig_t Struct Reference

Data Fields
VL53L1_RoiConfig_t Struct Reference
VL53L1 Defines

Defines ROI configuration parameters. More...

#include <vl53l1_def.h>

Data Fields

uint8_t NumberOfRoi
VL53L1_UserRoi_t UserRois [VL53L1_MAX_USER_ZONES]

Detailed Description

Defines ROI configuration parameters.

Support up a max of 16 zones, Each Zone has the same size

Definition at line 537 of file vl53l1_def.h.

Field Documentation

◆ NumberOfRoi

uint8_t VL53L1_RoiConfig_t::NumberOfRoi

Number of Rois defined

Definition at line 539 of file vl53l1_def.h.

◆ UserRois

VL53L1_UserRoi_t VL53L1_RoiConfig_t::UserRois[VL53L1_MAX_USER_ZONES]

List of Rois

Definition at line 541 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_CustomerNvmManaged_t Struct Reference

Data Fields
VL53L1_CustomerNvmManaged_t Struct Reference
VL53L1 Defines

#include <vl53l1_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 551 of file vl53l1_def.h.

Field Documentation

◆ global_config__spad_enables_ref_0

uint8_t VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_0

Definition at line 552 of file vl53l1_def.h.

◆ global_config__spad_enables_ref_1

uint8_t VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_1

Definition at line 553 of file vl53l1_def.h.

◆ global_config__spad_enables_ref_2

uint8_t VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_2

Definition at line 554 of file vl53l1_def.h.

◆ global_config__spad_enables_ref_3

uint8_t VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_3

Definition at line 555 of file vl53l1_def.h.

◆ global_config__spad_enables_ref_4

uint8_t VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_4

Definition at line 556 of file vl53l1_def.h.

◆ global_config__spad_enables_ref_5

uint8_t VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_5

Definition at line 557 of file vl53l1_def.h.

◆ global_config__ref_en_start_select

uint8_t VL53L1_CustomerNvmManaged_t::global_config__ref_en_start_select

Definition at line 558 of file vl53l1_def.h.

◆ ref_spad_man__num_requested_ref_spads

uint8_t VL53L1_CustomerNvmManaged_t::ref_spad_man__num_requested_ref_spads

Definition at line 559 of file vl53l1_def.h.

◆ ref_spad_man__ref_location

uint8_t VL53L1_CustomerNvmManaged_t::ref_spad_man__ref_location

Definition at line 560 of file vl53l1_def.h.

◆ algo__crosstalk_compensation_plane_offset_kcps

uint32_t VL53L1_CustomerNvmManaged_t::algo__crosstalk_compensation_plane_offset_kcps

Definition at line 561 of file vl53l1_def.h.

◆ algo__crosstalk_compensation_x_plane_gradient_kcps

int16_t VL53L1_CustomerNvmManaged_t::algo__crosstalk_compensation_x_plane_gradient_kcps

Definition at line 562 of file vl53l1_def.h.

◆ algo__crosstalk_compensation_y_plane_gradient_kcps

int16_t VL53L1_CustomerNvmManaged_t::algo__crosstalk_compensation_y_plane_gradient_kcps

Definition at line 563 of file vl53l1_def.h.

◆ ref_spad_char__total_rate_target_mcps

uint16_t VL53L1_CustomerNvmManaged_t::ref_spad_char__total_rate_target_mcps

Definition at line 564 of file vl53l1_def.h.

◆ algo__part_to_part_range_offset_mm

int16_t VL53L1_CustomerNvmManaged_t::algo__part_to_part_range_offset_mm

Definition at line 565 of file vl53l1_def.h.

◆ mm_config__inner_offset_mm

int16_t VL53L1_CustomerNvmManaged_t::mm_config__inner_offset_mm

Definition at line 566 of file vl53l1_def.h.

◆ mm_config__outer_offset_mm

int16_t VL53L1_CustomerNvmManaged_t::mm_config__outer_offset_mm

Definition at line 567 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_CalibrationData_t Struct Reference

Data Fields
VL53L1_CalibrationData_t Struct Reference
VL53L1 Defines

Structure for storing the Calibration Data. More...

#include <vl53l1_def.h>

Data Fields

uint32_t struct_version
VL53L1_CustomerNvmManaged_t customer
VL53L1_dmax_calibration_data_t | fmt_dmax_cal
VL53L1_dmax_calibration_data_t | cust_dmax_cal
VL53L1_additional_offset_cal_data_t | add_off_cal_data
VL53L1_optical_centre_t | optical_centre
VL53L1_xtalk_histogram_data_t | xtalkhisto
VL53L1_gain_calibration_data_t | gain_cal
VL53L1_cal_peak_rate_map_t | cal_peak_rate_map
VL53L1_per_vcsel_period_offset_cal_data_t | per_vcsel_cal_data
uint32_t | algo__xtalk_cpo_HistoMerge_kcps [VL53L1_BIN_REC_SIZE]

Detailed Description

Structure for storing the Calibration Data.

Definition at line 576 of file vl53l1_def.h.

Field Documentation

◆ struct_version

uint32_t VL53L1_CalibrationData_t::struct_version

Definition at line 578 of file vl53l1_def.h.

◆ customer

VL53L1_CustomerNvmManaged_t VL53L1_CalibrationData_t::customer

Definition at line 579 of file vl53l1_def.h.

◆ fmt_dmax_cal

VL53L1_dmax_calibration_data_t VL53L1_CalibrationData_t::fmt_dmax_cal

Definition at line 580 of file vl53l1_def.h.

◆ cust_dmax_cal

VL53L1_dmax_calibration_data_t VL53L1_CalibrationData_t::cust_dmax_cal

Definition at line 581 of file vl53l1_def.h.

◆ add_off_cal_data

VL53L1_additional_offset_cal_data_t VL53L1_CalibrationData_t::add_off_cal_data

Definition at line 582 of file vl53l1_def.h.

◆ optical_centre

VL53L1_optical_centre_t VL53L1_CalibrationData_t::optical_centre

Definition at line 583 of file vl53l1_def.h.

◆ xtalkhisto

VL53L1_xtalk_histogram_data_t VL53L1_CalibrationData_t::xtalkhisto

Definition at line 584 of file vl53l1_def.h.

◆ gain_cal

VL53L1_gain_calibration_data_t VL53L1_CalibrationData_t::gain_cal

Definition at line 585 of file vl53l1_def.h.

◆ cal_peak_rate_map

VL53L1_cal_peak_rate_map_t VL53L1_CalibrationData_t::cal_peak_rate_map

Definition at line 586 of file vl53l1_def.h.

◆ per_vcsel_cal_data

VL53L1_per_vcsel_period_offset_cal_data_t VL53L1_CalibrationData_t::per_vcsel_cal_data

Definition at line 587 of file vl53l1_def.h.

◆ algo__xtalk_cpo_HistoMerge_kcps

uint32_t VL53L1_CalibrationData_t::algo__xtalk_cpo_HistoMerge_kcps[VL53L1_BIN_REC_SIZE]

Definition at line 588 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_DevData_t Struct Reference

Data Fields
VL53L1_DevData_t Struct Reference
VL53L1 Defines

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

#include <vl53l1_def.h>

Data Fields

VL53L1_LLDriverData_t | LLData
VL53L1_LLDriverResults_t | llresults
VL53L1_State PalState
VL53L1_DeviceParameters_t CurrentParameters

Detailed Description

Contains the Internal data of the Bare Driver.

Definition at line 687 of file vl53l1_def.h.

Field Documentation

◆ LLData

VL53L1_LLDriverData_t VL53L1_DevData_t::LLData

Low Level Driver data structure

Definition at line 688 of file vl53l1_def.h.

◆ llresults

VL53L1_LLDriverResults_t VL53L1_DevData_t::llresults

Low Level Driver data structure

Definition at line 691 of file vl53l1_def.h.

◆ PalState

VL53L1_State VL53L1_DevData_t::PalState

Definition at line 694 of file vl53l1_def.h.

◆ CurrentParameters

VL53L1_DeviceParameters_t VL53L1_DevData_t::CurrentParameters

Current Device Parameter

Definition at line 695 of file vl53l1_def.h.

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


VL53L1 API Specification: VL53L1_AdditionalData_t Struct Reference

VL53L1_AdditionalData_t Struct Reference
VL53L1 Defines

Structure for storing the Additional Data. More...

#include <vl53l1_def.h>

Detailed Description

Structure for storing the Additional Data.

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


VL53L1 API Specification: VL53L1_ZoneCalibrationData_t Struct Reference

VL53L1_ZoneCalibrationData_t Struct Reference
VL53L1 Defines

Structure for storing the Zone Calibration Data. More...

#include <vl53l1_def.h>

Detailed Description

Structure for storing the Zone Calibration Data.

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


VL53L1 API Specification: Error and Warning code returned by API

Macros | Typedefs
Error and Warning code returned by API

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

Macros

#define | VL53L1_ERROR_NONE ((VL53L1_Error) 0)
#define | VL53L1_ERROR_CALIBRATION_WARNING ((VL53L1_Error) - 1)
#define | VL53L1_ERROR_MIN_CLIPPED ((VL53L1_Error) - 2)
#define | VL53L1_ERROR_UNDEFINED ((VL53L1_Error) - 3)
#define | VL53L1_ERROR_INVALID_PARAMS ((VL53L1_Error) - 4)
#define | VL53L1_ERROR_NOT_SUPPORTED ((VL53L1_Error) - 5)
#define | VL53L1_ERROR_RANGE_ERROR ((VL53L1_Error) - 6)
#define | VL53L1_ERROR_TIME_OUT ((VL53L1_Error) - 7)
#define | VL53L1_ERROR_MODE_NOT_SUPPORTED ((VL53L1_Error) - 8)
#define | VL53L1_ERROR_BUFFER_TOO_SMALL ((VL53L1_Error) - 9)
#define | VL53L1_ERROR_COMMS_BUFFER_TOO_SMALL ((VL53L1_Error) - 10)
#define | VL53L1_ERROR_GPIO_NOT_EXISTING ((VL53L1_Error) - 11)
#define | VL53L1_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53L1_Error) - 12)
#define | VL53L1_ERROR_CONTROL_INTERFACE ((VL53L1_Error) - 13)
#define | VL53L1_ERROR_INVALID_COMMAND ((VL53L1_Error) - 14)
#define | VL53L1_ERROR_DIVISION_BY_ZERO ((VL53L1_Error) - 15)
#define | VL53L1_ERROR_REF_SPAD_INIT ((VL53L1_Error) - 16)
#define | VL53L1_ERROR_GPH_SYNC_CHECK_FAIL ((VL53L1_Error) - 17)
#define | VL53L1_ERROR_STREAM_COUNT_CHECK_FAIL ((VL53L1_Error) - 18)
#define | VL53L1_ERROR_GPH_ID_CHECK_FAIL ((VL53L1_Error) - 19)
#define | VL53L1_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL ((VL53L1_Error) - 20)
#define | VL53L1_ERROR_ZONE_GPH_ID_CHECK_FAIL ((VL53L1_Error) - 21)
#define | VL53L1_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL ((VL53L1_Error) - 22)
#define | VL53L1_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL ((VL53L1_Error) - 23)
#define | VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL ((VL53L1_Error) - 24)
#define | VL53L1_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL ((VL53L1_Error) - 25)
#define | VL53L1_ERROR_ZONE_CAL_NO_SAMPLE_FAIL ((VL53L1_Error) - 26)
#define | VL53L1_ERROR_TUNING_PARM_KEY_MISMATCH ((VL53L1_Error) - 27)
#define | VL53L1_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS ((VL53L1_Error) - 28)
#define | VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH ((VL53L1_Error) - 29)
#define | VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW ((VL53L1_Error) - 30)
#define | VL53L1_WARNING_OFFSET_CAL_MISSING_SAMPLES ((VL53L1_Error) - 31)
#define | VL53L1_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH ((VL53L1_Error) - 32)
#define | VL53L1_WARNING_OFFSET_CAL_RATE_TOO_HIGH ((VL53L1_Error) - 33)
#define | VL53L1_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW ((VL53L1_Error) - 34)
#define | VL53L1_WARNING_ZONE_CAL_MISSING_SAMPLES ((VL53L1_Error) - 35)
#define | VL53L1_WARNING_ZONE_CAL_SIGMA_TOO_HIGH ((VL53L1_Error) - 36)
#define | VL53L1_WARNING_ZONE_CAL_RATE_TOO_HIGH ((VL53L1_Error) - 37)
#define | VL53L1_WARNING_XTALK_MISSING_SAMPLES ((VL53L1_Error) - 38)
#define | VL53L1_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT ((VL53L1_Error) - 39)
#define | VL53L1_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT ((VL53L1_Error) - 40)
#define | VL53L1_ERROR_NOT_IMPLEMENTED ((VL53L1_Error) - 41)
#define | VL53L1_ERROR_PLATFORM_SPECIFIC_START ((VL53L1_Error) - 60)

Typedefs

typedef int8_t VL53L1_Error

Detailed Description

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

Macro Definition Documentation

◆ VL53L1_ERROR_NONE

#define VL53L1_ERROR_NONE ((VL53L1_Error) 0)

Definition at line 43 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_CALIBRATION_WARNING

#define VL53L1_ERROR_CALIBRATION_WARNING ((VL53L1_Error) - 1)

Warning invalid calibration data may be in used VL53L1_InitData() VL53L1_GetOffsetCalibrationData VL53L1_SetOffsetCalibrationData

Definition at line 49 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_MIN_CLIPPED

#define VL53L1_ERROR_MIN_CLIPPED ((VL53L1_Error) - 2)

Warning parameter passed was clipped to min before to be applied

Definition at line 51 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_UNDEFINED

#define VL53L1_ERROR_UNDEFINED ((VL53L1_Error) - 3)

Unqualified error

Definition at line 54 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_INVALID_PARAMS

#define VL53L1_ERROR_INVALID_PARAMS ((VL53L1_Error) - 4)

Parameter passed is invalid or out of range

Definition at line 56 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_NOT_SUPPORTED

#define VL53L1_ERROR_NOT_SUPPORTED ((VL53L1_Error) - 5)

Function is not supported in current mode or configuration

Definition at line 58 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_RANGE_ERROR

#define VL53L1_ERROR_RANGE_ERROR ((VL53L1_Error) - 6)

Device report a ranging error interrupt status

Definition at line 60 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_TIME_OUT

#define VL53L1_ERROR_TIME_OUT ((VL53L1_Error) - 7)

Aborted due to time out

Definition at line 62 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_MODE_NOT_SUPPORTED

#define VL53L1_ERROR_MODE_NOT_SUPPORTED ((VL53L1_Error) - 8)

Asked mode is not supported by the device

Definition at line 64 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_BUFFER_TOO_SMALL

#define VL53L1_ERROR_BUFFER_TOO_SMALL ((VL53L1_Error) - 9)

...

Definition at line 66 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_COMMS_BUFFER_TOO_SMALL

#define VL53L1_ERROR_COMMS_BUFFER_TOO_SMALL ((VL53L1_Error) - 10)

Supplied buffer is larger than I2C supports

Definition at line 68 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_GPIO_NOT_EXISTING

#define VL53L1_ERROR_GPIO_NOT_EXISTING ((VL53L1_Error) - 11)

User tried to setup a non-existing GPIO pin

Definition at line 70 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED

#define VL53L1_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53L1_Error) - 12)

unsupported GPIO functionality

Definition at line 72 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_CONTROL_INTERFACE

#define VL53L1_ERROR_CONTROL_INTERFACE ((VL53L1_Error) - 13)

error reported from IO functions

Definition at line 74 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_INVALID_COMMAND

#define VL53L1_ERROR_INVALID_COMMAND ((VL53L1_Error) - 14)

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

Definition at line 78 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_DIVISION_BY_ZERO

#define VL53L1_ERROR_DIVISION_BY_ZERO ((VL53L1_Error) - 15)

In the function a division by zero occurs

Definition at line 80 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_REF_SPAD_INIT

#define VL53L1_ERROR_REF_SPAD_INIT ((VL53L1_Error) - 16)

Error during reference SPAD initialization

Definition at line 82 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_GPH_SYNC_CHECK_FAIL

#define VL53L1_ERROR_GPH_SYNC_CHECK_FAIL ((VL53L1_Error) - 17)

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

Definition at line 84 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_STREAM_COUNT_CHECK_FAIL

#define VL53L1_ERROR_STREAM_COUNT_CHECK_FAIL ((VL53L1_Error) - 18)

Stream count check fail - API out of sync with device

Definition at line 86 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_GPH_ID_CHECK_FAIL

#define VL53L1_ERROR_GPH_ID_CHECK_FAIL ((VL53L1_Error) - 19)

GPH ID check fail - API out of sync with device

Definition at line 88 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL

#define VL53L1_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL ((VL53L1_Error) - 20)

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

Definition at line 90 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_ZONE_GPH_ID_CHECK_FAIL

#define VL53L1_ERROR_ZONE_GPH_ID_CHECK_FAIL ((VL53L1_Error) - 21)

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

Definition at line 92 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL

#define VL53L1_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL ((VL53L1_Error) - 22)

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

Definition at line 99 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL

#define VL53L1_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL ((VL53L1_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 106 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL

#define VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL ((VL53L1_Error) - 24)

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

Definition at line 112 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL

#define VL53L1_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL ((VL53L1_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 117 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_ZONE_CAL_NO_SAMPLE_FAIL

#define VL53L1_ERROR_ZONE_CAL_NO_SAMPLE_FAIL ((VL53L1_Error) - 26)

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

Definition at line 121 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_TUNING_PARM_KEY_MISMATCH

#define VL53L1_ERROR_TUNING_PARM_KEY_MISMATCH ((VL53L1_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 VL53L1_TUNINGPARM_KEY_TABLE_VERSION_DEFAULT

Definition at line 128 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS

#define VL53L1_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS ((VL53L1_Error) - 28)

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

Definition at line 131 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH

#define VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH ((VL53L1_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 136 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW

#define VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW ((VL53L1_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 141 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_OFFSET_CAL_MISSING_SAMPLES

#define VL53L1_WARNING_OFFSET_CAL_MISSING_SAMPLES ((VL53L1_Error) - 31)

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

Definition at line 147 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH

#define VL53L1_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH ((VL53L1_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 152 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_OFFSET_CAL_RATE_TOO_HIGH

#define VL53L1_WARNING_OFFSET_CAL_RATE_TOO_HIGH ((VL53L1_Error) - 33)

Thrown when VL53L1_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 157 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW

#define VL53L1_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW ((VL53L1_Error) - 34)

Thrown when VL53L1_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 162 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_ZONE_CAL_MISSING_SAMPLES

#define VL53L1_WARNING_ZONE_CAL_MISSING_SAMPLES ((VL53L1_Error) - 35)

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

Definition at line 168 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_ZONE_CAL_SIGMA_TOO_HIGH

#define VL53L1_WARNING_ZONE_CAL_SIGMA_TOO_HIGH ((VL53L1_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 173 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_ZONE_CAL_RATE_TOO_HIGH

#define VL53L1_WARNING_ZONE_CAL_RATE_TOO_HIGH ((VL53L1_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 178 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_XTALK_MISSING_SAMPLES

#define VL53L1_WARNING_XTALK_MISSING_SAMPLES ((VL53L1_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 vl53l1_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 188 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT

#define VL53L1_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT ((VL53L1_Error) - 39)

Thrown to notify that some of the xtalk samples used for gradient generation did not yield valid ranging pulse data while attempting to measure the xtalk signal in vl53l1_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 197 of file vl53l1_error_codes.h.

◆ VL53L1_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT

#define VL53L1_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT ((VL53L1_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 vl53l1_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 207 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_NOT_IMPLEMENTED

#define VL53L1_ERROR_NOT_IMPLEMENTED ((VL53L1_Error) - 41)

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

Definition at line 212 of file vl53l1_error_codes.h.

◆ VL53L1_ERROR_PLATFORM_SPECIFIC_START

#define VL53L1_ERROR_PLATFORM_SPECIFIC_START ((VL53L1_Error) - 60)

Tells the starting code for platform

Definition at line 214 of file vl53l1_error_codes.h.

Typedef Documentation

◆ VL53L1_Error

typedef int8_t VL53L1_Error

Definition at line 41 of file vl53l1_error_codes.h.


VL53L1 API Specification: Data Structures

Data Structures
Here are the data structures with brief descriptions:
C VL53L1_AdditionalData_t | Structure for storing the Additional Data
C VL53L1_CalibrationData_t | Structure for storing the Calibration Data
C VL53L1_CustomerNvmManaged_t |
C VL53L1_DetectionConfig_t | Defines parameters for User/object Detection configuration
C VL53L1_Dev_t |
C VL53L1_DevData_t | Contains the Internal data of the Bare Driver
C VL53L1_DeviceInfo_t | Defines the parameters of the Get Device Info Functions
C VL53L1_DeviceParameters_t | Defines all parameters for the device
C VL53L1_DistanceThreshold_t | Defines parameters for Distance detection Thresholds configuration
C VL53L1_MultiRangingData_t | Structure for storing the set of range results for a single ROI
C VL53L1_RangingMeasurementData_t | Single Range measurement data
C VL53L1_RateThreshold_t | Defines parameters for Signal rate detection Thresholds configuration
C VL53L1_RoiConfig_t | Defines ROI configuration parameters
C VL53L1_TargetRangeData_t | One Range measurement data for each target
C VL53L1_UserRoi_t | Defines User Zone(ROI) parameters
C VL53L1_Version_t | Defines the parameters of the Get Version Functions
C VL53L1_ZoneCalibrationData_t | Structure for storing the Zone Calibration Data


VL53L1 API Specification: VL53L1_Dev_t Struct Reference

Data Fields
VL53L1_Dev_t Struct Reference

#include <vl53l1_platform_user_data.h>

Data Fields

VL53L1_DevData_t Data
uint8_t i2c_slave_address
uint8_t comms_type
uint16_t comms_speed_khz
uint32_t new_data_ready_poll_duration_ms

Detailed Description

Definition at line 32 of file vl53l1_platform_user_data.h.

Field Documentation

◆ Data

VL53L1_DevData_t VL53L1_Dev_t::Data

Definition at line 34 of file vl53l1_platform_user_data.h.

◆ i2c_slave_address

uint8_t VL53L1_Dev_t::i2c_slave_address

Definition at line 37 of file vl53l1_platform_user_data.h.

◆ comms_type

uint8_t VL53L1_Dev_t::comms_type

Definition at line 39 of file vl53l1_platform_user_data.h.

◆ comms_speed_khz

uint16_t VL53L1_Dev_t::comms_speed_khz

Definition at line 41 of file vl53l1_platform_user_data.h.

◆ new_data_ready_poll_duration_ms

uint32_t VL53L1_Dev_t::new_data_ready_poll_duration_ms

Definition at line 44 of file vl53l1_platform_user_data.h.

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


VL53L1 API Specification: Data Structure Index

Data Structure Index
V
V
VL53L1_AdditionalData_t
VL53L1_CalibrationData_t
VL53L1_CustomerNvmManaged_t
VL53L1_DetectionConfig_t
VL53L1_Dev_t
VL53L1_DevData_t
VL53L1_DeviceInfo_t
VL53L1_DeviceParameters_t
VL53L1_DistanceThreshold_t
VL53L1_MultiRangingData_t
VL53L1_RangingMeasurementData_t
VL53L1_RateThreshold_t
VL53L1_RoiConfig_t
VL53L1_TargetRangeData_t
VL53L1_UserRoi_t
VL53L1_Version_t
VL53L1_ZoneCalibrationData_t


VL53L1 API Specification: Data Fields

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

- a -

  • add_off_cal_data : VL53L1_CalibrationData_t
  • algo__crosstalk_compensation_plane_offset_kcps : VL53L1_CustomerNvmManaged_t
  • algo__crosstalk_compensation_x_plane_gradient_kcps : VL53L1_CustomerNvmManaged_t
  • algo__crosstalk_compensation_y_plane_gradient_kcps : VL53L1_CustomerNvmManaged_t
  • algo__part_to_part_range_offset_mm : VL53L1_CustomerNvmManaged_t
  • algo__xtalk_cpo_HistoMerge_kcps : VL53L1_CalibrationData_t
  • AmbientRateRtnMegaCps : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t

- b -

  • BotRightX : VL53L1_UserRoi_t
  • BotRightY : VL53L1_UserRoi_t
  • build : VL53L1_Version_t

- c -

  • cal_peak_rate_map : VL53L1_CalibrationData_t
  • comms_speed_khz : VL53L1_Dev_t
  • comms_type : VL53L1_Dev_t
  • CrossMode : VL53L1_DistanceThreshold_t , VL53L1_RateThreshold_t
  • CurrentParameters : VL53L1_DevData_t
  • cust_dmax_cal : VL53L1_CalibrationData_t
  • customer : VL53L1_CalibrationData_t

- d -

  • Data : VL53L1_Dev_t
  • DetectionMode : VL53L1_DetectionConfig_t
  • Distance : VL53L1_DetectionConfig_t
  • DistanceMode : VL53L1_DeviceParameters_t
  • DmaxMilliMeter : VL53L1_MultiRangingData_t

- e -

  • EffectiveSpadRtnCount : VL53L1_MultiRangingData_t , VL53L1_RangingMeasurementData_t
  • ExtendedRange : VL53L1_TargetRangeData_t

- f -

  • fmt_dmax_cal : VL53L1_CalibrationData_t

- g -

  • gain_cal : VL53L1_CalibrationData_t
  • global_config__ref_en_start_select : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_0 : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_1 : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_2 : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_3 : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_4 : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_5 : VL53L1_CustomerNvmManaged_t

- h -

  • HasXtalkValueChanged : VL53L1_MultiRangingData_t
  • High : VL53L1_DistanceThreshold_t , VL53L1_RateThreshold_t

- i -

  • i2c_slave_address : VL53L1_Dev_t
  • IntrNoTarget : VL53L1_DetectionConfig_t

- l -

  • LimitChecksCurrent : VL53L1_DeviceParameters_t
  • LimitChecksEnable : VL53L1_DeviceParameters_t
  • LimitChecksStatus : VL53L1_DeviceParameters_t
  • LimitChecksValue : VL53L1_DeviceParameters_t
  • LLData : VL53L1_DevData_t
  • llresults : VL53L1_DevData_t
  • Low : VL53L1_DistanceThreshold_t , VL53L1_RateThreshold_t

- m -

  • major : VL53L1_Version_t
  • MeasurementTimingBudgetMicroSeconds : VL53L1_DeviceParameters_t
  • minor : VL53L1_Version_t
  • mm_config__inner_offset_mm : VL53L1_CustomerNvmManaged_t
  • mm_config__outer_offset_mm : VL53L1_CustomerNvmManaged_t

- n -

  • Name : VL53L1_DeviceInfo_t
  • new_data_ready_poll_duration_ms : VL53L1_Dev_t
  • NumberOfObjectsFound : VL53L1_MultiRangingData_t
  • NumberOfRoi : VL53L1_RoiConfig_t

- o -

  • optical_centre : VL53L1_CalibrationData_t
  • OutputMode : VL53L1_DeviceParameters_t

- p -

  • PalState : VL53L1_DevData_t
  • per_vcsel_cal_data : VL53L1_CalibrationData_t
  • PresetMode : VL53L1_DeviceParameters_t
  • ProductId : VL53L1_DeviceInfo_t
  • ProductRevisionMajor : VL53L1_DeviceInfo_t
  • ProductRevisionMinor : VL53L1_DeviceInfo_t
  • ProductType : VL53L1_DeviceInfo_t

- r -

  • RangeData : VL53L1_MultiRangingData_t
  • RangeFractionalPart : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • RangeMaxMilliMeter : VL53L1_TargetRangeData_t
  • RangeMilliMeter : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • RangeMinMilliMeter : VL53L1_TargetRangeData_t
  • RangeQualityLevel : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • RangeStatus : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • Rate : VL53L1_DetectionConfig_t
  • RecommendedDistanceMode : VL53L1_MultiRangingData_t
  • ref_spad_char__total_rate_target_mcps : VL53L1_CustomerNvmManaged_t
  • ref_spad_man__num_requested_ref_spads : VL53L1_CustomerNvmManaged_t
  • ref_spad_man__ref_location : VL53L1_CustomerNvmManaged_t
  • revision : VL53L1_Version_t
  • RoiNumber : VL53L1_MultiRangingData_t
  • RoiStatus : VL53L1_MultiRangingData_t

- s -

  • SigmaMilliMeter : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • SignalRateRtnMegaCps : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • StreamCount : VL53L1_MultiRangingData_t , VL53L1_RangingMeasurementData_t
  • struct_version : VL53L1_CalibrationData_t

- t -

  • TimeStamp : VL53L1_MultiRangingData_t , VL53L1_RangingMeasurementData_t
  • TopLeftX : VL53L1_UserRoi_t
  • TopLeftY : VL53L1_UserRoi_t
  • Type : VL53L1_DeviceInfo_t

- u -

  • UserRois : VL53L1_RoiConfig_t

- x -

  • xtalkhisto : VL53L1_CalibrationData_t


VL53L1 API Specification: Data Fields - Variables

- a -

  • add_off_cal_data : VL53L1_CalibrationData_t
  • algo__crosstalk_compensation_plane_offset_kcps : VL53L1_CustomerNvmManaged_t
  • algo__crosstalk_compensation_x_plane_gradient_kcps : VL53L1_CustomerNvmManaged_t
  • algo__crosstalk_compensation_y_plane_gradient_kcps : VL53L1_CustomerNvmManaged_t
  • algo__part_to_part_range_offset_mm : VL53L1_CustomerNvmManaged_t
  • algo__xtalk_cpo_HistoMerge_kcps : VL53L1_CalibrationData_t
  • AmbientRateRtnMegaCps : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t

- b -

  • BotRightX : VL53L1_UserRoi_t
  • BotRightY : VL53L1_UserRoi_t
  • build : VL53L1_Version_t

- c -

  • cal_peak_rate_map : VL53L1_CalibrationData_t
  • comms_speed_khz : VL53L1_Dev_t
  • comms_type : VL53L1_Dev_t
  • CrossMode : VL53L1_DistanceThreshold_t , VL53L1_RateThreshold_t
  • CurrentParameters : VL53L1_DevData_t
  • cust_dmax_cal : VL53L1_CalibrationData_t
  • customer : VL53L1_CalibrationData_t

- d -

  • Data : VL53L1_Dev_t
  • DetectionMode : VL53L1_DetectionConfig_t
  • Distance : VL53L1_DetectionConfig_t
  • DistanceMode : VL53L1_DeviceParameters_t
  • DmaxMilliMeter : VL53L1_MultiRangingData_t

- e -

  • EffectiveSpadRtnCount : VL53L1_MultiRangingData_t , VL53L1_RangingMeasurementData_t
  • ExtendedRange : VL53L1_TargetRangeData_t

- f -

  • fmt_dmax_cal : VL53L1_CalibrationData_t

- g -

  • gain_cal : VL53L1_CalibrationData_t
  • global_config__ref_en_start_select : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_0 : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_1 : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_2 : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_3 : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_4 : VL53L1_CustomerNvmManaged_t
  • global_config__spad_enables_ref_5 : VL53L1_CustomerNvmManaged_t

- h -

  • HasXtalkValueChanged : VL53L1_MultiRangingData_t
  • High : VL53L1_DistanceThreshold_t , VL53L1_RateThreshold_t

- i -

  • i2c_slave_address : VL53L1_Dev_t
  • IntrNoTarget : VL53L1_DetectionConfig_t

- l -

  • LimitChecksCurrent : VL53L1_DeviceParameters_t
  • LimitChecksEnable : VL53L1_DeviceParameters_t
  • LimitChecksStatus : VL53L1_DeviceParameters_t
  • LimitChecksValue : VL53L1_DeviceParameters_t
  • LLData : VL53L1_DevData_t
  • llresults : VL53L1_DevData_t
  • Low : VL53L1_DistanceThreshold_t , VL53L1_RateThreshold_t

- m -

  • major : VL53L1_Version_t
  • MeasurementTimingBudgetMicroSeconds : VL53L1_DeviceParameters_t
  • minor : VL53L1_Version_t
  • mm_config__inner_offset_mm : VL53L1_CustomerNvmManaged_t
  • mm_config__outer_offset_mm : VL53L1_CustomerNvmManaged_t

- n -

  • Name : VL53L1_DeviceInfo_t
  • new_data_ready_poll_duration_ms : VL53L1_Dev_t
  • NumberOfObjectsFound : VL53L1_MultiRangingData_t
  • NumberOfRoi : VL53L1_RoiConfig_t

- o -

  • optical_centre : VL53L1_CalibrationData_t
  • OutputMode : VL53L1_DeviceParameters_t

- p -

  • PalState : VL53L1_DevData_t
  • per_vcsel_cal_data : VL53L1_CalibrationData_t
  • PresetMode : VL53L1_DeviceParameters_t
  • ProductId : VL53L1_DeviceInfo_t
  • ProductRevisionMajor : VL53L1_DeviceInfo_t
  • ProductRevisionMinor : VL53L1_DeviceInfo_t
  • ProductType : VL53L1_DeviceInfo_t

- r -

  • RangeData : VL53L1_MultiRangingData_t
  • RangeFractionalPart : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • RangeMaxMilliMeter : VL53L1_TargetRangeData_t
  • RangeMilliMeter : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • RangeMinMilliMeter : VL53L1_TargetRangeData_t
  • RangeQualityLevel : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • RangeStatus : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • Rate : VL53L1_DetectionConfig_t
  • RecommendedDistanceMode : VL53L1_MultiRangingData_t
  • ref_spad_char__total_rate_target_mcps : VL53L1_CustomerNvmManaged_t
  • ref_spad_man__num_requested_ref_spads : VL53L1_CustomerNvmManaged_t
  • ref_spad_man__ref_location : VL53L1_CustomerNvmManaged_t
  • revision : VL53L1_Version_t
  • RoiNumber : VL53L1_MultiRangingData_t
  • RoiStatus : VL53L1_MultiRangingData_t

- s -

  • SigmaMilliMeter : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • SignalRateRtnMegaCps : VL53L1_RangingMeasurementData_t , VL53L1_TargetRangeData_t
  • StreamCount : VL53L1_MultiRangingData_t , VL53L1_RangingMeasurementData_t
  • struct_version : VL53L1_CalibrationData_t

- t -

  • TimeStamp : VL53L1_MultiRangingData_t , VL53L1_RangingMeasurementData_t
  • TopLeftX : VL53L1_UserRoi_t
  • TopLeftY : VL53L1_UserRoi_t
  • Type : VL53L1_DeviceInfo_t

- u -

  • UserRois : VL53L1_RoiConfig_t

- x -

  • xtalkhisto : VL53L1_CalibrationData_t


VL53L1 API Specification: File List

File List
Here is a list of all files with brief descriptions:
vl53l1_api.h |
vl53l1_def.h | Type definitions for VL53L1 API
vl53l1_disclaimer.c | No code doxygen doc only
vl53l1_doxydoc.c | No code doxygen doc only
vl53l1_error_codes.h | Error Code definitions for VL53L1 API
vl53l1_platform.h | All end user OS/platform/application porting
vl53l1_platform_init.h |
vl53l1_platform_ipp.h |
vl53l1_platform_ipp_imports.h |
vl53l1_platform_log.h |
vl53l1_platform_user_config.h |
vl53l1_platform_user_data.h |
vl53l1_platform_user_defines.h |
vl53l1_types.h |


VL53L1 API Specification: vl53l1_api.h File Reference

  • delivery
  • bare_driver
  • core
  • inc
Macros | Functions
vl53l1_api.h File Reference
#include "vl53l1_api_strings.h"
#include "vl53l1_api_core.h"
#include "vl53l1_preset_setup.h"

Go to the source code of this file.

Macros

#define | VL53L1DevDataGet(Dev, field) (Dev->Data.field)
#define | VL53L1DevDataSet(Dev, field, data) ((Dev->Data.field) = (data))

Functions

VL53L1_Error | VL53L1_GetVersion (VL53L1_Version_t *pVersion)
Return the VL53L1 driver Version. More...
VL53L1_Error | VL53L1_GetProductRevision (VL53L1_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...
VL53L1_Error | VL53L1_GetDeviceInfo (VL53L1_DEV Dev, VL53L1_DeviceInfo_t *pVL53L1_DeviceInfo)
Reads the Device information for given Device. More...
VL53L1_Error | VL53L1_GetUID (VL53L1_DEV Dev, uint64_t *pUid)
Reads the Device unique identifier. More...
VL53L1_Error | VL53L1_GetRangeStatusString (uint8_t RangeStatus, char *pRangeStatusString)
Human readable Range Status string for a given RangeStatus. More...
VL53L1_Error | VL53L1_GetPalErrorString (VL53L1_Error PalErrorCode, char *pPalErrorString)
Human readable error string for driver error status. More...
VL53L1_Error | VL53L1_GetPalStateString (VL53L1_State PalStateCode, char *pPalStateString)
Human readable driver State string. More...
VL53L1_Error | VL53L1_GetPalState (VL53L1_DEV Dev, VL53L1_State *pPalState)
Reads the internal state of the driver for a given Device. More...
VL53L1_Error | VL53L1_SetDeviceAddress (VL53L1_DEV Dev, uint8_t DeviceAddress)
Set new device address. More...
VL53L1_Error | VL53L1_DataInit (VL53L1_DEV Dev)
One time device initialization. More...
VL53L1_Error | VL53L1_StaticInit (VL53L1_DEV Dev)
Do basic device init (and eventually patch loading) This function will change the VL53L1_State from VL53L1_STATE_WAIT_STATICINIT to VL53L1_STATE_IDLE. More...
VL53L1_Error | VL53L1_WaitDeviceBooted (VL53L1_DEV Dev)
Wait for device booted after chip enable (hardware standby) This function can be run only when VL53L1_State is VL53L1_STATE_POWERDOWN. More...
VL53L1_Error | VL53L1_SetPresetMode (VL53L1_DEV Dev, VL53L1_PresetModes PresetMode)
Set a new Preset Mode. More...
VL53L1_Error | VL53L1_GetPresetMode (VL53L1_DEV Dev, VL53L1_PresetModes *pPresetMode)
Get current Preset Mode. More...
VL53L1_Error | VL53L1_SetDistanceMode (VL53L1_DEV Dev, VL53L1_DistanceModes DistanceMode)
Set the distance mode. More...
VL53L1_Error | VL53L1_GetDistanceMode (VL53L1_DEV Dev, VL53L1_DistanceModes *pDistanceMode)
Get the distance mode. More...
VL53L1_Error | VL53L1_SetOutputMode (VL53L1_DEV Dev, VL53L1_OutputModes OutputMode)
Set the output mode. More...
VL53L1_Error | VL53L1_GetOutputMode (VL53L1_DEV Dev, VL53L1_OutputModes *pOutputMode)
Get the output mode. More...
VL53L1_Error | VL53L1_SetMeasurementTimingBudgetMicroSeconds (VL53L1_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds)
Set Ranging Timing Budget in microseconds. More...
VL53L1_Error | VL53L1_GetMeasurementTimingBudgetMicroSeconds (VL53L1_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds)
Get Ranging Timing Budget in microseconds. More...
VL53L1_Error | VL53L1_SetInterMeasurementPeriodMilliSeconds (VL53L1_DEV Dev, uint32_t InterMeasurementPeriodMilliSeconds)
Program continuous mode Inter-Measurement period in milliseconds. More...
VL53L1_Error | VL53L1_GetInterMeasurementPeriodMilliSeconds (VL53L1_DEV Dev, uint32_t *pInterMeasurementPeriodMilliSeconds)
Get continuous mode Inter-Measurement period in milliseconds. More...
VL53L1_Error | VL53L1_SetDmaxReflectance (VL53L1_DEV Dev, FixPoint1616_t DmaxReflectance)
target reflectance for Dmax setting More...
VL53L1_Error | VL53L1_GetDmaxReflectance (VL53L1_DEV Dev, FixPoint1616_t *pDmaxReflectance)
Get target reflectance for Dmax. More...
VL53L1_Error | VL53L1_SetDmaxMode (VL53L1_DEV Dev, VL53L1_DeviceDmaxModes DmaxMode)
Set function for ambient Dmax mode. More...
VL53L1_Error | VL53L1_GetDmaxMode (VL53L1_DEV Dev, VL53L1_DeviceDmaxModes *pDmaxMode)
Get function for ambient Dmax mode. More...
VL53L1_Error | VL53L1_GetNumberOfLimitCheck (uint16_t *pNumberOfLimitCheck)
Get the number of the check limit managed by a given Device. More...
VL53L1_Error | VL53L1_GetLimitCheckInfo (uint16_t LimitCheckId, char *pLimitCheckString)
Return a description string for a given limit check number. More...
VL53L1_Error | VL53L1_GetLimitCheckStatus (VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t *pLimitCheckStatus)
Return a the Status of the specified check limit. More...
VL53L1_Error | VL53L1_SetLimitCheckEnable (VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t LimitCheckEnable)
Enable/Disable a specific limit check. More...
VL53L1_Error | VL53L1_GetLimitCheckEnable (VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t *pLimitCheckEnable)
Get specific limit check enable state. More...
VL53L1_Error | VL53L1_SetLimitCheckValue (VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t LimitCheckValue)
Set a specific limit check value. More...
VL53L1_Error | VL53L1_GetLimitCheckValue (VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckValue)
Get a specific limit check value. More...
VL53L1_Error | VL53L1_GetLimitCheckCurrent (VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckCurrent)
Get the current value of the signal used for the limit check. More...
VL53L1_Error | VL53L1_GetMaxNumberOfROI (VL53L1_DEV Dev, uint8_t *pMaxNumberOfROI)
Get the Maximum number of ROI Zones managed by the Device. More...
VL53L1_Error | VL53L1_SetROI (VL53L1_DEV Dev, VL53L1_RoiConfig_t *pRoiConfig)
Set the ROI to be used for ranging. More...
VL53L1_Error | VL53L1_GetROI (VL53L1_DEV Dev, VL53L1_RoiConfig_t *pRoiConfig)
Get the ROI managed by the Device. More...
VL53L1_Error | VL53L1_GetNumberOfSequenceSteps (VL53L1_DEV Dev, uint8_t *pNumberOfSequenceSteps)
Gets number of sequence steps managed by the API. More...
VL53L1_Error | VL53L1_GetSequenceStepsInfo (VL53L1_SequenceStepId SequenceStepId, char *pSequenceStepsString)
Gets the name of a given sequence step. More...
VL53L1_Error | VL53L1_SetSequenceStepEnable (VL53L1_DEV Dev, VL53L1_SequenceStepId SequenceStepId, uint8_t SequenceStepEnabled)
Sets the (on/off) state of a requested sequence step. More...
VL53L1_Error | VL53L1_GetSequenceStepEnable (VL53L1_DEV Dev, VL53L1_SequenceStepId SequenceStepId, uint8_t *pSequenceStepEnabled)
Gets the (on/off) state of a requested sequence step. More...
VL53L1_Error | VL53L1_StartMeasurement (VL53L1_DEV Dev)
Start device measurement. More...
VL53L1_Error | VL53L1_StopMeasurement (VL53L1_DEV Dev)
Stop device measurement. More...
VL53L1_Error | VL53L1_ClearInterruptAndStartMeasurement (VL53L1_DEV Dev)
Clear the Interrupt flag and start new measurement *. More...
VL53L1_Error | VL53L1_GetMeasurementDataReady (VL53L1_DEV Dev, uint8_t *pMeasurementDataReady)
Return Measurement Data Ready. More...
VL53L1_Error | VL53L1_WaitMeasurementDataReady (VL53L1_DEV Dev)
Wait for measurement data ready. More...
VL53L1_Error | VL53L1_GetRangingMeasurementData (VL53L1_DEV Dev, VL53L1_RangingMeasurementData_t *pRangingMeasurementData)
Retrieve the measurements from device for a given setup. More...
VL53L1_Error | VL53L1_GetMultiRangingData (VL53L1_DEV Dev, VL53L1_MultiRangingData_t *pMultiRangingData)
Retrieve all ROI's measurements from device for a given setup. More...
VL53L1_Error | VL53L1_GetAdditionalData (VL53L1_DEV Dev, VL53L1_AdditionalData_t *pAdditionalData)
Get Additional Data. More...
VL53L1_Error | VL53L1_SetTuningParameter (VL53L1_DEV Dev, uint16_t TuningParameterId, int32_t TuningParameterValue)
Set Tuning Parameter value for a given parameter ID. More...
VL53L1_Error | VL53L1_GetTuningParameter (VL53L1_DEV Dev, uint16_t TuningParameterId, int32_t *pTuningParameterValue)
Get Tuning Parameter value for a given parameter ID. More...
VL53L1_Error | VL53L1_PerformRefSpadManagement (VL53L1_DEV Dev)
Performs Reference Spad Management. More...
VL53L1_Error | VL53L1_SmudgeCorrectionEnable (VL53L1_DEV Dev, VL53L1_SmudgeCorrectionModes Mode)
Enable/Disable dynamic Xtalk compensation feature. More...
VL53L1_Error | VL53L1_SetXTalkCompensationEnable (VL53L1_DEV Dev, uint8_t XTalkCompensationEnable)
Enable/Disable Cross talk compensation feature. More...
VL53L1_Error | VL53L1_GetXTalkCompensationEnable (VL53L1_DEV Dev, uint8_t *pXTalkCompensationEnable)
Get Cross talk compensation rate enable. More...
VL53L1_Error | VL53L1_PerformXTalkCalibration (VL53L1_DEV Dev, uint8_t CalibrationOption)
Perform XTalk Calibration. More...
VL53L1_Error | VL53L1_SetOffsetCalibrationMode (VL53L1_DEV Dev, VL53L1_OffsetCalibrationModes OffsetCalibrationMode)
Define the mode to be used for the offset calibration. More...
VL53L1_Error | VL53L1_SetOffsetCorrectionMode (VL53L1_DEV Dev, VL53L1_OffsetCorrectionModes OffsetCorrectionMode)
Define the mode to be used for the offset correction. More...
VL53L1_Error | VL53L1_PerformOffsetCalibration (VL53L1_DEV Dev, int32_t CalDistanceMilliMeter, FixPoint1616_t CalReflectancePercent)
Perform Offset Calibration. More...
VL53L1_Error | VL53L1_PerformOffsetSimpleCalibration (VL53L1_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset simple Calibration. More...
VL53L1_Error | VL53L1_PerformOffsetZeroDistanceCalibration (VL53L1_DEV Dev)
Perform Offset simple Calibration with a "zero distance" target. More...
VL53L1_Error | VL53L1_PerformOffsetPerVcselCalibration (VL53L1_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset per Vcsel Calibration. More...
VL53L1_Error | VL53L1_SetCalibrationData (VL53L1_DEV Dev, VL53L1_CalibrationData_t *pCalibrationData)
Sets the Calibration Data. More...
VL53L1_Error | VL53L1_GetCalibrationData (VL53L1_DEV Dev, VL53L1_CalibrationData_t *pCalibrationData)
Gets the Calibration Data. More...
VL53L1_Error | VL53L1_SetZoneCalibrationData (VL53L1_DEV Dev, VL53L1_ZoneCalibrationData_t *pZoneCalibrationData)
Sets the Zone Calibration Data. More...
VL53L1_Error | VL53L1_GetZoneCalibrationData (VL53L1_DEV Dev, VL53L1_ZoneCalibrationData_t *pZoneCalibrationData)
Gets the Zone Calibration Data. More...
VL53L1_Error | VL53L1_GetOpticalCenter (VL53L1_DEV Dev, FixPoint1616_t *pOpticalCenterX, FixPoint1616_t *pOpticalCenterY)
Gets the optical center. More...
VL53L1_Error | VL53L1_SetThresholdConfig (VL53L1_DEV Dev, VL53L1_DetectionConfig_t *pConfig)
Configure the interrupt config, from the given structure. More...
VL53L1_Error | VL53L1_GetThresholdConfig (VL53L1_DEV Dev, VL53L1_DetectionConfig_t *pConfig)
Retrieves the interrupt config structure currently programmed into the API. More...

Macro Definition Documentation

◆ VL53L1DevDataGet

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

Definition at line 26 of file vl53l1_api.h.

◆ VL53L1DevDataSet

#define VL53L1DevDataSet | ( | Dev,
 |  | field,
 |  | data
 | ) | ((Dev->Data.field) = (data))

Definition at line 31 of file vl53l1_api.h.


VL53L1 API Specification: vl53l1_def.h File Reference

  • delivery
  • bare_driver
  • core
  • inc
Data Structures | Macros | Typedefs
vl53l1_def.h File Reference

Type definitions for VL53L1 API. More...

#include "vl53l1_ll_def.h"

Go to the source code of this file.

Data Structures

struct | VL53L1_Version_t
Defines the parameters of the Get Version Functions. More...
struct | VL53L1_DeviceInfo_t
Defines the parameters of the Get Device Info Functions. More...
struct | VL53L1_DistanceThreshold_t
Defines parameters for Distance detection Thresholds configuration. More...
struct | VL53L1_RateThreshold_t
Defines parameters for Signal rate detection Thresholds configuration. More...
struct | VL53L1_DetectionConfig_t
Defines parameters for User/object Detection configuration. More...
struct | VL53L1_DeviceParameters_t
Defines all parameters for the device. More...
struct | VL53L1_RangingMeasurementData_t
Single Range measurement data. More...
struct | VL53L1_TargetRangeData_t
One Range measurement data for each target. More...
struct | VL53L1_MultiRangingData_t
Structure for storing the set of range results for a single ROI. More...
struct | VL53L1_UserRoi_t
Defines User Zone(ROI) parameters. More...
struct | VL53L1_RoiConfig_t
Defines ROI configuration parameters. More...
struct | VL53L1_CustomerNvmManaged_t
struct | VL53L1_CalibrationData_t
Structure for storing the Calibration Data. More...
struct | VL53L1_DevData_t
Contains the Internal data of the Bare Driver. More...

Macros

#define | VL53L1_IMPLEMENTATION_VER_MAJOR 6
VL53L1 IMPLEMENTATION major version. More...
#define | VL53L1_IMPLEMENTATION_VER_MINOR 6
VL53L1 IMPLEMENTATION minor version. More...
#define | VL53L1_IMPLEMENTATION_VER_SUB 18
VL53L1 IMPLEMENTATION sub version. More...
#define | VL53L1_IMPLEMENTATION_VER_REVISION 2652
VL53L1 IMPLEMENTATION sub version. More...
#define | VL53L1_DEVINFO_STRLEN 32
#define | VL53L1_PRESETMODE_RANGING ((VL53L1_PresetModes) 1)
#define | VL53L1_PRESETMODE_MULTIZONES_SCANNING ((VL53L1_PresetModes) 2)
#define | VL53L1_PRESETMODE_AUTONOMOUS ((VL53L1_PresetModes) 3)
#define | VL53L1_PRESETMODE_LITE_RANGING ((VL53L1_PresetModes) 4)
#define | VL53L1_PRESETMODE_OLT ((VL53L1_PresetModes) 7)
#define | VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS ((VL53L1_PresetModes) 8)
#define | VL53L1_PRESETMODE_PROXY_RANGING_MODE ((VL53L1_PresetModes) 9)
#define | VL53L1_DISTANCEMODE_SHORT ((VL53L1_DistanceModes) 1)
#define | VL53L1_DISTANCEMODE_MEDIUM ((VL53L1_DistanceModes) 2)
#define | VL53L1_DISTANCEMODE_LONG ((VL53L1_DistanceModes) 3)
#define | VL53L1_OUTPUTMODE_NEAREST ((VL53L1_OutputModes) 1)
#define | VL53L1_OUTPUTMODE_STRONGEST ((VL53L1_OutputModes) 2)
#define | VL53L1_XTALKCALIBRATIONMODE_NO_TARGET ((VL53L1_OffsetCalibrationModes) 0)
#define | VL53L1_XTALKCALIBRATIONMODE_SINGLE_TARGET ((VL53L1_OffsetCalibrationModes) 1)
#define | VL53L1_XTALKCALIBRATIONMODE_FULL_ROI ((VL53L1_OffsetCalibrationModes) 2)
#define | VL53L1_OFFSETCALIBRATIONMODE_STANDARD ((VL53L1_OffsetCalibrationModes) 1)
#define | VL53L1_OFFSETCALIBRATIONMODE_PRERANGE_ONLY ((VL53L1_OffsetCalibrationModes) 2)
#define | VL53L1_OFFSETCALIBRATIONMODE_MULTI_ZONE ((VL53L1_OffsetCalibrationModes) 3)
#define | VL53L1_DMAXMODE_FMT_CAL_DATA ((VL53L1_DeviceDmaxModes) 1)
#define | VL53L1_DMAXMODE_CUSTCAL_DATA ((VL53L1_DeviceDmaxModes) 2)
#define | VL53L1_DMAXMODE_PER_ZONE_CAL_DATA ((VL53L1_DeviceDmaxModes) 3)
#define | VL53L1_OFFSETCORRECTIONMODE_STANDARD ((VL53L1_OffsetCorrectionMode) 1)
#define | VL53L1_OFFSETCORRECTIONMODE_PERZONE ((VL53L1_OffsetCorrectionMode) 2)
#define | VL53L1_OFFSETCORRECTIONMODE_PERVCSEL ((VL53L1_OffsetCorrectionMode) 3)
#define | VL53L1_ROISTATUS_NOT_VALID ((VL53L1_RoiStatus) 0)
#define | VL53L1_ROISTATUS_VALID_NOT_LAST ((VL53L1_RoiStatus) 1)
#define | VL53L1_ROISTATUS_VALID_LAST ((VL53L1_RoiStatus) 2)
#define | VL53L1_CHECKENABLE_SIGMA_FINAL_RANGE 0
#define | VL53L1_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE 1
#define | VL53L1_CHECKENABLE_NUMBER_OF_CHECKS 2
#define | VL53L1_THRESHOLD_CROSSED_LOW ((VL53L1_ThresholdMode) 0)
#define | VL53L1_THRESHOLD_CROSSED_HIGH ((VL53L1_ThresholdMode) 1)
#define | VL53L1_THRESHOLD_OUT_OF_WINDOW ((VL53L1_ThresholdMode) 2)
#define | VL53L1_THRESHOLD_IN_WINDOW ((VL53L1_ThresholdMode) 3)
#define | VL53L1_DETECTION_NORMAL_RUN ((VL53L1_DetectionMode) 0)
#define | VL53L1_DETECTION_DISTANCE_ONLY ((VL53L1_DetectionMode) 1)
#define | VL53L1_DETECTION_RATE_ONLY ((VL53L1_DetectionMode) 2)
#define | VL53L1_DETECTION_DISTANCE_AND_RATE ((VL53L1_DetectionMode) 3)
#define | VL53L1_DETECTION_DISTANCE_OR_RATE ((VL53L1_DetectionMode) 4)
#define | VL53L1_STATE_POWERDOWN ((VL53L1_State) 0)
#define | VL53L1_STATE_WAIT_STATICINIT ((VL53L1_State) 1)
#define | VL53L1_STATE_STANDBY ((VL53L1_State) 2)
#define | VL53L1_STATE_IDLE ((VL53L1_State) 3)
#define | VL53L1_STATE_RUNNING ((VL53L1_State) 4)
#define | VL53L1_STATE_RESET ((VL53L1_State) 5)
#define | VL53L1_STATE_UNKNOWN ((VL53L1_State) 98)
#define | VL53L1_STATE_ERROR ((VL53L1_State) 99)
#define | VL53L1_SMUDGE_CORRECTION_NONE ((VL53L1_SmudgeCorrectionModes) 0)
#define | VL53L1_SMUDGE_CORRECTION_CONTINUOUS ((VL53L1_SmudgeCorrectionModes) 1)
#define | VL53L1_SMUDGE_CORRECTION_SINGLE ((VL53L1_SmudgeCorrectionModes) 2)
#define | VL53L1_SMUDGE_CORRECTION_DEBUG ((VL53L1_SmudgeCorrectionModes) 3)
#define | VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x20
#define | VL53L1_CALIBRATION_DATA_STRUCT_VERSION
VL53L1 additional Calibration Data struct version final struct version is given by adding it to VL53L1_LL_CALIBRATION_DATA_STRUCT_VERSION. More...
#define | VL53L1_SEQUENCESTEP_VHV ((VL53L1_SequenceStepId) 0)
#define | VL53L1_SEQUENCESTEP_PHASECAL ((VL53L1_SequenceStepId) 1)
#define | VL53L1_SEQUENCESTEP_REFPHASE ((VL53L1_SequenceStepId) 2)
#define | VL53L1_SEQUENCESTEP_DSS1 ((VL53L1_SequenceStepId) 3)
#define | VL53L1_SEQUENCESTEP_DSS2 ((VL53L1_SequenceStepId) 4)
#define | VL53L1_SEQUENCESTEP_MM1 ((VL53L1_SequenceStepId) 5)
#define | VL53L1_SEQUENCESTEP_MM2 ((VL53L1_SequenceStepId) 6)
#define | VL53L1_SEQUENCESTEP_RANGE ((VL53L1_SequenceStepId) 7)
#define | VL53L1_SEQUENCESTEP_NUMBER_OF_ITEMS 8
#define | VL53L1_RANGESTATUS_RANGE_VALID 0
#define | VL53L1_RANGESTATUS_SIGMA_FAIL 1
#define | VL53L1_RANGESTATUS_SIGNAL_FAIL 2
#define | VL53L1_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3
#define | VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL 4
#define | VL53L1_RANGESTATUS_HARDWARE_FAIL 5
#define | VL53L1_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL 6
#define | VL53L1_RANGESTATUS_WRAP_TARGET_FAIL 7
#define | VL53L1_RANGESTATUS_PROCESSING_FAIL 8
#define | VL53L1_RANGESTATUS_XTALK_SIGNAL_FAIL 9
#define | VL53L1_RANGESTATUS_SYNCRONISATION_INT 10
#define | VL53L1_RANGESTATUS_RANGE_VALID_MERGED_PULSE 11
#define | VL53L1_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12
#define | VL53L1_RANGESTATUS_MIN_RANGE_FAIL 13
#define | VL53L1_RANGESTATUS_RANGE_INVALID 14
#define | VL53L1_RANGESTATUS_NONE 255
#define | VL53L1_SETPARAMETERFIELD(Dev, field, value) (VL53L1DevDataSet(Dev, CurrentParameters.field, value))
#define | VL53L1_GETPARAMETERFIELD(Dev, field, variable) (variable = VL53L1DevDataGet(Dev, CurrentParameters).field)
#define | VL53L1_SETARRAYPARAMETERFIELD(Dev, field, index, value) (VL53L1DevDataSet(Dev, CurrentParameters.field[index], value))
#define | VL53L1_GETARRAYPARAMETERFIELD(Dev, field, index, variable) (variable = VL53L1DevDataGet(Dev, CurrentParameters).field[index])
#define | VL53L1_SETDEVICESPECIFICPARAMETER(Dev, field, value) (VL53L1DevDataSet(Dev, DeviceSpecificParameters.field, value))
#define | VL53L1_GETDEVICESPECIFICPARAMETER(Dev, field) (VL53L1DevDataGet(Dev, DeviceSpecificParameters).field)
#define | VL53L1_FIXPOINT1616TOFIXPOINT44(Value) (uint16_t)((Value>>12)&0xFFFF)
#define | VL53L1_FIXPOINT44TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<12)
#define | VL53L1_FIXPOINT1616TOFIXPOINT72(Value) (uint16_t)((Value>>14)&0xFFFF)
#define | VL53L1_FIXPOINT72TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53L1_FIXPOINT1616TOFIXPOINT97(Value) (uint16_t)((Value>>9)&0xFFFF)
#define | VL53L1_FIXPOINT97TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<9)
#define | VL53L1_FIXPOINT1616TOFIXPOINT88(Value) (uint16_t)((Value>>8)&0xFFFF)
#define | VL53L1_FIXPOINT88TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<8)
#define | VL53L1_FIXPOINT1616TOFIXPOINT412(Value) (uint16_t)((Value>>4)&0xFFFF)
#define | VL53L1_FIXPOINT412TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<4)
#define | VL53L1_FIXPOINT1616TOFIXPOINT313(Value) (uint16_t)((Value>>3)&0xFFFF)
#define | VL53L1_FIXPOINT313TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<3)
#define | VL53L1_FIXPOINT1616TOFIXPOINT08(Value) (uint8_t)((Value>>8)&0x00FF)
#define | VL53L1_FIXPOINT08TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<8)
#define | VL53L1_FIXPOINT1616TOFIXPOINT53(Value) (uint8_t)((Value>>13)&0x00FF)
#define | VL53L1_FIXPOINT53TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<13)
#define | VL53L1_FIXPOINT1616TOFIXPOINT102(Value) (uint16_t)((Value>>14)&0x0FFF)
#define | VL53L1_FIXPOINT102TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53L1_FIXPOINT1616TOFIXPOINT142(Value) (uint16_t)((Value>>14)&0xFFFF)
#define | VL53L1_FIXPOINT142TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<14)
#define | VL53L1_FIXPOINT1616TOFIXPOINT160(Value) (uint16_t)((Value>>16)&0xFFFF)
#define | VL53L1_FIXPOINT160TOFIXPOINT1616(Value) (FixPoint1616_t)((uint32_t)Value<<16)
#define | VL53L1_MAKEUINT16(lsb, msb)

Typedefs

typedef uint8_t | VL53L1_PresetModes
typedef uint8_t | VL53L1_DistanceModes
typedef uint8_t | VL53L1_OutputModes
typedef uint8_t | VL53L1_XtalkCalibrationModes
typedef uint8_t | VL53L1_OffsetCalibrationModes
typedef uint8_t | VL53L1_DeviceDmaxModes
typedef uint8_t | VL53L1_OffsetCorrectionModes
typedef uint8_t | VL53L1_RoiStatus
typedef uint8_t | VL53L1_ThresholdMode
typedef uint8_t | VL53L1_DetectionMode
typedef uint8_t | VL53L1_State
typedef uint8_t | VL53L1_SmudgeCorrectionModes
typedef VL53L1_additional_data_t | VL53L1_AdditionalData_t
typedef VL53L1_zone_calibration_results_t | VL53L1_ZoneCalibrationData_t
typedef uint8_t | VL53L1_SequenceStepId

Detailed Description

Type definitions for VL53L1 API.

Definition in file vl53l1_def.h.


VL53L1 API Specification: vl53l1_disclaimer.c File Reference

  • doc
vl53l1_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 vl53l1_disclaimer.c.


VL53L1 API Specification: vl53l1_doxydoc.c File Reference

  • doc
vl53l1_doxydoc.c File Reference

no code doxygen doc only More...

Go to the source code of this file.

Detailed Description

no code doxygen doc only

Definition in file vl53l1_doxydoc.c.


VL53L1 API Specification: vl53l1_error_codes.h File Reference

  • delivery
  • bare_driver
  • core
  • inc
Macros | Typedefs
vl53l1_error_codes.h File Reference

Error Code definitions for VL53L1 API. More...

#include "vl53l1_types.h"

Go to the source code of this file.

Macros

#define | VL53L1_ERROR_NONE ((VL53L1_Error) 0)
#define | VL53L1_ERROR_CALIBRATION_WARNING ((VL53L1_Error) - 1)
#define | VL53L1_ERROR_MIN_CLIPPED ((VL53L1_Error) - 2)
#define | VL53L1_ERROR_UNDEFINED ((VL53L1_Error) - 3)
#define | VL53L1_ERROR_INVALID_PARAMS ((VL53L1_Error) - 4)
#define | VL53L1_ERROR_NOT_SUPPORTED ((VL53L1_Error) - 5)
#define | VL53L1_ERROR_RANGE_ERROR ((VL53L1_Error) - 6)
#define | VL53L1_ERROR_TIME_OUT ((VL53L1_Error) - 7)
#define | VL53L1_ERROR_MODE_NOT_SUPPORTED ((VL53L1_Error) - 8)
#define | VL53L1_ERROR_BUFFER_TOO_SMALL ((VL53L1_Error) - 9)
#define | VL53L1_ERROR_COMMS_BUFFER_TOO_SMALL ((VL53L1_Error) - 10)
#define | VL53L1_ERROR_GPIO_NOT_EXISTING ((VL53L1_Error) - 11)
#define | VL53L1_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53L1_Error) - 12)
#define | VL53L1_ERROR_CONTROL_INTERFACE ((VL53L1_Error) - 13)
#define | VL53L1_ERROR_INVALID_COMMAND ((VL53L1_Error) - 14)
#define | VL53L1_ERROR_DIVISION_BY_ZERO ((VL53L1_Error) - 15)
#define | VL53L1_ERROR_REF_SPAD_INIT ((VL53L1_Error) - 16)
#define | VL53L1_ERROR_GPH_SYNC_CHECK_FAIL ((VL53L1_Error) - 17)
#define | VL53L1_ERROR_STREAM_COUNT_CHECK_FAIL ((VL53L1_Error) - 18)
#define | VL53L1_ERROR_GPH_ID_CHECK_FAIL ((VL53L1_Error) - 19)
#define | VL53L1_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL ((VL53L1_Error) - 20)
#define | VL53L1_ERROR_ZONE_GPH_ID_CHECK_FAIL ((VL53L1_Error) - 21)
#define | VL53L1_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL ((VL53L1_Error) - 22)
#define | VL53L1_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL ((VL53L1_Error) - 23)
#define | VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL ((VL53L1_Error) - 24)
#define | VL53L1_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL ((VL53L1_Error) - 25)
#define | VL53L1_ERROR_ZONE_CAL_NO_SAMPLE_FAIL ((VL53L1_Error) - 26)
#define | VL53L1_ERROR_TUNING_PARM_KEY_MISMATCH ((VL53L1_Error) - 27)
#define | VL53L1_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS ((VL53L1_Error) - 28)
#define | VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH ((VL53L1_Error) - 29)
#define | VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW ((VL53L1_Error) - 30)
#define | VL53L1_WARNING_OFFSET_CAL_MISSING_SAMPLES ((VL53L1_Error) - 31)
#define | VL53L1_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH ((VL53L1_Error) - 32)
#define | VL53L1_WARNING_OFFSET_CAL_RATE_TOO_HIGH ((VL53L1_Error) - 33)
#define | VL53L1_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW ((VL53L1_Error) - 34)
#define | VL53L1_WARNING_ZONE_CAL_MISSING_SAMPLES ((VL53L1_Error) - 35)
#define | VL53L1_WARNING_ZONE_CAL_SIGMA_TOO_HIGH ((VL53L1_Error) - 36)
#define | VL53L1_WARNING_ZONE_CAL_RATE_TOO_HIGH ((VL53L1_Error) - 37)
#define | VL53L1_WARNING_XTALK_MISSING_SAMPLES ((VL53L1_Error) - 38)
#define | VL53L1_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT ((VL53L1_Error) - 39)
#define | VL53L1_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT ((VL53L1_Error) - 40)
#define | VL53L1_ERROR_NOT_IMPLEMENTED ((VL53L1_Error) - 41)
#define | VL53L1_ERROR_PLATFORM_SPECIFIC_START ((VL53L1_Error) - 60)

Typedefs

typedef int8_t VL53L1_Error

Detailed Description

Error Code definitions for VL53L1 API.

Definition in file vl53l1_error_codes.h.


VL53L1 API Specification: vl53l1_platform.h File Reference

  • delivery
  • bare_driver
  • platform
  • inc
Macros | Functions
vl53l1_platform.h File Reference

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

#include "vl53l1_ll_def.h"
#include "vl53l1_platform_log.h"
#include "vl53l1_platform_ipp_imports.h"
#include "vl53l1_platform_user_data.h"

Go to the source code of this file.

Macros

#define VL53L1_IPP_API

Functions

VL53L1_Error | VL53L1_CommsInitialise (VL53L1_Dev_t *pdev, uint8_t comms_type, uint16_t comms_speed_khz)
Initialise platform comms. More...
VL53L1_Error | VL53L1_CommsClose (VL53L1_Dev_t *pdev)
Close platform comms. More...
VL53L1_Error | VL53L1_WriteMulti (VL53L1_Dev_t *pdev, uint16_t index, uint8_t *pdata, uint32_t count)
Writes the supplied byte buffer to the device. More...
VL53L1_Error | VL53L1_ReadMulti (VL53L1_Dev_t *pdev, uint16_t index, uint8_t *pdata, uint32_t count)
Reads the requested number of bytes from the device. More...
VL53L1_Error | VL53L1_WrByte (VL53L1_Dev_t *pdev, uint16_t index, uint8_t data)
Writes a single byte to the device. More...
VL53L1_Error | VL53L1_WrWord (VL53L1_Dev_t *pdev, uint16_t index, uint16_t data)
Writes a single word (16-bit unsigned) to the device. More...
VL53L1_Error | VL53L1_WrDWord (VL53L1_Dev_t *pdev, uint16_t index, uint32_t data)
Writes a single dword (32-bit unsigned) to the device. More...
VL53L1_Error | VL53L1_RdByte (VL53L1_Dev_t *pdev, uint16_t index, uint8_t *pdata)
Reads a single byte from the device. More...
VL53L1_Error | VL53L1_RdWord (VL53L1_Dev_t *pdev, uint16_t index, uint16_t *pdata)
Reads a single word (16-bit unsigned) from the device. More...
VL53L1_Error | VL53L1_RdDWord (VL53L1_Dev_t *pdev, uint16_t index, uint32_t *pdata)
Reads a single dword (32-bit unsigned) from the device. More...
VL53L1_Error | VL53L1_WaitUs (VL53L1_Dev_t *pdev, int32_t wait_us)
Implements a programmable wait in us. More...
VL53L1_Error | VL53L1_WaitMs (VL53L1_Dev_t *pdev, int32_t wait_ms)
Implements a programmable wait in ms. More...
VL53L1_Error | VL53L1_GetTimerFrequency (int32_t *ptimer_freq_hz)
Get the frequency of the timer used for ranging results time stamps. More...
VL53L1_Error | VL53L1_GetTimerValue (int32_t *ptimer_count)
Get the timer value in units of timer_freq_hz (see VL53L1_get_timestamp_frequency()) More...
VL53L1_Error | VL53L1_GpioSetMode (uint8_t pin, uint8_t mode)
Set the mode of a specified GPIO pin. More...
VL53L1_Error | VL53L1_GpioSetValue (uint8_t pin, uint8_t value)
Set the value of a specified GPIO pin. More...
VL53L1_Error | VL53L1_GpioGetValue (uint8_t pin, uint8_t *pvalue)
Get the value of a specified GPIO pin. More...
VL53L1_Error | VL53L1_GpioXshutdown (uint8_t value)
Sets and clears the XShutdown pin on the Ewok. More...
VL53L1_Error | VL53L1_GpioCommsSelect (uint8_t value)
Sets and clears the Comms Mode pin (NCS) on the Ewok. More...
VL53L1_Error | VL53L1_GpioPowerEnable (uint8_t value)
Enables and disables the power to the Ewok module. More...
VL53L1_Error | VL53L1_GpioInterruptEnable (void(*function)(void), uint8_t edge_type)
Enables callbacks to the supplied funtion pointer when Ewok interrupts ocurr. More...
VL53L1_Error | VL53L1_GpioInterruptDisable (void)
Disables the callback on Ewok interrupts. More...
VL53L1_Error | VL53L1_GetTickCount (VL53L1_Dev_t *pdev, uint32_t *ptime_ms)
VL53L1_Error | VL53L1_WaitValueMaskEx (VL53L1_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 vl53l1_platform.h.

Macro Definition Documentation

◆ VL53L1_IPP_API

#define VL53L1_IPP_API

Definition at line 19 of file vl53l1_platform.h.

Function Documentation

◆ VL53L1_CommsInitialise()

VL53L1_Error VL53L1_CommsInitialise | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_CommsClose()

VL53L1_Error VL53L1_CommsClose ( VL53L1_Dev_t * pdev )

Close platform comms.

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

◆ VL53L1_WriteMulti()

VL53L1_Error VL53L1_WriteMulti | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_ReadMulti()

VL53L1_Error VL53L1_ReadMulti | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_WrByte()

VL53L1_Error VL53L1_WrByte | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_WrWord()

VL53L1_Error VL53L1_WrWord | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_WrDWord()

VL53L1_Error VL53L1_WrDWord | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_RdByte()

VL53L1_Error VL53L1_RdByte | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_RdWord()

VL53L1_Error VL53L1_RdWord | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_RdDWord()

VL53L1_Error VL53L1_RdDWord | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_WaitUs()

VL53L1_Error VL53L1_WaitUs | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_WaitMs()

VL53L1_Error VL53L1_WaitMs | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetTimerFrequency()

VL53L1_Error VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetTimerValue()

VL53L1_Error VL53L1_GetTimerValue ( int32_t * ptimer_count )

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

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

◆ VL53L1_GpioSetMode()

VL53L1_Error VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GpioSetValue()

VL53L1_Error VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GpioGetValue()

VL53L1_Error VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GpioXshutdown()

VL53L1_Error VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GpioCommsSelect()

VL53L1_Error VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GpioPowerEnable()

VL53L1_Error VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GpioInterruptEnable()

VL53L1_Error VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GpioInterruptDisable()

VL53L1_Error VL53L1_GpioInterruptDisable ( void )

Disables the callback on Ewok interrupts.

Returns
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error

◆ VL53L1_GetTickCount()

VL53L1_Error VL53L1_GetTickCount | ( | VL53L1_Dev_t * | pdev,
 |  | uint32_t * | ptime_ms
 | ) |  |

◆ VL53L1_WaitValueMaskEx()

VL53L1_Error VL53L1_WaitValueMaskEx | ( | VL53L1_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
VL53L1_ERROR_NONE Success
"Other error code" See VL53L1_Error


VL53L1 API Specification: vl53l1_platform_init.h File Reference

  • delivery
  • bare_driver
  • platform
  • inc
Functions
vl53l1_platform_init.h File Reference
#include "vl53l1_platform.h"

Go to the source code of this file.

Functions

VL53L1_Error | VL53L1_platform_init (VL53L1_Dev_t *pdev, uint8_t i2c_slave_address, uint8_t comms_type, uint16_t comms_speed_khz)
VL53L1_Error | VL53L1_platform_terminate (VL53L1_Dev_t *pdev)

Function Documentation

◆ VL53L1_platform_init()

VL53L1_Error VL53L1_platform_init | ( | VL53L1_Dev_t * | pdev,
 |  | uint8_t | i2c_slave_address,
 |  | uint8_t | comms_type,
 |  | uint16_t | comms_speed_khz
 | ) |  |

◆ VL53L1_platform_terminate()

VL53L1_Error VL53L1_platform_terminate ( VL53L1_Dev_t * pdev )


VL53L1 API Specification: vl53l1_platform_ipp.h File Reference

  • delivery
  • bare_driver
  • platform
  • inc
Functions
vl53l1_platform_ipp.h File Reference
#include "vl53l1_ll_def.h"

Go to the source code of this file.

Functions

VL53L1_Error | VL53L1_ipp_hist_process_data (VL53L1_DEV Dev, VL53L1_dmax_calibration_data_t *pdmax_cal, VL53L1_hist_gen3_dmax_config_t *pdmax_cfg, VL53L1_hist_post_process_config_t *ppost_cfg, VL53L1_histogram_bin_data_t *pbins, VL53L1_xtalk_histogram_data_t *pxtalk, uint8_t *pArea1, uint8_t *pArea2, uint8_t *phisto_merge_nb, VL53L1_range_results_t *presults)
VL53L1_Error | VL53L1_ipp_hist_ambient_dmax (VL53L1_DEV Dev, uint16_t target_reflectance, VL53L1_dmax_calibration_data_t *pdmax_cal, VL53L1_hist_gen3_dmax_config_t *pdmax_cfg, VL53L1_histogram_bin_data_t *pbins, int16_t *pambient_dmax_mm)
VL53L1_Error | VL53L1_ipp_xtalk_calibration_process_data (VL53L1_DEV Dev, VL53L1_xtalk_range_results_t *pxtalk_ranges, VL53L1_xtalk_histogram_data_t *pxtalk_shape, VL53L1_xtalk_calibration_results_t *pxtalk_cal)
VL53L1_Error | VL53L1_ipp_hist_xtalk_correction (VL53L1_DEV Dev, VL53L1_customer_nvm_managed_t *pcustomer, VL53L1_dynamic_config_t *pdyn_cfg, VL53L1_xtalk_histogram_data_t *pxtalk_shape, VL53L1_histogram_bin_data_t *pip_hist_data, VL53L1_histogram_bin_data_t *pop_hist_data, VL53L1_histogram_bin_data_t *pxtalk_count_data)
VL53L1_Error | VL53L1_ipp_generate_dual_reflectance_xtalk_samples (VL53L1_DEV Dev, VL53L1_xtalk_range_results_t *pxtalk_results, uint16_t expected_target_distance_mm, uint8_t higher_reflectance, VL53L1_histogram_bin_data_t *pxtalk_avg_samples)

Function Documentation

◆ VL53L1_ipp_hist_process_data()

VL53L1_Error VL53L1_ipp_hist_process_data | ( | VL53L1_DEV | Dev,
 |  | VL53L1_dmax_calibration_data_t * | pdmax_cal,
 |  | VL53L1_hist_gen3_dmax_config_t * | pdmax_cfg,
 |  | VL53L1_hist_post_process_config_t * | ppost_cfg,
 |  | VL53L1_histogram_bin_data_t * | pbins,
 |  | VL53L1_xtalk_histogram_data_t * | pxtalk,
 |  | uint8_t * | pArea1,
 |  | uint8_t * | pArea2,
 |  | uint8_t * | phisto_merge_nb,
 |  | VL53L1_range_results_t * | presults
 | ) |  |

◆ VL53L1_ipp_hist_ambient_dmax()

VL53L1_Error VL53L1_ipp_hist_ambient_dmax | ( | VL53L1_DEV | Dev,
 |  | uint16_t | target_reflectance,
 |  | VL53L1_dmax_calibration_data_t * | pdmax_cal,
 |  | VL53L1_hist_gen3_dmax_config_t * | pdmax_cfg,
 |  | VL53L1_histogram_bin_data_t * | pbins,
 |  | int16_t * | pambient_dmax_mm
 | ) |  |

◆ VL53L1_ipp_xtalk_calibration_process_data()

VL53L1_Error VL53L1_ipp_xtalk_calibration_process_data | ( | VL53L1_DEV | Dev,
 |  | VL53L1_xtalk_range_results_t * | pxtalk_ranges,
 |  | VL53L1_xtalk_histogram_data_t * | pxtalk_shape,
 |  | VL53L1_xtalk_calibration_results_t * | pxtalk_cal
 | ) |  |

◆ VL53L1_ipp_hist_xtalk_correction()

VL53L1_Error VL53L1_ipp_hist_xtalk_correction | ( | VL53L1_DEV | Dev,
 |  | VL53L1_customer_nvm_managed_t * | pcustomer,
 |  | VL53L1_dynamic_config_t * | pdyn_cfg,
 |  | VL53L1_xtalk_histogram_data_t * | pxtalk_shape,
 |  | VL53L1_histogram_bin_data_t * | pip_hist_data,
 |  | VL53L1_histogram_bin_data_t * | pop_hist_data,
 |  | VL53L1_histogram_bin_data_t * | pxtalk_count_data
 | ) |  |

◆ VL53L1_ipp_generate_dual_reflectance_xtalk_samples()

VL53L1_Error VL53L1_ipp_generate_dual_reflectance_xtalk_samples | ( | VL53L1_DEV | Dev,
 |  | VL53L1_xtalk_range_results_t * | pxtalk_results,
 |  | uint16_t | expected_target_distance_mm,
 |  | uint8_t | higher_reflectance,
 |  | VL53L1_histogram_bin_data_t * | pxtalk_avg_samples
 | ) |  |


VL53L1 API Specification: vl53l1_platform_ipp_imports.h File Reference

  • delivery
  • bare_driver
  • platform
  • inc
vl53l1_platform_ipp_imports.h File Reference

Go to the source code of this file.


VL53L1 API Specification: vl53l1_platform_log.h File Reference

  • delivery
  • bare_driver
  • platform
  • inc
Macros
vl53l1_platform_log.h File Reference

Go to the source code of this file.

Macros

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

Macro Definition Documentation

◆ _LOG_TRACE_PRINT

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

Definition at line 139 of file vl53l1_platform_log.h.

◆ _LOG_FUNCTION_START

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

Definition at line 140 of file vl53l1_platform_log.h.

◆ _LOG_FUNCTION_END

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

Definition at line 141 of file vl53l1_platform_log.h.

◆ _LOG_FUNCTION_END_FMT

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

Definition at line 142 of file vl53l1_platform_log.h.

◆ _LOG_GET_TRACE_FUNCTIONS

#define _LOG_GET_TRACE_FUNCTIONS ( ) 0

Definition at line 143 of file vl53l1_platform_log.h.

◆ _LOG_SET_TRACE_FUNCTIONS

#define _LOG_SET_TRACE_FUNCTIONS ( functions )

Definition at line 144 of file vl53l1_platform_log.h.

◆ _LOG_STRING_BUFFER

#define _LOG_STRING_BUFFER ( x )

Definition at line 145 of file vl53l1_platform_log.h.


VL53L1 API Specification: vl53l1_platform_user_config.h File Reference

  • delivery
  • bare_driver
  • platform
  • inc
Macros
vl53l1_platform_user_config.h File Reference

Go to the source code of this file.

Macros

#define | VL53L1_BYTES_PER_WORD 2
#define | VL53L1_BYTES_PER_DWORD 4
#define | VL53L1_BOOT_COMPLETION_POLLING_TIMEOUT_MS 500
#define | VL53L1_RANGE_COMPLETION_POLLING_TIMEOUT_MS 2000
#define | VL53L1_TEST_COMPLETION_POLLING_TIMEOUT_MS 60000
#define | VL53L1_POLLING_DELAY_MS 1
#define | VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS 0x8000
#define | VL53L1_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS 0xC000
#define | VL53L1_GAIN_FACTOR__STANDARD_DEFAULT 0x0800
#define | VL53L1_GAIN_FACTOR__HISTOGRAM_DEFAULT 0x0800
#define | VL53L1_OFFSET_CAL_MIN_EFFECTIVE_SPADS 0x0500
#define | VL53L1_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900
#define | VL53L1_OFFSET_CAL_MAX_SIGMA_MM 0x0040
#define | VL53L1_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900
#define | VL53L1_ZONE_CAL_MAX_SIGMA_MM 0x0040
#define | VL53L1_XTALK_EXTRACT_MAX_SIGMA_MM 0x008C
#define | VL53L1_MAX_USER_ZONES 16
#define | VL53L1_MAX_RANGE_RESULTS 4
#define | VL53L1_MAX_STRING_LENGTH 512

Macro Definition Documentation

◆ VL53L1_BYTES_PER_WORD

#define VL53L1_BYTES_PER_WORD 2

Definition at line 21 of file vl53l1_platform_user_config.h.

◆ VL53L1_BYTES_PER_DWORD

#define VL53L1_BYTES_PER_DWORD 4

Definition at line 22 of file vl53l1_platform_user_config.h.

◆ VL53L1_BOOT_COMPLETION_POLLING_TIMEOUT_MS

#define VL53L1_BOOT_COMPLETION_POLLING_TIMEOUT_MS 500

Definition at line 25 of file vl53l1_platform_user_config.h.

◆ VL53L1_RANGE_COMPLETION_POLLING_TIMEOUT_MS

#define VL53L1_RANGE_COMPLETION_POLLING_TIMEOUT_MS 2000

Definition at line 26 of file vl53l1_platform_user_config.h.

◆ VL53L1_TEST_COMPLETION_POLLING_TIMEOUT_MS

#define VL53L1_TEST_COMPLETION_POLLING_TIMEOUT_MS 60000

Definition at line 27 of file vl53l1_platform_user_config.h.

◆ VL53L1_POLLING_DELAY_MS

#define VL53L1_POLLING_DELAY_MS 1

Definition at line 29 of file vl53l1_platform_user_config.h.

◆ VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS

#define VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS 0x8000

Definition at line 32 of file vl53l1_platform_user_config.h.

◆ VL53L1_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS

#define VL53L1_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS 0xC000

Definition at line 33 of file vl53l1_platform_user_config.h.

◆ VL53L1_GAIN_FACTOR__STANDARD_DEFAULT

#define VL53L1_GAIN_FACTOR__STANDARD_DEFAULT 0x0800

Definition at line 35 of file vl53l1_platform_user_config.h.

◆ VL53L1_GAIN_FACTOR__HISTOGRAM_DEFAULT

#define VL53L1_GAIN_FACTOR__HISTOGRAM_DEFAULT 0x0800

Definition at line 37 of file vl53l1_platform_user_config.h.

◆ VL53L1_OFFSET_CAL_MIN_EFFECTIVE_SPADS

#define VL53L1_OFFSET_CAL_MIN_EFFECTIVE_SPADS 0x0500

Definition at line 41 of file vl53l1_platform_user_config.h.

◆ VL53L1_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS

#define VL53L1_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900

Definition at line 44 of file vl53l1_platform_user_config.h.

◆ VL53L1_OFFSET_CAL_MAX_SIGMA_MM

#define VL53L1_OFFSET_CAL_MAX_SIGMA_MM 0x0040

Definition at line 47 of file vl53l1_platform_user_config.h.

◆ VL53L1_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS

#define VL53L1_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900

Definition at line 51 of file vl53l1_platform_user_config.h.

◆ VL53L1_ZONE_CAL_MAX_SIGMA_MM

#define VL53L1_ZONE_CAL_MAX_SIGMA_MM 0x0040

Definition at line 54 of file vl53l1_platform_user_config.h.

◆ VL53L1_XTALK_EXTRACT_MAX_SIGMA_MM

#define VL53L1_XTALK_EXTRACT_MAX_SIGMA_MM 0x008C

Definition at line 58 of file vl53l1_platform_user_config.h.

◆ VL53L1_MAX_USER_ZONES

#define VL53L1_MAX_USER_ZONES 16

Definition at line 62 of file vl53l1_platform_user_config.h.

◆ VL53L1_MAX_RANGE_RESULTS

#define VL53L1_MAX_RANGE_RESULTS 4

Definition at line 65 of file vl53l1_platform_user_config.h.

◆ VL53L1_MAX_STRING_LENGTH

#define VL53L1_MAX_STRING_LENGTH 512

Definition at line 69 of file vl53l1_platform_user_config.h.


VL53L1 API Specification: vl53l1_platform_user_data.h File Reference

  • delivery
  • bare_driver
  • platform
  • inc
Data Structures | Macros | Typedefs
vl53l1_platform_user_data.h File Reference
#include <stdlib.h>
#include "vl53l1_def.h"

Go to the source code of this file.

Data Structures

struct VL53L1_Dev_t

Macros

#define | VL53L1DevDataGet(Dev, field) (Dev->Data.field)
#define | VL53L1DevDataSet(Dev, field, VL53L1_p_002) ((Dev->Data.field) = (VL53L1_p_002))
#define | VL53L1DevStructGetLLDriverHandle(Dev) (&Dev->Data.LLData)
#define | VL53L1DevStructGetLLResultsHandle(Dev) (&Dev->Data.llresults)

Typedefs

typedef VL53L1_Dev_t * VL53L1_DEV

Macro Definition Documentation

◆ VL53L1DevDataGet

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

Definition at line 53 of file vl53l1_platform_user_data.h.

◆ VL53L1DevDataSet

#define VL53L1DevDataSet | ( | Dev,
 |  | field,
 |  | VL53L1_p_002
 | ) | ((Dev->Data.field) = (VL53L1_p_002))

Definition at line 57 of file vl53l1_platform_user_data.h.

◆ VL53L1DevStructGetLLDriverHandle

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

Definition at line 61 of file vl53l1_platform_user_data.h.

◆ VL53L1DevStructGetLLResultsHandle

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

Definition at line 64 of file vl53l1_platform_user_data.h.

Typedef Documentation

◆ VL53L1_DEV

typedef VL53L1_Dev_t* VL53L1_DEV

Definition at line 50 of file vl53l1_platform_user_data.h.


VL53L1 API Specification: vl53l1_platform_user_defines.h File Reference

  • delivery
  • bare_driver
  • platform
  • inc
Macros
vl53l1_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 (VL53L1_TRACE_LEVEL_WARNING, #__X__);
#define | DISABLE_WARNINGS()
#define | ENABLE_WARNINGS()

Macro Definition Documentation

◆ do_division_u

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

Definition at line 26 of file vl53l1_platform_user_defines.h.

◆ do_division_s

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

Definition at line 30 of file vl53l1_platform_user_defines.h.

◆ WARN_OVERRIDE_STATUS

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

Definition at line 34 of file vl53l1_platform_user_defines.h.

◆ DISABLE_WARNINGS

#define DISABLE_WARNINGS ( )

Definition at line 47 of file vl53l1_platform_user_defines.h.

◆ ENABLE_WARNINGS

#define ENABLE_WARNINGS ( )

Definition at line 48 of file vl53l1_platform_user_defines.h.


VL53L1 API Specification: vl53l1_types.h File Reference

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

Go to the source code of this file.

Typedefs

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

Typedef Documentation

◆ uint64_t

typedef unsigned long long uint64_t

Definition at line 38 of file vl53l1_types.h.

◆ uint32_t

typedef unsigned int uint32_t

Definition at line 42 of file vl53l1_types.h.

◆ int32_t

typedef int int32_t

Definition at line 45 of file vl53l1_types.h.

◆ uint16_t

typedef unsigned short uint16_t

Definition at line 48 of file vl53l1_types.h.

◆ int16_t

typedef short int16_t

Definition at line 51 of file vl53l1_types.h.

◆ uint8_t

typedef unsigned char uint8_t

Definition at line 54 of file vl53l1_types.h.

◆ int8_t

typedef signed char int8_t

Definition at line 57 of file vl53l1_types.h.

◆ FixPoint1616_t

typedef uint32_t FixPoint1616_t

Definition at line 64 of file vl53l1_types.h.


VL53L1 API Specification: Globals

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

- _ -

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


VL53L1 API Specification: Globals

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

- d -

  • DISABLE_WARNINGS : vl53l1_platform_user_defines.h
  • do_division_s : vl53l1_platform_user_defines.h
  • do_division_u : vl53l1_platform_user_defines.h


VL53L1 API Specification: Globals

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

- e -

  • ENABLE_WARNINGS : vl53l1_platform_user_defines.h


VL53L1 API Specification: Globals

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

- f -

  • FixPoint1616_t : vl53l1_types.h


VL53L1 API Specification: Globals

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

- i -

  • int16_t : vl53l1_types.h
  • int32_t : vl53l1_types.h
  • int8_t : vl53l1_types.h


VL53L1 API Specification: Globals

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

- u -

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


VL53L1 API Specification: Globals

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

- v -

  • VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION : vl53l1_def.h
  • VL53L1_AdditionalData_t : vl53l1_def.h
  • VL53L1_BOOT_COMPLETION_POLLING_TIMEOUT_MS : vl53l1_platform_user_config.h
  • VL53L1_BYTES_PER_DWORD : vl53l1_platform_user_config.h
  • VL53L1_BYTES_PER_WORD : vl53l1_platform_user_config.h
  • VL53L1_CALIBRATION_DATA_STRUCT_VERSION : vl53l1_def.h
  • VL53L1_CHECKENABLE_NUMBER_OF_CHECKS : vl53l1_def.h
  • VL53L1_CHECKENABLE_SIGMA_FINAL_RANGE : vl53l1_def.h
  • VL53L1_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE : vl53l1_def.h
  • VL53L1_ClearInterruptAndStartMeasurement() : vl53l1_api.h
  • VL53L1_CommsClose() : vl53l1_platform.h
  • VL53L1_CommsInitialise() : vl53l1_platform.h
  • VL53L1_DataInit() : vl53l1_api.h
  • VL53L1_DETECTION_DISTANCE_AND_RATE : vl53l1_def.h
  • VL53L1_DETECTION_DISTANCE_ONLY : vl53l1_def.h
  • VL53L1_DETECTION_DISTANCE_OR_RATE : vl53l1_def.h
  • VL53L1_DETECTION_NORMAL_RUN : vl53l1_def.h
  • VL53L1_DETECTION_RATE_ONLY : vl53l1_def.h
  • VL53L1_DetectionMode : vl53l1_def.h
  • VL53L1_DEV : vl53l1_platform_user_data.h
  • VL53L1_DeviceDmaxModes : vl53l1_def.h
  • VL53L1_DEVINFO_STRLEN : vl53l1_def.h
  • VL53L1_DISTANCEMODE_LONG : vl53l1_def.h
  • VL53L1_DISTANCEMODE_MEDIUM : vl53l1_def.h
  • VL53L1_DISTANCEMODE_SHORT : vl53l1_def.h
  • VL53L1_DistanceModes : vl53l1_def.h
  • VL53L1_DMAXMODE_CUSTCAL_DATA : vl53l1_def.h
  • VL53L1_DMAXMODE_FMT_CAL_DATA : vl53l1_def.h
  • VL53L1_DMAXMODE_PER_ZONE_CAL_DATA : vl53l1_def.h
  • VL53L1_Error : vl53l1_error_codes.h
  • VL53L1_ERROR_BUFFER_TOO_SMALL : vl53l1_error_codes.h
  • VL53L1_ERROR_CALIBRATION_WARNING : vl53l1_error_codes.h
  • VL53L1_ERROR_COMMS_BUFFER_TOO_SMALL : vl53l1_error_codes.h
  • VL53L1_ERROR_CONTROL_INTERFACE : vl53l1_error_codes.h
  • VL53L1_ERROR_DIVISION_BY_ZERO : vl53l1_error_codes.h
  • VL53L1_ERROR_GPH_ID_CHECK_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_GPH_SYNC_CHECK_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED : vl53l1_error_codes.h
  • VL53L1_ERROR_GPIO_NOT_EXISTING : vl53l1_error_codes.h
  • VL53L1_ERROR_INVALID_COMMAND : vl53l1_error_codes.h
  • VL53L1_ERROR_INVALID_PARAMS : vl53l1_error_codes.h
  • VL53L1_ERROR_MIN_CLIPPED : vl53l1_error_codes.h
  • VL53L1_ERROR_MODE_NOT_SUPPORTED : vl53l1_error_codes.h
  • VL53L1_ERROR_NONE : vl53l1_error_codes.h
  • VL53L1_ERROR_NOT_IMPLEMENTED : vl53l1_error_codes.h
  • VL53L1_ERROR_NOT_SUPPORTED : vl53l1_error_codes.h
  • VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_PLATFORM_SPECIFIC_START : vl53l1_error_codes.h
  • VL53L1_ERROR_RANGE_ERROR : vl53l1_error_codes.h
  • VL53L1_ERROR_REF_SPAD_INIT : vl53l1_error_codes.h
  • VL53L1_ERROR_STREAM_COUNT_CHECK_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_TIME_OUT : vl53l1_error_codes.h
  • VL53L1_ERROR_TUNING_PARM_KEY_MISMATCH : vl53l1_error_codes.h
  • VL53L1_ERROR_UNDEFINED : vl53l1_error_codes.h
  • VL53L1_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_ZONE_CAL_NO_SAMPLE_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_ZONE_GPH_ID_CHECK_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL : vl53l1_error_codes.h
  • VL53L1_FIXPOINT08TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT102TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT142TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT160TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT08 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT102 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT142 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT160 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT313 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT412 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT44 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT53 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT72 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT88 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT97 : vl53l1_def.h
  • VL53L1_FIXPOINT313TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT412TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT44TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT53TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT72TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT88TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT97TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_GAIN_FACTOR__HISTOGRAM_DEFAULT : vl53l1_platform_user_config.h
  • VL53L1_GAIN_FACTOR__STANDARD_DEFAULT : vl53l1_platform_user_config.h
  • VL53L1_GetAdditionalData() : vl53l1_api.h
  • VL53L1_GETARRAYPARAMETERFIELD : vl53l1_def.h
  • VL53L1_GetCalibrationData() : vl53l1_api.h
  • VL53L1_GetDeviceInfo() : vl53l1_api.h
  • VL53L1_GETDEVICESPECIFICPARAMETER : vl53l1_def.h
  • VL53L1_GetDistanceMode() : vl53l1_api.h
  • VL53L1_GetDmaxMode() : vl53l1_api.h
  • VL53L1_GetDmaxReflectance() : vl53l1_api.h
  • VL53L1_GetInterMeasurementPeriodMilliSeconds() : vl53l1_api.h
  • VL53L1_GetLimitCheckCurrent() : vl53l1_api.h
  • VL53L1_GetLimitCheckEnable() : vl53l1_api.h
  • VL53L1_GetLimitCheckInfo() : vl53l1_api.h
  • VL53L1_GetLimitCheckStatus() : vl53l1_api.h
  • VL53L1_GetLimitCheckValue() : vl53l1_api.h
  • VL53L1_GetMaxNumberOfROI() : vl53l1_api.h
  • VL53L1_GetMeasurementDataReady() : vl53l1_api.h
  • VL53L1_GetMeasurementTimingBudgetMicroSeconds() : vl53l1_api.h
  • VL53L1_GetMultiRangingData() : vl53l1_api.h
  • VL53L1_GetNumberOfLimitCheck() : vl53l1_api.h
  • VL53L1_GetNumberOfSequenceSteps() : vl53l1_api.h
  • VL53L1_GetOpticalCenter() : vl53l1_api.h
  • VL53L1_GetOutputMode() : vl53l1_api.h
  • VL53L1_GetPalErrorString() : vl53l1_api.h
  • VL53L1_GetPalState() : vl53l1_api.h
  • VL53L1_GetPalStateString() : vl53l1_api.h
  • VL53L1_GETPARAMETERFIELD : vl53l1_def.h
  • VL53L1_GetPresetMode() : vl53l1_api.h
  • VL53L1_GetProductRevision() : vl53l1_api.h
  • VL53L1_GetRangeStatusString() : vl53l1_api.h
  • VL53L1_GetRangingMeasurementData() : vl53l1_api.h
  • VL53L1_GetROI() : vl53l1_api.h
  • VL53L1_GetSequenceStepEnable() : vl53l1_api.h
  • VL53L1_GetSequenceStepsInfo() : vl53l1_api.h
  • VL53L1_GetThresholdConfig() : vl53l1_api.h
  • VL53L1_GetTickCount() : vl53l1_platform.h
  • VL53L1_GetTimerFrequency() : vl53l1_platform.h
  • VL53L1_GetTimerValue() : vl53l1_platform.h
  • VL53L1_GetTuningParameter() : vl53l1_api.h
  • VL53L1_GetUID() : vl53l1_api.h
  • VL53L1_GetVersion() : vl53l1_api.h
  • VL53L1_GetXTalkCompensationEnable() : vl53l1_api.h
  • VL53L1_GetZoneCalibrationData() : vl53l1_api.h
  • VL53L1_GpioCommsSelect() : vl53l1_platform.h
  • VL53L1_GpioGetValue() : vl53l1_platform.h
  • VL53L1_GpioInterruptDisable() : vl53l1_platform.h
  • VL53L1_GpioInterruptEnable() : vl53l1_platform.h
  • VL53L1_GpioPowerEnable() : vl53l1_platform.h
  • VL53L1_GpioSetMode() : vl53l1_platform.h
  • VL53L1_GpioSetValue() : vl53l1_platform.h
  • VL53L1_GpioXshutdown() : vl53l1_platform.h
  • VL53L1_IMPLEMENTATION_VER_MAJOR : vl53l1_def.h
  • VL53L1_IMPLEMENTATION_VER_MINOR : vl53l1_def.h
  • VL53L1_IMPLEMENTATION_VER_REVISION : vl53l1_def.h
  • VL53L1_IMPLEMENTATION_VER_SUB : vl53l1_def.h
  • VL53L1_IPP_API : vl53l1_platform.h
  • VL53L1_ipp_generate_dual_reflectance_xtalk_samples() : vl53l1_platform_ipp.h
  • VL53L1_ipp_hist_ambient_dmax() : vl53l1_platform_ipp.h
  • VL53L1_ipp_hist_process_data() : vl53l1_platform_ipp.h
  • VL53L1_ipp_hist_xtalk_correction() : vl53l1_platform_ipp.h
  • VL53L1_ipp_xtalk_calibration_process_data() : vl53l1_platform_ipp.h
  • VL53L1_MAKEUINT16 : vl53l1_def.h
  • VL53L1_MAX_RANGE_RESULTS : vl53l1_platform_user_config.h
  • VL53L1_MAX_STRING_LENGTH : vl53l1_platform_user_config.h
  • VL53L1_MAX_USER_ZONES : vl53l1_platform_user_config.h
  • VL53L1_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS : vl53l1_platform_user_config.h
  • VL53L1_OFFSET_CAL_MAX_SIGMA_MM : vl53l1_platform_user_config.h
  • VL53L1_OFFSET_CAL_MIN_EFFECTIVE_SPADS : vl53l1_platform_user_config.h
  • VL53L1_OFFSETCALIBRATIONMODE_MULTI_ZONE : vl53l1_def.h
  • VL53L1_OFFSETCALIBRATIONMODE_PRERANGE_ONLY : vl53l1_def.h
  • VL53L1_OFFSETCALIBRATIONMODE_STANDARD : vl53l1_def.h
  • VL53L1_OffsetCalibrationModes : vl53l1_def.h
  • VL53L1_OFFSETCORRECTIONMODE_PERVCSEL : vl53l1_def.h
  • VL53L1_OFFSETCORRECTIONMODE_PERZONE : vl53l1_def.h
  • VL53L1_OFFSETCORRECTIONMODE_STANDARD : vl53l1_def.h
  • VL53L1_OffsetCorrectionModes : vl53l1_def.h
  • VL53L1_OUTPUTMODE_NEAREST : vl53l1_def.h
  • VL53L1_OUTPUTMODE_STRONGEST : vl53l1_def.h
  • VL53L1_OutputModes : vl53l1_def.h
  • VL53L1_PerformOffsetCalibration() : vl53l1_api.h
  • VL53L1_PerformOffsetPerVcselCalibration() : vl53l1_api.h
  • VL53L1_PerformOffsetSimpleCalibration() : vl53l1_api.h
  • VL53L1_PerformOffsetZeroDistanceCalibration() : vl53l1_api.h
  • VL53L1_PerformRefSpadManagement() : vl53l1_api.h
  • VL53L1_PerformXTalkCalibration() : vl53l1_api.h
  • VL53L1_platform_init() : vl53l1_platform_init.h
  • VL53L1_platform_terminate() : vl53l1_platform_init.h
  • VL53L1_POLLING_DELAY_MS : vl53l1_platform_user_config.h
  • VL53L1_PRESETMODE_AUTONOMOUS : vl53l1_def.h
  • VL53L1_PRESETMODE_LITE_RANGING : vl53l1_def.h
  • VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS : vl53l1_def.h
  • VL53L1_PRESETMODE_MULTIZONES_SCANNING : vl53l1_def.h
  • VL53L1_PRESETMODE_OLT : vl53l1_def.h
  • VL53L1_PRESETMODE_PROXY_RANGING_MODE : vl53l1_def.h
  • VL53L1_PRESETMODE_RANGING : vl53l1_def.h
  • VL53L1_PresetModes : vl53l1_def.h
  • VL53L1_RANGE_COMPLETION_POLLING_TIMEOUT_MS : vl53l1_platform_user_config.h
  • VL53L1_RANGESTATUS_HARDWARE_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_MIN_RANGE_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_NONE : vl53l1_def.h
  • VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_PROCESSING_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_RANGE_INVALID : vl53l1_def.h
  • VL53L1_RANGESTATUS_RANGE_VALID : vl53l1_def.h
  • VL53L1_RANGESTATUS_RANGE_VALID_MERGED_PULSE : vl53l1_def.h
  • VL53L1_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED : vl53l1_def.h
  • VL53L1_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_SIGMA_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_SIGNAL_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_SYNCRONISATION_INT : vl53l1_def.h
  • VL53L1_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL : vl53l1_def.h
  • VL53L1_RANGESTATUS_WRAP_TARGET_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_XTALK_SIGNAL_FAIL : vl53l1_def.h
  • VL53L1_RdByte() : vl53l1_platform.h
  • VL53L1_RdDWord() : vl53l1_platform.h
  • VL53L1_RdWord() : vl53l1_platform.h
  • VL53L1_ReadMulti() : vl53l1_platform.h
  • VL53L1_RoiStatus : vl53l1_def.h
  • VL53L1_ROISTATUS_NOT_VALID : vl53l1_def.h
  • VL53L1_ROISTATUS_VALID_LAST : vl53l1_def.h
  • VL53L1_ROISTATUS_VALID_NOT_LAST : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_DSS1 : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_DSS2 : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_MM1 : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_MM2 : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_NUMBER_OF_ITEMS : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_PHASECAL : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_RANGE : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_REFPHASE : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_VHV : vl53l1_def.h
  • VL53L1_SequenceStepId : vl53l1_def.h
  • VL53L1_SETARRAYPARAMETERFIELD : vl53l1_def.h
  • VL53L1_SetCalibrationData() : vl53l1_api.h
  • VL53L1_SetDeviceAddress() : vl53l1_api.h
  • VL53L1_SETDEVICESPECIFICPARAMETER : vl53l1_def.h
  • VL53L1_SetDistanceMode() : vl53l1_api.h
  • VL53L1_SetDmaxMode() : vl53l1_api.h
  • VL53L1_SetDmaxReflectance() : vl53l1_api.h
  • VL53L1_SetInterMeasurementPeriodMilliSeconds() : vl53l1_api.h
  • VL53L1_SetLimitCheckEnable() : vl53l1_api.h
  • VL53L1_SetLimitCheckValue() : vl53l1_api.h
  • VL53L1_SetMeasurementTimingBudgetMicroSeconds() : vl53l1_api.h
  • VL53L1_SetOffsetCalibrationMode() : vl53l1_api.h
  • VL53L1_SetOffsetCorrectionMode() : vl53l1_api.h
  • VL53L1_SetOutputMode() : vl53l1_api.h
  • VL53L1_SETPARAMETERFIELD : vl53l1_def.h
  • VL53L1_SetPresetMode() : vl53l1_api.h
  • VL53L1_SetROI() : vl53l1_api.h
  • VL53L1_SetSequenceStepEnable() : vl53l1_api.h
  • VL53L1_SetThresholdConfig() : vl53l1_api.h
  • VL53L1_SetTuningParameter() : vl53l1_api.h
  • VL53L1_SetXTalkCompensationEnable() : vl53l1_api.h
  • VL53L1_SetZoneCalibrationData() : vl53l1_api.h
  • VL53L1_SMUDGE_CORRECTION_CONTINUOUS : vl53l1_def.h
  • VL53L1_SMUDGE_CORRECTION_DEBUG : vl53l1_def.h
  • VL53L1_SMUDGE_CORRECTION_NONE : vl53l1_def.h
  • VL53L1_SMUDGE_CORRECTION_SINGLE : vl53l1_def.h
  • VL53L1_SmudgeCorrectionEnable() : vl53l1_api.h
  • VL53L1_SmudgeCorrectionModes : vl53l1_def.h
  • VL53L1_StartMeasurement() : vl53l1_api.h
  • VL53L1_State : vl53l1_def.h
  • VL53L1_STATE_ERROR : vl53l1_def.h
  • VL53L1_STATE_IDLE : vl53l1_def.h
  • VL53L1_STATE_POWERDOWN : vl53l1_def.h
  • VL53L1_STATE_RESET : vl53l1_def.h
  • VL53L1_STATE_RUNNING : vl53l1_def.h
  • VL53L1_STATE_STANDBY : vl53l1_def.h
  • VL53L1_STATE_UNKNOWN : vl53l1_def.h
  • VL53L1_STATE_WAIT_STATICINIT : vl53l1_def.h
  • VL53L1_StaticInit() : vl53l1_api.h
  • VL53L1_StopMeasurement() : vl53l1_api.h
  • VL53L1_TEST_COMPLETION_POLLING_TIMEOUT_MS : vl53l1_platform_user_config.h
  • VL53L1_THRESHOLD_CROSSED_HIGH : vl53l1_def.h
  • VL53L1_THRESHOLD_CROSSED_LOW : vl53l1_def.h
  • VL53L1_THRESHOLD_IN_WINDOW : vl53l1_def.h
  • VL53L1_THRESHOLD_OUT_OF_WINDOW : vl53l1_def.h
  • VL53L1_ThresholdMode : vl53l1_def.h
  • VL53L1_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS : vl53l1_platform_user_config.h
  • VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS : vl53l1_platform_user_config.h
  • VL53L1_WaitDeviceBooted() : vl53l1_api.h
  • VL53L1_WaitMeasurementDataReady() : vl53l1_api.h
  • VL53L1_WaitMs() : vl53l1_platform.h
  • VL53L1_WaitUs() : vl53l1_platform.h
  • VL53L1_WaitValueMaskEx() : vl53l1_platform.h
  • VL53L1_WARNING_OFFSET_CAL_MISSING_SAMPLES : vl53l1_error_codes.h
  • VL53L1_WARNING_OFFSET_CAL_RATE_TOO_HIGH : vl53l1_error_codes.h
  • VL53L1_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH : vl53l1_error_codes.h
  • VL53L1_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW : vl53l1_error_codes.h
  • VL53L1_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS : vl53l1_error_codes.h
  • VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH : vl53l1_error_codes.h
  • VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW : vl53l1_error_codes.h
  • VL53L1_WARNING_XTALK_MISSING_SAMPLES : vl53l1_error_codes.h
  • VL53L1_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT : vl53l1_error_codes.h
  • VL53L1_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT : vl53l1_error_codes.h
  • VL53L1_WARNING_ZONE_CAL_MISSING_SAMPLES : vl53l1_error_codes.h
  • VL53L1_WARNING_ZONE_CAL_RATE_TOO_HIGH : vl53l1_error_codes.h
  • VL53L1_WARNING_ZONE_CAL_SIGMA_TOO_HIGH : vl53l1_error_codes.h
  • VL53L1_WrByte() : vl53l1_platform.h
  • VL53L1_WrDWord() : vl53l1_platform.h
  • VL53L1_WriteMulti() : vl53l1_platform.h
  • VL53L1_WrWord() : vl53l1_platform.h
  • VL53L1_XTALK_EXTRACT_MAX_SIGMA_MM : vl53l1_platform_user_config.h
  • VL53L1_XTALKCALIBRATIONMODE_FULL_ROI : vl53l1_def.h
  • VL53L1_XTALKCALIBRATIONMODE_NO_TARGET : vl53l1_def.h
  • VL53L1_XTALKCALIBRATIONMODE_SINGLE_TARGET : vl53l1_def.h
  • VL53L1_XtalkCalibrationModes : vl53l1_def.h
  • VL53L1_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS : vl53l1_platform_user_config.h
  • VL53L1_ZONE_CAL_MAX_SIGMA_MM : vl53l1_platform_user_config.h
  • VL53L1_ZoneCalibrationData_t : vl53l1_def.h
  • VL53L1DevDataGet : vl53l1_platform_user_data.h , vl53l1_api.h
  • VL53L1DevDataSet : vl53l1_platform_user_data.h , vl53l1_api.h
  • VL53L1DevStructGetLLDriverHandle : vl53l1_platform_user_data.h
  • VL53L1DevStructGetLLResultsHandle : vl53l1_platform_user_data.h


VL53L1 API Specification: Globals

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

- w -

  • WARN_OVERRIDE_STATUS : vl53l1_platform_user_defines.h


VL53L1 API Specification: Globals

- v -

  • VL53L1_ClearInterruptAndStartMeasurement() : vl53l1_api.h
  • VL53L1_CommsClose() : vl53l1_platform.h
  • VL53L1_CommsInitialise() : vl53l1_platform.h
  • VL53L1_DataInit() : vl53l1_api.h
  • VL53L1_GetAdditionalData() : vl53l1_api.h
  • VL53L1_GetCalibrationData() : vl53l1_api.h
  • VL53L1_GetDeviceInfo() : vl53l1_api.h
  • VL53L1_GetDistanceMode() : vl53l1_api.h
  • VL53L1_GetDmaxMode() : vl53l1_api.h
  • VL53L1_GetDmaxReflectance() : vl53l1_api.h
  • VL53L1_GetInterMeasurementPeriodMilliSeconds() : vl53l1_api.h
  • VL53L1_GetLimitCheckCurrent() : vl53l1_api.h
  • VL53L1_GetLimitCheckEnable() : vl53l1_api.h
  • VL53L1_GetLimitCheckInfo() : vl53l1_api.h
  • VL53L1_GetLimitCheckStatus() : vl53l1_api.h
  • VL53L1_GetLimitCheckValue() : vl53l1_api.h
  • VL53L1_GetMaxNumberOfROI() : vl53l1_api.h
  • VL53L1_GetMeasurementDataReady() : vl53l1_api.h
  • VL53L1_GetMeasurementTimingBudgetMicroSeconds() : vl53l1_api.h
  • VL53L1_GetMultiRangingData() : vl53l1_api.h
  • VL53L1_GetNumberOfLimitCheck() : vl53l1_api.h
  • VL53L1_GetNumberOfSequenceSteps() : vl53l1_api.h
  • VL53L1_GetOpticalCenter() : vl53l1_api.h
  • VL53L1_GetOutputMode() : vl53l1_api.h
  • VL53L1_GetPalErrorString() : vl53l1_api.h
  • VL53L1_GetPalState() : vl53l1_api.h
  • VL53L1_GetPalStateString() : vl53l1_api.h
  • VL53L1_GetPresetMode() : vl53l1_api.h
  • VL53L1_GetProductRevision() : vl53l1_api.h
  • VL53L1_GetRangeStatusString() : vl53l1_api.h
  • VL53L1_GetRangingMeasurementData() : vl53l1_api.h
  • VL53L1_GetROI() : vl53l1_api.h
  • VL53L1_GetSequenceStepEnable() : vl53l1_api.h
  • VL53L1_GetSequenceStepsInfo() : vl53l1_api.h
  • VL53L1_GetThresholdConfig() : vl53l1_api.h
  • VL53L1_GetTickCount() : vl53l1_platform.h
  • VL53L1_GetTimerFrequency() : vl53l1_platform.h
  • VL53L1_GetTimerValue() : vl53l1_platform.h
  • VL53L1_GetTuningParameter() : vl53l1_api.h
  • VL53L1_GetUID() : vl53l1_api.h
  • VL53L1_GetVersion() : vl53l1_api.h
  • VL53L1_GetXTalkCompensationEnable() : vl53l1_api.h
  • VL53L1_GetZoneCalibrationData() : vl53l1_api.h
  • VL53L1_GpioCommsSelect() : vl53l1_platform.h
  • VL53L1_GpioGetValue() : vl53l1_platform.h
  • VL53L1_GpioInterruptDisable() : vl53l1_platform.h
  • VL53L1_GpioInterruptEnable() : vl53l1_platform.h
  • VL53L1_GpioPowerEnable() : vl53l1_platform.h
  • VL53L1_GpioSetMode() : vl53l1_platform.h
  • VL53L1_GpioSetValue() : vl53l1_platform.h
  • VL53L1_GpioXshutdown() : vl53l1_platform.h
  • VL53L1_ipp_generate_dual_reflectance_xtalk_samples() : vl53l1_platform_ipp.h
  • VL53L1_ipp_hist_ambient_dmax() : vl53l1_platform_ipp.h
  • VL53L1_ipp_hist_process_data() : vl53l1_platform_ipp.h
  • VL53L1_ipp_hist_xtalk_correction() : vl53l1_platform_ipp.h
  • VL53L1_ipp_xtalk_calibration_process_data() : vl53l1_platform_ipp.h
  • VL53L1_PerformOffsetCalibration() : vl53l1_api.h
  • VL53L1_PerformOffsetPerVcselCalibration() : vl53l1_api.h
  • VL53L1_PerformOffsetSimpleCalibration() : vl53l1_api.h
  • VL53L1_PerformOffsetZeroDistanceCalibration() : vl53l1_api.h
  • VL53L1_PerformRefSpadManagement() : vl53l1_api.h
  • VL53L1_PerformXTalkCalibration() : vl53l1_api.h
  • VL53L1_platform_init() : vl53l1_platform_init.h
  • VL53L1_platform_terminate() : vl53l1_platform_init.h
  • VL53L1_RdByte() : vl53l1_platform.h
  • VL53L1_RdDWord() : vl53l1_platform.h
  • VL53L1_RdWord() : vl53l1_platform.h
  • VL53L1_ReadMulti() : vl53l1_platform.h
  • VL53L1_SetCalibrationData() : vl53l1_api.h
  • VL53L1_SetDeviceAddress() : vl53l1_api.h
  • VL53L1_SetDistanceMode() : vl53l1_api.h
  • VL53L1_SetDmaxMode() : vl53l1_api.h
  • VL53L1_SetDmaxReflectance() : vl53l1_api.h
  • VL53L1_SetInterMeasurementPeriodMilliSeconds() : vl53l1_api.h
  • VL53L1_SetLimitCheckEnable() : vl53l1_api.h
  • VL53L1_SetLimitCheckValue() : vl53l1_api.h
  • VL53L1_SetMeasurementTimingBudgetMicroSeconds() : vl53l1_api.h
  • VL53L1_SetOffsetCalibrationMode() : vl53l1_api.h
  • VL53L1_SetOffsetCorrectionMode() : vl53l1_api.h
  • VL53L1_SetOutputMode() : vl53l1_api.h
  • VL53L1_SetPresetMode() : vl53l1_api.h
  • VL53L1_SetROI() : vl53l1_api.h
  • VL53L1_SetSequenceStepEnable() : vl53l1_api.h
  • VL53L1_SetThresholdConfig() : vl53l1_api.h
  • VL53L1_SetTuningParameter() : vl53l1_api.h
  • VL53L1_SetXTalkCompensationEnable() : vl53l1_api.h
  • VL53L1_SetZoneCalibrationData() : vl53l1_api.h
  • VL53L1_SmudgeCorrectionEnable() : vl53l1_api.h
  • VL53L1_StartMeasurement() : vl53l1_api.h
  • VL53L1_StaticInit() : vl53l1_api.h
  • VL53L1_StopMeasurement() : vl53l1_api.h
  • VL53L1_WaitDeviceBooted() : vl53l1_api.h
  • VL53L1_WaitMeasurementDataReady() : vl53l1_api.h
  • VL53L1_WaitMs() : vl53l1_platform.h
  • VL53L1_WaitUs() : vl53l1_platform.h
  • VL53L1_WaitValueMaskEx() : vl53l1_platform.h
  • VL53L1_WrByte() : vl53l1_platform.h
  • VL53L1_WrDWord() : vl53l1_platform.h
  • VL53L1_WriteMulti() : vl53l1_platform.h
  • VL53L1_WrWord() : vl53l1_platform.h


VL53L1 API Specification: Globals

  • FixPoint1616_t : vl53l1_types.h
  • int16_t : vl53l1_types.h
  • int32_t : vl53l1_types.h
  • int8_t : vl53l1_types.h
  • uint16_t : vl53l1_types.h
  • uint32_t : vl53l1_types.h
  • uint64_t : vl53l1_types.h
  • uint8_t : vl53l1_types.h
  • VL53L1_AdditionalData_t : vl53l1_def.h
  • VL53L1_DetectionMode : vl53l1_def.h
  • VL53L1_DEV : vl53l1_platform_user_data.h
  • VL53L1_DeviceDmaxModes : vl53l1_def.h
  • VL53L1_DistanceModes : vl53l1_def.h
  • VL53L1_Error : vl53l1_error_codes.h
  • VL53L1_OffsetCalibrationModes : vl53l1_def.h
  • VL53L1_OffsetCorrectionModes : vl53l1_def.h
  • VL53L1_OutputModes : vl53l1_def.h
  • VL53L1_PresetModes : vl53l1_def.h
  • VL53L1_RoiStatus : vl53l1_def.h
  • VL53L1_SequenceStepId : vl53l1_def.h
  • VL53L1_SmudgeCorrectionModes : vl53l1_def.h
  • VL53L1_State : vl53l1_def.h
  • VL53L1_ThresholdMode : vl53l1_def.h
  • VL53L1_XtalkCalibrationModes : vl53l1_def.h
  • VL53L1_ZoneCalibrationData_t : vl53l1_def.h


VL53L1 API Specification: Globals

- _ -

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

- d -

  • DISABLE_WARNINGS : vl53l1_platform_user_defines.h
  • do_division_s : vl53l1_platform_user_defines.h
  • do_division_u : vl53l1_platform_user_defines.h

- e -

  • ENABLE_WARNINGS : vl53l1_platform_user_defines.h

- v -

  • VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION : vl53l1_def.h
  • VL53L1_BOOT_COMPLETION_POLLING_TIMEOUT_MS : vl53l1_platform_user_config.h
  • VL53L1_BYTES_PER_DWORD : vl53l1_platform_user_config.h
  • VL53L1_BYTES_PER_WORD : vl53l1_platform_user_config.h
  • VL53L1_CALIBRATION_DATA_STRUCT_VERSION : vl53l1_def.h
  • VL53L1_CHECKENABLE_NUMBER_OF_CHECKS : vl53l1_def.h
  • VL53L1_CHECKENABLE_SIGMA_FINAL_RANGE : vl53l1_def.h
  • VL53L1_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE : vl53l1_def.h
  • VL53L1_DETECTION_DISTANCE_AND_RATE : vl53l1_def.h
  • VL53L1_DETECTION_DISTANCE_ONLY : vl53l1_def.h
  • VL53L1_DETECTION_DISTANCE_OR_RATE : vl53l1_def.h
  • VL53L1_DETECTION_NORMAL_RUN : vl53l1_def.h
  • VL53L1_DETECTION_RATE_ONLY : vl53l1_def.h
  • VL53L1_DEVINFO_STRLEN : vl53l1_def.h
  • VL53L1_DISTANCEMODE_LONG : vl53l1_def.h
  • VL53L1_DISTANCEMODE_MEDIUM : vl53l1_def.h
  • VL53L1_DISTANCEMODE_SHORT : vl53l1_def.h
  • VL53L1_DMAXMODE_CUSTCAL_DATA : vl53l1_def.h
  • VL53L1_DMAXMODE_FMT_CAL_DATA : vl53l1_def.h
  • VL53L1_DMAXMODE_PER_ZONE_CAL_DATA : vl53l1_def.h
  • VL53L1_ERROR_BUFFER_TOO_SMALL : vl53l1_error_codes.h
  • VL53L1_ERROR_CALIBRATION_WARNING : vl53l1_error_codes.h
  • VL53L1_ERROR_COMMS_BUFFER_TOO_SMALL : vl53l1_error_codes.h
  • VL53L1_ERROR_CONTROL_INTERFACE : vl53l1_error_codes.h
  • VL53L1_ERROR_DIVISION_BY_ZERO : vl53l1_error_codes.h
  • VL53L1_ERROR_GPH_ID_CHECK_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_GPH_SYNC_CHECK_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED : vl53l1_error_codes.h
  • VL53L1_ERROR_GPIO_NOT_EXISTING : vl53l1_error_codes.h
  • VL53L1_ERROR_INVALID_COMMAND : vl53l1_error_codes.h
  • VL53L1_ERROR_INVALID_PARAMS : vl53l1_error_codes.h
  • VL53L1_ERROR_MIN_CLIPPED : vl53l1_error_codes.h
  • VL53L1_ERROR_MODE_NOT_SUPPORTED : vl53l1_error_codes.h
  • VL53L1_ERROR_NONE : vl53l1_error_codes.h
  • VL53L1_ERROR_NOT_IMPLEMENTED : vl53l1_error_codes.h
  • VL53L1_ERROR_NOT_SUPPORTED : vl53l1_error_codes.h
  • VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_PLATFORM_SPECIFIC_START : vl53l1_error_codes.h
  • VL53L1_ERROR_RANGE_ERROR : vl53l1_error_codes.h
  • VL53L1_ERROR_REF_SPAD_INIT : vl53l1_error_codes.h
  • VL53L1_ERROR_STREAM_COUNT_CHECK_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_TIME_OUT : vl53l1_error_codes.h
  • VL53L1_ERROR_TUNING_PARM_KEY_MISMATCH : vl53l1_error_codes.h
  • VL53L1_ERROR_UNDEFINED : vl53l1_error_codes.h
  • VL53L1_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_ZONE_CAL_NO_SAMPLE_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_ZONE_GPH_ID_CHECK_FAIL : vl53l1_error_codes.h
  • VL53L1_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL : vl53l1_error_codes.h
  • VL53L1_FIXPOINT08TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT102TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT142TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT160TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT08 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT102 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT142 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT160 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT313 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT412 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT44 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT53 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT72 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT88 : vl53l1_def.h
  • VL53L1_FIXPOINT1616TOFIXPOINT97 : vl53l1_def.h
  • VL53L1_FIXPOINT313TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT412TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT44TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT53TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT72TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT88TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_FIXPOINT97TOFIXPOINT1616 : vl53l1_def.h
  • VL53L1_GAIN_FACTOR__HISTOGRAM_DEFAULT : vl53l1_platform_user_config.h
  • VL53L1_GAIN_FACTOR__STANDARD_DEFAULT : vl53l1_platform_user_config.h
  • VL53L1_GETARRAYPARAMETERFIELD : vl53l1_def.h
  • VL53L1_GETDEVICESPECIFICPARAMETER : vl53l1_def.h
  • VL53L1_GETPARAMETERFIELD : vl53l1_def.h
  • VL53L1_IMPLEMENTATION_VER_MAJOR : vl53l1_def.h
  • VL53L1_IMPLEMENTATION_VER_MINOR : vl53l1_def.h
  • VL53L1_IMPLEMENTATION_VER_REVISION : vl53l1_def.h
  • VL53L1_IMPLEMENTATION_VER_SUB : vl53l1_def.h
  • VL53L1_IPP_API : vl53l1_platform.h
  • VL53L1_MAKEUINT16 : vl53l1_def.h
  • VL53L1_MAX_RANGE_RESULTS : vl53l1_platform_user_config.h
  • VL53L1_MAX_STRING_LENGTH : vl53l1_platform_user_config.h
  • VL53L1_MAX_USER_ZONES : vl53l1_platform_user_config.h
  • VL53L1_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS : vl53l1_platform_user_config.h
  • VL53L1_OFFSET_CAL_MAX_SIGMA_MM : vl53l1_platform_user_config.h
  • VL53L1_OFFSET_CAL_MIN_EFFECTIVE_SPADS : vl53l1_platform_user_config.h
  • VL53L1_OFFSETCALIBRATIONMODE_MULTI_ZONE : vl53l1_def.h
  • VL53L1_OFFSETCALIBRATIONMODE_PRERANGE_ONLY : vl53l1_def.h
  • VL53L1_OFFSETCALIBRATIONMODE_STANDARD : vl53l1_def.h
  • VL53L1_OFFSETCORRECTIONMODE_PERVCSEL : vl53l1_def.h
  • VL53L1_OFFSETCORRECTIONMODE_PERZONE : vl53l1_def.h
  • VL53L1_OFFSETCORRECTIONMODE_STANDARD : vl53l1_def.h
  • VL53L1_OUTPUTMODE_NEAREST : vl53l1_def.h
  • VL53L1_OUTPUTMODE_STRONGEST : vl53l1_def.h
  • VL53L1_POLLING_DELAY_MS : vl53l1_platform_user_config.h
  • VL53L1_PRESETMODE_AUTONOMOUS : vl53l1_def.h
  • VL53L1_PRESETMODE_LITE_RANGING : vl53l1_def.h
  • VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS : vl53l1_def.h
  • VL53L1_PRESETMODE_MULTIZONES_SCANNING : vl53l1_def.h
  • VL53L1_PRESETMODE_OLT : vl53l1_def.h
  • VL53L1_PRESETMODE_PROXY_RANGING_MODE : vl53l1_def.h
  • VL53L1_PRESETMODE_RANGING : vl53l1_def.h
  • VL53L1_RANGE_COMPLETION_POLLING_TIMEOUT_MS : vl53l1_platform_user_config.h
  • VL53L1_RANGESTATUS_HARDWARE_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_MIN_RANGE_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_NONE : vl53l1_def.h
  • VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_PROCESSING_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_RANGE_INVALID : vl53l1_def.h
  • VL53L1_RANGESTATUS_RANGE_VALID : vl53l1_def.h
  • VL53L1_RANGESTATUS_RANGE_VALID_MERGED_PULSE : vl53l1_def.h
  • VL53L1_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED : vl53l1_def.h
  • VL53L1_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_SIGMA_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_SIGNAL_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_SYNCRONISATION_INT : vl53l1_def.h
  • VL53L1_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL : vl53l1_def.h
  • VL53L1_RANGESTATUS_WRAP_TARGET_FAIL : vl53l1_def.h
  • VL53L1_RANGESTATUS_XTALK_SIGNAL_FAIL : vl53l1_def.h
  • VL53L1_ROISTATUS_NOT_VALID : vl53l1_def.h
  • VL53L1_ROISTATUS_VALID_LAST : vl53l1_def.h
  • VL53L1_ROISTATUS_VALID_NOT_LAST : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_DSS1 : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_DSS2 : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_MM1 : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_MM2 : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_NUMBER_OF_ITEMS : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_PHASECAL : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_RANGE : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_REFPHASE : vl53l1_def.h
  • VL53L1_SEQUENCESTEP_VHV : vl53l1_def.h
  • VL53L1_SETARRAYPARAMETERFIELD : vl53l1_def.h
  • VL53L1_SETDEVICESPECIFICPARAMETER : vl53l1_def.h
  • VL53L1_SETPARAMETERFIELD : vl53l1_def.h
  • VL53L1_SMUDGE_CORRECTION_CONTINUOUS : vl53l1_def.h
  • VL53L1_SMUDGE_CORRECTION_DEBUG : vl53l1_def.h
  • VL53L1_SMUDGE_CORRECTION_NONE : vl53l1_def.h
  • VL53L1_SMUDGE_CORRECTION_SINGLE : vl53l1_def.h
  • VL53L1_STATE_ERROR : vl53l1_def.h
  • VL53L1_STATE_IDLE : vl53l1_def.h
  • VL53L1_STATE_POWERDOWN : vl53l1_def.h
  • VL53L1_STATE_RESET : vl53l1_def.h
  • VL53L1_STATE_RUNNING : vl53l1_def.h
  • VL53L1_STATE_STANDBY : vl53l1_def.h
  • VL53L1_STATE_UNKNOWN : vl53l1_def.h
  • VL53L1_STATE_WAIT_STATICINIT : vl53l1_def.h
  • VL53L1_TEST_COMPLETION_POLLING_TIMEOUT_MS : vl53l1_platform_user_config.h
  • VL53L1_THRESHOLD_CROSSED_HIGH : vl53l1_def.h
  • VL53L1_THRESHOLD_CROSSED_LOW : vl53l1_def.h
  • VL53L1_THRESHOLD_IN_WINDOW : vl53l1_def.h
  • VL53L1_THRESHOLD_OUT_OF_WINDOW : vl53l1_def.h
  • VL53L1_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS : vl53l1_platform_user_config.h
  • VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS : vl53l1_platform_user_config.h
  • VL53L1_WARNING_OFFSET_CAL_MISSING_SAMPLES : vl53l1_error_codes.h
  • VL53L1_WARNING_OFFSET_CAL_RATE_TOO_HIGH : vl53l1_error_codes.h
  • VL53L1_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH : vl53l1_error_codes.h
  • VL53L1_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW : vl53l1_error_codes.h
  • VL53L1_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS : vl53l1_error_codes.h
  • VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH : vl53l1_error_codes.h
  • VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW : vl53l1_error_codes.h
  • VL53L1_WARNING_XTALK_MISSING_SAMPLES : vl53l1_error_codes.h
  • VL53L1_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT : vl53l1_error_codes.h
  • VL53L1_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT : vl53l1_error_codes.h
  • VL53L1_WARNING_ZONE_CAL_MISSING_SAMPLES : vl53l1_error_codes.h
  • VL53L1_WARNING_ZONE_CAL_RATE_TOO_HIGH : vl53l1_error_codes.h
  • VL53L1_WARNING_ZONE_CAL_SIGMA_TOO_HIGH : vl53l1_error_codes.h
  • VL53L1_XTALK_EXTRACT_MAX_SIGMA_MM : vl53l1_platform_user_config.h
  • VL53L1_XTALKCALIBRATIONMODE_FULL_ROI : vl53l1_def.h
  • VL53L1_XTALKCALIBRATIONMODE_NO_TARGET : vl53l1_def.h
  • VL53L1_XTALKCALIBRATIONMODE_SINGLE_TARGET : vl53l1_def.h
  • VL53L1_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS : vl53l1_platform_user_config.h
  • VL53L1_ZONE_CAL_MAX_SIGMA_MM : vl53l1_platform_user_config.h
  • VL53L1DevDataGet : vl53l1_platform_user_data.h , vl53l1_api.h
  • VL53L1DevDataSet : vl53l1_platform_user_data.h , vl53l1_api.h
  • VL53L1DevStructGetLLDriverHandle : vl53l1_platform_user_data.h
  • VL53L1DevStructGetLLResultsHandle : vl53l1_platform_user_data.h

- w -

  • WARN_OVERRIDE_STATUS : vl53l1_platform_user_defines.h


VL53L1 API Specification: delivery Directory Reference

  • delivery
delivery Directory Reference

Directories

directory bare_driver


VL53L1 API Specification: inc Directory Reference

  • delivery
  • bare_driver
  • core
  • inc
inc Directory Reference

Files

file | vl53l1_api.h [code]
file | vl53l1_def.h [code]
Type definitions for VL53L1 API.
file | vl53l1_error_codes.h [code]
Error Code definitions for VL53L1 API.


VL53L1 API Specification: doc Directory Reference

  • doc
doc Directory Reference

Files

file | vl53l1_disclaimer.c [code]
no code doxygen doc only
file | vl53l1_doxydoc.c [code]
no code doxygen doc only


VL53L1 API Specification: core Directory Reference

  • delivery
  • bare_driver
  • core
core Directory Reference

Directories

directory inc


VL53L1 API Specification: bare_driver Directory Reference

  • delivery
  • bare_driver
bare_driver Directory Reference

Directories

directory | core
directory | platform


VL53L1 API Specification: platform Directory Reference

  • delivery
  • bare_driver
  • platform
platform Directory Reference

Directories

directory inc


VL53L1 API Specification: inc Directory Reference

  • delivery
  • bare_driver
  • platform
  • inc
inc Directory Reference

Files

file | vl53l1_platform.h [code]
All end user OS/platform/application porting.
file | vl53l1_platform_init.h [code]
file | vl53l1_platform_ipp.h [code]
file | vl53l1_platform_ipp_imports.h [code]
file | vl53l1_platform_log.h [code]
file | vl53l1_platform_user_config.h [code]
file | vl53l1_platform_user_data.h [code]
file | vl53l1_platform_user_defines.h [code]
file | vl53l1_types.h [code]


VL53L1 API Specification: Related Pages

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


VL53L1 API Specification: vl53l1_api.h Source File

  • delivery
  • bare_driver
  • core
  • inc
vl53l1_api.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53L1 and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12 #ifndef _VL53L1_API_H_
13 #define _VL53L1_API_H_
14
15 #include "vl53l1_api_strings.h"
16 #include "vl53l1_api_core.h"
17 #include "vl53l1_preset_setup.h"
18
19 #ifdef __cplusplus
20 extern "C"
21 {
22 #endif
23
24 #if !defined(VL53L1DevDataGet)
25 #warning "PALDevDataGet is deprecated define VL53L1DevDataGet instead"
26 #define VL53L1DevDataGet(Dev, field) (Dev->Data.field)
27 #endif
28
29 #if !defined(VL53L1DevDataSet)
30 #warning "PALDevDataSet is deprecated define VL53L1DevDataSet instead"
31 #define VL53L1DevDataSet(Dev, field, data) ((Dev->Data.field) = (data))
32 #endif
33
53 VL53L1_Error VL53L1_GetVersion(VL53L1_Version_t *pVersion);
54
67 VL53L1_Error VL53L1_GetProductRevision(VL53L1_DEV Dev,
68 uint8_t *pProductRevisionMajor, uint8_t *pProductRevisionMinor);
69
81 VL53L1_Error VL53L1_GetDeviceInfo(VL53L1_DEV Dev,
82 VL53L1_DeviceInfo_t *pVL53L1_DeviceInfo);
83
94 VL53L1_Error VL53L1_GetUID(VL53L1_DEV Dev, uint64_t *pUid);
95
108 VL53L1_Error VL53L1_GetRangeStatusString(uint8_t RangeStatus,
109 char *pRangeStatusString);
110
122 VL53L1_Error VL53L1_GetPalErrorString(VL53L1_Error PalErrorCode,
123 char *pPalErrorString);
124
136 VL53L1_Error VL53L1_GetPalStateString(VL53L1_State PalStateCode,
137 char *pPalStateString);
138
150 VL53L1_Error VL53L1_GetPalState(VL53L1_DEV Dev,
151 VL53L1_State *pPalState);
152
153
154
177 VL53L1_Error VL53L1_SetDeviceAddress(VL53L1_DEV Dev,
178 uint8_t DeviceAddress);
179
204 VL53L1_Error VL53L1_DataInit(VL53L1_DEV Dev);
205
206
219 VL53L1_Error VL53L1_StaticInit(VL53L1_DEV Dev);
220
230 VL53L1_Error VL53L1_WaitDeviceBooted(VL53L1_DEV Dev);
231
232
268 VL53L1_Error VL53L1_SetPresetMode(VL53L1_DEV Dev,
269 VL53L1_PresetModes PresetMode);
270
285 VL53L1_Error VL53L1_GetPresetMode(VL53L1_DEV Dev,
286 VL53L1_PresetModes *pPresetMode);
287
288
310 VL53L1_Error VL53L1_SetDistanceMode(VL53L1_DEV Dev,
311 VL53L1_DistanceModes DistanceMode);
312
323 VL53L1_Error VL53L1_GetDistanceMode(VL53L1_DEV Dev,
324 VL53L1_DistanceModes *pDistanceMode);
325
326
351 VL53L1_Error VL53L1_SetOutputMode(VL53L1_DEV Dev,
352 VL53L1_OutputModes OutputMode);
353
364 VL53L1_Error VL53L1_GetOutputMode(VL53L1_DEV Dev,
365 VL53L1_OutputModes *pOutputMode);
366
367
387 VL53L1_Error VL53L1_SetMeasurementTimingBudgetMicroSeconds(
388 VL53L1_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds);
389
404 VL53L1_Error VL53L1_GetMeasurementTimingBudgetMicroSeconds(
405 VL53L1_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds);
406
407
422 VL53L1_Error VL53L1_SetInterMeasurementPeriodMilliSeconds(
423 VL53L1_DEV Dev, uint32_t InterMeasurementPeriodMilliSeconds);
424
435 VL53L1_Error VL53L1_GetInterMeasurementPeriodMilliSeconds(
436 VL53L1_DEV Dev, uint32_t *pInterMeasurementPeriodMilliSeconds);
437
452 VL53L1_Error VL53L1_SetDmaxReflectance(VL53L1_DEV Dev,
453 FixPoint1616_t DmaxReflectance);
454
466 VL53L1_Error VL53L1_GetDmaxReflectance(VL53L1_DEV Dev,
467 FixPoint1616_t *pDmaxReflectance);
480 VL53L1_Error VL53L1_SetDmaxMode(VL53L1_DEV Dev,
481 VL53L1_DeviceDmaxModes DmaxMode);
482
493 VL53L1_Error VL53L1_GetDmaxMode(VL53L1_DEV Dev,
494 VL53L1_DeviceDmaxModes *pDmaxMode);
495
516 VL53L1_Error VL53L1_GetNumberOfLimitCheck(
517 uint16_t *pNumberOfLimitCheck);
518
533 VL53L1_Error VL53L1_GetLimitCheckInfo(uint16_t LimitCheckId,
534 char *pLimitCheckString);
535
566 VL53L1_Error VL53L1_GetLimitCheckStatus(VL53L1_DEV Dev,
567 uint16_t LimitCheckId, uint8_t *pLimitCheckStatus);
568
589 VL53L1_Error VL53L1_SetLimitCheckEnable(VL53L1_DEV Dev,
590 uint16_t LimitCheckId, uint8_t LimitCheckEnable);
591
613 VL53L1_Error VL53L1_GetLimitCheckEnable(VL53L1_DEV Dev,
614 uint16_t LimitCheckId, uint8_t *pLimitCheckEnable);
615
636 VL53L1_Error VL53L1_SetLimitCheckValue(VL53L1_DEV Dev,
637 uint16_t LimitCheckId, FixPoint1616_t LimitCheckValue);
638
660 VL53L1_Error VL53L1_GetLimitCheckValue(VL53L1_DEV Dev,
661 uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckValue);
662
680 VL53L1_Error VL53L1_GetLimitCheckCurrent(VL53L1_DEV Dev,
681 uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckCurrent);
682
708 VL53L1_Error VL53L1_GetMaxNumberOfROI(VL53L1_DEV Dev,
709 uint8_t *pMaxNumberOfROI);
725 VL53L1_Error VL53L1_SetROI(VL53L1_DEV Dev,
726 VL53L1_RoiConfig_t *pRoiConfig);
727
740 VL53L1_Error VL53L1_GetROI(VL53L1_DEV Dev,
741 VL53L1_RoiConfig_t *pRoiConfig);
742
745 /* \internal */
766 VL53L1_Error VL53L1_GetNumberOfSequenceSteps(VL53L1_DEV Dev,
767 uint8_t *pNumberOfSequenceSteps);
768
784 VL53L1_Error VL53L1_GetSequenceStepsInfo(
785 VL53L1_SequenceStepId SequenceStepId, char *pSequenceStepsString);
786
787
788
806 VL53L1_Error VL53L1_SetSequenceStepEnable(VL53L1_DEV Dev,
807 VL53L1_SequenceStepId SequenceStepId, uint8_t SequenceStepEnabled);
808
826 VL53L1_Error VL53L1_GetSequenceStepEnable(VL53L1_DEV Dev,
827 VL53L1_SequenceStepId SequenceStepId, uint8_t *pSequenceStepEnabled);
828
829
831 /* \endinternal */
832
833
834
862 VL53L1_Error VL53L1_StartMeasurement(VL53L1_DEV Dev);
863
879 VL53L1_Error VL53L1_StopMeasurement(VL53L1_DEV Dev);
880
890 VL53L1_Error VL53L1_ClearInterruptAndStartMeasurement(VL53L1_DEV Dev);
891
907 VL53L1_Error VL53L1_GetMeasurementDataReady(VL53L1_DEV Dev,
908 uint8_t *pMeasurementDataReady);
909
923 VL53L1_Error VL53L1_WaitMeasurementDataReady(VL53L1_DEV Dev);
924
925
959 VL53L1_Error VL53L1_GetRangingMeasurementData(VL53L1_DEV Dev,
960 VL53L1_RangingMeasurementData_t *pRangingMeasurementData);
961
987 VL53L1_Error VL53L1_GetMultiRangingData(VL53L1_DEV Dev,
988 VL53L1_MultiRangingData_t *pMultiRangingData);
989
1005 VL53L1_Error VL53L1_GetAdditionalData(VL53L1_DEV Dev,
1006 VL53L1_AdditionalData_t *pAdditionalData);
1007
1008
1034 VL53L1_Error VL53L1_SetTuningParameter(VL53L1_DEV Dev,
1035 uint16_t TuningParameterId, int32_t TuningParameterValue);
1036
1053 VL53L1_Error VL53L1_GetTuningParameter(VL53L1_DEV Dev,
1054 uint16_t TuningParameterId, int32_t *pTuningParameterValue);
1055
1070 VL53L1_Error VL53L1_PerformRefSpadManagement(VL53L1_DEV Dev);
1071
1083 VL53L1_Error VL53L1_SmudgeCorrectionEnable(VL53L1_DEV Dev,
1084 VL53L1_SmudgeCorrectionModes Mode);
1085
1097 VL53L1_Error VL53L1_SetXTalkCompensationEnable(VL53L1_DEV Dev,
1098 uint8_t XTalkCompensationEnable);
1099
1113 VL53L1_Error VL53L1_GetXTalkCompensationEnable(VL53L1_DEV Dev,
1114 uint8_t *pXTalkCompensationEnable);
1115
1116
1156 VL53L1_Error VL53L1_PerformXTalkCalibration(VL53L1_DEV Dev,
1157 uint8_t CalibrationOption);
1158
1174 VL53L1_Error VL53L1_SetOffsetCalibrationMode(VL53L1_DEV Dev,
1175 VL53L1_OffsetCalibrationModes OffsetCalibrationMode);
1176
1191 VL53L1_Error VL53L1_SetOffsetCorrectionMode(VL53L1_DEV Dev,
1192 VL53L1_OffsetCorrectionModes OffsetCorrectionMode);
1193
1194
1216 VL53L1_Error VL53L1_PerformOffsetCalibration(VL53L1_DEV Dev,
1217 int32_t CalDistanceMilliMeter,
1218 FixPoint1616_t CalReflectancePercent);
1219
1244 VL53L1_Error VL53L1_PerformOffsetSimpleCalibration(VL53L1_DEV Dev,
1245 int32_t CalDistanceMilliMeter);
1246
1270 VL53L1_Error VL53L1_PerformOffsetZeroDistanceCalibration(VL53L1_DEV Dev);
1271
1297 VL53L1_Error VL53L1_PerformOffsetPerVcselCalibration(VL53L1_DEV Dev,
1298 int32_t CalDistanceMilliMeter);
1316 VL53L1_Error VL53L1_SetCalibrationData(VL53L1_DEV Dev,
1317 VL53L1_CalibrationData_t *pCalibrationData);
1318
1335 VL53L1_Error VL53L1_GetCalibrationData(VL53L1_DEV Dev,
1336 VL53L1_CalibrationData_t *pCalibrationData);
1337
1353 VL53L1_Error VL53L1_SetZoneCalibrationData(VL53L1_DEV Dev,
1354 VL53L1_ZoneCalibrationData_t *pZoneCalibrationData);
1355
1371 VL53L1_Error VL53L1_GetZoneCalibrationData(VL53L1_DEV Dev,
1372 VL53L1_ZoneCalibrationData_t *pZoneCalibrationData);
1390 VL53L1_Error VL53L1_GetOpticalCenter(VL53L1_DEV Dev,
1391 FixPoint1616_t *pOpticalCenterX,
1392 FixPoint1616_t *pOpticalCenterY);
1393
1409 VL53L1_Error VL53L1_SetThresholdConfig(VL53L1_DEV Dev,
1410 VL53L1_DetectionConfig_t *pConfig);
1411
1420 VL53L1_Error VL53L1_GetThresholdConfig(VL53L1_DEV Dev,
1421 VL53L1_DetectionConfig_t *pConfig);
1422
1423
1429 #ifdef __cplusplus
1430 }
1431 #endif
1432
1433 #endif /* _VL53L1_API_H_ */
VL53L1_PerformOffsetPerVcselCalibration
VL53L1_Error VL53L1_PerformOffsetPerVcselCalibration(VL53L1_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset per Vcsel Calibration.
VL53L1_PerformOffsetSimpleCalibration
VL53L1_Error VL53L1_PerformOffsetSimpleCalibration(VL53L1_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset simple Calibration.
VL53L1_PerformXTalkCalibration
VL53L1_Error VL53L1_PerformXTalkCalibration(VL53L1_DEV Dev, uint8_t CalibrationOption)
Perform XTalk Calibration.
VL53L1_SetOffsetCalibrationMode
VL53L1_Error VL53L1_SetOffsetCalibrationMode(VL53L1_DEV Dev, VL53L1_OffsetCalibrationModes OffsetCalibrationMode)
Define the mode to be used for the offset calibration.
VL53L1_SetTuningParameter
VL53L1_Error VL53L1_SetTuningParameter(VL53L1_DEV Dev, uint16_t TuningParameterId, int32_t TuningParameterValue)
Set Tuning Parameter value for a given parameter ID.
VL53L1_PerformRefSpadManagement
VL53L1_Error VL53L1_PerformRefSpadManagement(VL53L1_DEV Dev)
Performs Reference Spad Management.
VL53L1_GetTuningParameter
VL53L1_Error VL53L1_GetTuningParameter(VL53L1_DEV Dev, uint16_t TuningParameterId, int32_t *pTuningParameterValue)
Get Tuning Parameter value for a given parameter ID.
VL53L1_SetZoneCalibrationData
VL53L1_Error VL53L1_SetZoneCalibrationData(VL53L1_DEV Dev, VL53L1_ZoneCalibrationData_t *pZoneCalibrationData)
Sets the Zone Calibration Data.
VL53L1_GetZoneCalibrationData
VL53L1_Error VL53L1_GetZoneCalibrationData(VL53L1_DEV Dev, VL53L1_ZoneCalibrationData_t *pZoneCalibrationData)
Gets the Zone Calibration Data.
VL53L1_SetXTalkCompensationEnable
VL53L1_Error VL53L1_SetXTalkCompensationEnable(VL53L1_DEV Dev, uint8_t XTalkCompensationEnable)
Enable/Disable Cross talk compensation feature.
VL53L1_PerformOffsetZeroDistanceCalibration
VL53L1_Error VL53L1_PerformOffsetZeroDistanceCalibration(VL53L1_DEV Dev)
Perform Offset simple Calibration with a "zero distance" target.
VL53L1_SetOffsetCorrectionMode
VL53L1_Error VL53L1_SetOffsetCorrectionMode(VL53L1_DEV Dev, VL53L1_OffsetCorrectionModes OffsetCorrectionMode)
Define the mode to be used for the offset correction.
VL53L1_PerformOffsetCalibration
VL53L1_Error VL53L1_PerformOffsetCalibration(VL53L1_DEV Dev, int32_t CalDistanceMilliMeter, FixPoint1616_t CalReflectancePercent)
Perform Offset Calibration.
VL53L1_SetCalibrationData
VL53L1_Error VL53L1_SetCalibrationData(VL53L1_DEV Dev, VL53L1_CalibrationData_t *pCalibrationData)
Sets the Calibration Data.
VL53L1_GetXTalkCompensationEnable
VL53L1_Error VL53L1_GetXTalkCompensationEnable(VL53L1_DEV Dev, uint8_t *pXTalkCompensationEnable)
Get Cross talk compensation rate enable.
VL53L1_GetCalibrationData
VL53L1_Error VL53L1_GetCalibrationData(VL53L1_DEV Dev, VL53L1_CalibrationData_t *pCalibrationData)
Gets the Calibration Data.
VL53L1_SmudgeCorrectionEnable
VL53L1_Error VL53L1_SmudgeCorrectionEnable(VL53L1_DEV Dev, VL53L1_SmudgeCorrectionModes Mode)
Enable/Disable dynamic Xtalk compensation feature.
VL53L1_GetOpticalCenter
VL53L1_Error VL53L1_GetOpticalCenter(VL53L1_DEV Dev, FixPoint1616_t *pOpticalCenterX, FixPoint1616_t *pOpticalCenterY)
Gets the optical center.
VL53L1_GetMaxNumberOfROI
VL53L1_Error VL53L1_GetMaxNumberOfROI(VL53L1_DEV Dev, uint8_t *pMaxNumberOfROI)
Get the Maximum number of ROI Zones managed by the Device.
VL53L1_SetROI
VL53L1_Error VL53L1_SetROI(VL53L1_DEV Dev, VL53L1_RoiConfig_t *pRoiConfig)
Set the ROI to be used for ranging.
VL53L1_GetROI
VL53L1_Error VL53L1_GetROI(VL53L1_DEV Dev, VL53L1_RoiConfig_t *pRoiConfig)
Get the ROI managed by the Device.
VL53L1_SetThresholdConfig
VL53L1_Error VL53L1_SetThresholdConfig(VL53L1_DEV Dev, VL53L1_DetectionConfig_t *pConfig)
Configure the interrupt config, from the given structure.
VL53L1_GetThresholdConfig
VL53L1_Error VL53L1_GetThresholdConfig(VL53L1_DEV Dev, VL53L1_DetectionConfig_t *pConfig)
Retrieves the interrupt config structure currently programmed into the API.
VL53L1_DeviceDmaxModes
uint8_t VL53L1_DeviceDmaxModes
Definition: vl53l1_def.h:160
VL53L1_DistanceModes
uint8_t VL53L1_DistanceModes
Definition: vl53l1_def.h:105
VL53L1_Error
int8_t VL53L1_Error
Definition: vl53l1_error_codes.h:41
VL53L1_OffsetCalibrationModes
uint8_t VL53L1_OffsetCalibrationModes
Definition: vl53l1_def.h:145
VL53L1_OffsetCorrectionModes
uint8_t VL53L1_OffsetCorrectionModes
Definition: vl53l1_def.h:172
VL53L1_OutputModes
uint8_t VL53L1_OutputModes
Definition: vl53l1_def.h:116
VL53L1_PresetModes
uint8_t VL53L1_PresetModes
Definition: vl53l1_def.h:87
VL53L1_SequenceStepId
uint8_t VL53L1_SequenceStepId
Definition: vl53l1_def.h:619
VL53L1_SmudgeCorrectionModes
uint8_t VL53L1_SmudgeCorrectionModes
Definition: vl53l1_def.h:340
VL53L1_State
uint8_t VL53L1_State
Definition: vl53l1_def.h:314
VL53L1_GetPalErrorString
VL53L1_Error VL53L1_GetPalErrorString(VL53L1_Error PalErrorCode, char *pPalErrorString)
Human readable error string for driver error status.
VL53L1_GetPalState
VL53L1_Error VL53L1_GetPalState(VL53L1_DEV Dev, VL53L1_State *pPalState)
Reads the internal state of the driver for a given Device.
VL53L1_GetVersion
VL53L1_Error VL53L1_GetVersion(VL53L1_Version_t *pVersion)
Return the VL53L1 driver Version.
VL53L1_GetPalStateString
VL53L1_Error VL53L1_GetPalStateString(VL53L1_State PalStateCode, char *pPalStateString)
Human readable driver State string.
VL53L1_GetRangeStatusString
VL53L1_Error VL53L1_GetRangeStatusString(uint8_t RangeStatus, char *pRangeStatusString)
Human readable Range Status string for a given RangeStatus.
VL53L1_GetProductRevision
VL53L1_Error VL53L1_GetProductRevision(VL53L1_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....
VL53L1_GetUID
VL53L1_Error VL53L1_GetUID(VL53L1_DEV Dev, uint64_t *pUid)
Reads the Device unique identifier.
VL53L1_GetDeviceInfo
VL53L1_Error VL53L1_GetDeviceInfo(VL53L1_DEV Dev, VL53L1_DeviceInfo_t *pVL53L1_DeviceInfo)
Reads the Device information for given Device.
VL53L1_DataInit
VL53L1_Error VL53L1_DataInit(VL53L1_DEV Dev)
One time device initialization.
VL53L1_WaitDeviceBooted
VL53L1_Error VL53L1_WaitDeviceBooted(VL53L1_DEV Dev)
Wait for device booted after chip enable (hardware standby) This function can be run only when VL53L1...
VL53L1_SetDeviceAddress
VL53L1_Error VL53L1_SetDeviceAddress(VL53L1_DEV Dev, uint8_t DeviceAddress)
Set new device address.
VL53L1_StaticInit
VL53L1_Error VL53L1_StaticInit(VL53L1_DEV Dev)
Do basic device init (and eventually patch loading) This function will change the VL53L1_State from V...
VL53L1_GetLimitCheckCurrent
VL53L1_Error VL53L1_GetLimitCheckCurrent(VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckCurrent)
Get the current value of the signal used for the limit check.
VL53L1_GetLimitCheckStatus
VL53L1_Error VL53L1_GetLimitCheckStatus(VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t *pLimitCheckStatus)
Return a the Status of the specified check limit.
VL53L1_GetLimitCheckEnable
VL53L1_Error VL53L1_GetLimitCheckEnable(VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t *pLimitCheckEnable)
Get specific limit check enable state.
VL53L1_SetLimitCheckEnable
VL53L1_Error VL53L1_SetLimitCheckEnable(VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t LimitCheckEnable)
Enable/Disable a specific limit check.
VL53L1_GetLimitCheckValue
VL53L1_Error VL53L1_GetLimitCheckValue(VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckValue)
Get a specific limit check value.
VL53L1_SetLimitCheckValue
VL53L1_Error VL53L1_SetLimitCheckValue(VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t LimitCheckValue)
Set a specific limit check value.
VL53L1_GetNumberOfLimitCheck
VL53L1_Error VL53L1_GetNumberOfLimitCheck(uint16_t *pNumberOfLimitCheck)
Get the number of the check limit managed by a given Device.
VL53L1_GetLimitCheckInfo
VL53L1_Error VL53L1_GetLimitCheckInfo(uint16_t LimitCheckId, char *pLimitCheckString)
Return a description string for a given limit check number.
VL53L1_ClearInterruptAndStartMeasurement
VL53L1_Error VL53L1_ClearInterruptAndStartMeasurement(VL53L1_DEV Dev)
Clear the Interrupt flag and start new measurement *.
VL53L1_GetMeasurementDataReady
VL53L1_Error VL53L1_GetMeasurementDataReady(VL53L1_DEV Dev, uint8_t *pMeasurementDataReady)
Return Measurement Data Ready.
VL53L1_GetAdditionalData
VL53L1_Error VL53L1_GetAdditionalData(VL53L1_DEV Dev, VL53L1_AdditionalData_t *pAdditionalData)
Get Additional Data.
VL53L1_GetRangingMeasurementData
VL53L1_Error VL53L1_GetRangingMeasurementData(VL53L1_DEV Dev, VL53L1_RangingMeasurementData_t *pRangingMeasurementData)
Retrieve the measurements from device for a given setup.
VL53L1_GetMultiRangingData
VL53L1_Error VL53L1_GetMultiRangingData(VL53L1_DEV Dev, VL53L1_MultiRangingData_t *pMultiRangingData)
Retrieve all ROI's measurements from device for a given setup.
VL53L1_StopMeasurement
VL53L1_Error VL53L1_StopMeasurement(VL53L1_DEV Dev)
Stop device measurement.
VL53L1_WaitMeasurementDataReady
VL53L1_Error VL53L1_WaitMeasurementDataReady(VL53L1_DEV Dev)
Wait for measurement data ready.
VL53L1_StartMeasurement
VL53L1_Error VL53L1_StartMeasurement(VL53L1_DEV Dev)
Start device measurement.
VL53L1_SetMeasurementTimingBudgetMicroSeconds
VL53L1_Error VL53L1_SetMeasurementTimingBudgetMicroSeconds(VL53L1_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds)
Set Ranging Timing Budget in microseconds.
VL53L1_GetMeasurementTimingBudgetMicroSeconds
VL53L1_Error VL53L1_GetMeasurementTimingBudgetMicroSeconds(VL53L1_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds)
Get Ranging Timing Budget in microseconds.
VL53L1_SetDmaxMode
VL53L1_Error VL53L1_SetDmaxMode(VL53L1_DEV Dev, VL53L1_DeviceDmaxModes DmaxMode)
Set function for ambient Dmax mode.
VL53L1_SetPresetMode
VL53L1_Error VL53L1_SetPresetMode(VL53L1_DEV Dev, VL53L1_PresetModes PresetMode)
Set a new Preset Mode.
VL53L1_GetInterMeasurementPeriodMilliSeconds
VL53L1_Error VL53L1_GetInterMeasurementPeriodMilliSeconds(VL53L1_DEV Dev, uint32_t *pInterMeasurementPeriodMilliSeconds)
Get continuous mode Inter-Measurement period in milliseconds.
VL53L1_SetOutputMode
VL53L1_Error VL53L1_SetOutputMode(VL53L1_DEV Dev, VL53L1_OutputModes OutputMode)
Set the output mode.
VL53L1_GetOutputMode
VL53L1_Error VL53L1_GetOutputMode(VL53L1_DEV Dev, VL53L1_OutputModes *pOutputMode)
Get the output mode.
VL53L1_GetPresetMode
VL53L1_Error VL53L1_GetPresetMode(VL53L1_DEV Dev, VL53L1_PresetModes *pPresetMode)
Get current Preset Mode.
VL53L1_SetInterMeasurementPeriodMilliSeconds
VL53L1_Error VL53L1_SetInterMeasurementPeriodMilliSeconds(VL53L1_DEV Dev, uint32_t InterMeasurementPeriodMilliSeconds)
Program continuous mode Inter-Measurement period in milliseconds.
VL53L1_GetDistanceMode
VL53L1_Error VL53L1_GetDistanceMode(VL53L1_DEV Dev, VL53L1_DistanceModes *pDistanceMode)
Get the distance mode.
VL53L1_SetDmaxReflectance
VL53L1_Error VL53L1_SetDmaxReflectance(VL53L1_DEV Dev, FixPoint1616_t DmaxReflectance)
target reflectance for Dmax setting
VL53L1_GetDmaxMode
VL53L1_Error VL53L1_GetDmaxMode(VL53L1_DEV Dev, VL53L1_DeviceDmaxModes *pDmaxMode)
Get function for ambient Dmax mode.
VL53L1_SetDistanceMode
VL53L1_Error VL53L1_SetDistanceMode(VL53L1_DEV Dev, VL53L1_DistanceModes DistanceMode)
Set the distance mode.
VL53L1_GetDmaxReflectance
VL53L1_Error VL53L1_GetDmaxReflectance(VL53L1_DEV Dev, FixPoint1616_t *pDmaxReflectance)
Get target reflectance for Dmax.
VL53L1_SetSequenceStepEnable
VL53L1_Error VL53L1_SetSequenceStepEnable(VL53L1_DEV Dev, VL53L1_SequenceStepId SequenceStepId, uint8_t SequenceStepEnabled)
Sets the (on/off) state of a requested sequence step.
VL53L1_GetSequenceStepsInfo
VL53L1_Error VL53L1_GetSequenceStepsInfo(VL53L1_SequenceStepId SequenceStepId, char *pSequenceStepsString)
Gets the name of a given sequence step.
VL53L1_GetNumberOfSequenceSteps
VL53L1_Error VL53L1_GetNumberOfSequenceSteps(VL53L1_DEV Dev, uint8_t *pNumberOfSequenceSteps)
Gets number of sequence steps managed by the API.
VL53L1_GetSequenceStepEnable
VL53L1_Error VL53L1_GetSequenceStepEnable(VL53L1_DEV Dev, VL53L1_SequenceStepId SequenceStepId, uint8_t *pSequenceStepEnabled)
Gets the (on/off) state of a requested sequence step.
VL53L1_AdditionalData_t
Structure for storing the Additional Data.
VL53L1_CalibrationData_t
Structure for storing the Calibration Data.
Definition: vl53l1_def.h:576
VL53L1_DetectionConfig_t
Defines parameters for User/object Detection configuration.
Definition: vl53l1_def.h:275
VL53L1_Dev_t
Definition: vl53l1_platform_user_data.h:32
VL53L1_DeviceInfo_t
Defines the parameters of the Get Device Info Functions.
Definition: vl53l1_def.h:62
VL53L1_MultiRangingData_t
Structure for storing the set of range results for a single ROI.
Definition: vl53l1_def.h:475
VL53L1_RangingMeasurementData_t
Single Range measurement data.
Definition: vl53l1_def.h:360
VL53L1_RoiConfig_t
Defines ROI configuration parameters.
Definition: vl53l1_def.h:537
VL53L1_Version_t
Defines the parameters of the Get Version Functions.
Definition: vl53l1_def.h:50
VL53L1_ZoneCalibrationData_t
Structure for storing the Zone Calibration Data.
uint16_t
unsigned short uint16_t
Definition: vl53l1_types.h:48
int32_t
int int32_t
Definition: vl53l1_types.h:45
uint32_t
unsigned int uint32_t
Definition: vl53l1_types.h:42
uint64_t
unsigned long long uint64_t
Definition: vl53l1_types.h:38
uint8_t
unsigned char uint8_t
Definition: vl53l1_types.h:54
FixPoint1616_t
uint32_t FixPoint1616_t
Definition: vl53l1_types.h:64


VL53L1 API Specification: vl53l1_def.h Source File

  • delivery
  • bare_driver
  • core
  • inc
vl53l1_def.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53L1 and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
20 #ifndef _VL53L1_DEF_H_
21 #define _VL53L1_DEF_H_
22
23 #include "vl53l1_ll_def.h"
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
36 #define VL53L1_IMPLEMENTATION_VER_MAJOR 6
38 #define VL53L1_IMPLEMENTATION_VER_MINOR 6
40 #define VL53L1_IMPLEMENTATION_VER_SUB 18
42 #define VL53L1_IMPLEMENTATION_VER_REVISION 2652
43
44 /****************************************
45 * PRIVATE define do not edit
46 ****************************************/
47
50 typedef struct {
51 uint32_t revision;
52 uint8_t major;
53 uint8_t minor;
54 uint8_t build;
55 } VL53L1_Version_t;
56
57
58 #define VL53L1_DEVINFO_STRLEN 32
59
62 typedef struct {
63 char Name[VL53L1_DEVINFO_STRLEN];
65 char Type[VL53L1_DEVINFO_STRLEN];
67 char ProductId[VL53L1_DEVINFO_STRLEN];
71 uint8_t ProductType;
75 uint8_t ProductRevisionMajor;
77 uint8_t ProductRevisionMinor;
79 } VL53L1_DeviceInfo_t;
80
81
82
87 typedef uint8_t VL53L1_PresetModes;
88
89 #define VL53L1_PRESETMODE_RANGING ((VL53L1_PresetModes) 1)
90 #define VL53L1_PRESETMODE_MULTIZONES_SCANNING ((VL53L1_PresetModes) 2)
91 #define VL53L1_PRESETMODE_AUTONOMOUS ((VL53L1_PresetModes) 3)
92 #define VL53L1_PRESETMODE_LITE_RANGING ((VL53L1_PresetModes) 4)
93 #define VL53L1_PRESETMODE_OLT ((VL53L1_PresetModes) 7)
94 #define VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS ((VL53L1_PresetModes) 8)
95 #define VL53L1_PRESETMODE_PROXY_RANGING_MODE ((VL53L1_PresetModes) 9)
96
97 /* ... Modes to be added depending on device */
105 typedef uint8_t VL53L1_DistanceModes;
106
107 #define VL53L1_DISTANCEMODE_SHORT ((VL53L1_DistanceModes) 1)
108 #define VL53L1_DISTANCEMODE_MEDIUM ((VL53L1_DistanceModes) 2)
109 #define VL53L1_DISTANCEMODE_LONG ((VL53L1_DistanceModes) 3)
116 typedef uint8_t VL53L1_OutputModes;
117
118 #define VL53L1_OUTPUTMODE_NEAREST ((VL53L1_OutputModes) 1)
119 #define VL53L1_OUTPUTMODE_STRONGEST ((VL53L1_OutputModes) 2)
120
127 typedef uint8_t VL53L1_XtalkCalibrationModes;
128
129 #define VL53L1_XTALKCALIBRATIONMODE_NO_TARGET \
130 ((VL53L1_OffsetCalibrationModes) 0)
132 #define VL53L1_XTALKCALIBRATIONMODE_SINGLE_TARGET \
133 ((VL53L1_OffsetCalibrationModes) 1)
135 #define VL53L1_XTALKCALIBRATIONMODE_FULL_ROI \
136 ((VL53L1_OffsetCalibrationModes) 2)
145 typedef uint8_t VL53L1_OffsetCalibrationModes;
146
147 #define VL53L1_OFFSETCALIBRATIONMODE_STANDARD \
148 ((VL53L1_OffsetCalibrationModes) 1)
149 #define VL53L1_OFFSETCALIBRATIONMODE_PRERANGE_ONLY \
150 ((VL53L1_OffsetCalibrationModes) 2)
151 #define VL53L1_OFFSETCALIBRATIONMODE_MULTI_ZONE \
152 ((VL53L1_OffsetCalibrationModes) 3)
153
160 typedef uint8_t VL53L1_DeviceDmaxModes;
161
162 #define VL53L1_DMAXMODE_FMT_CAL_DATA ((VL53L1_DeviceDmaxModes) 1)
163 #define VL53L1_DMAXMODE_CUSTCAL_DATA ((VL53L1_DeviceDmaxModes) 2)
164 #define VL53L1_DMAXMODE_PER_ZONE_CAL_DATA ((VL53L1_DeviceDmaxModes) 3)
165
172 typedef uint8_t VL53L1_OffsetCorrectionModes;
173
174 #define VL53L1_OFFSETCORRECTIONMODE_STANDARD ((VL53L1_OffsetCorrectionMode) 1)
175 #define VL53L1_OFFSETCORRECTIONMODE_PERZONE ((VL53L1_OffsetCorrectionMode) 2)
176 #define VL53L1_OFFSETCORRECTIONMODE_PERVCSEL ((VL53L1_OffsetCorrectionMode) 3)
177
184 typedef uint8_t VL53L1_RoiStatus;
185
186 #define VL53L1_ROISTATUS_NOT_VALID ((VL53L1_RoiStatus) 0)
187 #define VL53L1_ROISTATUS_VALID_NOT_LAST ((VL53L1_RoiStatus) 1)
188 #define VL53L1_ROISTATUS_VALID_LAST ((VL53L1_RoiStatus) 2)
200 #define VL53L1_CHECKENABLE_SIGMA_FINAL_RANGE 0
201 #define VL53L1_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE 1
202
203 #define VL53L1_CHECKENABLE_NUMBER_OF_CHECKS 2
204
212 typedef uint8_t VL53L1_ThresholdMode;
213
214 #define VL53L1_THRESHOLD_CROSSED_LOW \
215 ((VL53L1_ThresholdMode) 0)
217 #define VL53L1_THRESHOLD_CROSSED_HIGH \
218 ((VL53L1_ThresholdMode) 1)
220 #define VL53L1_THRESHOLD_OUT_OF_WINDOW \
221 ((VL53L1_ThresholdMode) 2)
223 #define VL53L1_THRESHOLD_IN_WINDOW \
224 ((VL53L1_ThresholdMode) 3)
231 typedef struct {
232 VL53L1_ThresholdMode CrossMode;
233 uint16_t High;
234 uint16_t Low;
235 } VL53L1_DistanceThreshold_t;
236
239 typedef struct {
240 VL53L1_ThresholdMode CrossMode;
241 FixPoint1616_t High;
242 FixPoint1616_t Low;
243 } VL53L1_RateThreshold_t;
244
249 typedef uint8_t VL53L1_DetectionMode;
250
251 #define VL53L1_DETECTION_NORMAL_RUN \
252 ((VL53L1_DetectionMode) 0)
256 #define VL53L1_DETECTION_DISTANCE_ONLY \
257 ((VL53L1_DetectionMode) 1)
259 #define VL53L1_DETECTION_RATE_ONLY \
260 ((VL53L1_DetectionMode) 2)
262 #define VL53L1_DETECTION_DISTANCE_AND_RATE \
263 ((VL53L1_DetectionMode) 3)
266 #define VL53L1_DETECTION_DISTANCE_OR_RATE \
267 ((VL53L1_DetectionMode) 4)
275 typedef struct {
276 VL53L1_DetectionMode DetectionMode;
277 uint8_t IntrNoTarget;
278 VL53L1_DistanceThreshold_t Distance;
279 VL53L1_RateThreshold_t Rate;
280 } VL53L1_DetectionConfig_t;
281
282
285 typedef struct {
286 VL53L1_PresetModes PresetMode;
288 VL53L1_OutputModes OutputMode;
290 VL53L1_DistanceModes DistanceMode;
292 uint32_t MeasurementTimingBudgetMicroSeconds;
294 uint8_t LimitChecksEnable[VL53L1_CHECKENABLE_NUMBER_OF_CHECKS];
296 uint8_t LimitChecksStatus[VL53L1_CHECKENABLE_NUMBER_OF_CHECKS];
300 FixPoint1616_t LimitChecksValue[VL53L1_CHECKENABLE_NUMBER_OF_CHECKS];
302 FixPoint1616_t LimitChecksCurrent[VL53L1_CHECKENABLE_NUMBER_OF_CHECKS];
306 } VL53L1_DeviceParameters_t;
307
308
314 typedef uint8_t VL53L1_State;
315
316 #define VL53L1_STATE_POWERDOWN ((VL53L1_State) 0)
318 #define VL53L1_STATE_WAIT_STATICINIT ((VL53L1_State) 1)
320 #define VL53L1_STATE_STANDBY ((VL53L1_State) 2)
322 #define VL53L1_STATE_IDLE ((VL53L1_State) 3)
324 #define VL53L1_STATE_RUNNING ((VL53L1_State) 4)
326 #define VL53L1_STATE_RESET ((VL53L1_State) 5)
328 #define VL53L1_STATE_UNKNOWN ((VL53L1_State) 98)
330 #define VL53L1_STATE_ERROR ((VL53L1_State) 99)
340 typedef uint8_t VL53L1_SmudgeCorrectionModes;
341
342 #define VL53L1_SMUDGE_CORRECTION_NONE ((VL53L1_SmudgeCorrectionModes) 0)
344 #define VL53L1_SMUDGE_CORRECTION_CONTINUOUS ((VL53L1_SmudgeCorrectionModes) 1)
346 #define VL53L1_SMUDGE_CORRECTION_SINGLE ((VL53L1_SmudgeCorrectionModes) 2)
348 #define VL53L1_SMUDGE_CORRECTION_DEBUG ((VL53L1_SmudgeCorrectionModes) 3)
360 typedef struct {
361 uint32_t TimeStamp;
366 uint8_t StreamCount;
369 uint8_t RangeQualityLevel;
374 FixPoint1616_t SignalRateRtnMegaCps;
380 FixPoint1616_t AmbientRateRtnMegaCps;
386 uint16_t EffectiveSpadRtnCount;
391 FixPoint1616_t SigmaMilliMeter;
394 int16_t RangeMilliMeter;
399 uint8_t RangeFractionalPart;
405 uint8_t RangeStatus;
409 } VL53L1_RangingMeasurementData_t;
410
415 typedef struct {
416 uint8_t RangeQualityLevel;
421 int16_t RangeMaxMilliMeter;
427 int16_t RangeMinMilliMeter;
433 FixPoint1616_t SignalRateRtnMegaCps;
439 FixPoint1616_t AmbientRateRtnMegaCps;
445 FixPoint1616_t SigmaMilliMeter;
448 int16_t RangeMilliMeter;
453 uint8_t RangeFractionalPart;
459 uint8_t RangeStatus;
464 uint8_t ExtendedRange;
469 } VL53L1_TargetRangeData_t;
475 typedef struct {
476 uint32_t TimeStamp;
481 uint8_t StreamCount;
484 uint8_t RoiNumber;
486 uint8_t NumberOfObjectsFound;
492 VL53L1_RoiStatus RoiStatus;
496 VL53L1_TargetRangeData_t RangeData[VL53L1_MAX_RANGE_RESULTS];
498 uint8_t HasXtalkValueChanged;
505 uint16_t EffectiveSpadRtnCount;
509 int16_t DmaxMilliMeter;
512 VL53L1_DistanceModes RecommendedDistanceMode;
516 } VL53L1_MultiRangingData_t;
517
518
522 typedef struct {
523
524 uint8_t TopLeftX;
525 uint8_t TopLeftY;
526 uint8_t BotRightX;
527 uint8_t BotRightY;
529 } VL53L1_UserRoi_t;
530
531
537 typedef struct {
538
539 uint8_t NumberOfRoi;
541 VL53L1_UserRoi_t UserRois[VL53L1_MAX_USER_ZONES];
544 } VL53L1_RoiConfig_t;
545
551 typedef struct {
552 uint8_t global_config__spad_enables_ref_0;
553 uint8_t global_config__spad_enables_ref_1;
554 uint8_t global_config__spad_enables_ref_2;
555 uint8_t global_config__spad_enables_ref_3;
556 uint8_t global_config__spad_enables_ref_4;
557 uint8_t global_config__spad_enables_ref_5;
558 uint8_t global_config__ref_en_start_select;
559 uint8_t ref_spad_man__num_requested_ref_spads;
560 uint8_t ref_spad_man__ref_location;
561 uint32_t algo__crosstalk_compensation_plane_offset_kcps;
562 int16_t algo__crosstalk_compensation_x_plane_gradient_kcps;
563 int16_t algo__crosstalk_compensation_y_plane_gradient_kcps;
564 uint16_t ref_spad_char__total_rate_target_mcps;
565 int16_t algo__part_to_part_range_offset_mm;
566 int16_t mm_config__inner_offset_mm;
567 int16_t mm_config__outer_offset_mm;
568 } VL53L1_CustomerNvmManaged_t;
569
576 typedef struct {
577
578 uint32_t struct_version;
579 VL53L1_CustomerNvmManaged_t customer;
580 VL53L1_dmax_calibration_data_t fmt_dmax_cal;
581 VL53L1_dmax_calibration_data_t cust_dmax_cal;
582 VL53L1_additional_offset_cal_data_t add_off_cal_data;
583 VL53L1_optical_centre_t optical_centre;
584 VL53L1_xtalk_histogram_data_t xtalkhisto;
585 VL53L1_gain_calibration_data_t gain_cal;
586 VL53L1_cal_peak_rate_map_t cal_peak_rate_map;
587 VL53L1_per_vcsel_period_offset_cal_data_t per_vcsel_cal_data;
588 uint32_t algo__xtalk_cpo_HistoMerge_kcps[VL53L1_BIN_REC_SIZE];
589 } VL53L1_CalibrationData_t;
590
591 #define VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x20
596 #define VL53L1_CALIBRATION_DATA_STRUCT_VERSION \
597 (VL53L1_LL_CALIBRATION_DATA_STRUCT_VERSION + \
598 VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION)
599 /* VL53L1 Calibration Data struct version */
600
606 typedef VL53L1_additional_data_t VL53L1_AdditionalData_t;
607
613 typedef VL53L1_zone_calibration_results_t VL53L1_ZoneCalibrationData_t;
614
619 typedef uint8_t VL53L1_SequenceStepId;
620
621 #define VL53L1_SEQUENCESTEP_VHV ((VL53L1_SequenceStepId) 0)
623 #define VL53L1_SEQUENCESTEP_PHASECAL ((VL53L1_SequenceStepId) 1)
625 #define VL53L1_SEQUENCESTEP_REFPHASE ((VL53L1_SequenceStepId) 2)
627 #define VL53L1_SEQUENCESTEP_DSS1 ((VL53L1_SequenceStepId) 3)
629 #define VL53L1_SEQUENCESTEP_DSS2 ((VL53L1_SequenceStepId) 4)
631 #define VL53L1_SEQUENCESTEP_MM1 ((VL53L1_SequenceStepId) 5)
633 #define VL53L1_SEQUENCESTEP_MM2 ((VL53L1_SequenceStepId) 6)
635 #define VL53L1_SEQUENCESTEP_RANGE ((VL53L1_SequenceStepId) 7)
638 #define VL53L1_SEQUENCESTEP_NUMBER_OF_ITEMS 8
646 #define VL53L1_RANGESTATUS_RANGE_VALID 0
648 #define VL53L1_RANGESTATUS_SIGMA_FAIL 1
650 #define VL53L1_RANGESTATUS_SIGNAL_FAIL 2
652 #define VL53L1_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3
654 #define VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL 4
656 #define VL53L1_RANGESTATUS_HARDWARE_FAIL 5
658 #define VL53L1_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL 6
660 #define VL53L1_RANGESTATUS_WRAP_TARGET_FAIL 7
662 #define VL53L1_RANGESTATUS_PROCESSING_FAIL 8
664 #define VL53L1_RANGESTATUS_XTALK_SIGNAL_FAIL 9
666 #define VL53L1_RANGESTATUS_SYNCRONISATION_INT 10
668 #define VL53L1_RANGESTATUS_RANGE_VALID_MERGED_PULSE 11
672 #define VL53L1_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12
674 #define VL53L1_RANGESTATUS_MIN_RANGE_FAIL 13
676 #define VL53L1_RANGESTATUS_RANGE_INVALID 14
678 #define VL53L1_RANGESTATUS_NONE 255
687 typedef struct {
688 VL53L1_LLDriverData_t LLData;
691 VL53L1_LLDriverResults_t llresults;
694 VL53L1_State PalState; /* Store the pal state */
695 VL53L1_DeviceParameters_t CurrentParameters;
698 } VL53L1_DevData_t;
699
700
701 /* MACRO Definitions */
707 /* Defines */
708 #define VL53L1_SETPARAMETERFIELD(Dev, field, value) \
709 (VL53L1DevDataSet(Dev, CurrentParameters.field, value))
710
711 #define VL53L1_GETPARAMETERFIELD(Dev, field, variable) \
712 (variable = VL53L1DevDataGet(Dev, CurrentParameters).field)
713
714
715 #define VL53L1_SETARRAYPARAMETERFIELD(Dev, field, index, value) \
716 (VL53L1DevDataSet(Dev, CurrentParameters.field[index], value))
717
718 #define VL53L1_GETARRAYPARAMETERFIELD(Dev, field, index, variable) \
719 (variable = VL53L1DevDataGet(Dev, CurrentParameters).field[index])
720
721
722 #define VL53L1_SETDEVICESPECIFICPARAMETER(Dev, field, value) \
723 (VL53L1DevDataSet(Dev, DeviceSpecificParameters.field, value))
724
725 #define VL53L1_GETDEVICESPECIFICPARAMETER(Dev, field) \
726 (VL53L1DevDataGet(Dev, DeviceSpecificParameters).field)
727
728
729 #define VL53L1_FIXPOINT1616TOFIXPOINT44(Value) \
730 (uint16_t)((Value>>12)&0xFFFF)
731 #define VL53L1_FIXPOINT44TOFIXPOINT1616(Value) \
732 (FixPoint1616_t)((uint32_t)Value<<12)
733
734 #define VL53L1_FIXPOINT1616TOFIXPOINT72(Value) \
735 (uint16_t)((Value>>14)&0xFFFF)
736 #define VL53L1_FIXPOINT72TOFIXPOINT1616(Value) \
737 (FixPoint1616_t)((uint32_t)Value<<14)
738
739 #define VL53L1_FIXPOINT1616TOFIXPOINT97(Value) \
740 (uint16_t)((Value>>9)&0xFFFF)
741 #define VL53L1_FIXPOINT97TOFIXPOINT1616(Value) \
742 (FixPoint1616_t)((uint32_t)Value<<9)
743
744 #define VL53L1_FIXPOINT1616TOFIXPOINT88(Value) \
745 (uint16_t)((Value>>8)&0xFFFF)
746 #define VL53L1_FIXPOINT88TOFIXPOINT1616(Value) \
747 (FixPoint1616_t)((uint32_t)Value<<8)
748
749 #define VL53L1_FIXPOINT1616TOFIXPOINT412(Value) \
750 (uint16_t)((Value>>4)&0xFFFF)
751 #define VL53L1_FIXPOINT412TOFIXPOINT1616(Value) \
752 (FixPoint1616_t)((uint32_t)Value<<4)
753
754 #define VL53L1_FIXPOINT1616TOFIXPOINT313(Value) \
755 (uint16_t)((Value>>3)&0xFFFF)
756 #define VL53L1_FIXPOINT313TOFIXPOINT1616(Value) \
757 (FixPoint1616_t)((uint32_t)Value<<3)
758
759 #define VL53L1_FIXPOINT1616TOFIXPOINT08(Value) \
760 (uint8_t)((Value>>8)&0x00FF)
761 #define VL53L1_FIXPOINT08TOFIXPOINT1616(Value) \
762 (FixPoint1616_t)((uint32_t)Value<<8)
763
764 #define VL53L1_FIXPOINT1616TOFIXPOINT53(Value) \
765 (uint8_t)((Value>>13)&0x00FF)
766 #define VL53L1_FIXPOINT53TOFIXPOINT1616(Value) \
767 (FixPoint1616_t)((uint32_t)Value<<13)
768
769 #define VL53L1_FIXPOINT1616TOFIXPOINT102(Value) \
770 (uint16_t)((Value>>14)&0x0FFF)
771 #define VL53L1_FIXPOINT102TOFIXPOINT1616(Value) \
772 (FixPoint1616_t)((uint32_t)Value<<14)
773
774 #define VL53L1_FIXPOINT1616TOFIXPOINT142(Value) \
775 (uint16_t)((Value>>14)&0xFFFF)
776 #define VL53L1_FIXPOINT142TOFIXPOINT1616(Value) \
777 (FixPoint1616_t)((uint32_t)Value<<14)
778
779 #define VL53L1_FIXPOINT1616TOFIXPOINT160(Value) \
780 (uint16_t)((Value>>16)&0xFFFF)
781 #define VL53L1_FIXPOINT160TOFIXPOINT1616(Value) \
782 (FixPoint1616_t)((uint32_t)Value<<16)
783
784 #define VL53L1_MAKEUINT16(lsb, msb) (uint16_t)((((uint16_t)msb)<<8) + \
785 (uint16_t)lsb)
786
787 #ifndef SUPPRESS_UNUSED_WARNING
788 #define SUPPRESS_UNUSED_WARNING(x) ((void) (x))
789 #endif
790
797 #ifdef __cplusplus
798 }
799 #endif
800
801
802 #endif /* _VL53L1_DEF_H_ */
VL53L1_CHECKENABLE_NUMBER_OF_CHECKS
#define VL53L1_CHECKENABLE_NUMBER_OF_CHECKS
Definition: vl53l1_def.h:203
VL53L1_DetectionMode
uint8_t VL53L1_DetectionMode
Definition: vl53l1_def.h:249
VL53L1_ThresholdMode
uint8_t VL53L1_ThresholdMode
Definition: vl53l1_def.h:212
VL53L1_DeviceDmaxModes
uint8_t VL53L1_DeviceDmaxModes
Definition: vl53l1_def.h:160
VL53L1_DistanceModes
uint8_t VL53L1_DistanceModes
Definition: vl53l1_def.h:105
VL53L1_OffsetCalibrationModes
uint8_t VL53L1_OffsetCalibrationModes
Definition: vl53l1_def.h:145
VL53L1_OffsetCorrectionModes
uint8_t VL53L1_OffsetCorrectionModes
Definition: vl53l1_def.h:172
VL53L1_OutputModes
uint8_t VL53L1_OutputModes
Definition: vl53l1_def.h:116
VL53L1_PresetModes
uint8_t VL53L1_PresetModes
Definition: vl53l1_def.h:87
VL53L1_RoiStatus
uint8_t VL53L1_RoiStatus
Definition: vl53l1_def.h:184
VL53L1_SequenceStepId
uint8_t VL53L1_SequenceStepId
Definition: vl53l1_def.h:619
VL53L1_SmudgeCorrectionModes
uint8_t VL53L1_SmudgeCorrectionModes
Definition: vl53l1_def.h:340
VL53L1_State
uint8_t VL53L1_State
Definition: vl53l1_def.h:314
VL53L1_XtalkCalibrationModes
uint8_t VL53L1_XtalkCalibrationModes
Definition: vl53l1_def.h:127
VL53L1_DEVINFO_STRLEN
#define VL53L1_DEVINFO_STRLEN
Definition: vl53l1_def.h:58
VL53L1_AdditionalData_t
VL53L1_additional_data_t VL53L1_AdditionalData_t
Definition: vl53l1_def.h:606
VL53L1_ZoneCalibrationData_t
VL53L1_zone_calibration_results_t VL53L1_ZoneCalibrationData_t
Definition: vl53l1_def.h:613
VL53L1_CalibrationData_t
Structure for storing the Calibration Data.
Definition: vl53l1_def.h:576
VL53L1_CalibrationData_t::xtalkhisto
VL53L1_xtalk_histogram_data_t xtalkhisto
Definition: vl53l1_def.h:584
VL53L1_CalibrationData_t::fmt_dmax_cal
VL53L1_dmax_calibration_data_t fmt_dmax_cal
Definition: vl53l1_def.h:580
VL53L1_CalibrationData_t::per_vcsel_cal_data
VL53L1_per_vcsel_period_offset_cal_data_t per_vcsel_cal_data
Definition: vl53l1_def.h:587
VL53L1_CalibrationData_t::add_off_cal_data
VL53L1_additional_offset_cal_data_t add_off_cal_data
Definition: vl53l1_def.h:582
VL53L1_CalibrationData_t::customer
VL53L1_CustomerNvmManaged_t customer
Definition: vl53l1_def.h:579
VL53L1_CalibrationData_t::gain_cal
VL53L1_gain_calibration_data_t gain_cal
Definition: vl53l1_def.h:585
VL53L1_CalibrationData_t::cal_peak_rate_map
VL53L1_cal_peak_rate_map_t cal_peak_rate_map
Definition: vl53l1_def.h:586
VL53L1_CalibrationData_t::cust_dmax_cal
VL53L1_dmax_calibration_data_t cust_dmax_cal
Definition: vl53l1_def.h:581
VL53L1_CalibrationData_t::optical_centre
VL53L1_optical_centre_t optical_centre
Definition: vl53l1_def.h:583
VL53L1_CalibrationData_t::struct_version
uint32_t struct_version
Definition: vl53l1_def.h:578
VL53L1_CustomerNvmManaged_t
Definition: vl53l1_def.h:551
VL53L1_CustomerNvmManaged_t::mm_config__outer_offset_mm
int16_t mm_config__outer_offset_mm
Definition: vl53l1_def.h:567
VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_3
uint8_t global_config__spad_enables_ref_3
Definition: vl53l1_def.h:555
VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_5
uint8_t global_config__spad_enables_ref_5
Definition: vl53l1_def.h:557
VL53L1_CustomerNvmManaged_t::ref_spad_char__total_rate_target_mcps
uint16_t ref_spad_char__total_rate_target_mcps
Definition: vl53l1_def.h:564
VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_1
uint8_t global_config__spad_enables_ref_1
Definition: vl53l1_def.h:553
VL53L1_CustomerNvmManaged_t::ref_spad_man__ref_location
uint8_t ref_spad_man__ref_location
Definition: vl53l1_def.h:560
VL53L1_CustomerNvmManaged_t::ref_spad_man__num_requested_ref_spads
uint8_t ref_spad_man__num_requested_ref_spads
Definition: vl53l1_def.h:559
VL53L1_CustomerNvmManaged_t::mm_config__inner_offset_mm
int16_t mm_config__inner_offset_mm
Definition: vl53l1_def.h:566
VL53L1_CustomerNvmManaged_t::algo__crosstalk_compensation_y_plane_gradient_kcps
int16_t algo__crosstalk_compensation_y_plane_gradient_kcps
Definition: vl53l1_def.h:563
VL53L1_CustomerNvmManaged_t::global_config__ref_en_start_select
uint8_t global_config__ref_en_start_select
Definition: vl53l1_def.h:558
VL53L1_CustomerNvmManaged_t::algo__part_to_part_range_offset_mm
int16_t algo__part_to_part_range_offset_mm
Definition: vl53l1_def.h:565
VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_2
uint8_t global_config__spad_enables_ref_2
Definition: vl53l1_def.h:554
VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_0
uint8_t global_config__spad_enables_ref_0
Definition: vl53l1_def.h:552
VL53L1_CustomerNvmManaged_t::algo__crosstalk_compensation_plane_offset_kcps
uint32_t algo__crosstalk_compensation_plane_offset_kcps
Definition: vl53l1_def.h:561
VL53L1_CustomerNvmManaged_t::global_config__spad_enables_ref_4
uint8_t global_config__spad_enables_ref_4
Definition: vl53l1_def.h:556
VL53L1_CustomerNvmManaged_t::algo__crosstalk_compensation_x_plane_gradient_kcps
int16_t algo__crosstalk_compensation_x_plane_gradient_kcps
Definition: vl53l1_def.h:562
VL53L1_DetectionConfig_t
Defines parameters for User/object Detection configuration.
Definition: vl53l1_def.h:275
VL53L1_DetectionConfig_t::IntrNoTarget
uint8_t IntrNoTarget
Definition: vl53l1_def.h:277
VL53L1_DetectionConfig_t::Distance
VL53L1_DistanceThreshold_t Distance
Definition: vl53l1_def.h:278
VL53L1_DetectionConfig_t::DetectionMode
VL53L1_DetectionMode DetectionMode
Definition: vl53l1_def.h:276
VL53L1_DetectionConfig_t::Rate
VL53L1_RateThreshold_t Rate
Definition: vl53l1_def.h:279
VL53L1_DevData_t
Contains the Internal data of the Bare Driver.
Definition: vl53l1_def.h:687
VL53L1_DevData_t::CurrentParameters
VL53L1_DeviceParameters_t CurrentParameters
Definition: vl53l1_def.h:695
VL53L1_DevData_t::PalState
VL53L1_State PalState
Definition: vl53l1_def.h:694
VL53L1_DevData_t::LLData
VL53L1_LLDriverData_t LLData
Definition: vl53l1_def.h:688
VL53L1_DevData_t::llresults
VL53L1_LLDriverResults_t llresults
Definition: vl53l1_def.h:691
VL53L1_DeviceInfo_t
Defines the parameters of the Get Device Info Functions.
Definition: vl53l1_def.h:62
VL53L1_DeviceInfo_t::ProductRevisionMajor
uint8_t ProductRevisionMajor
Definition: vl53l1_def.h:75
VL53L1_DeviceInfo_t::ProductType
uint8_t ProductType
Definition: vl53l1_def.h:71
VL53L1_DeviceInfo_t::ProductRevisionMinor
uint8_t ProductRevisionMinor
Definition: vl53l1_def.h:77
VL53L1_DeviceParameters_t
Defines all parameters for the device.
Definition: vl53l1_def.h:285
VL53L1_DeviceParameters_t::MeasurementTimingBudgetMicroSeconds
uint32_t MeasurementTimingBudgetMicroSeconds
Definition: vl53l1_def.h:292
VL53L1_DeviceParameters_t::DistanceMode
VL53L1_DistanceModes DistanceMode
Definition: vl53l1_def.h:290
VL53L1_DeviceParameters_t::PresetMode
VL53L1_PresetModes PresetMode
Definition: vl53l1_def.h:286
VL53L1_DeviceParameters_t::OutputMode
VL53L1_OutputModes OutputMode
Definition: vl53l1_def.h:288
VL53L1_DistanceThreshold_t
Defines parameters for Distance detection Thresholds configuration.
Definition: vl53l1_def.h:231
VL53L1_DistanceThreshold_t::High
uint16_t High
Definition: vl53l1_def.h:233
VL53L1_DistanceThreshold_t::CrossMode
VL53L1_ThresholdMode CrossMode
Definition: vl53l1_def.h:232
VL53L1_DistanceThreshold_t::Low
uint16_t Low
Definition: vl53l1_def.h:234
VL53L1_MultiRangingData_t
Structure for storing the set of range results for a single ROI.
Definition: vl53l1_def.h:475
VL53L1_MultiRangingData_t::RoiStatus
VL53L1_RoiStatus RoiStatus
Definition: vl53l1_def.h:492
VL53L1_MultiRangingData_t::DmaxMilliMeter
int16_t DmaxMilliMeter
Definition: vl53l1_def.h:509
VL53L1_MultiRangingData_t::RecommendedDistanceMode
VL53L1_DistanceModes RecommendedDistanceMode
Definition: vl53l1_def.h:512
VL53L1_MultiRangingData_t::EffectiveSpadRtnCount
uint16_t EffectiveSpadRtnCount
Definition: vl53l1_def.h:505
VL53L1_MultiRangingData_t::RoiNumber
uint8_t RoiNumber
Definition: vl53l1_def.h:484
VL53L1_MultiRangingData_t::NumberOfObjectsFound
uint8_t NumberOfObjectsFound
Definition: vl53l1_def.h:486
VL53L1_MultiRangingData_t::HasXtalkValueChanged
uint8_t HasXtalkValueChanged
Definition: vl53l1_def.h:498
VL53L1_MultiRangingData_t::TimeStamp
uint32_t TimeStamp
Definition: vl53l1_def.h:476
VL53L1_MultiRangingData_t::StreamCount
uint8_t StreamCount
Definition: vl53l1_def.h:481
VL53L1_RangingMeasurementData_t
Single Range measurement data.
Definition: vl53l1_def.h:360
VL53L1_RangingMeasurementData_t::RangeFractionalPart
uint8_t RangeFractionalPart
Definition: vl53l1_def.h:399
VL53L1_RangingMeasurementData_t::StreamCount
uint8_t StreamCount
Definition: vl53l1_def.h:366
VL53L1_RangingMeasurementData_t::SigmaMilliMeter
FixPoint1616_t SigmaMilliMeter
Definition: vl53l1_def.h:391
VL53L1_RangingMeasurementData_t::RangeMilliMeter
int16_t RangeMilliMeter
Definition: vl53l1_def.h:394
VL53L1_RangingMeasurementData_t::RangeQualityLevel
uint8_t RangeQualityLevel
Definition: vl53l1_def.h:369
VL53L1_RangingMeasurementData_t::TimeStamp
uint32_t TimeStamp
Definition: vl53l1_def.h:361
VL53L1_RangingMeasurementData_t::RangeStatus
uint8_t RangeStatus
Definition: vl53l1_def.h:405
VL53L1_RangingMeasurementData_t::AmbientRateRtnMegaCps
FixPoint1616_t AmbientRateRtnMegaCps
Definition: vl53l1_def.h:380
VL53L1_RangingMeasurementData_t::EffectiveSpadRtnCount
uint16_t EffectiveSpadRtnCount
Definition: vl53l1_def.h:386
VL53L1_RangingMeasurementData_t::SignalRateRtnMegaCps
FixPoint1616_t SignalRateRtnMegaCps
Definition: vl53l1_def.h:374
VL53L1_RateThreshold_t
Defines parameters for Signal rate detection Thresholds configuration.
Definition: vl53l1_def.h:239
VL53L1_RateThreshold_t::Low
FixPoint1616_t Low
Definition: vl53l1_def.h:242
VL53L1_RateThreshold_t::CrossMode
VL53L1_ThresholdMode CrossMode
Definition: vl53l1_def.h:240
VL53L1_RateThreshold_t::High
FixPoint1616_t High
Definition: vl53l1_def.h:241
VL53L1_RoiConfig_t
Defines ROI configuration parameters.
Definition: vl53l1_def.h:537
VL53L1_RoiConfig_t::NumberOfRoi
uint8_t NumberOfRoi
Definition: vl53l1_def.h:539
VL53L1_TargetRangeData_t
One Range measurement data for each target.
Definition: vl53l1_def.h:415
VL53L1_TargetRangeData_t::RangeMilliMeter
int16_t RangeMilliMeter
Definition: vl53l1_def.h:448
VL53L1_TargetRangeData_t::AmbientRateRtnMegaCps
FixPoint1616_t AmbientRateRtnMegaCps
Definition: vl53l1_def.h:439
VL53L1_TargetRangeData_t::RangeQualityLevel
uint8_t RangeQualityLevel
Definition: vl53l1_def.h:416
VL53L1_TargetRangeData_t::RangeMaxMilliMeter
int16_t RangeMaxMilliMeter
Definition: vl53l1_def.h:421
VL53L1_TargetRangeData_t::RangeMinMilliMeter
int16_t RangeMinMilliMeter
Definition: vl53l1_def.h:427
VL53L1_TargetRangeData_t::ExtendedRange
uint8_t ExtendedRange
Definition: vl53l1_def.h:464
VL53L1_TargetRangeData_t::SigmaMilliMeter
FixPoint1616_t SigmaMilliMeter
Definition: vl53l1_def.h:445
VL53L1_TargetRangeData_t::RangeStatus
uint8_t RangeStatus
Definition: vl53l1_def.h:459
VL53L1_TargetRangeData_t::RangeFractionalPart
uint8_t RangeFractionalPart
Definition: vl53l1_def.h:453
VL53L1_TargetRangeData_t::SignalRateRtnMegaCps
FixPoint1616_t SignalRateRtnMegaCps
Definition: vl53l1_def.h:433
VL53L1_UserRoi_t
Defines User Zone(ROI) parameters.
Definition: vl53l1_def.h:522
VL53L1_UserRoi_t::BotRightY
uint8_t BotRightY
Definition: vl53l1_def.h:527
VL53L1_UserRoi_t::TopLeftX
uint8_t TopLeftX
Definition: vl53l1_def.h:524
VL53L1_UserRoi_t::BotRightX
uint8_t BotRightX
Definition: vl53l1_def.h:526
VL53L1_UserRoi_t::TopLeftY
uint8_t TopLeftY
Definition: vl53l1_def.h:525
VL53L1_Version_t
Defines the parameters of the Get Version Functions.
Definition: vl53l1_def.h:50
VL53L1_Version_t::major
uint8_t major
Definition: vl53l1_def.h:52
VL53L1_Version_t::minor
uint8_t minor
Definition: vl53l1_def.h:53
VL53L1_Version_t::revision
uint32_t revision
Definition: vl53l1_def.h:51
VL53L1_Version_t::build
uint8_t build
Definition: vl53l1_def.h:54
VL53L1_MAX_USER_ZONES
#define VL53L1_MAX_USER_ZONES
Definition: vl53l1_platform_user_config.h:62
VL53L1_MAX_RANGE_RESULTS
#define VL53L1_MAX_RANGE_RESULTS
Definition: vl53l1_platform_user_config.h:65
uint16_t
unsigned short uint16_t
Definition: vl53l1_types.h:48
uint32_t
unsigned int uint32_t
Definition: vl53l1_types.h:42
int16_t
short int16_t
Definition: vl53l1_types.h:51
uint8_t
unsigned char uint8_t
Definition: vl53l1_types.h:54
FixPoint1616_t
uint32_t FixPoint1616_t
Definition: vl53l1_types.h:64


VL53L1 API Specification: vl53l1_disclaimer.c Source File

  • doc
vl53l1_disclaimer.c
Go to the documentation of this file.
1


VL53L1 API Specification: vl53l1_doxydoc.c Source File

  • doc
vl53l1_doxydoc.c
Go to the documentation of this file.
1


VL53L1 API Specification: vl53l1_error_codes.h Source File

  • delivery
  • bare_driver
  • core
  • inc
vl53l1_error_codes.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53L1 and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
19 #ifndef _VL53L1_ERROR_CODES_H_
20 #define _VL53L1_ERROR_CODES_H_
21
22 #include "vl53l1_types.h"
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28
29 /*
30 ****************************************
31 * PRIVATE define do not edit
32 ***************************************
33 */
34
41 typedef int8_t VL53L1_Error;
42
43 #define VL53L1_ERROR_NONE ((VL53L1_Error) 0)
44 #define VL53L1_ERROR_CALIBRATION_WARNING ((VL53L1_Error) - 1)
50 #define VL53L1_ERROR_MIN_CLIPPED ((VL53L1_Error) - 2)
53 #define VL53L1_ERROR_UNDEFINED ((VL53L1_Error) - 3)
55 #define VL53L1_ERROR_INVALID_PARAMS ((VL53L1_Error) - 4)
57 #define VL53L1_ERROR_NOT_SUPPORTED ((VL53L1_Error) - 5)
59 #define VL53L1_ERROR_RANGE_ERROR ((VL53L1_Error) - 6)
61 #define VL53L1_ERROR_TIME_OUT ((VL53L1_Error) - 7)
63 #define VL53L1_ERROR_MODE_NOT_SUPPORTED ((VL53L1_Error) - 8)
65 #define VL53L1_ERROR_BUFFER_TOO_SMALL ((VL53L1_Error) - 9)
67 #define VL53L1_ERROR_COMMS_BUFFER_TOO_SMALL ((VL53L1_Error) - 10)
69 #define VL53L1_ERROR_GPIO_NOT_EXISTING ((VL53L1_Error) - 11)
71 #define VL53L1_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53L1_Error) - 12)
73 #define VL53L1_ERROR_CONTROL_INTERFACE ((VL53L1_Error) - 13)
75 #define VL53L1_ERROR_INVALID_COMMAND ((VL53L1_Error) - 14)
79 #define VL53L1_ERROR_DIVISION_BY_ZERO ((VL53L1_Error) - 15)
81 #define VL53L1_ERROR_REF_SPAD_INIT ((VL53L1_Error) - 16)
83 #define VL53L1_ERROR_GPH_SYNC_CHECK_FAIL ((VL53L1_Error) - 17)
85 #define VL53L1_ERROR_STREAM_COUNT_CHECK_FAIL ((VL53L1_Error) - 18)
87 #define VL53L1_ERROR_GPH_ID_CHECK_FAIL ((VL53L1_Error) - 19)
89 #define VL53L1_ERROR_ZONE_STREAM_COUNT_CHECK_FAIL ((VL53L1_Error) - 20)
91 #define VL53L1_ERROR_ZONE_GPH_ID_CHECK_FAIL ((VL53L1_Error) - 21)
94 #define VL53L1_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL ((VL53L1_Error) - 22)
100 #define VL53L1_ERROR_XTALK_EXTRACTION_SIGMA_LIMIT_FAIL ((VL53L1_Error) - 23)
109 #define VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL ((VL53L1_Error) - 24)
113 #define VL53L1_ERROR_OFFSET_CAL_NO_SPADS_ENABLED_FAIL ((VL53L1_Error) - 25)
118 #define VL53L1_ERROR_ZONE_CAL_NO_SAMPLE_FAIL ((VL53L1_Error) - 26)
123 #define VL53L1_ERROR_TUNING_PARM_KEY_MISMATCH ((VL53L1_Error) - 27)
130 #define VL53L1_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPADS ((VL53L1_Error) - 28)
132 #define VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH ((VL53L1_Error) - 29)
137 #define VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW ((VL53L1_Error) - 30)
144 #define VL53L1_WARNING_OFFSET_CAL_MISSING_SAMPLES ((VL53L1_Error) - 31)
148 #define VL53L1_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH ((VL53L1_Error) - 32)
153 #define VL53L1_WARNING_OFFSET_CAL_RATE_TOO_HIGH ((VL53L1_Error) - 33)
158 #define VL53L1_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW ((VL53L1_Error) - 34)
165 #define VL53L1_WARNING_ZONE_CAL_MISSING_SAMPLES ((VL53L1_Error) - 35)
169 #define VL53L1_WARNING_ZONE_CAL_SIGMA_TOO_HIGH ((VL53L1_Error) - 36)
174 #define VL53L1_WARNING_ZONE_CAL_RATE_TOO_HIGH ((VL53L1_Error) - 37)
181 #define VL53L1_WARNING_XTALK_MISSING_SAMPLES ((VL53L1_Error) - 38)
189 #define VL53L1_WARNING_XTALK_NO_SAMPLES_FOR_GRADIENT ((VL53L1_Error) - 39)
198 #define VL53L1_WARNING_XTALK_SIGMA_LIMIT_FOR_GRADIENT ((VL53L1_Error) - 40)
209 #define VL53L1_ERROR_NOT_IMPLEMENTED ((VL53L1_Error) - 41)
213 #define VL53L1_ERROR_PLATFORM_SPECIFIC_START ((VL53L1_Error) - 60)
218 #ifdef __cplusplus
219 }
220 #endif
221
222
223 #endif /* _VL53L1_ERROR_CODES_H_ */
VL53L1_Error
int8_t VL53L1_Error
Definition: vl53l1_error_codes.h:41
vl53l1_types.h
int8_t
signed char int8_t
Definition: vl53l1_types.h:57


VL53L1 API Specification: vl53l1_platform.h Source File

  • delivery
  • bare_driver
  • platform
  • inc
vl53l1_platform.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53L1 and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13 #ifndef _VL53L1_PLATFORM_H_
14 #define _VL53L1_PLATFORM_H_
15
16 #include "vl53l1_ll_def.h"
17 #include "vl53l1_platform_log.h"
18
19 #define VL53L1_IPP_API
20 #include "vl53l1_platform_ipp_imports.h"
21 #include "vl53l1_platform_user_data.h"
22
23 #ifdef __cplusplus
24 extern "C"
25 {
26 #endif
27
47 VL53L1_Error VL53L1_CommsInitialise(
48 VL53L1_Dev_t *pdev,
49 uint8_t comms_type,
50 uint16_t comms_speed_khz);
51
52
62 VL53L1_Error VL53L1_CommsClose(
63 VL53L1_Dev_t *pdev);
64
65
78 VL53L1_Error VL53L1_WriteMulti(
79 VL53L1_Dev_t *pdev,
80 uint16_t index,
81 uint8_t *pdata,
82 uint32_t count);
83
84
97 VL53L1_Error VL53L1_ReadMulti(
98 VL53L1_Dev_t *pdev,
99 uint16_t index,
100 uint8_t *pdata,
101 uint32_t count);
102
103
115 VL53L1_Error VL53L1_WrByte(
116 VL53L1_Dev_t *pdev,
117 uint16_t index,
118 uint8_t data);
119
120
135 VL53L1_Error VL53L1_WrWord(
136 VL53L1_Dev_t *pdev,
137 uint16_t index,
138 uint16_t data);
139
140
155 VL53L1_Error VL53L1_WrDWord(
156 VL53L1_Dev_t *pdev,
157 uint16_t index,
158 uint32_t data);
159
160
161
174 VL53L1_Error VL53L1_RdByte(
175 VL53L1_Dev_t *pdev,
176 uint16_t index,
177 uint8_t *pdata);
178
179
193 VL53L1_Error VL53L1_RdWord(
194 VL53L1_Dev_t *pdev,
195 uint16_t index,
196 uint16_t *pdata);
197
198
212 VL53L1_Error VL53L1_RdDWord(
213 VL53L1_Dev_t *pdev,
214 uint16_t index,
215 uint32_t *pdata);
216
217
218
229 VL53L1_Error VL53L1_WaitUs(
230 VL53L1_Dev_t *pdev,
231 int32_t wait_us);
232
233
244 VL53L1_Error VL53L1_WaitMs(
245 VL53L1_Dev_t *pdev,
246 int32_t wait_ms);
247
248
258 VL53L1_Error VL53L1_GetTimerFrequency(int32_t *ptimer_freq_hz);
259
269 VL53L1_Error VL53L1_GetTimerValue(int32_t *ptimer_count);
270
271
283 VL53L1_Error VL53L1_GpioSetMode(uint8_t pin, uint8_t mode);
284
285
297 VL53L1_Error VL53L1_GpioSetValue(uint8_t pin, uint8_t value);
298
299
311 VL53L1_Error VL53L1_GpioGetValue(uint8_t pin, uint8_t *pvalue);
312
313
323 VL53L1_Error VL53L1_GpioXshutdown(uint8_t value);
324
325
335 VL53L1_Error VL53L1_GpioCommsSelect(uint8_t value);
336
337
347 VL53L1_Error VL53L1_GpioPowerEnable(uint8_t value);
348
359 VL53L1_Error VL53L1_GpioInterruptEnable(void (*function)(void), uint8_t edge_type);
360
361
369 VL53L1_Error VL53L1_GpioInterruptDisable(void);
370
371
372 /*
373 * @brief Gets current system tick count in [ms]
374 *
375 * @param[in] pdev : pointer to device structure (device handle)
376 * @return time_ms : current time in [ms]
377 *
378 * @return VL53L1_ERROR_NONE Success
379 * @return "Other error code" See ::VL53L1_Error
380 */
381
382 VL53L1_Error VL53L1_GetTickCount(
383 VL53L1_Dev_t *pdev,
384 uint32_t *ptime_ms);
385
386
403 VL53L1_Error VL53L1_WaitValueMaskEx(
404 VL53L1_Dev_t *pdev,
405 uint32_t timeout_ms,
406 uint16_t index,
407 uint8_t value,
408 uint8_t mask,
409 uint32_t poll_delay_ms);
410
411 #ifdef __cplusplus
412 }
413 #endif
414
415 #endif
416
VL53L1_Error
int8_t VL53L1_Error
Definition: vl53l1_error_codes.h:41
VL53L1_Dev_t
Definition: vl53l1_platform_user_data.h:32
VL53L1_WrByte
VL53L1_Error VL53L1_WrByte(VL53L1_Dev_t *pdev, uint16_t index, uint8_t data)
Writes a single byte to the device.
VL53L1_CommsInitialise
VL53L1_Error VL53L1_CommsInitialise(VL53L1_Dev_t *pdev, uint8_t comms_type, uint16_t comms_speed_khz)
Initialise platform comms.
VL53L1_WaitMs
VL53L1_Error VL53L1_WaitMs(VL53L1_Dev_t *pdev, int32_t wait_ms)
Implements a programmable wait in ms.
VL53L1_GpioSetMode
VL53L1_Error VL53L1_GpioSetMode(uint8_t pin, uint8_t mode)
Set the mode of a specified GPIO pin.
VL53L1_RdWord
VL53L1_Error VL53L1_RdWord(VL53L1_Dev_t *pdev, uint16_t index, uint16_t *pdata)
Reads a single word (16-bit unsigned) from the device.
VL53L1_WrDWord
VL53L1_Error VL53L1_WrDWord(VL53L1_Dev_t *pdev, uint16_t index, uint32_t data)
Writes a single dword (32-bit unsigned) to the device.
VL53L1_GpioSetValue
VL53L1_Error VL53L1_GpioSetValue(uint8_t pin, uint8_t value)
Set the value of a specified GPIO pin.
VL53L1_CommsClose
VL53L1_Error VL53L1_CommsClose(VL53L1_Dev_t *pdev)
Close platform comms.
VL53L1_GetTimerFrequency
VL53L1_Error VL53L1_GetTimerFrequency(int32_t *ptimer_freq_hz)
Get the frequency of the timer used for ranging results time stamps.
VL53L1_GpioXshutdown
VL53L1_Error VL53L1_GpioXshutdown(uint8_t value)
Sets and clears the XShutdown pin on the Ewok.
VL53L1_GpioInterruptDisable
VL53L1_Error VL53L1_GpioInterruptDisable(void)
Disables the callback on Ewok interrupts.
VL53L1_GetTickCount
VL53L1_Error VL53L1_GetTickCount(VL53L1_Dev_t *pdev, uint32_t *ptime_ms)
VL53L1_GpioCommsSelect
VL53L1_Error VL53L1_GpioCommsSelect(uint8_t value)
Sets and clears the Comms Mode pin (NCS) on the Ewok.
VL53L1_GpioGetValue
VL53L1_Error VL53L1_GpioGetValue(uint8_t pin, uint8_t *pvalue)
Get the value of a specified GPIO pin.
VL53L1_GpioPowerEnable
VL53L1_Error VL53L1_GpioPowerEnable(uint8_t value)
Enables and disables the power to the Ewok module.
VL53L1_RdByte
VL53L1_Error VL53L1_RdByte(VL53L1_Dev_t *pdev, uint16_t index, uint8_t *pdata)
Reads a single byte from the device.
VL53L1_GpioInterruptEnable
VL53L1_Error VL53L1_GpioInterruptEnable(void(*function)(void), uint8_t edge_type)
Enables callbacks to the supplied funtion pointer when Ewok interrupts ocurr.
VL53L1_WaitValueMaskEx
VL53L1_Error VL53L1_WaitValueMaskEx(VL53L1_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.
VL53L1_ReadMulti
VL53L1_Error VL53L1_ReadMulti(VL53L1_Dev_t *pdev, uint16_t index, uint8_t *pdata, uint32_t count)
Reads the requested number of bytes from the device.
VL53L1_GetTimerValue
VL53L1_Error VL53L1_GetTimerValue(int32_t *ptimer_count)
Get the timer value in units of timer_freq_hz (see VL53L1_get_timestamp_frequency())
VL53L1_WaitUs
VL53L1_Error VL53L1_WaitUs(VL53L1_Dev_t *pdev, int32_t wait_us)
Implements a programmable wait in us.
VL53L1_RdDWord
VL53L1_Error VL53L1_RdDWord(VL53L1_Dev_t *pdev, uint16_t index, uint32_t *pdata)
Reads a single dword (32-bit unsigned) from the device.
VL53L1_WriteMulti
VL53L1_Error VL53L1_WriteMulti(VL53L1_Dev_t *pdev, uint16_t index, uint8_t *pdata, uint32_t count)
Writes the supplied byte buffer to the device.
VL53L1_WrWord
VL53L1_Error VL53L1_WrWord(VL53L1_Dev_t *pdev, uint16_t index, uint16_t data)
Writes a single word (16-bit unsigned) to the device.
vl53l1_platform_ipp_imports.h
vl53l1_platform_log.h
vl53l1_platform_user_data.h
uint16_t
unsigned short uint16_t
Definition: vl53l1_types.h:48
int32_t
int int32_t
Definition: vl53l1_types.h:45
uint32_t
unsigned int uint32_t
Definition: vl53l1_types.h:42
uint8_t
unsigned char uint8_t
Definition: vl53l1_types.h:54


VL53L1 API Specification: vl53l1_platform_init.h Source File

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


VL53L1 API Specification: vl53l1_platform_ipp.h Source File

  • delivery
  • bare_driver
  • platform
  • inc
vl53l1_platform_ipp.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53L1 and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13
14
15
16 #ifndef _VL53L1_PLATFORM_IPP_H_
17 #define _VL53L1_PLATFORM_IPP_H_
18
19 #include "vl53l1_ll_def.h"
20
21 #ifdef __cplusplus
22 extern "C"
23 {
24 #endif
25
26
27
28
29
30 VL53L1_Error VL53L1_ipp_hist_process_data(
31 VL53L1_DEV Dev,
32 VL53L1_dmax_calibration_data_t *pdmax_cal,
33 VL53L1_hist_gen3_dmax_config_t *pdmax_cfg,
34 VL53L1_hist_post_process_config_t *ppost_cfg,
35 VL53L1_histogram_bin_data_t *pbins,
36 VL53L1_xtalk_histogram_data_t *pxtalk,
37 uint8_t *pArea1,
38 uint8_t *pArea2,
39 uint8_t *phisto_merge_nb,
40 VL53L1_range_results_t *presults);
41
42
43
44
45 VL53L1_Error VL53L1_ipp_hist_ambient_dmax(
46 VL53L1_DEV Dev,
47 uint16_t target_reflectance,
48 VL53L1_dmax_calibration_data_t *pdmax_cal,
49 VL53L1_hist_gen3_dmax_config_t *pdmax_cfg,
50 VL53L1_histogram_bin_data_t *pbins,
51 int16_t *pambient_dmax_mm);
52
53
54
55
56 VL53L1_Error VL53L1_ipp_xtalk_calibration_process_data(
57 VL53L1_DEV Dev,
58 VL53L1_xtalk_range_results_t *pxtalk_ranges,
59 VL53L1_xtalk_histogram_data_t *pxtalk_shape,
60 VL53L1_xtalk_calibration_results_t *pxtalk_cal);
61
62
63
64
65 VL53L1_Error VL53L1_ipp_hist_xtalk_correction(
66 VL53L1_DEV Dev,
67 VL53L1_customer_nvm_managed_t *pcustomer,
68 VL53L1_dynamic_config_t *pdyn_cfg,
69 VL53L1_xtalk_histogram_data_t *pxtalk_shape,
70 VL53L1_histogram_bin_data_t *pip_hist_data,
71 VL53L1_histogram_bin_data_t *pop_hist_data,
72 VL53L1_histogram_bin_data_t *pxtalk_count_data);
73
74
75
76 VL53L1_Error VL53L1_ipp_generate_dual_reflectance_xtalk_samples(
77 VL53L1_DEV Dev,
78 VL53L1_xtalk_range_results_t *pxtalk_results,
79 uint16_t expected_target_distance_mm,
80 uint8_t higher_reflectance,
81 VL53L1_histogram_bin_data_t *pxtalk_avg_samples);
82
83
84
85 #ifdef __cplusplus
86 }
87 #endif
88
89 #endif
90
91
VL53L1_Error
int8_t VL53L1_Error
Definition: vl53l1_error_codes.h:41
VL53L1_Dev_t
Definition: vl53l1_platform_user_data.h:32
VL53L1_ipp_hist_ambient_dmax
VL53L1_Error VL53L1_ipp_hist_ambient_dmax(VL53L1_DEV Dev, uint16_t target_reflectance, VL53L1_dmax_calibration_data_t *pdmax_cal, VL53L1_hist_gen3_dmax_config_t *pdmax_cfg, VL53L1_histogram_bin_data_t *pbins, int16_t *pambient_dmax_mm)
VL53L1_ipp_xtalk_calibration_process_data
VL53L1_Error VL53L1_ipp_xtalk_calibration_process_data(VL53L1_DEV Dev, VL53L1_xtalk_range_results_t *pxtalk_ranges, VL53L1_xtalk_histogram_data_t *pxtalk_shape, VL53L1_xtalk_calibration_results_t *pxtalk_cal)
VL53L1_ipp_generate_dual_reflectance_xtalk_samples
VL53L1_Error VL53L1_ipp_generate_dual_reflectance_xtalk_samples(VL53L1_DEV Dev, VL53L1_xtalk_range_results_t *pxtalk_results, uint16_t expected_target_distance_mm, uint8_t higher_reflectance, VL53L1_histogram_bin_data_t *pxtalk_avg_samples)
VL53L1_ipp_hist_process_data
VL53L1_Error VL53L1_ipp_hist_process_data(VL53L1_DEV Dev, VL53L1_dmax_calibration_data_t *pdmax_cal, VL53L1_hist_gen3_dmax_config_t *pdmax_cfg, VL53L1_hist_post_process_config_t *ppost_cfg, VL53L1_histogram_bin_data_t *pbins, VL53L1_xtalk_histogram_data_t *pxtalk, uint8_t *pArea1, uint8_t *pArea2, uint8_t *phisto_merge_nb, VL53L1_range_results_t *presults)
VL53L1_ipp_hist_xtalk_correction
VL53L1_Error VL53L1_ipp_hist_xtalk_correction(VL53L1_DEV Dev, VL53L1_customer_nvm_managed_t *pcustomer, VL53L1_dynamic_config_t *pdyn_cfg, VL53L1_xtalk_histogram_data_t *pxtalk_shape, VL53L1_histogram_bin_data_t *pip_hist_data, VL53L1_histogram_bin_data_t *pop_hist_data, VL53L1_histogram_bin_data_t *pxtalk_count_data)
uint16_t
unsigned short uint16_t
Definition: vl53l1_types.h:48
int16_t
short int16_t
Definition: vl53l1_types.h:51
uint8_t
unsigned char uint8_t
Definition: vl53l1_types.h:54


VL53L1 API Specification: vl53l1_platform_ipp_imports.h Source File

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


VL53L1 API Specification: vl53l1_platform_log.h Source File

  • delivery
  • bare_driver
  • platform
  • inc
vl53l1_platform_log.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53L1 and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13
14
15
16
17
18 #ifndef _VL53L1_PLATFORM_LOG_H_
19 #define _VL53L1_PLATFORM_LOG_H_
20
21
22 #ifdef VL53L1_LOG_ENABLE
23 #include "vl53l1_platform_user_config.h"
24
25 #ifdef _MSC_VER
26 # define EWOKPLUS_EXPORTS __declspec(dllexport)
27 #else
28 # define EWOKPLUS_EXPORTS
29 #endif
30
31 #include "vl53l1_types.h"
32
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36
37 #include <time.h>
38
39
40
41 #define VL53L1_TRACE_LEVEL_NONE 0x00000000
42 #define VL53L1_TRACE_LEVEL_ERRORS 0x00000001
43 #define VL53L1_TRACE_LEVEL_WARNING 0x00000002
44 #define VL53L1_TRACE_LEVEL_INFO 0x00000004
45 #define VL53L1_TRACE_LEVEL_DEBUG 0x00000008
46 #define VL53L1_TRACE_LEVEL_ALL 0x00000010
47 #define VL53L1_TRACE_LEVEL_IGNORE 0x00000020
48
49 #define VL53L1_TRACE_FUNCTION_NONE 0x00000000
50 #define VL53L1_TRACE_FUNCTION_I2C 0x00000001
51 #define VL53L1_TRACE_FUNCTION_ALL 0x7fffffff
52
53 #define VL53L1_TRACE_MODULE_NONE 0x00000000
54 #define VL53L1_TRACE_MODULE_API 0x00000001
55 #define VL53L1_TRACE_MODULE_CORE 0x00000002
56 #define VL53L1_TRACE_MODULE_PROTECTED 0x00000004
57 #define VL53L1_TRACE_MODULE_HISTOGRAM 0x00000008
58 #define VL53L1_TRACE_MODULE_REGISTERS 0x00000010
59 #define VL53L1_TRACE_MODULE_PLATFORM 0x00000020
60 #define VL53L1_TRACE_MODULE_NVM 0x00000040
61 #define VL53L1_TRACE_MODULE_CALIBRATION_DATA 0x00000080
62 #define VL53L1_TRACE_MODULE_NVM_DATA 0x00000100
63 #define VL53L1_TRACE_MODULE_HISTOGRAM_DATA 0x00000200
64 #define VL53L1_TRACE_MODULE_RANGE_RESULTS_DATA 0x00000400
65 #define VL53L1_TRACE_MODULE_XTALK_DATA 0x00000800
66 #define VL53L1_TRACE_MODULE_OFFSET_DATA 0x00001000
67 #define VL53L1_TRACE_MODULE_DATA_INIT 0x00002000
68 #define VL53L1_TRACE_MODULE_REF_SPAD_CHAR 0x00004000
69 #define VL53L1_TRACE_MODULE_SPAD_RATE_MAP 0x00008000
70 #ifdef PAL_EXTENDED
71 #define VL53L1_TRACE_MODULE_SPAD 0x01000000
72 #define VL53L1_TRACE_MODULE_FMT 0x02000000
73 #define VL53L1_TRACE_MODULE_UTILS 0x04000000
74 #define VL53L1_TRACE_MODULE_BENCH_FUNCS 0x08000000
75 #endif
76 #define VL53L1_TRACE_MODULE_CUSTOMER_API 0x40000000
77 #define VL53L1_TRACE_MODULE_ALL 0x7fffffff
78
79
80 extern uint32_t _trace_level;
81
82
83 EWOKPLUS_EXPORTS int8_t VL53L1_trace_config(
84 char *filename,
85 uint32_t modules,
86 uint32_t level,
87 uint32_t functions);
88
89
90
91 EWOKPLUS_EXPORTS void VL53L1_trace_print_module_function(
92 uint32_t module,
93 uint32_t level,
94 uint32_t function,
95 const char *format, ...);
96
97
98
99 uint32_t VL53L1_get_trace_functions(void);
100
101
102
103 void VL53L1_set_trace_functions(uint32_t function);
104
105
106
107
108 uint32_t VL53L1_clock(void);
109
110 #define LOG_GET_TIME() \
111 ((int)VL53L1_clock())
112
113 #define _LOG_TRACE_PRINT(module, level, function, ...) \
114 VL53L1_trace_print_module_function(module, level, function, ##__VA_ARGS__);
115
116 #define _LOG_FUNCTION_START(module, fmt, ...) \
117 VL53L1_trace_print_module_function(module, _trace_level, VL53L1_TRACE_FUNCTION_ALL, "%6ld <START> %s "fmt"\n", LOG_GET_TIME(), __FUNCTION__, ##__VA_ARGS__);
118
119 #define _LOG_FUNCTION_END(module, status, ...)\
120 VL53L1_trace_print_module_function(module, _trace_level, VL53L1_TRACE_FUNCTION_ALL, "%6ld <END> %s %d\n", LOG_GET_TIME(), __FUNCTION__, (int)status, ##__VA_ARGS__)
121
122 #define _LOG_FUNCTION_END_FMT(module, status, fmt, ...)\
123 VL53L1_trace_print_module_function(module, _trace_level, VL53L1_TRACE_FUNCTION_ALL, "%6ld <END> %s %d "fmt"\n", LOG_GET_TIME(), __FUNCTION__, (int)status, ##__VA_ARGS__)
124
125 #define _LOG_GET_TRACE_FUNCTIONS()\
126 VL53L1_get_trace_functions()
127
128 #define _LOG_SET_TRACE_FUNCTIONS(functions)\
129 VL53L1_set_trace_functions(functions)
130
131 #define _LOG_STRING_BUFFER(x) char x[VL53L1_MAX_STRING_LENGTH]
132
133 #ifdef __cplusplus
134 }
135 #endif
136
137 #else
138
139 #define _LOG_TRACE_PRINT(module, level, function, ...)
140 #define _LOG_FUNCTION_START(module, fmt, ...)
141 #define _LOG_FUNCTION_END(module, status, ...)
142 #define _LOG_FUNCTION_END_FMT(module, status, fmt, ...)
143 #define _LOG_GET_TRACE_FUNCTIONS() 0
144 #define _LOG_SET_TRACE_FUNCTIONS(functions)
145 #define _LOG_STRING_BUFFER(x)
146
147 #endif
148
149 #endif
150
vl53l1_platform_user_config.h
vl53l1_types.h
uint32_t
unsigned int uint32_t
Definition: vl53l1_types.h:42
int8_t
signed char int8_t
Definition: vl53l1_types.h:57


VL53L1 API Specification: vl53l1_platform_user_config.h Source File

  • delivery
  • bare_driver
  • platform
  • inc
vl53l1_platform_user_config.h
Go to the documentation of this file.
1
2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
3 /******************************************************************************
4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
5
6 This file is part of VL53L1 and is dual licensed,
7 either GPL-2.0+
8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
9 ******************************************************************************
10 */
11
12
13
14
15
16
17
18 #ifndef _VL53L1_PLATFORM_USER_CONFIG_H_
19 #define _VL53L1_PLATFORM_USER_CONFIG_H_
20
21 #define VL53L1_BYTES_PER_WORD 2
22 #define VL53L1_BYTES_PER_DWORD 4
23
24
25 #define VL53L1_BOOT_COMPLETION_POLLING_TIMEOUT_MS 500
26 #define VL53L1_RANGE_COMPLETION_POLLING_TIMEOUT_MS 2000
27 #define VL53L1_TEST_COMPLETION_POLLING_TIMEOUT_MS 60000
28
29 #define VL53L1_POLLING_DELAY_MS 1
30
31
32 #define VL53L1_TUNINGPARM_PUBLIC_PAGE_BASE_ADDRESS 0x8000
33 #define VL53L1_TUNINGPARM_PRIVATE_PAGE_BASE_ADDRESS 0xC000
34
35 #define VL53L1_GAIN_FACTOR__STANDARD_DEFAULT 0x0800
36
37 #define VL53L1_GAIN_FACTOR__HISTOGRAM_DEFAULT 0x0800
38
39
40
41 #define VL53L1_OFFSET_CAL_MIN_EFFECTIVE_SPADS 0x0500
42
43
44 #define VL53L1_OFFSET_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900
45
46
47 #define VL53L1_OFFSET_CAL_MAX_SIGMA_MM 0x0040
48
49
50
51 #define VL53L1_ZONE_CAL_MAX_PRE_PEAK_RATE_MCPS 0x1900
52
53
54 #define VL53L1_ZONE_CAL_MAX_SIGMA_MM 0x0040
55
56
57
58 #define VL53L1_XTALK_EXTRACT_MAX_SIGMA_MM 0x008C
59
60
61
62 #define VL53L1_MAX_USER_ZONES 16
63
64
65 #define VL53L1_MAX_RANGE_RESULTS 4
66
67
68
69 #define VL53L1_MAX_STRING_LENGTH 512
70
71 #endif
72
73


VL53L1 API Specification: vl53l1_platform_user_data.h Source File

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


VL53L1 API Specification: vl53l1_platform_user_defines.h Source File

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


VL53L1 API Specification: vl53l1_types.h Source File

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