MRMS
|
Functions definition. More...
#include "vl53l1_platform.h"
Go to the source code of this file.
Classes | |
struct | VL53L1X_Version_t |
defines SW Version More... | |
struct | VL53L1X_Result_t |
defines packed reading results type More... | |
Typedefs | |
typedef int8_t | VL53L1X_ERROR |
Functions | |
VL53L1X_ERROR | VL53L1X_GetSWVersion (VL53L1X_Version_t *pVersion) |
This function returns the SW driver version. | |
VL53L1X_ERROR | VL53L1X_SetI2CAddress (uint16_t, uint8_t new_address) |
This function sets the sensor I2C address used in case multiple devices application, default address 0x52. | |
VL53L1X_ERROR | VL53L1X_SensorInit (uint16_t dev) |
This function loads the 135 bytes default values to initialize the sensor. More... | |
VL53L1X_ERROR | VL53L1X_ClearInterrupt (uint16_t dev) |
This function clears the interrupt, to be called after a ranging data reading to arm the interrupt for the next data ready event. | |
VL53L1X_ERROR | VL53L1X_SetInterruptPolarity (uint16_t dev, uint8_t IntPol) |
This function programs the interrupt polarity 1=active high (default), 0=active low. | |
VL53L1X_ERROR | VL53L1X_GetInterruptPolarity (uint16_t dev, uint8_t *pIntPol) |
This function returns the current interrupt polarity 1=active high (default), 0=active low. | |
VL53L1X_ERROR | VL53L1X_StartRanging (uint16_t dev) |
This function starts the ranging distance operation The ranging operation is continuous. The clear interrupt has to be done after each get data to allow the interrupt to raise when the next data is ready 1=active high (default), 0=active low, use SetInterruptPolarity() to change the interrupt polarity if required. | |
VL53L1X_ERROR | VL53L1X_StopRanging (uint16_t dev) |
This function stops the ranging. | |
VL53L1X_ERROR | VL53L1X_CheckForDataReady (uint16_t dev, uint8_t *isDataReady) |
This function checks if the new ranging data is available by polling the dedicated register. More... | |
VL53L1X_ERROR | VL53L1X_SetTimingBudgetInMs (uint16_t dev, uint16_t TimingBudgetInMs) |
This function programs the timing budget in ms. Predefined values = 15, 20, 33, 50, 100(default), 200, 500. | |
VL53L1X_ERROR | VL53L1X_GetTimingBudgetInMs (uint16_t dev, uint16_t *pTimingBudgetInMs) |
This function returns the current timing budget in ms. | |
VL53L1X_ERROR | VL53L1X_SetDistanceMode (uint16_t dev, uint16_t DistanceMode) |
This function programs the distance mode (1=short, 2=long(default)). Short mode max distance is limited to 1.3 m but better ambient immunity. Long mode can range up to 4 m in the dark with 200 ms timing budget. | |
VL53L1X_ERROR | VL53L1X_GetDistanceMode (uint16_t dev, uint16_t *pDistanceMode) |
This function returns the current distance mode (1=short, 2=long). | |
VL53L1X_ERROR | VL53L1X_SetInterMeasurementInMs (uint16_t dev, uint32_t InterMeasurementInMs) |
This function programs the Intermeasurement period in ms Intermeasurement period must be >/= timing budget. This condition is not checked by the API, the customer has the duty to check the condition. Default = 100 ms. | |
VL53L1X_ERROR | VL53L1X_GetInterMeasurementInMs (uint16_t dev, uint16_t *pIM) |
This function returns the Intermeasurement period in ms. | |
VL53L1X_ERROR | VL53L1X_BootState (uint16_t dev, uint8_t *state) |
This function returns the boot state of the device (1:booted, 0:not booted) | |
VL53L1X_ERROR | VL53L1X_GetSensorId (uint16_t dev, uint16_t *id) |
This function returns the sensor id, sensor Id must be 0xEEAC. | |
VL53L1X_ERROR | VL53L1X_GetDistance (uint16_t dev, uint16_t *distance) |
This function returns the distance measured by the sensor in mm. | |
VL53L1X_ERROR | VL53L1X_GetSignalPerSpad (uint16_t dev, uint16_t *signalPerSp) |
This function returns the returned signal per SPAD in kcps/SPAD. With kcps stands for Kilo Count Per Second. | |
VL53L1X_ERROR | VL53L1X_GetAmbientPerSpad (uint16_t dev, uint16_t *amb) |
This function returns the ambient per SPAD in kcps/SPAD. | |
VL53L1X_ERROR | VL53L1X_GetSignalRate (uint16_t dev, uint16_t *signalRate) |
This function returns the returned signal in kcps. | |
VL53L1X_ERROR | VL53L1X_GetSpadNb (uint16_t dev, uint16_t *spNb) |
This function returns the current number of enabled SPADs. | |
VL53L1X_ERROR | VL53L1X_GetAmbientRate (uint16_t dev, uint16_t *ambRate) |
This function returns the ambient rate in kcps. | |
VL53L1X_ERROR | VL53L1X_GetRangeStatus (uint16_t dev, uint8_t *rangeStatus) |
This function returns the ranging status error (0:no error, 1:sigma failed, 2:signal failed, ..., 7:wrap-around) | |
VL53L1X_ERROR | VL53L1X_GetResult (uint16_t dev, VL53L1X_Result_t *pResult) |
This function returns measurements and the range status in a single read access. | |
VL53L1X_ERROR | VL53L1X_SetOffset (uint16_t dev, int16_t OffsetValue) |
This function programs the offset correction in mm. More... | |
VL53L1X_ERROR | VL53L1X_GetOffset (uint16_t dev, int16_t *Offset) |
This function returns the programmed offset correction value in mm. | |
VL53L1X_ERROR | VL53L1X_SetXtalk (uint16_t dev, uint16_t XtalkValue) |
This function programs the xtalk correction value in cps (Count Per Second). This is the number of photons reflected back from the cover glass in cps. | |
VL53L1X_ERROR | VL53L1X_GetXtalk (uint16_t dev, uint16_t *Xtalk) |
This function returns the current programmed xtalk correction value in cps. | |
VL53L1X_ERROR | VL53L1X_SetDistanceThreshold (uint16_t dev, uint16_t ThreshLow, uint16_t ThreshHigh, uint8_t Window, uint8_t IntOnNoTarget) |
This function programs the threshold detection mode Example: VL53L1X_SetDistanceThreshold(dev,100,300,0,1): Below 100 VL53L1X_SetDistanceThreshold(dev,100,300,1,1): Above 300 VL53L1X_SetDistanceThreshold(dev,100,300,2,1): Out of window VL53L1X_SetDistanceThreshold(dev,100,300,3,1): In window . More... | |
VL53L1X_ERROR | VL53L1X_GetDistanceThresholdWindow (uint16_t dev, uint16_t *window) |
This function returns the window detection mode (0=below; 1=above; 2=out; 3=in) | |
VL53L1X_ERROR | VL53L1X_GetDistanceThresholdLow (uint16_t dev, uint16_t *low) |
This function returns the low threshold in mm. | |
VL53L1X_ERROR | VL53L1X_GetDistanceThresholdHigh (uint16_t dev, uint16_t *high) |
This function returns the high threshold in mm. | |
VL53L1X_ERROR | VL53L1X_SetROI (uint16_t dev, uint16_t X, uint16_t Y) |
This function programs the ROI (Region of Interest) The ROI position is centered, only the ROI size can be reprogrammed. The smallest acceptable ROI size = 4 . More... | |
VL53L1X_ERROR | VL53L1X_GetROI_XY (uint16_t dev, uint16_t *ROI_X, uint16_t *ROI_Y) |
This function returns width X and height Y. | |
VL53L1X_ERROR | VL53L1X_SetROICenter (uint16_t dev, uint8_t ROICenter) |
This function programs the new user ROI center, please to be aware that there is no check in this function. if the ROI center vs ROI size is out of border the ranging function return error #13. | |
VL53L1X_ERROR | VL53L1X_GetROICenter (uint16_t dev, uint8_t *ROICenter) |
This function returns the current user ROI center. | |
VL53L1X_ERROR | VL53L1X_SetSignalThreshold (uint16_t dev, uint16_t signal) |
This function programs a new signal threshold in kcps (default=1024 kcps . | |
VL53L1X_ERROR | VL53L1X_GetSignalThreshold (uint16_t dev, uint16_t *signal) |
This function returns the current signal threshold in kcps. | |
VL53L1X_ERROR | VL53L1X_SetSigmaThreshold (uint16_t dev, uint16_t sigma) |
This function programs a new sigma threshold in mm (default=15 mm) | |
VL53L1X_ERROR | VL53L1X_GetSigmaThreshold (uint16_t dev, uint16_t *signal) |
This function returns the current sigma threshold in mm. | |
VL53L1X_ERROR | VL53L1X_StartTemperatureUpdate (uint16_t dev) |
This function performs the temperature calibration. It is recommended to call this function any time the temperature might have changed by more than 8 deg C without sensor ranging activity for an extended period. | |
Functions definition.
This function checks if the new ranging data is available by polling the dedicated register.
isDataReady==0 -> not ready; isDataReady==1 -> ready |
VL53L1X_ERROR VL53L1X_SensorInit | ( | uint16_t | dev | ) |
This function loads the 135 bytes default values to initialize the sensor.
dev | Device address |
VL53L1X_ERROR VL53L1X_SetDistanceThreshold | ( | uint16_t | dev, |
uint16_t | ThreshLow, | ||
uint16_t | ThreshHigh, | ||
uint8_t | Window, | ||
uint8_t | IntOnNoTarget | ||
) |
This function programs the threshold detection mode
Example:
VL53L1X_SetDistanceThreshold(dev,100,300,0,1): Below 100
VL53L1X_SetDistanceThreshold(dev,100,300,1,1): Above 300
VL53L1X_SetDistanceThreshold(dev,100,300,2,1): Out of window
VL53L1X_SetDistanceThreshold(dev,100,300,3,1): In window
.
dev | : device address |
ThreshLow(in | mm) : the threshold under which one the device raises an interrupt if Window = 0 |
ThreshHigh(in | mm) : the threshold above which one the device raises an interrupt if Window = 1 |
Window | detection mode : 0=below, 1=above, 2=out, 3=in |
IntOnNoTarget | = 1 (No longer used - just use 1) |
This function programs the offset correction in mm.
OffsetValue:the | offset correction value to program in mm |