VL53L0X API Specification: vl53l0x_api.h Source File

VL53L0X API

vl53l0x_api.h
Go to the documentation of this file.
1 /*******************************************************************************
2  Copyright � 2016, STMicroelectronics International N.V.
3  All rights reserved.
4 
5  Redistribution and use in source and binary forms, with or without
6  modification, are permitted provided that the following conditions are met:
7  * Redistributions of source code must retain the above copyright
8  notice, this list of conditions and the following disclaimer.
9  * Redistributions in binary form must reproduce the above copyright
10  notice, this list of conditions and the following disclaimer in the
11  documentation and/or other materials provided with the distribution.
12  * Neither the name of STMicroelectronics nor the
13  names of its contributors may be used to endorse or promote products
14  derived from this software without specific prior written permission.
15 
16  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
19  NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED.
20  IN NO EVENT SHALL STMICROELECTRONICS INTERNATIONAL N.V. BE LIABLE FOR ANY
21  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *****************************************************************************/
28 
29 #ifndef _VL53L0X_API_H_
30 #define _VL53L0X_API_H_
31 
32 #include "vl53l0x_api_strings.h"
33 #include "vl53l0x_def.h"
34 #include "vl53l0x_platform.h"
35 
36 #ifdef __cplusplus
37 extern "C"
38 {
39 #endif
40 
41 #ifdef _MSC_VER
42 # ifdef VL53L0X_API_EXPORTS
43 # define VL53L0X_API __declspec(dllexport)
44 # else
45 # define VL53L0X_API
46 # endif
47 #else
48 # define VL53L0X_API
49 #endif
50 
71 
83  VL53L0X_Version_t *pPalSpecVersion);
84 
100  uint8_t *pProductRevisionMajor, uint8_t *pProductRevisionMinor);
101 
114  VL53L0X_DeviceInfo_t *pVL53L0X_DeviceInfo);
115 
127  VL53L0X_DeviceError *pDeviceErrorStatus);
128 
141  char *pRangeStatusString);
142 
154  VL53L0X_DeviceError ErrorCode, char *pDeviceErrorString);
155 
168  char *pPalErrorString);
169 
182  char *pPalStateString);
183 
196  VL53L0X_State *pPalState);
197 
218  VL53L0X_PowerModes PowerMode);
219 
235  VL53L0X_PowerModes *pPowerMode);
236 
249  VL53L0X_DEV Dev, int32_t OffsetCalibrationDataMicroMeter);
250 
267  VL53L0X_DEV Dev, int32_t *pOffsetCalibrationDataMicroMeter);
268 
282  int16_t LinearityCorrectiveGain);
283 
301  uint16_t *pLinearityCorrectiveGain);
302 
316  uint8_t GroupParamHold);
317 
337  uint16_t *pUpperLimitMilliMeter);
338 
339 
353  FixPoint1616_t *pTotalSignalRate);
354 
378  uint8_t DeviceAddress);
379 
405 
424  uint8_t *pTuningSettingBuffer, uint8_t UseInternalTuningSettings);
425 
444  uint8_t **ppTuningSettingBuffer, uint8_t *pUseInternalTuningSettings);
445 
459 
471 
485 
507  const VL53L0X_DeviceParameters_t *pDeviceParameters);
508 
523  VL53L0X_DeviceParameters_t *pDeviceParameters);
524 
549  VL53L0X_DeviceModes DeviceMode);
550 
574  VL53L0X_DeviceModes *pDeviceMode);
575 
591  uint8_t Enable);
592 
611  uint8_t *pEnable);
612 
635  VL53L0X_HistogramModes HistogramMode);
636 
656  VL53L0X_HistogramModes *pHistogramMode);
657 
679  VL53L0X_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds);
680 
701  VL53L0X_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds);
702 
720  VL53L0X_VcselPeriod VcselPeriodType, uint8_t *pVCSELPulsePeriod);
721 
739  VL53L0X_VcselPeriod VcselPeriodType, uint8_t VCSELPulsePeriod);
740 
759  VL53L0X_SequenceStepId SequenceStepId, uint8_t SequenceStepEnabled);
760 
779  VL53L0X_SequenceStepId SequenceStepId, uint8_t *pSequenceStepEnabled);
780 
795  VL53L0X_SchedulerSequenceSteps_t *pSchedulerSequenceSteps);
796 
814  VL53L0X_SequenceStepId SequenceStepId, FixPoint1616_t TimeOutMilliSecs);
815 
833  VL53L0X_SequenceStepId SequenceStepId,
834  FixPoint1616_t *pTimeOutMilliSecs);
835 
852  uint8_t *pNumberOfSequenceSteps);
853 
870  VL53L0X_SequenceStepId SequenceStepId, char *pSequenceStepsString);
871 
886  VL53L0X_DEV Dev, uint32_t InterMeasurementPeriodMilliSeconds);
887 
903  VL53L0X_DEV Dev, uint32_t *pInterMeasurementPeriodMilliSeconds);
904 
918  uint8_t XTalkCompensationEnable);
919 
933  uint8_t *pXTalkCompensationEnable);
934 
950  FixPoint1616_t XTalkCompensationRateMegaCps);
951 
967  FixPoint1616_t *pXTalkCompensationRateMegaCps);
968 
984  uint8_t VhvSettings, uint8_t PhaseCal);
985 
1001  uint8_t *pVhvSettings, uint8_t *pPhaseCal);
1002 
1016  uint16_t *pNumberOfLimitCheck);
1017 
1038  uint16_t LimitCheckId, char *pLimitCheckString);
1039 
1065  uint16_t LimitCheckId, uint8_t *pLimitCheckStatus);
1066 
1089  uint16_t LimitCheckId, uint8_t LimitCheckEnable);
1090 
1115  uint16_t LimitCheckId, uint8_t *pLimitCheckEnable);
1116 
1137  uint16_t LimitCheckId, FixPoint1616_t LimitCheckValue);
1138 
1160  uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckValue);
1161 
1184  uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckCurrent);
1185 
1198  uint8_t WrapAroundCheckEnable);
1199 
1215  uint8_t *pWrapAroundCheckEnable);
1216 
1230  uint16_t RangeMilliMeter, FixPoint1616_t SignalRateRtnMegaCps);
1231 
1245  uint16_t *pRangeMilliMeter, FixPoint1616_t *pSignalRateRtnMegaCps);
1246 
1275 
1297  uint8_t *pVhvSettings, uint8_t *pPhaseCal);
1298 
1327  uint32_t TimeoutMs, FixPoint1616_t *pXtalkPerSpad,
1328  uint8_t *pAmbientTooHigh);
1329 
1357  FixPoint1616_t XTalkCalDistance,
1358  FixPoint1616_t *pXTalkCompensationRateMegaCps);
1359 
1386  FixPoint1616_t CalDistanceMilliMeter, int32_t *pOffsetMicroMeter);
1387 
1413 
1430 
1451  uint8_t *pMeasurementDataReady);
1452 
1464  uint32_t MaxLoop);
1465 
1482  FixPoint1616_t *pMeasurementRefSignal);
1483 
1502  VL53L0X_RangingMeasurementData_t *pRangingMeasurementData);
1503 
1521  VL53L0X_HistogramMeasurementData_t *pHistogramMeasurementData);
1522 
1546  VL53L0X_RangingMeasurementData_t *pRangingMeasurementData);
1547 
1565  VL53L0X_HistogramMeasurementData_t *pHistogramMeasurementData);
1566 
1584  uint8_t NumberOfROIZones);
1585 
1603  uint8_t *pNumberOfROIZones);
1604 
1619  uint8_t *pMaxNumberOfROIZones);
1620 
1653  VL53L0X_DeviceModes DeviceMode, VL53L0X_GpioFunctionality Functionality,
1654  VL53L0X_InterruptPolarity Polarity);
1655 
1681  VL53L0X_DeviceModes *pDeviceMode,
1682  VL53L0X_GpioFunctionality *pFunctionality,
1683  VL53L0X_InterruptPolarity *pPolarity);
1684 
1705  VL53L0X_DeviceModes DeviceMode, FixPoint1616_t ThresholdLow,
1706  FixPoint1616_t ThresholdHigh);
1707 
1728  VL53L0X_DeviceModes DeviceMode, FixPoint1616_t *pThresholdLow,
1729  FixPoint1616_t *pThresholdHigh);
1730 
1746  uint32_t *pStopStatus);
1747 
1748 
1765  uint32_t InterruptMask);
1766 
1783  uint32_t *pInterruptMaskStatus);
1784 
1796  uint32_t InterruptMask);
1797 
1819  uint16_t SpadAmbientDamperThreshold);
1820 
1836  uint16_t *pSpadAmbientDamperThreshold);
1837 
1852  uint16_t SpadAmbientDamperFactor);
1853 
1869  uint16_t *pSpadAmbientDamperFactor);
1870 
1894  uint32_t *refSpadCount, uint8_t *isApertureSpads);
1895 
1918  uint32_t refSpadCount, uint8_t isApertureSpads);
1919 
1940  uint32_t *refSpadCount, uint8_t *isApertureSpads);
1941 
1946 #ifdef __cplusplus
1947 }
1948 #endif
1949 
1950 #endif /* _VL53L0X_API_H_ */
VL53L0X_API VL53L0X_Error VL53L0X_GetRefCalibration(VL53L0X_DEV Dev, uint8_t *pVhvSettings, uint8_t *pPhaseCal)
Get Reference Calibration Parameters.
VL53L0X_API VL53L0X_Error VL53L0X_GetVersion(VL53L0X_Version_t *pVersion)
Return the VL53L0X PAL Implementation Version.
VL53L0X_API VL53L0X_Error VL53L0X_GetVcselPulsePeriod(VL53L0X_DEV Dev, VL53L0X_VcselPeriod VcselPeriodType, uint8_t *pVCSELPulsePeriod)
Gets the VCSEL pulse period.
VL53L0X_API VL53L0X_Error VL53L0X_EnableInterruptMask(VL53L0X_DEV Dev, uint32_t InterruptMask)
Configure ranging interrupt reported to system.
VL53L0X_API VL53L0X_Error VL53L0X_GetDeviceErrorStatus(VL53L0X_DEV Dev, VL53L0X_DeviceError *pDeviceErrorStatus)
Read current status of the error register for the selected device.
VL53L0X_API VL53L0X_Error VL53L0X_GetDeviceMode(VL53L0X_DEV Dev, VL53L0X_DeviceModes *pDeviceMode)
Get current new device mode.
VL53L0X_API VL53L0X_Error VL53L0X_SetSequenceStepEnable(VL53L0X_DEV Dev, VL53L0X_SequenceStepId SequenceStepId, uint8_t SequenceStepEnabled)
Sets the (on/off) state of a requested sequence step.
VL53L0X_API VL53L0X_Error VL53L0X_PerformRefSpadManagement(VL53L0X_DEV Dev, uint32_t *refSpadCount, uint8_t *isApertureSpads)
Performs Reference Spad Management.
VL53L0X_API VL53L0X_Error VL53L0X_GetMeasurementDataReady(VL53L0X_DEV Dev, uint8_t *pMeasurementDataReady)
Return Measurement Data Ready.
VL53L0X_API VL53L0X_Error VL53L0X_PerformSingleMeasurement(VL53L0X_DEV Dev)
Single shot measurement.
VL53L0X_API VL53L0X_Error VL53L0X_PerformSingleRangingMeasurement(VL53L0X_DEV Dev, VL53L0X_RangingMeasurementData_t *pRangingMeasurementData)
Performs a single ranging measurement and retrieve the ranging measurement data.
VL53L0X_API VL53L0X_Error VL53L0X_GetPalState(VL53L0X_DEV Dev, VL53L0X_State *pPalState)
Reads the internal state of the PAL for a given Device.
int int32_t
Typedef defining 32 bit int type.
Definition: vl53l0x_types.h:80
VL53L0X_API VL53L0X_Error VL53L0X_GetReferenceSpads(VL53L0X_DEV Dev, uint32_t *refSpadCount, uint8_t *isApertureSpads)
Retrieves SPAD configuration.
VL53L0X_API VL53L0X_Error VL53L0X_GetSequenceStepsInfo(VL53L0X_SequenceStepId SequenceStepId, char *pSequenceStepsString)
Gets the name of a given sequence step.
VL53L0X_API VL53L0X_Error VL53L0X_GetInterruptMaskStatus(VL53L0X_DEV Dev, uint32_t *pInterruptMaskStatus)
Return device interrupt status.
VL53L0X_API VL53L0X_Error VL53L0X_GetDeviceErrorString(VL53L0X_DeviceError ErrorCode, char *pDeviceErrorString)
Human readable error string for a given Error Code.
VL53L0X_API VL53L0X_Error VL53L0X_WaitDeviceBooted(VL53L0X_DEV Dev)
Wait for device booted after chip enable (hardware standby) This function can be run only when VL53L0...
VL53L0X_API VL53L0X_Error VL53L0X_SetInterruptThresholds(VL53L0X_DEV Dev, VL53L0X_DeviceModes DeviceMode, FixPoint1616_t ThresholdLow, FixPoint1616_t ThresholdHigh)
Set low and high Interrupt thresholds for a given mode (ranging, ALS, ...) for a given device...
Defines all parameters for the device.
Definition: vl53l0x_def.h:234
VL53L0X_API VL53L0X_Error VL53L0X_GetDeviceInfo(VL53L0X_DEV Dev, VL53L0X_DeviceInfo_t *pVL53L0X_DeviceInfo)
Reads the Device information for given Device.
VL53L0X_API VL53L0X_Error VL53L0X_StartMeasurement(VL53L0X_DEV Dev)
Start device measurement.
VL53L0X_API VL53L0X_Error VL53L0X_SetDeviceParameters(VL53L0X_DEV Dev, const VL53L0X_DeviceParameters_t *pDeviceParameters)
Prepare device for operation.
VL53L0X_API VL53L0X_Error VL53L0X_GetUpperLimitMilliMeter(VL53L0X_DEV Dev, uint16_t *pUpperLimitMilliMeter)
Get the maximal distance for actual setup.
uint8_t VL53L0X_SequenceStepId
Definition: vl53l0x_def.h:540
Defines the parameters of the Get Device Info Functions.
Definition: vl53l0x_def.h:110
VL53L0X_API VL53L0X_Error VL53L0X_GetNumberOfLimitCheck(uint16_t *pNumberOfLimitCheck)
Get the number of the check limit managed by a given Device.
VL53L0X_API VL53L0X_Error VL53L0X_GetTuningSettingBuffer(VL53L0X_DEV Dev, uint8_t **ppTuningSettingBuffer, uint8_t *pUseInternalTuningSettings)
Get the tuning settings pointer and the internal external switch value.
VL53L0X_API VL53L0X_Error VL53L0X_SetVcselPulsePeriod(VL53L0X_DEV Dev, VL53L0X_VcselPeriod VcselPeriodType, uint8_t VCSELPulsePeriod)
Sets the VCSEL pulse period.
VL53L0X_API VL53L0X_Error VL53L0X_GetLimitCheckCurrent(VL53L0X_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckCurrent)
Get the current value of the signal used for the limit check.
VL53L0X_API VL53L0X_Error VL53L0X_GetNumberOfSequenceSteps(VL53L0X_DEV Dev, uint8_t *pNumberOfSequenceSteps)
Gets number of sequence steps managed by the API.
VL53L0X_API VL53L0X_Error VL53L0X_SetWrapAroundCheckEnable(VL53L0X_DEV Dev, uint8_t WrapAroundCheckEnable)
Enable (or disable) Wrap around Check.
VL53L0X_API VL53L0X_Error VL53L0X_GetRangeStatusString(uint8_t RangeStatus, char *pRangeStatusString)
Human readable Range Status string for a given RangeStatus.
#define VL53L0X_API
Definition: vl53l0x_api.h:48
uint8_t VL53L0X_State
Definition: vl53l0x_def.h:273
VL53L0X_API VL53L0X_Error VL53L0X_SetHistogramMode(VL53L0X_DEV Dev, VL53L0X_HistogramModes HistogramMode)
Set a new Histogram mode.
VL53L0X_API VL53L0X_Error VL53L0X_GetLimitCheckEnable(VL53L0X_DEV Dev, uint16_t LimitCheckId, uint8_t *pLimitCheckEnable)
Get specific limit check enable state.
VL53L0X_API VL53L0X_Error VL53L0X_SetRefCalibration(VL53L0X_DEV Dev, uint8_t VhvSettings, uint8_t PhaseCal)
Set Reference Calibration Parameters.
VL53L0X_API VL53L0X_Error VL53L0X_DataInit(VL53L0X_DEV Dev)
One time device initialization.
VL53L0X_API VL53L0X_Error VL53L0X_SetDeviceMode(VL53L0X_DEV Dev, VL53L0X_DeviceModes DeviceMode)
Set a new device mode.
VL53L0X_API VL53L0X_Error VL53L0X_GetLinearityCorrectiveGain(VL53L0X_DEV Dev, uint16_t *pLinearityCorrectiveGain)
Get the linearity corrective gain.
VL53L0X_API VL53L0X_Error VL53L0X_GetNumberOfROIZones(VL53L0X_DEV Dev, uint8_t *pNumberOfROIZones)
Get the number of ROI Zones managed by the Device.
VL53L0X_API VL53L0X_Error VL53L0X_SetXTalkCompensationEnable(VL53L0X_DEV Dev, uint8_t XTalkCompensationEnable)
Enable/Disable Cross talk compensation feature.
VL53L0X_API VL53L0X_Error VL53L0X_StopMeasurement(VL53L0X_DEV Dev)
Stop device measurement.
VL53L0X_API VL53L0X_Error VL53L0X_GetLimitCheckValue(VL53L0X_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckValue)
Get a specific limit check value.
VL53L0X_API VL53L0X_Error VL53L0X_GetInterruptThresholds(VL53L0X_DEV Dev, VL53L0X_DeviceModes DeviceMode, FixPoint1616_t *pThresholdLow, FixPoint1616_t *pThresholdHigh)
Get high and low Interrupt thresholds for a given mode (ranging, ALS, ...) for a given device...
VL53L0X_API VL53L0X_Error VL53L0X_SetXTalkCompensationRateMegaCps(VL53L0X_DEV Dev, FixPoint1616_t XTalkCompensationRateMegaCps)
Set Cross talk compensation rate.
VL53L0X_API VL53L0X_Error VL53L0X_SetGroupParamHold(VL53L0X_DEV Dev, uint8_t GroupParamHold)
Set Group parameter Hold state.
VL53L0X_API VL53L0X_Error VL53L0X_GetMeasurementRefSignal(VL53L0X_DEV Dev, FixPoint1616_t *pMeasurementRefSignal)
Retrieve the Reference Signal after a measurements.
VL53L0X_API VL53L0X_Error VL53L0X_SetMeasurementTimingBudgetMicroSeconds(VL53L0X_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds)
Set Ranging Timing Budget in microseconds.
Function prototype definitions for Ewok Platform layer.
VL53L0X_API VL53L0X_Error VL53L0X_GetSequenceStepEnables(VL53L0X_DEV Dev, VL53L0X_SchedulerSequenceSteps_t *pSchedulerSequenceSteps)
Gets the (on/off) state of all sequence steps.
VL53L0X_API VL53L0X_Error VL53L0X_PerformRefCalibration(VL53L0X_DEV Dev, uint8_t *pVhvSettings, uint8_t *pPhaseCal)
Perform Reference Calibration.
uint8_t VL53L0X_InterruptPolarity
Definition: vl53l0x_def.h:496
VL53L0X_API VL53L0X_Error VL53L0X_ClearInterruptMask(VL53L0X_DEV Dev, uint32_t InterruptMask)
Clear given system interrupt condition.
VL53L0X_API VL53L0X_Error VL53L0X_GetHistogramMeasurementData(VL53L0X_DEV Dev, VL53L0X_HistogramMeasurementData_t *pHistogramMeasurementData)
Retrieve the measurements from device for a given setup.
VL53L0X_API VL53L0X_Error VL53L0X_SetOffsetCalibrationDataMicroMeter(VL53L0X_DEV Dev, int32_t OffsetCalibrationDataMicroMeter)
Set or over-hide part to part calibration offset.
VL53L0X_API VL53L0X_Error VL53L0X_SetSpadAmbientDamperThreshold(VL53L0X_DEV Dev, uint16_t SpadAmbientDamperThreshold)
Set the SPAD Ambient Damper Threshold value.
VL53L0X_API VL53L0X_Error VL53L0X_SetDeviceAddress(VL53L0X_DEV Dev, uint8_t DeviceAddress)
Set new device address.
VL53L0X_API VL53L0X_Error VL53L0X_GetPalErrorString(VL53L0X_Error PalErrorCode, char *pPalErrorString)
Human readable error string for current PAL error status.
VL53L0X_API VL53L0X_Error VL53L0X_GetXTalkCompensationEnable(VL53L0X_DEV Dev, uint8_t *pXTalkCompensationEnable)
Get Cross talk compensation rate.
VL53L0X_Error VL53L0X_GetTotalSignalRate(VL53L0X_DEV Dev, FixPoint1616_t *pTotalSignalRate)
Get the Total Signal Rate.
VL53L0X_API VL53L0X_Error VL53L0X_GetLimitCheckInfo(VL53L0X_DEV Dev, uint16_t LimitCheckId, char *pLimitCheckString)
Return a description string for a given limit check number.
VL53L0X_API VL53L0X_Error VL53L0X_SetSpadAmbientDamperFactor(VL53L0X_DEV Dev, uint16_t SpadAmbientDamperFactor)
Set the SPAD Ambient Damper Factor value.
VL53L0X_API VL53L0X_Error VL53L0X_WaitDeviceReadyForNewMeasurement(VL53L0X_DEV Dev, uint32_t MaxLoop)
Wait for device ready for a new measurement command.
uint8_t VL53L0X_GpioFunctionality
VL53L0X_API VL53L0X_Error VL53L0X_PerformSingleHistogramMeasurement(VL53L0X_DEV Dev, VL53L0X_HistogramMeasurementData_t *pHistogramMeasurementData)
Performs a single histogram measurement and retrieve the histogram measurement data Is equivalent to ...
uint8_t VL53L0X_VcselPeriod
Definition: vl53l0x_def.h:510
VL53L0X_API VL53L0X_Error VL53L0X_GetOffsetCalibrationDataMicroMeter(VL53L0X_DEV Dev, int32_t *pOffsetCalibrationDataMicroMeter)
Get part to part calibration offset.
VL53L0X_API VL53L0X_Error VL53L0X_GetWrapAroundCheckEnable(VL53L0X_DEV Dev, uint8_t *pWrapAroundCheckEnable)
Get setup of Wrap around Check.
unsigned short uint16_t
Typedef defining 16 bit unsigned short type.
Definition: vl53l0x_types.h:85
VL53L0X_API VL53L0X_Error VL53L0X_PerformXTalkMeasurement(VL53L0X_DEV Dev, uint32_t TimeoutMs, FixPoint1616_t *pXtalkPerSpad, uint8_t *pAmbientTooHigh)
Perform XTalk Measurement.
Defines the parameters of the Get Version Functions.
Definition: vl53l0x_def.h:100
VL53L0X_API VL53L0X_Error VL53L0X_GetRangingMeasurementData(VL53L0X_DEV Dev, VL53L0X_RangingMeasurementData_t *pRangingMeasurementData)
Retrieve the measurements from device for a given setup.
VL53L0X_API VL53L0X_Error VL53L0X_GetXTalkCompensationRateMegaCps(VL53L0X_DEV Dev, FixPoint1616_t *pXTalkCompensationRateMegaCps)
Get Cross talk compensation rate.
VL53L0X_API VL53L0X_Error VL53L0X_SetSequenceStepTimeout(VL53L0X_DEV Dev, VL53L0X_SequenceStepId SequenceStepId, FixPoint1616_t TimeOutMilliSecs)
Sets the timeout of a requested sequence step.
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
Definition: vl53l0x_types.h:75
uint8_t VL53L0X_DeviceError
VL53L0X_API VL53L0X_Error VL53L0X_SetPowerMode(VL53L0X_DEV Dev, VL53L0X_PowerModes PowerMode)
Set the power mode for a given Device The power mode can be Standby or Idle.
VL53L0X_API VL53L0X_Error VL53L0X_GetLimitCheckStatus(VL53L0X_DEV Dev, uint16_t LimitCheckId, uint8_t *pLimitCheckStatus)
Return a the Status of the specified check limit.
VL53L0X_API VL53L0X_Error VL53L0X_GetInterMeasurementPeriodMilliSeconds(VL53L0X_DEV Dev, uint32_t *pInterMeasurementPeriodMilliSeconds)
Get continuous mode Inter-Measurement period in milliseconds.
VL53L0X_API VL53L0X_Error VL53L0X_GetSequenceStepEnable(VL53L0X_DEV Dev, VL53L0X_SequenceStepId SequenceStepId, uint8_t *pSequenceStepEnabled)
Gets the (on/off) state of a requested sequence step.
VL53L0X_API VL53L0X_Error VL53L0X_SetTuningSettingBuffer(VL53L0X_DEV Dev, uint8_t *pTuningSettingBuffer, uint8_t UseInternalTuningSettings)
Set the tuning settings pointer.
uint32_t FixPoint1616_t
use where fractional values are expected
VL53L0X_API VL53L0X_Error VL53L0X_GetFractionEnable(VL53L0X_DEV Dev, uint8_t *pEnable)
Gets the fraction enable parameter indicating the resolution of range measurements.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
Definition: vl53l0x_types.h:95
VL53L0X_API VL53L0X_Error VL53L0X_GetGpioConfig(VL53L0X_DEV Dev, uint8_t Pin, VL53L0X_DeviceModes *pDeviceMode, VL53L0X_GpioFunctionality *pFunctionality, VL53L0X_InterruptPolarity *pPolarity)
Get current configuration for GPIO pin for a given device.
VL53L0X_API VL53L0X_Error VL53L0X_GetDmaxCalParameters(VL53L0X_DEV Dev, uint16_t *pRangeMilliMeter, FixPoint1616_t *pSignalRateRtnMegaCps)
Get Dmax Calibration Parameters for a given device.
Generic PAL device type that does link between API and platform abstraction layer.
uint8_t VL53L0X_PowerModes
Definition: vl53l0x_def.h:218
VL53L0X_API VL53L0X_Error VL53L0X_GetPalSpecVersion(VL53L0X_Version_t *pPalSpecVersion)
Return the PAL Specification Version used for the current implementation.
VL53L0X_API VL53L0X_Error VL53L0X_GetPowerMode(VL53L0X_DEV Dev, VL53L0X_PowerModes *pPowerMode)
Get the power mode for a given Device.
VL53L0X_API VL53L0X_Error VL53L0X_GetDeviceParameters(VL53L0X_DEV Dev, VL53L0X_DeviceParameters_t *pDeviceParameters)
Retrieve current device parameters.
VL53L0X_API VL53L0X_Error VL53L0X_ResetDevice(VL53L0X_DEV Dev)
Do an hard reset or soft reset (depending on implementation) of the device call of this function...
uint8_t VL53L0X_HistogramModes
Definition: vl53l0x_def.h:199
VL53L0X_API VL53L0X_Error VL53L0X_GetSpadAmbientDamperThreshold(VL53L0X_DEV Dev, uint16_t *pSpadAmbientDamperThreshold)
Get the current SPAD Ambient Damper Threshold value.
VL53L0X_API VL53L0X_Error VL53L0X_GetSpadAmbientDamperFactor(VL53L0X_DEV Dev, uint16_t *pSpadAmbientDamperFactor)
Get the current SPAD Ambient Damper Factor value.
VL53L0X_API VL53L0X_Error VL53L0X_PerformXTalkCalibration(VL53L0X_DEV Dev, FixPoint1616_t XTalkCalDistance, FixPoint1616_t *pXTalkCompensationRateMegaCps)
Perform XTalk Calibration.
VL53L0X_API VL53L0X_Error VL53L0X_GetStopCompletedStatus(VL53L0X_DEV Dev, uint32_t *pStopStatus)
Return device stop completion status.
VL53L0X_API VL53L0X_Error VL53L0X_GetPalStateString(VL53L0X_State PalStateCode, char *pPalStateString)
Human readable PAL State string.
VL53L0X_API VL53L0X_Error VL53L0X_SetDmaxCalParameters(VL53L0X_DEV Dev, uint16_t RangeMilliMeter, FixPoint1616_t SignalRateRtnMegaCps)
Set Dmax Calibration Parameters for a given device When one of the parameter is zero, this function will get parameter from NVM.
VL53L0X_API VL53L0X_Error VL53L0X_SetInterMeasurementPeriodMilliSeconds(VL53L0X_DEV Dev, uint32_t InterMeasurementPeriodMilliSeconds)
Program continuous mode Inter-Measurement period in milliseconds.
VL53L0X_API VL53L0X_Error VL53L0X_PerformOffsetCalibration(VL53L0X_DEV Dev, FixPoint1616_t CalDistanceMilliMeter, int32_t *pOffsetMicroMeter)
Perform Offset Calibration.
VL53L0X_API VL53L0X_Error VL53L0X_GetMeasurementTimingBudgetMicroSeconds(VL53L0X_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds)
Get Ranging Timing Budget in microseconds.
short int16_t
Typedef defining 16 bit short type.
Definition: vl53l0x_types.h:90
Type definitions for VL53L0X API.
VL53L0X_API VL53L0X_Error VL53L0X_GetProductRevision(VL53L0X_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...
uint8_t VL53L0X_DeviceModes
Definition: vl53l0x_def.h:181
VL53L0X_API VL53L0X_Error VL53L0X_GetMaxNumberOfROIZones(VL53L0X_DEV Dev, uint8_t *pMaxNumberOfROIZones)
Get the Maximum number of ROI Zones managed by the Device.
VL53L0X_API VL53L0X_Error VL53L0X_SetNumberOfROIZones(VL53L0X_DEV Dev, uint8_t NumberOfROIZones)
Set the number of ROI Zones to be used for a specific Device.
VL53L0X_API VL53L0X_Error VL53L0X_SetRangeFractionEnable(VL53L0X_DEV Dev, uint8_t Enable)
Sets the resolution of range measurements.
VL53L0X_API VL53L0X_Error VL53L0X_GetSequenceStepTimeout(VL53L0X_DEV Dev, VL53L0X_SequenceStepId SequenceStepId, FixPoint1616_t *pTimeOutMilliSecs)
Gets the timeout of a requested sequence step.
VL53L0X_API VL53L0X_Error VL53L0X_SetLinearityCorrectiveGain(VL53L0X_DEV Dev, int16_t LinearityCorrectiveGain)
Set the linearity corrective gain.
int8_t VL53L0X_Error
Definition: vl53l0x_def.h:131
VL53L0X_API VL53L0X_Error VL53L0X_StaticInit(VL53L0X_DEV Dev)
Do basic device init (and eventually patch loading) This function will change the VL53L0X_State from ...
VL53L0X_API VL53L0X_Error VL53L0X_GetHistogramMode(VL53L0X_DEV Dev, VL53L0X_HistogramModes *pHistogramMode)
Get current new device mode.
VL53L0X_API VL53L0X_Error VL53L0X_SetGpioConfig(VL53L0X_DEV Dev, uint8_t Pin, VL53L0X_DeviceModes DeviceMode, VL53L0X_GpioFunctionality Functionality, VL53L0X_InterruptPolarity Polarity)
Set the configuration of GPIO pin for a given device.
VL53L0X_API VL53L0X_Error VL53L0X_SetLimitCheckEnable(VL53L0X_DEV Dev, uint16_t LimitCheckId, uint8_t LimitCheckEnable)
Enable/Disable a specific limit check.
VL53L0X_API VL53L0X_Error VL53L0X_SetReferenceSpads(VL53L0X_DEV Dev, uint32_t refSpadCount, uint8_t isApertureSpads)
Applies Reference SPAD configuration.
VL53L0X_API VL53L0X_Error VL53L0X_SetLimitCheckValue(VL53L0X_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t LimitCheckValue)
Set a specific limit check value.