71 #ifndef _VL53L1_DEF_H_ 72 #define _VL53L1_DEF_H_ 87 #define VL53L1_IMPLEMENTATION_VER_MAJOR 2 89 #define VL53L1_IMPLEMENTATION_VER_MINOR 3 91 #define VL53L1_IMPLEMENTATION_VER_SUB 3 93 #define VL53L1_IMPLEMENTATION_VER_REVISION 1885 109 #define VL53L1_DEVINFO_STRLEN 32 138 #define VL53L1_PRESETMODE_AUTONOMOUS ((VL53L1_PresetModes) 3) 139 #define VL53L1_PRESETMODE_LITE_RANGING ((VL53L1_PresetModes) 4) 140 #define VL53L1_PRESETMODE_LOWPOWER_AUTONOMOUS ((VL53L1_PresetModes) 8) 152 #define VL53L1_DISTANCEMODE_SHORT ((VL53L1_DistanceModes) 1) 153 #define VL53L1_DISTANCEMODE_MEDIUM ((VL53L1_DistanceModes) 2) 154 #define VL53L1_DISTANCEMODE_LONG ((VL53L1_DistanceModes) 3) 164 #define VL53L1_XTALKCALIBRATIONMODE_NO_TARGET \ 165 ((VL53L1_OffsetCalibrationModes) 0) 167 #define VL53L1_XTALKCALIBRATIONMODE_SINGLE_TARGET \ 168 ((VL53L1_OffsetCalibrationModes) 1) 170 #define VL53L1_XTALKCALIBRATIONMODE_FULL_ROI \ 171 ((VL53L1_OffsetCalibrationModes) 2) 182 #define VL53L1_OFFSETCALIBRATIONMODE_STANDARD \ 183 ((VL53L1_OffsetCalibrationModes) 1) 184 #define VL53L1_OFFSETCALIBRATIONMODE_PRERANGE_ONLY \ 185 ((VL53L1_OffsetCalibrationModes) 2) 201 #define VL53L1_CHECKENABLE_SIGMA_FINAL_RANGE 0 202 #define VL53L1_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE 1 204 #define VL53L1_CHECKENABLE_NUMBER_OF_CHECKS 2 215 #define VL53L1_THRESHOLD_CROSSED_LOW \ 216 ((VL53L1_ThresholdMode) 0) 218 #define VL53L1_THRESHOLD_CROSSED_HIGH \ 219 ((VL53L1_ThresholdMode) 1) 221 #define VL53L1_THRESHOLD_OUT_OF_WINDOW \ 222 ((VL53L1_ThresholdMode) 2) 224 #define VL53L1_THRESHOLD_IN_WINDOW \ 225 ((VL53L1_ThresholdMode) 3) 252 #define VL53L1_DETECTION_NORMAL_RUN \ 253 ((VL53L1_DetectionMode) 0) 257 #define VL53L1_DETECTION_DISTANCE_ONLY \ 258 ((VL53L1_DetectionMode) 1) 260 #define VL53L1_DETECTION_RATE_ONLY \ 261 ((VL53L1_DetectionMode) 2) 263 #define VL53L1_DETECTION_DISTANCE_AND_RATE \ 264 ((VL53L1_DetectionMode) 3) 267 #define VL53L1_DETECTION_DISTANCE_OR_RATE \ 268 ((VL53L1_DetectionMode) 4) 323 #define VL53L1_STATE_POWERDOWN ((VL53L1_State) 0) 325 #define VL53L1_STATE_WAIT_STATICINIT ((VL53L1_State) 1) 327 #define VL53L1_STATE_STANDBY ((VL53L1_State) 2) 329 #define VL53L1_STATE_IDLE ((VL53L1_State) 3) 331 #define VL53L1_STATE_RUNNING ((VL53L1_State) 4) 333 #define VL53L1_STATE_RESET ((VL53L1_State) 5) 335 #define VL53L1_STATE_UNKNOWN ((VL53L1_State) 98) 337 #define VL53L1_STATE_ERROR ((VL53L1_State) 99) 461 #define VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION 0x10 466 #define VL53L1_CALIBRATION_DATA_STRUCT_VERSION \ 467 (VL53L1_LL_CALIBRATION_DATA_STRUCT_VERSION + \ 468 VL53L1_ADDITIONAL_CALIBRATION_DATA_STRUCT_VERSION) 481 #define VL53L1_SEQUENCESTEP_VHV ((VL53L1_SequenceStepId) 0) 483 #define VL53L1_SEQUENCESTEP_PHASECAL ((VL53L1_SequenceStepId) 1) 485 #define VL53L1_SEQUENCESTEP_REFPHASE ((VL53L1_SequenceStepId) 2) 487 #define VL53L1_SEQUENCESTEP_DSS1 ((VL53L1_SequenceStepId) 3) 489 #define VL53L1_SEQUENCESTEP_DSS2 ((VL53L1_SequenceStepId) 4) 491 #define VL53L1_SEQUENCESTEP_MM1 ((VL53L1_SequenceStepId) 5) 493 #define VL53L1_SEQUENCESTEP_MM2 ((VL53L1_SequenceStepId) 6) 495 #define VL53L1_SEQUENCESTEP_RANGE ((VL53L1_SequenceStepId) 7) 498 #define VL53L1_SEQUENCESTEP_NUMBER_OF_ITEMS 8 505 #define VL53L1_RANGESTATUS_RANGE_VALID 0 507 #define VL53L1_RANGESTATUS_SIGMA_FAIL 1 509 #define VL53L1_RANGESTATUS_SIGNAL_FAIL 2 511 #define VL53L1_RANGESTATUS_RANGE_VALID_MIN_RANGE_CLIPPED 3 513 #define VL53L1_RANGESTATUS_OUTOFBOUNDS_FAIL 4 515 #define VL53L1_RANGESTATUS_HARDWARE_FAIL 5 517 #define VL53L1_RANGESTATUS_RANGE_VALID_NO_WRAP_CHECK_FAIL 6 519 #define VL53L1_RANGESTATUS_WRAP_TARGET_FAIL 7 521 #define VL53L1_RANGESTATUS_PROCESSING_FAIL 8 523 #define VL53L1_RANGESTATUS_XTALK_SIGNAL_FAIL 9 525 #define VL53L1_RANGESTATUS_SYNCRONISATION_INT 10 527 #define VL53L1_RANGESTATUS_RANGE_VALID_MERGED_PULSE 11 531 #define VL53L1_RANGESTATUS_TARGET_PRESENT_LACK_OF_SIGNAL 12 533 #define VL53L1_RANGESTATUS_MIN_RANGE_FAIL 13 535 #define VL53L1_RANGESTATUS_RANGE_INVALID 14 537 #define VL53L1_RANGESTATUS_NONE 255 567 #define VL53L1_SETPARAMETERFIELD(Dev, field, value) \ 568 (VL53L1DevDataSet(Dev, CurrentParameters.field, value)) 570 #define VL53L1_GETPARAMETERFIELD(Dev, field, variable) \ 571 (variable = VL53L1DevDataGet(Dev, CurrentParameters).field) 574 #define VL53L1_SETARRAYPARAMETERFIELD(Dev, field, index, value) \ 575 (VL53L1DevDataSet(Dev, CurrentParameters.field[index], value)) 577 #define VL53L1_GETARRAYPARAMETERFIELD(Dev, field, index, variable) \ 578 (variable = VL53L1DevDataGet(Dev, CurrentParameters).field[index]) 581 #define VL53L1_SETDEVICESPECIFICPARAMETER(Dev, field, value) \ 582 (VL53L1DevDataSet(Dev, DeviceSpecificParameters.field, value)) 584 #define VL53L1_GETDEVICESPECIFICPARAMETER(Dev, field) \ 585 (VL53L1DevDataGet(Dev, DeviceSpecificParameters).field) 588 #define VL53L1_FIXPOINT1616TOFIXPOINT44(Value) \ 589 (uint16_t)((Value>>12)&0xFFFF) 590 #define VL53L1_FIXPOINT44TOFIXPOINT1616(Value) \ 591 (FixPoint1616_t)((uint32_t)Value<<12) 593 #define VL53L1_FIXPOINT1616TOFIXPOINT72(Value) \ 594 (uint16_t)((Value>>14)&0xFFFF) 595 #define VL53L1_FIXPOINT72TOFIXPOINT1616(Value) \ 596 (FixPoint1616_t)((uint32_t)Value<<14) 598 #define VL53L1_FIXPOINT1616TOFIXPOINT97(Value) \ 599 (uint16_t)((Value>>9)&0xFFFF) 600 #define VL53L1_FIXPOINT97TOFIXPOINT1616(Value) \ 601 (FixPoint1616_t)((uint32_t)Value<<9) 603 #define VL53L1_FIXPOINT1616TOFIXPOINT88(Value) \ 604 (uint16_t)((Value>>8)&0xFFFF) 605 #define VL53L1_FIXPOINT88TOFIXPOINT1616(Value) \ 606 (FixPoint1616_t)((uint32_t)Value<<8) 608 #define VL53L1_FIXPOINT1616TOFIXPOINT412(Value) \ 609 (uint16_t)((Value>>4)&0xFFFF) 610 #define VL53L1_FIXPOINT412TOFIXPOINT1616(Value) \ 611 (FixPoint1616_t)((uint32_t)Value<<4) 613 #define VL53L1_FIXPOINT1616TOFIXPOINT313(Value) \ 614 (uint16_t)((Value>>3)&0xFFFF) 615 #define VL53L1_FIXPOINT313TOFIXPOINT1616(Value) \ 616 (FixPoint1616_t)((uint32_t)Value<<3) 618 #define VL53L1_FIXPOINT1616TOFIXPOINT08(Value) \ 619 (uint8_t)((Value>>8)&0x00FF) 620 #define VL53L1_FIXPOINT08TOFIXPOINT1616(Value) \ 621 (FixPoint1616_t)((uint32_t)Value<<8) 623 #define VL53L1_FIXPOINT1616TOFIXPOINT53(Value) \ 624 (uint8_t)((Value>>13)&0x00FF) 625 #define VL53L1_FIXPOINT53TOFIXPOINT1616(Value) \ 626 (FixPoint1616_t)((uint32_t)Value<<13) 628 #define VL53L1_FIXPOINT1616TOFIXPOINT102(Value) \ 629 (uint16_t)((Value>>14)&0x0FFF) 630 #define VL53L1_FIXPOINT102TOFIXPOINT1616(Value) \ 631 (FixPoint1616_t)((uint32_t)Value<<14) 633 #define VL53L1_FIXPOINT1616TOFIXPOINT142(Value) \ 634 (uint16_t)((Value>>14)&0xFFFF) 635 #define VL53L1_FIXPOINT142TOFIXPOINT1616(Value) \ 636 (FixPoint1616_t)((uint32_t)Value<<14) 638 #define VL53L1_FIXPOINT1616TOFIXPOINT160(Value) \ 639 (uint16_t)((Value>>16)&0xFFFF) 640 #define VL53L1_FIXPOINT160TOFIXPOINT1616(Value) \ 641 (FixPoint1616_t)((uint32_t)Value<<16) 643 #define VL53L1_MAKEUINT16(lsb, msb) (uint16_t)((((uint16_t)msb)<<8) + \ 646 #ifndef SUPPRESS_UNUSED_WARNING 647 #define SUPPRESS_UNUSED_WARNING(x) ((void) (x)) 650 #define CHECK_ERROR_GO_ENDFUNC do {\ 651 if (Status != VL53L1_ERROR_NONE) \ #define VL53L1_CHECKENABLE_NUMBER_OF_CHECKS
Defines User Zone(ROI) parameters.
uint8_t ref_spad_man__num_requested_ref_spads
VL53L1 LL Driver ST private data structure .
VL53L1_cal_peak_rate_map_t cal_peak_rate_map
Defines the parameters of the Get Device Info Functions.
VL53L1_gain_calibration_data_t gain_cal
Defines all parameters for the device.
uint8_t VL53L1_DistanceModes
uint8_t RangeQualityLevel
uint8_t global_config__spad_enables_ref_5
int16_t algo__part_to_part_range_offset_mm
Defines parameters for Distance detection Thresholds configuration.
uint8_t global_config__spad_enables_ref_4
Defines parameters for User/object Detection configuration.
uint16_t EffectiveSpadRtnCount
int16_t algo__crosstalk_compensation_x_plane_gradient_kcps
short int16_t
Typedef defining 16 bit short type. The developer should modify this to suit the platform being deplo...
uint8_t global_config__spad_enables_ref_1
VL53L1_RateThreshold_t Rate
uint8_t global_config__spad_enables_ref_2
VL53L1_ThresholdMode CrossMode
VL53L1_LLDriverData_t LLData
uint8_t ProductRevisionMinor
FixPoint1616_t SignalRateRtnMegaCps
VL53L1_CustomerNvmManaged_t customer
Defines ROI configuration parameters.
VL53L1_additional_offset_cal_data_t add_off_cal_data
VL53L1_ThresholdMode CrossMode
Type definitions for VL53L1 LL Driver.
VL53L1_DistanceModes NewDistanceMode
uint8_t VL53L1_SequenceStepId
VL53L1_LLDriverResults_t llresults
int16_t mm_config__inner_offset_mm
uint8_t ref_spad_man__ref_location
uint8_t VL53L1_OffsetCalibrationModes
uint32_t algo__crosstalk_compensation_plane_offset_kcps
Structure for storing the calibration peak rate map Used by DMAX to understand the spatial roll off i...
FixPoint1616_t SigmaMilliMeter
VL53L1_DistanceModes InternalDistanceMode
uint8_t RangeFractionalPart
uint8_t VL53L1_PresetModes
VL53L1_PresetModes PresetMode
#define VL53L1_DEVINFO_STRLEN
uint8_t VL53L1_ThresholdMode
VL53L1_DistanceThreshold_t Distance
uint32_t MeasurementTimingBudgetMicroSeconds
VL53L1_DistanceModes DistanceMode
int16_t mm_config__outer_offset_mm
uint8_t global_config__ref_en_start_select
uint16_t ref_spad_char__total_rate_target_mcps
uint8_t VL53L1_DetectionMode
VL53L1_DeviceParameters_t CurrentParameters
VL53L1_DetectionMode DetectionMode
uint8_t global_config__spad_enables_ref_0
Single Range measurement data.
Structure for storing the Calibration Data.
VL53L1_additional_data_t VL53L1_AdditionalData_t
uint8_t global_config__spad_enables_ref_3
VL53L1 LL Driver ST private results structure.
uint8_t ProductRevisionMajor
Defines the parameters of the Get Version Functions.
Additional Offset Calibration Data.
Defines parameters for Signal rate detection Thresholds configuration.
Contains the Internal data of the Bare Driver.
uint8_t VL53L1_XtalkCalibrationModes
FixPoint1616_t AmbientRateRtnMegaCps
unsigned short uint16_t
Typedef defining 16 bit unsigned short type. The developer should modify this to suit the platform be...
int16_t algo__crosstalk_compensation_y_plane_gradient_kcps
VL53L1_optical_centre_t optical_centre
unsigned char uint8_t
Typedef defining 8 bit unsigned char type. The developer should modify this to suit the platform bein...
unsigned int uint32_t
Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...