Go to the documentation of this file.
79 #error Must define at least 5 zones in MAX_USER_ZONES constant
84 #define OFFSET_CALIB_EMPTY
87 #ifndef VL53L1_NOCALIB
91 #define LOG_FUNCTION_START(fmt, ...) \
92 _LOG_FUNCTION_START(VL53L1_TRACE_MODULE_API, fmt, ##__VA_ARGS__)
93 #define LOG_FUNCTION_END(status, ...) \
94 _LOG_FUNCTION_END(VL53L1_TRACE_MODULE_API, status, ##__VA_ARGS__)
95 #define LOG_FUNCTION_END_FMT(status, fmt, ...) \
96 _LOG_FUNCTION_END_FMT(VL53L1_TRACE_MODULE_API, status, \
99 #ifdef VL53L1_LOG_ENABLE
100 #define trace_print(level, ...) trace_print_module_function(\
101 VL53L1_TRACE_MODULE_API, level, VL53L1_TRACE_FUNCTION_NONE, \
106 #define MIN(v1, v2) ((v1) < (v2) ? (v1) : (v2))
109 #define MAX(v1, v2) ((v1) < (v2) ? (v2) : (v1))
112 #define DMAX_REFLECTANCE_IDX 2
118 #define LOWPOWER_AUTO_VHV_LOOP_DURATION_US 245
119 #define LOWPOWER_AUTO_OVERHEAD_BEFORE_A_RANGING 1448
120 #define LOWPOWER_AUTO_OVERHEAD_BETWEEN_A_B_RANGING 2100
122 #define FDA_MAX_TIMING_BUDGET_US 550000
141 #define VL53L1_NVM_POWER_UP_DELAY_US 50
142 #define VL53L1_NVM_READ_TRIGGER_DELAY_US 5
205 nvm_power_up_delay_us);
219 nvm_ctrl_pulse_width);
248 for (nvm_addr = start_address; nvm_addr < (start_address+count) ; nvm_addr++) {
405 uint32_t xTalkStoredMeanRtnSpadsAsInt;
441 for (xtalk_meas = 0; xtalk_meas < xtalk_measmax; xtalk_meas++) {
454 if (total_count > 0) {
456 xTalkStoredMeanSignalRate = sum_signalRate / total_count;
458 xTalkStoredMeanRange /= total_count;
460 xTalkStoredMeanRtnSpads /= total_count;
473 xTalkStoredMeanRtnSpadsAsInt = (xTalkStoredMeanRtnSpads +
482 if (xTalkStoredMeanRtnSpadsAsInt == 0 ||
483 xTalkCalDistanceAsInt == 0 ||
484 xTalkStoredMeanRange >= (xTalkCalDistanceAsInt << 16)) {
485 XTalkCompensationRateMegaCps = 0;
492 signalXTalkTotalPerSpad = (xTalkStoredMeanSignalRate) /
493 xTalkStoredMeanRtnSpadsAsInt;
500 signalXTalkTotalPerSpad *= (((
uint32_t)1 << 16) -
501 (xTalkStoredMeanRange / xTalkCalDistanceAsInt));
504 XTalkCompensationRateMegaCps = (signalXTalkTotalPerSpad
515 (
uint32_t)(1000 * ((XTalkCompensationRateMegaCps +
640 *pProductRevisionMajor = 1;
641 *pProductRevisionMinor = (revision_id & 0xF0) >> 4;
659 strncpy(pVL53L1_DeviceInfo->
ProductId,
"",
668 #ifndef VL53L1_USE_EMPTY_STRING
670 strncpy(pVL53L1_DeviceInfo->
Name,
674 strncpy(pVL53L1_DeviceInfo->
Name,
677 strncpy(pVL53L1_DeviceInfo->
Type,
681 pVL53L1_DeviceInfo->
Name[0] = 0;
682 pVL53L1_DeviceInfo->
Type[0] = 0;
691 char *pRangeStatusString)
705 char *pPalErrorString)
718 char *pPalStateString)
769 i = (i & 0xfe) | 0x01;
882 switch (DistanceMode) {
893 switch (PresetMode) {
895 *pDevicePresetMode = LightModes[DistIdx];
900 *pDevicePresetMode = TimedModes[DistIdx];
904 *pDevicePresetMode = LowPowerTimedModes[DistIdx];
918 uint32_t inter_measurement_period_ms)
923 uint16_t dss_config__target_total_rate_mcps;
924 uint32_t phasecal_config_timeout_us;
926 uint32_t lld_range_config_timeout_us;
938 &device_preset_mode);
943 &dss_config__target_total_rate_mcps,
944 &phasecal_config_timeout_us,
945 &mm_config_timeout_us,
946 &lld_range_config_timeout_us);
952 dss_config__target_total_rate_mcps,
953 phasecal_config_timeout_us,
954 mm_config_timeout_us,
955 lld_range_config_timeout_us,
956 inter_measurement_period_ms);
1028 uint32_t inter_measurement_period_ms;
1054 InternalDistanceMode = DistanceMode;
1063 LLData.inter_measurement_period_ms);
1067 &MmTimeoutUs, &TimingBudget);
1072 InternalDistanceMode,
1073 inter_measurement_period_ms);
1077 InternalDistanceMode);
1079 InternalDistanceMode);
1086 MmTimeoutUs, TimingBudget);
1117 uint32_t MeasurementTimingBudgetMicroSeconds)
1135 if (MeasurementTimingBudgetMicroSeconds > 10000000)
1159 switch (PresetMode) {
1161 if ((Mm1Enabled == 1) || (Mm2Enabled == 1))
1168 FDAMaxTimingBudgetUs *= 2;
1169 if ((Mm1Enabled == 1) || (Mm2Enabled == 1))
1170 TimingGuard = 26600;
1172 TimingGuard = 21600;
1177 FDAMaxTimingBudgetUs *= 2;
1182 if (vhv_loops > 0) {
1197 if (MeasurementTimingBudgetMicroSeconds <= TimingGuard)
1200 TimingBudget = (MeasurementTimingBudgetMicroSeconds
1205 if (TimingBudget > FDAMaxTimingBudgetUs)
1208 TimingBudget /= divisor;
1218 LLData.range_config_timeout_us,
1224 CurrentParameters.MeasurementTimingBudgetMicroSeconds,
1225 MeasurementTimingBudgetMicroSeconds);
1234 uint32_t *pMeasurementTimingBudgetMicroSeconds)
1250 *pMeasurementTimingBudgetMicroSeconds = 0;
1269 switch (PresetMode) {
1271 if ((Mm1Enabled == 1) || (Mm2Enabled == 1))
1272 MeasTimingBdg = RangeTimeoutUs + 5000;
1274 MeasTimingBdg = RangeTimeoutUs + 1000;
1279 if ((Mm1Enabled == 1) || (Mm2Enabled == 1))
1280 MeasTimingBdg = 2 * RangeTimeoutUs + 26600;
1282 MeasTimingBdg = 2 * RangeTimeoutUs + 21600;
1291 if (vhv_loops > 0) {
1298 MeasTimingBdg = 2 * RangeTimeoutUs + TimingGuard;
1307 *pMeasurementTimingBudgetMicroSeconds = MeasTimingBdg;
1316 uint32_t InterMeasurementPeriodMilliSeconds)
1324 adjustedIMP = InterMeasurementPeriodMilliSeconds;
1325 adjustedIMP += (adjustedIMP * 64) / 1000;
1335 uint32_t *pInterMeasurementPeriodMilliSeconds)
1344 adjustedIMP -= (adjustedIMP * 64) / 1000;
1345 *pInterMeasurementPeriodMilliSeconds = adjustedIMP;
1371 char *pLimitCheckString)
1396 LimitCheckId, Temp8);
1397 *pLimitCheckStatus = Temp8;
1412 switch (LimitCheckId) {
1443 if (LimitCheckEnable == 0)
1447 LimitCheckId, TempFix1616);
1456 ((LimitCheckEnable == 0) ? 0 : 1));
1474 *pLimitCheckEnable = 0;
1477 LimitCheckId, Temp8);
1478 *pLimitCheckEnable = Temp8;
1502 if (LimitChecksEnable == 0) {
1505 LimitCheckId, LimitCheckValue);
1514 LimitCheckId, LimitCheckValue);
1533 switch (LimitCheckId) {
1548 if (TempFix1616 == 0) {
1551 LimitChecksValue, LimitCheckId,
1553 *pLimitCheckValue = TempFix1616;
1555 LimitChecksEnable, LimitCheckId, 0);
1557 *pLimitCheckValue = TempFix1616;
1559 LimitChecksValue, LimitCheckId,
1562 LimitChecksEnable, LimitCheckId, 1);
1582 LimitCheckId, TempFix1616);
1583 *pLimitCheckCurrent = TempFix1616;
1611 if ((user_zone.
width < 3) || (user_zone.
height < 3))
1645 uint8_t *pNumberOfSequenceSteps)
1660 char *pSequenceStepsString)
1668 pSequenceStepsString);
1679 uint32_t MeasurementTimingBudgetMicroSeconds;
1689 SequenceStepEnabled);
1696 CurrentParameters.MeasurementTimingBudgetMicroSeconds);
1699 MeasurementTimingBudgetMicroSeconds);
1717 pSequenceStepEnabled);
1734 #define TIMED_MODE_TIMING_GUARD_MILLISECONDS 4
1736 uint8_t DeviceMeasurementMode;
1744 switch (CurrPalState) {
1782 DeviceMeasurementMode,
1819 uint8_t DeviceMeasurementMode;
1820 uint32_t inter_measurement_period_ms;
1827 CurrentParameters.PresetMode);
1829 CurrentParameters.NewDistanceMode);
1833 &MmTimeoutUs, &TimingBudget);
1843 LLData.inter_measurement_period_ms);
1848 inter_measurement_period_ms);
1853 MmTimeoutUs, TimingBudget);
1865 LLData.measurement_mode);
1869 DeviceMeasurementMode,
1875 CurrentParameters.InternalDistanceMode,
1886 uint8_t DeviceMeasurementMode;
1894 CurrentParameters.InternalDistanceMode);
1896 CurrentParameters.NewDistanceMode);
1898 if (NewDistanceMode != InternalDistanceMode)
1903 DeviceMeasurementMode);
1911 uint8_t *pMeasurementDataReady)
1957 if (active_results == 0)
1969 partial = (GGm * presults_data->
sigma_mm);
1970 partial = partial + (RAS >> 1);
1971 partial = partial / RAS;
1972 partial = partial * 65536;
1974 SRQL = GI - partial;
1980 finalvalue = (
uint8_t)(SRQL >> 16);
1981 returnvalue =
MAX(50,
MIN(100, finalvalue));
1992 switch (FilteredRangeStatus) {
2048 FilteredRangeStatus = presults_data->
range_status & 0x1F;
2051 FilteredRangeStatus,
2076 switch (device_status) {
2115 SigmaLimitflag = (FilteredRangeStatus ==
2123 Temp8 = ((Temp8Enable == 1) && (SigmaLimitflag == 1)) ? 1 : 0;
2132 SignalLimitflag = (FilteredRangeStatus ==
2140 Temp8 = ((Temp8Enable == 1) && (SignalLimitflag == 1)) ? 1 : 0;
2171 memset(pRangingMeasurementData, 0xFF,
2186 presults_data = &(presults->
data[0]);
2190 pRangingMeasurementData);
2211 if (TuningParameterId >= 32768)
2214 TuningParameterValue);
2217 BDTable[TuningParameterId] = TuningParameterValue;
2233 if (TuningParameterId >= 32768)
2236 pTuningParameterValue);
2239 *pTuningParameterValue =
BDTable[TuningParameterId];
2251 #ifdef VL53L1_NOCALIB
2303 comms_buffer = &dcrbuffer[16];
2333 uint8_t XTalkCompensationEnable)
2339 if (XTalkCompensationEnable == 0)
2350 uint8_t *pXTalkCompensationEnable)
2358 pXTalkCompensationEnable);
2365 int32_t CalDistanceMilliMeter)
2371 if (CalDistanceMilliMeter > 0) {
2373 CalDistanceMilliMeter;
2393 }
else if (OffsetCalibrationMode ==
2412 int32_t CalDistanceMilliMeter)
2429 if ((offset_cal_mode ==
2437 (
int16_t)CalDistanceMilliMeter,
2446 #ifdef OFFSET_CALIB_EMPTY
2448 int32_t CalDistanceMilliMeter)
2458 int32_t CalDistanceMilliMeter)
2463 int16_t Max, UnderMax, OverMax, Repeat;
2464 int32_t total_count, inloopcount;
2482 UnderMax = 1 + (Max / 2);
2483 OverMax = Max + (Max / 2);
2494 &RangingMeasurementData);
2501 (offset_meas < OverMax)) {
2505 &RangingMeasurementData);
2509 sum_ranging = sum_ranging +
2519 total_count += inloopcount;
2522 if (inloopcount < UnderMax) {
2532 if ((sum_ranging < 0) ||
2533 (sum_ranging > ((
int32_t) total_count * 0xffff))) {
2538 IncRounding = total_count / 2;
2539 meanDistance_mm = (
int16_t)((sum_ranging + IncRounding)
2541 offset = (
int16_t)CalDistanceMilliMeter - meanDistance_mm;
2728 *pOpticalCenterX = 0;
2729 *pOpticalCenterY = 0;
2750 #define BADTHRESBOUNDS(T) \
2751 (((T.CrossMode == VL53L1_THRESHOLD_OUT_OF_WINDOW) || \
2752 (T.CrossMode == VL53L1_THRESHOLD_IN_WINDOW)) && (T.Low > T.High))
2789 high1616 = (high1616 + 32768) / gain;
2790 low1616 = (low1616 + 32768) / gain;
2792 (high1616 & 0xFFFF);
uint8_t global_config__spad_enables_ref_0
#define VL53L1_IMPLEMENTATION_VER_MAJOR
static VL53L1_Error ChangePresetMode(VL53L1_DEV Dev)
#define VL53L1_OFFSETCALIBRATIONMODE__MM1_MM2__STANDARD
uint8_t ref_spad_man__ref_location
static VL53L1_Error SetLimitValue(VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t value)
#define VL53L1_CHECKENABLE_NUMBER_OF_CHECKS
static VL53L1_Error VL53L1_nvm_disable(VL53L1_DEV Dev)
Defines User Zone(ROI) parameters.
VL53L1_Error VL53L1_SetLimitCheckEnable(VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t LimitCheckEnable)
Enable/Disable a specific limit check.
Defines the parameters of the Get Device Info Functions.
unsigned int uint32_t
Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...
#define VL53L1_RANGESTATUS_SIGMA_FAIL
unsigned char uint8_t
Typedef defining 8 bit unsigned char type. The developer should modify this to suit the platform bein...
#define VL53L1_THRESHOLD_CROSSED_HIGH
VL53L1_Error VL53L1_poll_for_boot_completion(VL53L1_DEV Dev, uint32_t timeout_ms)
Waits (polls) for initial firmware boot to finish.
EwokPlus25 low level API function definitions.
static VL53L1_Error VL53L1_read_nvm_raw_data(VL53L1_DEV Dev, uint8_t start_address, uint8_t count, uint8_t *pnvm_raw_data)
#define VL53L1_NVM_POWER_UP_DELAY_US
static VL53L1_Error SingleTargetXTalkCalibration(VL53L1_DEV Dev)
Defines parameters for User/object Detection configuration.
VL53L1_Error VL53L1_StopMeasurement(VL53L1_DEV Dev)
Stop device measurement.
#define LOG_FUNCTION_END(status,...)
#define VL53L1DevDataGet(Dev, field)
Single Range measurement data.
#define VL53L1_RANGING_CORE__CLK_CTRL1
Additional Offset Calibration Data.
VL53L1_Error VL53L1_GetPalStateString(VL53L1_State PalStateCode, char *pPalStateString)
Human readable driver State string.
uint8_t RangeFractionalPart
VL53L1_Error VL53L1_GetSequenceStepsInfo(VL53L1_SequenceStepId SequenceStepId, char *pSequenceStepsString)
Gets the name of a given sequence step.
VL53L1_Error VL53L1_SetTuningParameter(VL53L1_DEV Dev, uint16_t TuningParameterId, int32_t TuningParameterValue)
Set Tuning Parameter value for a given parameter ID.
VL53L1_Error VL53L1_SetDeviceAddress(VL53L1_DEV Dev, uint8_t DeviceAddress)
Set new device address.
VL53L1_Error VL53L1_GetLimitCheckValue(VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t *pLimitCheckValue)
Get a specific limit check value.
#define VL53L1_STATE_STANDBY
#define VL53L1_DEVICEERROR_VCSELWATCHDOGTESTFAILURE
#define VL53L1_DEVICECONFIGLEVEL_FULL
uint8_t global_config__ref_en_start_select
#define VL53L1_STATE_IDLE
static int32_t BDTable[VL53L1_TUNING_MAX_TUNABLE_KEY]
#define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING
VL53L1_cal_peak_rate_map_t cal_peak_rate_map
VL53L1_Error VL53L1_SetUserROI(VL53L1_DEV Dev, VL53L1_UserRoi_t *pRoi)
Set the ROI to be used for ranging.
VL53L1_Error VL53L1_GetNumberOfLimitCheck(uint16_t *pNumberOfLimitCheck)
Get the number of the check limit managed by a given Device.
#define VL53L1_STATE_UNKNOWN
VL53L1_Error VL53L1_GetMeasurementDataReady(VL53L1_DEV Dev, uint8_t *pMeasurementDataReady)
Return Measurement Data Ready.
Internal data structure for storing post processed ranges.
VL53L1_Error VL53L1_set_part_to_part_data(VL53L1_DEV Dev, VL53L1_calibration_data_t *pcal_data)
Sets the customer part to part data.
uint8_t ref_spad_man__ref_location
VL53L1_CustomerNvmManaged_t customer
VL53L1_Error VL53L1_SetXTalkCompensationEnable(VL53L1_DEV Dev, uint8_t XTalkCompensationEnable)
Enable/Disable Cross talk compensation feature.
EwokPlus25 low level API function definitions.
int16_t algo__crosstalk_compensation_y_plane_gradient_kcps
#define VL53L1_ERROR_XTALK_EXTRACTION_NO_SAMPLE_FAIL
VL53L1_Error VL53L1_get_pal_error_string(VL53L1_Error PalErrorCode, char *pPalErrorString)
Generates an error string for the input PAL error code.
VL53L1_Error VL53L1_set_sequence_config_bit(VL53L1_DEV Dev, VL53L1_DeviceSequenceConfig bit_id, uint8_t value)
Set system sequence config bit value.
@ VL53L1_TUNING_MAX_TUNABLE_KEY
uint16_t threshold_distance_high
Defines the parameters of the Get Version Functions.
#define VL53L1_DEVICEERROR_RANGECOMPLETE
#define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING_LONG_RANGE
#define VL53L1_FIXPOINT1616TOFIXPOINT97(Value)
uint8_t VL53L1_DistanceModes
#define CHECK_ERROR_GO_ENDFUNC
VL53L1_Error VL53L1_GetOpticalCenter(VL53L1_DEV Dev, FixPoint1616_t *pOpticalCenterX, FixPoint1616_t *pOpticalCenterY)
Gets the optical center.
static uint8_t ConvertStatusLite(uint8_t FilteredRangeStatus)
#define VL53L1_DISTANCEMODE_MEDIUM
VL53L1_Error VL53L1_stop_range(VL53L1_DEV Dev)
Sends an abort command to stop the in progress range. Also clears all of the measurement mode bits.
VL53L1_Error VL53L1_data_init(VL53L1_DEV Dev, uint8_t read_p2p_data)
Get LL Driver version information.
VL53L1_Error VL53L1_GetPresetMode(VL53L1_DEV Dev, VL53L1_PresetModes *pPresetMode)
Get current Preset Mode.
uint8_t ref_spad_man__num_requested_ref_spads
#define VL53L1_STRING_DEVICE_INFO_TYPE
VL53L1_Error VL53L1_GetNumberOfSequenceSteps(VL53L1_DEV Dev, uint8_t *pNumberOfSequenceSteps)
Gets number of sequence steps managed by the API.
#define VL53L1_DEVICERESULTSLEVEL_FULL
VL53L1_Error VL53L1_set_lite_min_count_rate(VL53L1_DEV Dev, uint16_t lite_mincountrate)
Set function for Lite Mode Minimum Count Rate parameter, used to filter and validate ranges based on ...
#define VL53L1_DEVINFO_STRLEN
#define VL53L1_DETECTION_RATE_ONLY
#define VL53L1_SEQUENCESTEP_MM2
EwokPlus25 low level Driver wait function definitions.
Device register setting defines.
static VL53L1_Error VL53L1_nvm_enable(VL53L1_DEV Dev, uint16_t nvm_ctrl_pulse_width, int32_t nvm_power_up_delay_us)
uint8_t identification__module_type
VL53L1_Error VL53L1_set_customer_nvm_managed(VL53L1_DEV Dev, VL53L1_customer_nvm_managed_t *pdata)
Sets customer_nvm_managed register group.
VL53L1_Error VL53L1_set_GPIO_interrupt_config_struct(VL53L1_DEV Dev, VL53L1_GPIO_interrupt_config_t intconf)
Configure the GPIO interrupt config, from the given structure.
Per Part calibration data.
VL53L1_Error VL53L1_enable_firmware(VL53L1_DEV Dev)
Enables MCU firmware.
VL53L1_range_data_t data[2]
VL53L1_Error VL53L1_PerformOffsetCalibration(VL53L1_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset Calibration.
#define BADTHRESBOUNDS(T)
uint8_t global_config__spad_enables_ref_3
VL53L1_Error VL53L1_GetDeviceInfo(VL53L1_DEV Dev, VL53L1_DeviceInfo_t *pVL53L1_DeviceInfo)
Reads the Device information for given Device.
VL53L1_Error VL53L1_get_limit_check_info(uint16_t LimitCheckId, char *pLimitCheckString)
Generates a string for the limit check Id.
Structure for storing the calibration peak rate map Used by DMAX to understand the spatial roll off i...
VL53L1_Error VL53L1_WaitMeasurementDataReady(VL53L1_DEV Dev)
Wait for measurement data ready. Blocking function. Note that the timeout is given by: VL53L1_RANGE_C...
#define VL53L1_STATE_ERROR
VL53L1_Error VL53L1_PerformOffsetSimpleCalibration(VL53L1_DEV Dev, int32_t CalDistanceMilliMeter)
Perform Offset simple Calibration.
#define VL53L1_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL
uint16_t ambient_count_rate_mcps
#define VL53L1_DEVICEERROR_USERROICLIP
#define VL53L1_STATE_POWERDOWN
#define VL53L1_DETECTION_DISTANCE_OR_RATE
#define VL53L1_DEVICEPRESETMODE_TIMED_RANGING
FixPoint1616_t SignalRateRtnMegaCps
VL53L1_Error VL53L1_GetInterMeasurementPeriodMilliSeconds(VL53L1_DEV Dev, uint32_t *pInterMeasurementPeriodMilliSeconds)
#define TUNING_XTALK_FULL_ROI_TARGET_DISTANCE_MM
VL53L1_Error VL53L1_PerformRefSpadManagement(VL53L1_DEV Dev)
Performs Reference Spad Management.
@ VL53L1_TUNING_SINGLE_TARGET_XTALK_TARGET_DISTANCE_MM
VL53L1_ThresholdMode CrossMode
#define VL53L1_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED
VL53L1_gain_calibration_data_t gain_cal
#define VL53L1_RANGESTATUS_SYNCRONISATION_INT
uint8_t identification__revision_id
#define VL53L1_PAD_I2C_HV__EXTSUP_CONFIG
EwokPlus25 core function definitions.
char Name[VL53L1_DEVINFO_STRLEN]
@ VL53L1_TUNING_SINGLE_TARGET_XTALK_SAMPLE_NUMBER
#define VL53L1DevDataSet(Dev, field, data)
#define VL53L1_NVM_READ_TRIGGER_DELAY_US
VL53L1_additional_offset_cal_data_t add_off_cal_data
VL53L1_Error VL53L1_get_inter_measurement_period_ms(VL53L1_DEV Dev, uint32_t *pinter_measurement_period_ms)
Gets inter measurement period from the VL53L1_timing_config_t structure.
#define VL53L1_THRESHOLD_IN_WINDOW
uint8_t global_config__spad_enables_ref_0
VL53L1_Error VL53L1_SetThresholdConfig(VL53L1_DEV Dev, VL53L1_DetectionConfig_t *pConfig)
Configure the interrupt config, from the given structure.
Structure to configure conditions when GPIO interrupt is trigerred.
#define VL53L1_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH
uint16_t peak_signal_count_rate_mcps
#define VL53L1_CHECKENABLE_SIGMA_FINAL_RANGE
VL53L1_Error VL53L1_get_preset_mode_timing_cfg(VL53L1_DEV Dev, VL53L1_DevicePresetModes device_preset_mode, uint16_t *pdss_config__target_total_rate_mcps, uint32_t *pphasecal_config_timeout_us, uint32_t *pmm_config_timeout_us, uint32_t *prange_config_timeout_us)
Gets the requested preset mode configuration tuning parameters.
VL53L1_RateThreshold_t Rate
#define VL53L1_FIXPOINT97TOFIXPOINT1616(Value)
@ VL53L1_TUNING_MAX_SIMPLE_OFFSET_CALIBRATION_SAMPLE_NUMBER
#define VL53L1_DEVICEPRESETMODE_LOWPOWERAUTO_MEDIUM_RANGE
VL53L1_additional_offset_cal_data_t add_off_cal_data
VL53L1_cal_peak_rate_map_t cal_peak_rate_map
VL53L1_gain_calibration_data_t gain_cal
VL53L1 Register Function declarations.
VL53L1_Error VL53L1_get_range_status_string(uint8_t RangeStatus, char *pRangeStatusString)
Generates a string for the input device range status code.
VL53L1_Error VL53L1_GetPalState(VL53L1_DEV Dev, VL53L1_State *pPalState)
Reads the internal state of the driver for a given Device.
VL53L1_Error VL53L1_GetSequenceStepEnable(VL53L1_DEV Dev, VL53L1_SequenceStepId SequenceStepId, uint8_t *pSequenceStepEnabled)
Gets the (on/off) state of a requested sequence step.
uint8_t VL53L1_DevicePresetModes
int16_t mm_config__outer_offset_mm
uint8_t RangeQualityLevel
#define VL53L1_DETECTION_DISTANCE_AND_RATE
#define VL53L1_DEVICEPRESETMODE_LOWPOWERAUTO_SHORT_RANGE
VL53L1_Error VL53L1_GetXTalkCompensationEnable(VL53L1_DEV Dev, uint8_t *pXTalkCompensationEnable)
Get Cross talk compensation rate enable.
Structure for storing the set of range results.
#define VL53L1_DEVICEERROR_MSRCNOTARGET
VL53L1_gain_calibration_data_t gain_cal
VL53L1_Error VL53L1_set_tuning_parm(VL53L1_DEV Dev, VL53L1_TuningParms tuning_parm_key, int32_t tuning_parm_value)
Generic Tuning Parameter set function.
#define VL53L1_DEVICEERROR_GPHSTREAMCOUNT0READY
VL53L1_GPIO_Interrupt_Mode intr_mode_rate
VL53L1_Error VL53L1_get_lite_min_count_rate(VL53L1_DEV Dev, uint16_t *plite_mincountrate)
Get function for Lite Mode Minimum Count Rate parameter, used to filter and validate ranges based on ...
short int16_t
Typedef defining 16 bit short type. The developer should modify this to suit the platform being deplo...
#define VL53L1_DEVICEPRESETMODE_LOWPOWERAUTO_LONG_RANGE
uint8_t VL53L1_GPIO_Interrupt_Mode
#define VL53L1_DISTANCEMODE_SHORT
VL53L1_Error VL53L1_GetLimitCheckEnable(VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t *pLimitCheckEnable)
Get specific limit check enable state.
VL53L1_Error VL53L1_GetThresholdConfig(VL53L1_DEV Dev, VL53L1_DetectionConfig_t *pConfig)
Retrieves the interrupt config structure currently programmed into the API.
#define VL53L1_DISTANCEMODE_LONG
#define VL53L1_ERROR_MODE_NOT_SUPPORTED
#define VL53L1_STRING_DEVICE_INFO_NAME0
#define VL53L1_THRESHOLD_OUT_OF_WINDOW
#define VL53L1_DETECTION_NORMAL_RUN
#define VL53L1_DEVICEERROR_MINCLIP
uint8_t VL53L1_OffsetCalibrationMode
uint8_t global_config__spad_enables_ref_1
int16_t algo__crosstalk_compensation_x_plane_gradient_kcps
VL53L1_Error VL53L1_get_offset_calibration_mode(VL53L1_DEV Dev, VL53L1_OffsetCalibrationMode *poffset_cal_mode)
Get function for offset calibration mode.
#define VL53L1_DEVICEERROR_RANGEIGNORETHRESHOLD
VL53L1_Error VL53L1_set_user_zone(VL53L1_DEV Dev, VL53L1_user_zone_t *puser_zone)
Sets the current user Zone (ROI) configuration structure data.
uint8_t intr_combined_mode
VL53L1_Error VL53L1_GetVersion(VL53L1_Version_t *pVersion)
Return the VL53L1 driver Version.
VL53L1_Error VL53L1_init_and_start_range(VL53L1_DEV Dev, uint8_t measurement_mode, VL53L1_DeviceConfigLevel device_config_level)
Builds and sends the I2C buffer to initialize the device and start a range measurement.
#define TUNING_SIMPLE_OFFSET_CALIBRATION_REPEAT
VL53L1_Error VL53L1_StaticInit(VL53L1_DEV Dev)
Do basic device init (and eventually patch loading) This function will change the VL53L1_State from V...
Defines ROI configuration parameters.
#define VL53L1_ERROR_UNDEFINED
uint8_t ProductRevisionMajor
uint8_t global_config__ref_en_start_select
@ VL53L1_TUNING_PROXY_MIN
#define TUNING_MAX_SIMPLE_OFFSET_CALIBRATION_SAMPLE_NUMBER
uint16_t ref_spad_char__total_rate_target_mcps
uint8_t global_config__spad_enables_ref_2
#define VL53L1_RANGING_CORE__NVM_CTRL__DATAOUT_MMM
uint8_t global_config__spad_enables_ref_4
VL53L1_ThresholdMode CrossMode
VL53L1_nvm_copy_data_t nvm_copy_data
#define VL53L1_ENABLE_POWERFORCE_SETTLING_TIME_US
#define VL53L1_RANGING_CORE__NVM_CTRL__PDN
static VL53L1_ThresholdMode ConvertModeFromLLD(VL53L1_Error *pStatus, VL53L1_GPIO_Interrupt_Mode CrossMode)
#define VL53L1_OFFSETCALIBRATIONMODE_STANDARD
#define VL53L1_RANGING_CORE__NVM_CTRL__PULSE_WIDTH_MSB
#define VL53L1_RANGESTATUS_RANGE_INVALID
VL53L1_Error VL53L1_get_lite_sigma_threshold(VL53L1_DEV Dev, uint16_t *plite_sigma)
Get function for Lite Mode Max Sigma Threshold parameter, used to filter and validate ranges based on...
VL53L1_Error VL53L1_set_offset_calibration_mode(VL53L1_DEV Dev, VL53L1_OffsetCalibrationMode offset_cal_mode)
Set function for offset calibration mode.
#define VL53L1_ERROR_OFFSET_CAL_NO_SAMPLE_FAIL
uint8_t VL53L1_PresetModes
uint8_t VL53L1_OffsetCalibrationModes
VL53L1_Error VL53L1_set_inter_measurement_period_ms(VL53L1_DEV Dev, uint32_t inter_measurement_period_ms)
Gets the tuning parm part to part data.
#define VL53L1_FIXPOINT44TOFIXPOINT1616(Value)
VL53L1_Error VL53L1_GetPalErrorString(VL53L1_Error PalErrorCode, char *pPalErrorString)
Human readable error string for driver error status.
VL53L1_Error VL53L1_GetRangeStatusString(uint8_t RangeStatus, char *pRangeStatusString)
Human readable Range Status string for a given RangeStatus.
#define VL53L1_DEVICEERROR_PHASECONSISTENCY
#define VL53L1_GPIOINTMODE_LEVEL_HIGH
uint16_t threshold_rate_low
#define VL53L1_STATE_RUNNING
static VL53L1_Error VL53L1_nvm_read(VL53L1_DEV Dev, uint8_t start_address, uint8_t count, uint8_t *pdata)
uint16_t threshold_distance_low
#define VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION
uint8_t global_config__spad_enables_ref_5
uint16_t ref_spad_char__total_rate_target_mcps
#define VL53L1_DEVICEERROR_RANGEPHASECHECK
uint8_t global_config__spad_enables_ref_4
VL53L1_optical_centre_t optical_centre
#define SUPPRESS_UNUSED_WARNING(x)
#define VL53L1_DEVICEERROR_NOVHVVALUEFOUND
#define VL53L1_ERROR_NOT_SUPPORTED
#define VL53L1_DEVICEPRESETMODE_TIMED_RANGING_SHORT_RANGE
#define VL53L1_ERROR_INVALID_PARAMS
uint8_t global_config__spad_enables_ref_1
VL53L1_Error VL53L1_PerformSingleTargetXTalkCalibration(VL53L1_DEV Dev, int32_t CalDistanceMilliMeter)
Perform XTalk Calibration.
#define VL53L1_RANGESTATUS_SIGNAL_FAIL
#define VL53L1_ERROR_NONE
#define VL53L1_STATE_RESET
VL53L1_customer_nvm_managed_t customer
#define VL53L1_GPIOINTMODE_IN_WINDOW
#define VL53L1_RANGING_CORE__NVM_CTRL__MODE
VL53L1_Error VL53L1_SetMeasurementTimingBudgetMicroSeconds(VL53L1_DEV Dev, uint32_t MeasurementTimingBudgetMicroSeconds)
Set Ranging Timing Budget in microseconds.
VL53L1_Error VL53L1_SetPresetMode(VL53L1_DEV Dev, VL53L1_PresetModes PresetMode)
Set a new Preset Mode.
#define VL53L1_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE
uint8_t intr_new_measure_ready
VL53L1 API function declarations for decoding error codes to a text strings.
VL53L1_Error VL53L1_get_device_results(VL53L1_DEV Dev, VL53L1_DeviceResultsLevel device_results_level, VL53L1_range_results_t *prange_results)
Get device system results, updates GPH registers and clears interrupt and configures SYSTEM__MODE_STA...
VL53L1_Error VL53L1_set_lite_sigma_threshold(VL53L1_DEV Dev, uint16_t lite_sigma)
Set function for Lite Mode Max Sigma Threshold parameter, used to filter and validate ranges based on...
VL53L1_Error VL53L1_get_pal_state_string(VL53L1_State PalStateCode, char *pPalStateString)
Generates a string for the input PAL State code.
char ProductId[VL53L1_DEVINFO_STRLEN]
int16_t mm_config__outer_offset_mm
int16_t algo__crosstalk_compensation_x_plane_gradient_kcps
uint8_t ref_spad_man__num_requested_ref_spads
VL53L1_Error VL53L1_set_preset_mode(VL53L1_DEV Dev, VL53L1_DevicePresetModes device_preset_mode, uint16_t dss_config__target_total_rate_mcps, uint32_t phasecal_config_timeout_us, uint32_t mm_config_timeout_us, uint32_t range_config_timeout_us, uint32_t inter_measurement_period_ms)
Initialises the configuration data structures for the selected preset mode.
uint8_t global_config__spad_enables_ref_2
VL53L1_Error VL53L1_enable_powerforce(VL53L1_DEV Dev)
Enables power force.
uint16_t standard_ranging_gain_factor
FixPoint1616_t SigmaMilliMeter
uint16_t actual_effective_spads
VL53L1_Error VL53L1_enable_xtalk_compensation(VL53L1_DEV Dev)
Simple function to enable xtalk compensation.
#define VL53L1_IMPLEMENTATION_VER_SUB
int int32_t
Typedef defining 32 bit int type. The developer should modify this to suit the platform being deploye...
uint16_t algo__crosstalk_compensation_plane_offset_kcps
int16_t algo__part_to_part_range_offset_mm
VL53L1_Error VL53L1_GetLimitCheckInfo(uint16_t LimitCheckId, char *pLimitCheckString)
Return a description string for a given limit check number.
static VL53L1_Error CheckValidRectRoi(VL53L1_UserRoi_t ROI)
#define VL53L1_TUNINGPARM_LOWPOWERAUTO_VHV_LOOP_BOUND
uint8_t VL53L1_DeviceSequenceConfig
VL53L1_GPIO_Interrupt_Mode intr_mode_distance
VL53L1_customer_nvm_managed_t customer
VL53L1_Error VL53L1_GetLimitCheckStatus(VL53L1_DEV Dev, uint16_t LimitCheckId, uint8_t *pLimitCheckStatus)
Return a the Status of the specified check limit.
#define VL53L1_PRESETMODE_LITE_RANGING
VL53L1_Error VL53L1_get_sequence_config_bit(VL53L1_DEV Dev, VL53L1_DeviceSequenceConfig bit_id, uint8_t *pvalue)
Get system sequence config bit value.
#define VL53L1_DEVICEERROR_MULTCLIPFAIL
VL53L1_Error VL53L1_SetInterMeasurementPeriodMilliSeconds(VL53L1_DEV Dev, uint32_t InterMeasurementPeriodMilliSeconds)
#define VL53L1_FIXPOINT142TOFIXPOINT1616(Value)
#define TUNING_SINGLE_TARGET_XTALK_SAMPLE_NUMBER
#define VL53L1_STRING_DEVICE_INFO_NAME1
#define VL53L1_DEVICEPRESETMODE_TIMED_RANGING_LONG_RANGE
#define VL53L1_DETECTION_DISTANCE_ONLY
static uint8_t ComputeRQL(uint8_t active_results, uint8_t FilteredRangeStatus, VL53L1_range_data_t *presults_data)
VL53L1_Error VL53L1_ClearInterruptAndStartMeasurement(VL53L1_DEV Dev)
Clear the Interrupt flag and start new measurement *.
#define VL53L1_THRESHOLD_CROSSED_LOW
uint16_t threshold_rate_high
#define VL53L1_PRESETMODE_AUTONOMOUS
VL53L1_Error VL53L1_GetTuningParameter(VL53L1_DEV Dev, uint16_t TuningParameterId, int32_t *pTuningParameterValue)
Get Tuning Parameter value for a given parameter ID.
char Type[VL53L1_DEVINFO_STRLEN]
int16_t algo__part_to_part_range_offset_mm
VL53L1_optical_centre_t optical_centre
VL53L1_Error VL53L1_disable_powerforce(VL53L1_DEV Dev)
Disables power force.
VL53L1_Error VL53L1_get_timeouts_us(VL53L1_DEV Dev, uint32_t *pphasecal_config_timeout_us, uint32_t *pmm_config_timeout_us, uint32_t *prange_config_timeout_us)
Gets the phasecal, mode mitigation and ranging timeouts for the VL53L1_timing_config_t structure.
VL53L1_Error VL53L1_get_tuning_parm(VL53L1_DEV Dev, VL53L1_TuningParms tuning_parm_key, int32_t *ptuning_parm_value)
Generic Tuning Parameter extraction function.
VL53L1_Error VL53L1_run_ref_spad_char(VL53L1_DEV Dev, VL53L1_Error *pcal_status)
Run Reference Array SPAD Characterisation.
uint8_t global_config__spad_enables_ref_3
#define VL53L1_STATE_WAIT_STATICINIT
#define VL53L1_IMPLEMENTATION_VER_REVISION
FixPoint1616_t AmbientRateRtnMegaCps
int16_t mm_config__inner_offset_mm
VL53L1_Error VL53L1_SetCalibrationData(VL53L1_DEV Dev, VL53L1_CalibrationData_t *pCalibrationData)
Sets the Calibration Data.
uint32_t algo__crosstalk_compensation_plane_offset_kcps
#define VL53L1_GPIOINTMODE_OUT_OF_WINDOW
#define VL53L1_OFFSETCALIBRATIONMODE_PRERANGE_ONLY
VL53L1_Error VL53L1_StartMeasurement(VL53L1_DEV Dev)
Start device measurement.
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_Error VL53L1_GetUserROI(VL53L1_DEV Dev, VL53L1_UserRoi_t *pRoi)
Get the ROI managed by the Device.
#define TIMED_MODE_TIMING_GUARD_MILLISECONDS
VL53L1_Error VL53L1_get_GPIO_interrupt_config(VL53L1_DEV Dev, VL53L1_GPIO_interrupt_config_t *pintconf)
Retrieves the GPIO interrupt config structure currently programmed into the API.
#define VL53L1_DEVICEERROR_SIGMATHRESHOLDCHECK
VL53L1_Error VL53L1_get_user_zone(VL53L1_DEV Dev, VL53L1_user_zone_t *puser_zone)
Gets the current user zone (ROI) configuration structure data.
VL53L1_Error VL53L1_SetOffsetCalibrationMode(VL53L1_DEV Dev, VL53L1_OffsetCalibrationModes OffsetCalibrationMode)
Define the mode to be used for the offset calibration.
VL53L1_Error VL53L1_DataInit(VL53L1_DEV Dev)
One time device initialization.
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....
#define VL53L1_DEVICEERROR_VCSELCONTINUITYTESTFAILURE
VL53L1_Error VL53L1_SetLimitCheckValue(VL53L1_DEV Dev, uint16_t LimitCheckId, FixPoint1616_t LimitCheckValue)
Set a specific limit check value.
@ VL53L1_TUNING_SIMPLE_OFFSET_CALIBRATION_REPEAT
#define VL53L1_GETARRAYPARAMETERFIELD(Dev, field, index, variable)
#define VL53L1_DEVICEMEASUREMENTMODE_BACKTOBACK
#define VL53L1_DEVICEPRESETMODE_STANDARD_RANGING_SHORT_RANGE
static VL53L1_Error SetSimpleData(VL53L1_DEV Dev, uint8_t active_results, uint8_t device_status, VL53L1_range_data_t *presults_data, VL53L1_RangingMeasurementData_t *pRangeData)
VL53L1_Error VL53L1_WaitDeviceBooted(VL53L1_DEV Dev)
Wait for device booted after chip enable (hardware standby) This function can be run only when VL53L1...
#define FDA_MAX_TIMING_BUDGET_US
#define VL53L1_RANGESTATUS_NONE
#define VL53L1_SEQUENCESTEP_NUMBER_OF_ITEMS
VL53L1 LL Driver ST private data structure .
#define VL53L1_I2C_SLAVE__DEVICE_ADDRESS
#define TUNING_MIN_AMBIENT_DMAX_VALID
VL53L1_Error VL53L1_get_part_to_part_data(VL53L1_DEV Dev, VL53L1_calibration_data_t *pcal_data)
Gets the customer part to part data.
#define VL53L1_ERROR_INVALID_COMMAND
#define VL53L1_SETARRAYPARAMETERFIELD(Dev, field, index, value)
#define VL53L1_RANGING_CORE__NVM_CTRL__ADDR
#define LOG_FUNCTION_START(fmt,...)
#define VL53L1_GPIOINTMODE_LEVEL_LOW
#define VL53L1_WARNING_OFFSET_CAL_SIGMA_TOO_HIGH
int16_t mm_config__inner_offset_mm
VL53L1_Error VL53L1_GetDistanceMode(VL53L1_DEV Dev, VL53L1_DistanceModes *pDistanceMode)
Get the distance mode.
static VL53L1_Error ComputeDevicePresetMode(VL53L1_PresetModes PresetMode, VL53L1_DistanceModes DistanceMode, VL53L1_DevicePresetModes *pDevicePresetMode)
VL53L1_Error VL53L1_run_offset_calibration(VL53L1_DEV Dev, int16_t cal_distance_mm, VL53L1_Error *pcal_status)
Run offset calibration.
#define VL53L1_RANGESTATUS_MIN_RANGE_FAIL
VL53L1_DetectionMode DetectionMode
#define VL53L1_RANGESTATUS_XTALK_SIGNAL_FAIL
#define VL53L1_RANGESTATUS_HARDWARE_FAIL
#define VL53L1_RANGESTATUS_WRAP_TARGET_FAIL
#define VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS
static VL53L1_GPIO_Interrupt_Mode ConvertModeToLLD(VL53L1_Error *pStatus, VL53L1_ThresholdMode CrossMode)
#define LOWPOWER_AUTO_OVERHEAD_BETWEEN_A_B_RANGING
#define VL53L1_DEVICEMEASUREMENTMODE_TIMED
unsigned short uint16_t
Typedef defining 16 bit unsigned short type. The developer should modify this to suit the platform be...
VL53L1_Error VL53L1_disable_firmware(VL53L1_DEV Dev)
Disables MCU firmware.
#define VL53L1_FIXPOINT1616TOFIXPOINT142(Value)
uint8_t global_config__spad_enables_ref_5
uint8_t VL53L1_ThresholdMode
#define LOWPOWER_AUTO_VHV_LOOP_DURATION_US
VL53L1_Error VL53L1_GetCalibrationData(VL53L1_DEV Dev, VL53L1_CalibrationData_t *pCalibrationData)
Gets the Calibration Data.
VL53L1_Error VL53L1_GetMeasurementTimingBudgetMicroSeconds(VL53L1_DEV Dev, uint32_t *pMeasurementTimingBudgetMicroSeconds)
Get Ranging Timing Budget in microseconds.
uint8_t VL53L1_SequenceStepId
VL53L1_Error VL53L1_set_timeouts_us(VL53L1_DEV Dev, uint32_t phasecal_config_timeout_us, uint32_t mm_config_timeout_us, uint32_t range_config_timeout_us)
Sets the phasecal, mode mitigation and ranging timeouts in the VL53L1_timing_config_t structure.
#define VL53L1_RANGING_CORE__NVM_CTRL__READN
#define VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL
VL53L1_Error VL53L1_poll_for_range_completion(VL53L1_DEV Dev, uint32_t timeout_ms)
Polls bit 0 of VL53L1_GPIO__TIO_HV_STATUS register to determine the state of the GPIO (Interrupt) pin...
#define LOWPOWER_AUTO_OVERHEAD_BEFORE_A_RANGING
void VL53L1_get_xtalk_compensation_enable(VL53L1_DEV Dev, uint8_t *pcrosstalk_compensation_enable)
Simple function to retrieve xtalk compensation status.
Defines User Zone(ROI) parameters.
VL53L1_Error VL53L1_clear_interrupt_and_enable_next_range(VL53L1_DEV Dev, uint8_t measurement_mode)
Sends the ranging handshake to clear the interrupt allow the device to move onto the next range.
VL53L1_Error VL53L1_GetRangingMeasurementData(VL53L1_DEV Dev, VL53L1_RangingMeasurementData_t *pRangingMeasurementData)
Retrieve the measurements from device for a given setup.
VL53L1_Error VL53L1_is_new_data_ready(VL53L1_DEV Dev, uint8_t *pready)
Reads bit 0 of VL53L1_GPIO__TIO_HV_STATUS register to determine if new range data is ready (available...
VL53L1_Error VL53L1_SetDistanceMode(VL53L1_DEV Dev, VL53L1_DistanceModes DistanceMode)
Set the distance mode.
#define TUNING_SINGLE_TARGET_XTALK_TARGET_DISTANCE_MM
#define VL53L1_GLOBAL_CONFIG__SPAD_ENABLES_REF_0
#define VL53L1_IMPLEMENTATION_VER_MINOR
VL53L1_Error VL53L1_get_sequence_steps_info(VL53L1_SequenceStepId SequenceStepId, char *pSequenceStepsString)
Generates a string for the sequence step Id.
#define VL53L1_RANGESTATUS_RANGE_VALID
VL53L1_DistanceThreshold_t Distance
static VL53L1_Error SetPresetMode(VL53L1_DEV Dev, VL53L1_PresetModes PresetMode, VL53L1_DistanceModes DistanceMode, uint32_t inter_measurement_period_ms)
VL53L1_Error VL53L1_disable_xtalk_compensation(VL53L1_DEV Dev)
Simple function to disable xtalk compensation.
VL53L1_Error VL53L1_SetSequenceStepEnable(VL53L1_DEV Dev, VL53L1_SequenceStepId SequenceStepId, uint8_t SequenceStepEnabled)
Sets the (on/off) state of a requested sequence step.
int16_t algo__crosstalk_compensation_y_plane_gradient_kcps
uint8_t ProductRevisionMinor
#define VL53L1_SEQUENCESTEP_MM1
Structure for storing the Calibration Data.
#define VL53L1_OFFSETCALIBRATIONMODE__MM1_MM2__STANDARD_PRE_RANGE_ONLY
#define VL53L1_REF_SPAD_MAN__NUM_REQUESTED_REF_SPADS
uint16_t EffectiveSpadRtnCount
#define VL53L1_DEVICEERROR_RANGECOMPLETE_NO_WRAP_CHECK
vl53l1x
Author(s):
autogenerated on Fri Aug 2 2024 08:35:54