Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Functions implementation. More...
Go to the source code of this file.
Macros | |
#define | I2C_1V8 0x00 |
#define | I2C_2V8 0x01 |
#define | VL53L1X_I2C_LEVEL I2C_2V8 |
Functions | |
VL53L1X_ERROR | VL53L1X_GetSWVersion (VL53L1X_Version_t *pVersion) |
This function returns the SW driver version. More... | |
VL53L1X_ERROR | VL53L1X_SetI2CAddress (VL53L1_DEV dev, uint8_t new_address) |
This function sets the sensor I2C address used in case multiple devices application, default address 0x52. More... | |
VL53L1X_ERROR | VL53L1X_SensorInit (VL53L1_DEV dev) |
This function loads the 135 bytes default values to initialize the sensor. More... | |
void | VL53L1X_BootDevice (VL53L1_DEV dev, uint16_t TimingBudgetInMs, uint16_t DistanceMode, uint32_t InterMeasurementInMs) |
Implement boot sequence of VL53L1 device as described in documentation See VL53L1X_SetTimingBudgetInMs, VL53L1X_SetDistanceMode and VL53L1X_SetInterMeasurementInMs for params details. More... | |
VL53L1X_ERROR | VL53L1X_ClearInterrupt (VL53L1_DEV dev) |
This function clears the interrupt, to be called after a ranging data reading to arm the interrupt for the next data ready event. More... | |
VL53L1X_ERROR | VL53L1X_SetInterruptPolarity (VL53L1_DEV dev, uint8_t NewPolarity) |
This function programs the interrupt polarity 1=active high (default), 0=active low. More... | |
VL53L1X_ERROR | VL53L1X_GetInterruptPolarity (VL53L1_DEV dev, uint8_t *pInterruptPolarity) |
This function returns the current interrupt polarity 1=active high (default), 0=active low. More... | |
VL53L1X_ERROR | VL53L1X_StartRanging (VL53L1_DEV dev) |
This function starts the ranging distance operation The ranging operation is continuous. More... | |
VL53L1X_ERROR | VL53L1X_StopRanging (VL53L1_DEV dev) |
This function stops the ranging. More... | |
VL53L1X_ERROR | VL53L1X_CheckForDataReady (VL53L1_DEV dev, uint8_t *isDataReady) |
This function checks if the new ranging data is available by polling the dedicated register. More... | |
VL53L1X_ERROR | VL53L1X_SetTimingBudgetInMs (VL53L1_DEV dev, uint16_t TimingBudgetInMs) |
This function programs the timing budget in ms. More... | |
VL53L1X_ERROR | VL53L1X_GetTimingBudgetInMs (VL53L1_DEV dev, uint16_t *pTimingBudget) |
This function returns the current timing budget in ms. More... | |
VL53L1X_ERROR | VL53L1X_SetDistanceMode (VL53L1_DEV dev, uint16_t DM) |
This function programs the distance mode (1=short, 2=long(default)). More... | |
VL53L1X_ERROR | VL53L1X_GetDistanceMode (VL53L1_DEV dev, uint16_t *DM) |
This function returns the current distance mode (1=short, 2=long). More... | |
VL53L1X_ERROR | VL53L1X_SetInterMeasurementInMs (VL53L1_DEV dev, uint32_t InterMeasMs) |
This function programs the Intermeasurement period in ms Intermeasurement period must be >/= timing budget. More... | |
VL53L1X_ERROR | VL53L1X_GetInterMeasurementInMs (VL53L1_DEV dev, uint16_t *pIM) |
This function returns the Intermeasurement period in ms. More... | |
VL53L1X_ERROR | VL53L1X_BootState (VL53L1_DEV dev, uint8_t *state) |
This function returns the boot state of the device (1:booted, 0:not booted) More... | |
VL53L1X_ERROR | VL53L1X_GetSensorId (VL53L1_DEV dev, uint16_t *sensorId) |
This function returns the sensor id, sensor Id must be 0xEEAC. More... | |
VL53L1X_ERROR | VL53L1X_GetDistance (VL53L1_DEV dev, uint16_t *distance) |
This function returns the distance measured by the sensor in mm. More... | |
VL53L1X_ERROR | VL53L1X_GetSignalPerSpad (VL53L1_DEV dev, uint16_t *signalRate) |
This function returns the returned signal per SPAD in kcps/SPAD. More... | |
VL53L1X_ERROR | VL53L1X_GetAmbientPerSpad (VL53L1_DEV dev, uint16_t *ambPerSp) |
This function returns the ambient per SPAD in kcps/SPAD. More... | |
VL53L1X_ERROR | VL53L1X_GetSignalRate (VL53L1_DEV dev, uint16_t *signal) |
This function returns the returned signal in kcps. More... | |
VL53L1X_ERROR | VL53L1X_GetSpadNb (VL53L1_DEV dev, uint16_t *spNb) |
This function returns the current number of enabled SPADs. More... | |
VL53L1X_ERROR | VL53L1X_GetAmbientRate (VL53L1_DEV dev, uint16_t *ambRate) |
This function returns the ambient rate in kcps. More... | |
VL53L1X_ERROR | VL53L1X_GetRangeStatus (VL53L1_DEV dev, uint8_t *rangeStatus) |
This function returns the ranging status error (0:no error, 1:sigma failed, 2:signal failed, ..., 7:wrap-around) More... | |
VL53L1X_ERROR | VL53L1X_GetResult (VL53L1_DEV dev, VL53L1X_Result_t *pResult) |
This function returns measurements and the range status in a single read access. More... | |
VL53L1X_ERROR | VL53L1X_SetOffset (VL53L1_DEV dev, int16_t OffsetValue) |
This function programs the offset correction in mm. More... | |
VL53L1X_ERROR | VL53L1X_GetOffset (VL53L1_DEV dev, int16_t *offset) |
This function returns the programmed offset correction value in mm. More... | |
VL53L1X_ERROR | VL53L1X_SetXtalk (VL53L1_DEV dev, uint16_t XtalkValue) |
This function programs the xtalk correction value in cps (Count Per Second). More... | |
VL53L1X_ERROR | VL53L1X_GetXtalk (VL53L1_DEV dev, uint16_t *xtalk) |
This function returns the current programmed xtalk correction value in cps. More... | |
VL53L1X_ERROR | VL53L1X_SetDistanceThreshold (VL53L1_DEV 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 (VL53L1_DEV dev, uint16_t *window) |
This function returns the window detection mode (0=below; 1=above; 2=out; 3=in) More... | |
VL53L1X_ERROR | VL53L1X_GetDistanceThresholdLow (VL53L1_DEV dev, uint16_t *low) |
This function returns the low threshold in mm. More... | |
VL53L1X_ERROR | VL53L1X_GetDistanceThresholdHigh (VL53L1_DEV dev, uint16_t *high) |
This function returns the high threshold in mm. More... | |
VL53L1X_ERROR | VL53L1X_SetROICenter (VL53L1_DEV dev, uint8_t ROICenter) |
This function programs the new user ROI center, please to be aware that there is no check in this function. More... | |
VL53L1X_ERROR | VL53L1X_GetROICenter (VL53L1_DEV dev, uint8_t *ROICenter) |
This function returns the current user ROI center. More... | |
VL53L1X_ERROR | VL53L1X_SetROI (VL53L1_DEV 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. More... | |
VL53L1X_ERROR | VL53L1X_GetROI_XY (VL53L1_DEV dev, uint16_t *ROI_X, uint16_t *ROI_Y) |
This function returns width X and height Y. More... | |
VL53L1X_ERROR | VL53L1X_SetSignalThreshold (VL53L1_DEV dev, uint16_t Signal) |
This function programs a new signal threshold in kcps (default=1024 kcps . More... | |
VL53L1X_ERROR | VL53L1X_GetSignalThreshold (VL53L1_DEV dev, uint16_t *signal) |
This function returns the current signal threshold in kcps. More... | |
VL53L1X_ERROR | VL53L1X_SetSigmaThreshold (VL53L1_DEV dev, uint16_t Sigma) |
This function programs a new sigma threshold in mm (default=15 mm) More... | |
VL53L1X_ERROR | VL53L1X_GetSigmaThreshold (VL53L1_DEV dev, uint16_t *sigma) |
This function returns the current sigma threshold in mm. More... | |
VL53L1X_ERROR | VL53L1X_StartTemperatureUpdate (VL53L1_DEV dev) |
This function performs the temperature calibration. More... | |
Variables | |
const uint8_t | VL51L1X_DEFAULT_CONFIGURATION [] |
static const uint8_t | status_rtn [24] |
Functions implementation.
Definition in file vl53l1x_api.c.
#define I2C_1V8 0x00 |
Definition at line 68 of file vl53l1x_api.c.
#define I2C_2V8 0x01 |
Definition at line 69 of file vl53l1x_api.c.
#define VL53L1X_I2C_LEVEL I2C_2V8 |
Definition at line 71 of file vl53l1x_api.c.
void VL53L1X_BootDevice | ( | VL53L1_DEV | dev, |
uint16_t | TimingBudgetInMs, | ||
uint16_t | DistanceMode, | ||
uint32_t | InterMeasurementInMs | ||
) |
Implement boot sequence of VL53L1 device as described in documentation See VL53L1X_SetTimingBudgetInMs, VL53L1X_SetDistanceMode and VL53L1X_SetInterMeasurementInMs for params details.
Definition at line 262 of file vl53l1x_api.c.
References dev, state, VL53L1X_BootState(), VL53L1X_SensorInit(), VL53L1X_SetDistanceMode(), VL53L1X_SetInterMeasurementInMs(), VL53L1X_SetTimingBudgetInMs(), and VL53L1X_StartRanging().
Referenced by multi_ranger_boot_device(), and sonar_vl53l1x_init().
VL53L1X_ERROR VL53L1X_BootState | ( | VL53L1_DEV | dev, |
uint8_t * | state | ||
) |
This function returns the boot state of the device (1:booted, 0:not booted)
Definition at line 564 of file vl53l1x_api.c.
References dev, state, status, VL53L1_FIRMWARE__SYSTEM_STATUS, and VL53L1_RdByte().
Referenced by VL53L1X_BootDevice().
VL53L1X_ERROR VL53L1X_CheckForDataReady | ( | VL53L1_DEV | dev, |
uint8_t * | isDataReady | ||
) |
This function checks if the new ranging data is available by polling the dedicated register.
isDataReady==0 -> not ready; isDataReady==1 -> ready |
Definition at line 324 of file vl53l1x_api.c.
References dev, GPIO__TIO_HV_STATUS, status, VL53L1_RdByte(), and VL53L1X_GetInterruptPolarity().
Referenced by VL53L1X_SensorInit(), and VL53L1X_StartTemperatureUpdate().
VL53L1X_ERROR VL53L1X_ClearInterrupt | ( | VL53L1_DEV | dev | ) |
This function clears the interrupt, to be called after a ranging data reading to arm the interrupt for the next data ready event.
Definition at line 278 of file vl53l1x_api.c.
References dev, status, SYSTEM__INTERRUPT_CLEAR, and VL53L1_WrByte().
Referenced by VL53L1X_SensorInit(), and VL53L1X_StartTemperatureUpdate().
VL53L1X_ERROR VL53L1X_GetAmbientPerSpad | ( | VL53L1_DEV | dev, |
uint16_t * | ambPerSp | ||
) |
This function returns the ambient per SPAD in kcps/SPAD.
Definition at line 608 of file vl53l1x_api.c.
References dev, RESULT__AMBIENT_COUNT_RATE_MCPS_SD, status, VL53L1_RdWord(), and VL53L1_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0.
VL53L1X_ERROR VL53L1X_GetAmbientRate | ( | VL53L1_DEV | dev, |
uint16_t * | ambRate | ||
) |
This function returns the ambient rate in kcps.
Definition at line 641 of file vl53l1x_api.c.
References dev, RESULT__AMBIENT_COUNT_RATE_MCPS_SD, status, and VL53L1_RdWord().
VL53L1X_ERROR VL53L1X_GetDistance | ( | VL53L1_DEV | dev, |
uint16_t * | distance | ||
) |
This function returns the distance measured by the sensor in mm.
Definition at line 584 of file vl53l1x_api.c.
References dev, status, VL53L1_RdWord(), and VL53L1_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0.
VL53L1X_ERROR VL53L1X_GetDistanceMode | ( | VL53L1_DEV | dev, |
uint16_t * | DM | ||
) |
This function returns the current distance mode (1=short, 2=long).
Definition at line 523 of file vl53l1x_api.c.
References dev, PHASECAL_CONFIG__TIMEOUT_MACROP, status, and VL53L1_RdByte().
Referenced by VL53L1X_SetTimingBudgetInMs().
VL53L1X_ERROR VL53L1X_GetDistanceThresholdHigh | ( | VL53L1_DEV | dev, |
uint16_t * | high | ||
) |
This function returns the high threshold in mm.
Definition at line 775 of file vl53l1x_api.c.
References dev, status, SYSTEM__THRESH_HIGH, and VL53L1_RdWord().
VL53L1X_ERROR VL53L1X_GetDistanceThresholdLow | ( | VL53L1_DEV | dev, |
uint16_t * | low | ||
) |
This function returns the low threshold in mm.
Definition at line 765 of file vl53l1x_api.c.
References dev, status, SYSTEM__THRESH_LOW, and VL53L1_RdWord().
VL53L1X_ERROR VL53L1X_GetDistanceThresholdWindow | ( | VL53L1_DEV | dev, |
uint16_t * | window | ||
) |
This function returns the window detection mode (0=below; 1=above; 2=out; 3=in)
Definition at line 756 of file vl53l1x_api.c.
References dev, status, SYSTEM__INTERRUPT_CONFIG_GPIO, and VL53L1_RdByte().
VL53L1X_ERROR VL53L1X_GetInterMeasurementInMs | ( | VL53L1_DEV | dev, |
uint16_t * | pIM | ||
) |
This function returns the Intermeasurement period in ms.
Definition at line 550 of file vl53l1x_api.c.
References dev, status, VL53L1_RdDWord(), VL53L1_RdWord(), VL53L1_RESULT__OSC_CALIBRATE_VAL, and VL53L1_SYSTEM__INTERMEASUREMENT_PERIOD.
VL53L1X_ERROR VL53L1X_GetInterruptPolarity | ( | VL53L1_DEV | dev, |
uint8_t * | pInterruptPolarity | ||
) |
This function returns the current interrupt polarity
1=active high (default), 0=active low.
Definition at line 297 of file vl53l1x_api.c.
References dev, GPIO_HV_MUX__CTRL, status, and VL53L1_RdByte().
Referenced by VL53L1X_CheckForDataReady().
VL53L1X_ERROR VL53L1X_GetOffset | ( | VL53L1_DEV | dev, |
int16_t * | offset | ||
) |
This function returns the programmed offset correction value in mm.
Definition at line 698 of file vl53l1x_api.c.
References ALGO__PART_TO_PART_RANGE_OFFSET_MM, dev, offset, status, and VL53L1_RdWord().
VL53L1X_ERROR VL53L1X_GetRangeStatus | ( | VL53L1_DEV | dev, |
uint8_t * | rangeStatus | ||
) |
This function returns the ranging status error
(0:no error, 1:sigma failed, 2:signal failed, ..., 7:wrap-around)
Definition at line 651 of file vl53l1x_api.c.
References dev, status, status_rtn, VL53L1_RdByte(), and VL53L1_RESULT__RANGE_STATUS.
VL53L1X_ERROR VL53L1X_GetResult | ( | VL53L1_DEV | dev, |
VL53L1X_Result_t * | pResult | ||
) |
This function returns measurements and the range status in a single read access.
Definition at line 665 of file vl53l1x_api.c.
References VL53L1X_Result_t::Ambient, dev, VL53L1X_Result_t::Distance, VL53L1X_Result_t::NumSPADs, VL53L1X_Result_t::SigPerSPAD, VL53L1X_Result_t::Status, status, status_rtn, VL53L1_ReadMulti(), and VL53L1_RESULT__RANGE_STATUS.
VL53L1X_ERROR VL53L1X_GetROI_XY | ( | VL53L1_DEV | dev, |
uint16_t * | ROI_X, | ||
uint16_t * | ROI_Y | ||
) |
This function returns width X and height Y.
Definition at line 822 of file vl53l1x_api.c.
References dev, ROI_CONFIG__USER_ROI_REQUESTED_GLOBAL_XY_SIZE, status, and VL53L1_RdByte().
VL53L1X_ERROR VL53L1X_GetROICenter | ( | VL53L1_DEV | dev, |
uint8_t * | ROICenter | ||
) |
This function returns the current user ROI center.
Definition at line 792 of file vl53l1x_api.c.
References dev, ROI_CONFIG__USER_ROI_CENTRE_SPAD, status, and VL53L1_RdByte().
VL53L1X_ERROR VL53L1X_GetSensorId | ( | VL53L1_DEV | dev, |
uint16_t * | sensorId | ||
) |
This function returns the sensor id, sensor Id must be 0xEEAC.
Definition at line 574 of file vl53l1x_api.c.
References dev, status, VL53L1_IDENTIFICATION__MODEL_ID, and VL53L1_RdWord().
VL53L1X_ERROR VL53L1X_GetSigmaThreshold | ( | VL53L1_DEV | dev, |
uint16_t * | sigma | ||
) |
This function returns the current sigma threshold in mm.
Definition at line 864 of file vl53l1x_api.c.
References dev, RANGE_CONFIG__SIGMA_THRESH, status, and VL53L1_RdWord().
VL53L1X_ERROR VL53L1X_GetSignalPerSpad | ( | VL53L1_DEV | dev, |
uint16_t * | signalPerSp | ||
) |
This function returns the returned signal per SPAD in kcps/SPAD.
With kcps stands for Kilo Count Per Second
Definition at line 595 of file vl53l1x_api.c.
References dev, status, VL53L1_RdWord(), VL53L1_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0, and VL53L1_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0.
VL53L1X_ERROR VL53L1X_GetSignalRate | ( | VL53L1_DEV | dev, |
uint16_t * | signal | ||
) |
This function returns the returned signal in kcps.
Definition at line 619 of file vl53l1x_api.c.
References dev, status, VL53L1_RdWord(), and VL53L1_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0.
VL53L1X_ERROR VL53L1X_GetSignalThreshold | ( | VL53L1_DEV | dev, |
uint16_t * | signal | ||
) |
This function returns the current signal threshold in kcps.
Definition at line 841 of file vl53l1x_api.c.
References dev, RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS, status, and VL53L1_RdWord().
VL53L1X_ERROR VL53L1X_GetSpadNb | ( | VL53L1_DEV | dev, |
uint16_t * | spNb | ||
) |
This function returns the current number of enabled SPADs.
Definition at line 630 of file vl53l1x_api.c.
References dev, status, VL53L1_RdWord(), and VL53L1_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0.
VL53L1X_ERROR VL53L1X_GetSWVersion | ( | VL53L1X_Version_t * | pVersion | ) |
This function returns the SW driver version.
Definition at line 218 of file vl53l1x_api.c.
References VL53L1X_Version_t::build, VL53L1X_Version_t::major, VL53L1X_Version_t::minor, VL53L1X_Version_t::revision, VL53L1X_IMPLEMENTATION_VER_MAJOR, VL53L1X_IMPLEMENTATION_VER_MINOR, VL53L1X_IMPLEMENTATION_VER_REVISION, and VL53L1X_IMPLEMENTATION_VER_SUB.
VL53L1X_ERROR VL53L1X_GetTimingBudgetInMs | ( | VL53L1_DEV | dev, |
uint16_t * | pTimingBudget | ||
) |
This function returns the current timing budget in ms.
Definition at line 445 of file vl53l1x_api.c.
References dev, RANGE_CONFIG__TIMEOUT_MACROP_A_HI, status, and VL53L1_RdWord().
Referenced by VL53L1X_SetDistanceMode().
VL53L1X_ERROR VL53L1X_GetXtalk | ( | VL53L1_DEV | dev, |
uint16_t * | xtalk | ||
) |
This function returns the current programmed xtalk correction value in cps.
Definition at line 725 of file vl53l1x_api.c.
References ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS, dev, status, and VL53L1_RdDWord().
VL53L1X_ERROR VL53L1X_SensorInit | ( | VL53L1_DEV | dev | ) |
This function loads the 135 bytes default values to initialize the sensor.
dev | Device address |
Definition at line 238 of file vl53l1x_api.c.
References dev, status, VL51L1X_DEFAULT_CONFIGURATION, VL53L1_VHV_CONFIG__TIMEOUT_MACROP_LOOP_BOUND, VL53L1_WrByte(), VL53L1X_CheckForDataReady(), VL53L1X_ClearInterrupt(), VL53L1X_SetI2CAddress(), VL53L1X_StartRanging(), and VL53L1X_StopRanging().
Referenced by VL53L1X_BootDevice().
VL53L1X_ERROR VL53L1X_SetDistanceMode | ( | VL53L1_DEV | 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.
Definition at line 486 of file vl53l1x_api.c.
References dev, PHASECAL_CONFIG__TIMEOUT_MACROP, RANGE_CONFIG__VALID_PHASE_HIGH, RANGE_CONFIG__VCSEL_PERIOD_A, RANGE_CONFIG__VCSEL_PERIOD_B, SD_CONFIG__INITIAL_PHASE_SD0, SD_CONFIG__WOI_SD0, status, VL53L1_WrByte(), VL53L1_WrWord(), VL53L1X_GetTimingBudgetInMs(), and VL53L1X_SetTimingBudgetInMs().
Referenced by VL53L1X_BootDevice().
VL53L1X_ERROR VL53L1X_SetDistanceThreshold | ( | VL53L1_DEV | 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) |
Definition at line 735 of file vl53l1x_api.c.
References dev, status, SYSTEM__INTERRUPT_CONFIG_GPIO, SYSTEM__THRESH_HIGH, SYSTEM__THRESH_LOW, VL53L1_RdByte(), VL53L1_WrByte(), and VL53L1_WrWord().
VL53L1X_ERROR VL53L1X_SetI2CAddress | ( | VL53L1_DEV | dev, |
uint8_t | new_address | ||
) |
This function sets the sensor I2C address used in case multiple devices application, default address 0x52.
Definition at line 229 of file vl53l1x_api.c.
References dev, status, VL53L1_I2C_SLAVE__DEVICE_ADDRESS, and VL53L1_WrByte().
Referenced by VL53L1X_SensorInit().
VL53L1X_ERROR VL53L1X_SetInterMeasurementInMs | ( | VL53L1_DEV | 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
Definition at line 537 of file vl53l1x_api.c.
References dev, status, VL53L1_RdWord(), VL53L1_RESULT__OSC_CALIBRATE_VAL, VL53L1_SYSTEM__INTERMEASUREMENT_PERIOD, and VL53L1_WrDWord().
Referenced by VL53L1X_BootDevice().
VL53L1X_ERROR VL53L1X_SetInterruptPolarity | ( | VL53L1_DEV | dev, |
uint8_t | NewPolarity | ||
) |
This function programs the interrupt polarity
1=active high (default), 0=active low.
Definition at line 286 of file vl53l1x_api.c.
References dev, GPIO_HV_MUX__CTRL, status, VL53L1_RdByte(), and VL53L1_WrByte().
VL53L1X_ERROR VL53L1X_SetOffset | ( | VL53L1_DEV | dev, |
int16_t | OffsetValue | ||
) |
This function programs the offset correction in mm.
OffsetValue:the | offset correction value to program in mm |
Definition at line 685 of file vl53l1x_api.c.
References ALGO__PART_TO_PART_RANGE_OFFSET_MM, dev, MM_CONFIG__INNER_OFFSET_MM, MM_CONFIG__OUTER_OFFSET_MM, status, and VL53L1_WrWord().
VL53L1X_ERROR VL53L1X_SetROI | ( | VL53L1_DEV | 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
X:ROI | Width; Y=ROI Height |
Definition at line 801 of file vl53l1x_api.c.
References dev, ROI_CONFIG__USER_ROI_CENTRE_SPAD, ROI_CONFIG__USER_ROI_REQUESTED_GLOBAL_XY_SIZE, status, VL53L1_RdByte(), VL53L1_ROI_CONFIG__MODE_ROI_CENTRE_SPAD, VL53L1_WrByte(), mesonh.mesonh_atmosphere::X, and mesonh.mesonh_atmosphere::Y.
VL53L1X_ERROR VL53L1X_SetROICenter | ( | VL53L1_DEV | 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
Definition at line 785 of file vl53l1x_api.c.
References dev, ROI_CONFIG__USER_ROI_CENTRE_SPAD, status, and VL53L1_WrByte().
VL53L1X_ERROR VL53L1X_SetSigmaThreshold | ( | VL53L1_DEV | dev, |
uint16_t | Sigma | ||
) |
This function programs a new sigma threshold in mm (default=15 mm)
Definition at line 852 of file vl53l1x_api.c.
References dev, RANGE_CONFIG__SIGMA_THRESH, status, and VL53L1_WrWord().
VL53L1X_ERROR VL53L1X_SetSignalThreshold | ( | VL53L1_DEV | dev, |
uint16_t | Signal | ||
) |
This function programs a new signal threshold in kcps (default=1024 kcps
.
Definition at line 833 of file vl53l1x_api.c.
References dev, RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS, status, and VL53L1_WrWord().
VL53L1X_ERROR VL53L1X_SetTimingBudgetInMs | ( | VL53L1_DEV | dev, |
uint16_t | TimingBudgetInMs | ||
) |
This function programs the timing budget in ms.
Predefined values = 15, 20, 33, 50, 100(default), 200, 500.
Definition at line 343 of file vl53l1x_api.c.
References dev, RANGE_CONFIG__TIMEOUT_MACROP_A_HI, RANGE_CONFIG__TIMEOUT_MACROP_B_HI, status, VL53L1_WrWord(), and VL53L1X_GetDistanceMode().
Referenced by VL53L1X_BootDevice(), and VL53L1X_SetDistanceMode().
VL53L1X_ERROR VL53L1X_SetXtalk | ( | VL53L1_DEV | 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.
Definition at line 710 of file vl53l1x_api.c.
References ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS, ALGO__CROSSTALK_COMPENSATION_X_PLANE_GRADIENT_KCPS, ALGO__CROSSTALK_COMPENSATION_Y_PLANE_GRADIENT_KCPS, dev, status, and VL53L1_WrWord().
VL53L1X_ERROR VL53L1X_StartRanging | ( | VL53L1_DEV | 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.
Definition at line 308 of file vl53l1x_api.c.
References dev, status, SYSTEM__MODE_START, and VL53L1_WrByte().
Referenced by VL53L1X_BootDevice(), VL53L1X_SensorInit(), and VL53L1X_StartTemperatureUpdate().
VL53L1X_ERROR VL53L1X_StartTemperatureUpdate | ( | VL53L1_DEV | 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.
Definition at line 875 of file vl53l1x_api.c.
References dev, status, VL53L1_VHV_CONFIG__TIMEOUT_MACROP_LOOP_BOUND, VL53L1_WrByte(), VL53L1X_CheckForDataReady(), VL53L1X_ClearInterrupt(), VL53L1X_StartRanging(), and VL53L1X_StopRanging().
VL53L1X_ERROR VL53L1X_StopRanging | ( | VL53L1_DEV | dev | ) |
This function stops the ranging.
Definition at line 316 of file vl53l1x_api.c.
References dev, status, SYSTEM__MODE_START, and VL53L1_WrByte().
Referenced by VL53L1X_SensorInit(), and VL53L1X_StartTemperatureUpdate().
|
static |
Definition at line 208 of file vl53l1x_api.c.
Referenced by VL53L1X_GetRangeStatus(), and VL53L1X_GetResult().
const uint8_t VL51L1X_DEFAULT_CONFIGURATION[] |
Definition at line 114 of file vl53l1x_api.c.
Referenced by VL53L1X_SensorInit().