A mbed library for the VL53L0X proximity sensor. This is a wrapper, so beware of big file sizes.

Dependents:   BigBot_v1 PololuDistanceSensorTest Lidar Ares test ... more

Committer:
joelvonrotz
Date:
Tue Jul 30 13:56:11 2019 +0000
Revision:
1:ccc67c76fecb
Parent:
0:11ad6aaed10a
updated to mbed doc-format

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joelvonrotz 0:11ad6aaed10a 1 /*******************************************************************************
joelvonrotz 0:11ad6aaed10a 2 Copyright © 2016, STMicroelectronics International N.V.
joelvonrotz 0:11ad6aaed10a 3 All rights reserved.
joelvonrotz 0:11ad6aaed10a 4
joelvonrotz 0:11ad6aaed10a 5 Redistribution and use in source and binary forms, with or without
joelvonrotz 0:11ad6aaed10a 6 modification, are permitted provided that the following conditions are met:
joelvonrotz 0:11ad6aaed10a 7 * Redistributions of source code must retain the above copyright
joelvonrotz 0:11ad6aaed10a 8 notice, this list of conditions and the following disclaimer.
joelvonrotz 0:11ad6aaed10a 9 * Redistributions in binary form must reproduce the above copyright
joelvonrotz 0:11ad6aaed10a 10 notice, this list of conditions and the following disclaimer in the
joelvonrotz 0:11ad6aaed10a 11 documentation and/or other materials provided with the distribution.
joelvonrotz 0:11ad6aaed10a 12 * Neither the name of STMicroelectronics nor the
joelvonrotz 0:11ad6aaed10a 13 names of its contributors may be used to endorse or promote products
joelvonrotz 0:11ad6aaed10a 14 derived from this software without specific prior written permission.
joelvonrotz 0:11ad6aaed10a 15
joelvonrotz 0:11ad6aaed10a 16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
joelvonrotz 0:11ad6aaed10a 17 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
joelvonrotz 0:11ad6aaed10a 18 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
joelvonrotz 0:11ad6aaed10a 19 NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED.
joelvonrotz 0:11ad6aaed10a 20 IN NO EVENT SHALL STMICROELECTRONICS INTERNATIONAL N.V. BE LIABLE FOR ANY
joelvonrotz 0:11ad6aaed10a 21 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
joelvonrotz 0:11ad6aaed10a 22 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
joelvonrotz 0:11ad6aaed10a 23 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
joelvonrotz 0:11ad6aaed10a 24 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
joelvonrotz 0:11ad6aaed10a 25 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
joelvonrotz 0:11ad6aaed10a 26 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
joelvonrotz 0:11ad6aaed10a 27 *******************************************************************************/
joelvonrotz 0:11ad6aaed10a 28
joelvonrotz 0:11ad6aaed10a 29 #ifndef _VL53L0X_API_CALIBRATION_H_
joelvonrotz 0:11ad6aaed10a 30 #define _VL53L0X_API_CALIBRATION_H_
joelvonrotz 0:11ad6aaed10a 31
joelvonrotz 0:11ad6aaed10a 32 #include "vl53l0x_def.h"
joelvonrotz 0:11ad6aaed10a 33 #include "vl53l0x_platform.h"
joelvonrotz 0:11ad6aaed10a 34
joelvonrotz 0:11ad6aaed10a 35
joelvonrotz 0:11ad6aaed10a 36 #ifdef __cplusplus
joelvonrotz 0:11ad6aaed10a 37 extern "C" {
joelvonrotz 0:11ad6aaed10a 38 #endif
joelvonrotz 0:11ad6aaed10a 39
joelvonrotz 0:11ad6aaed10a 40 VL53L0X_Error VL53L0X_perform_xtalk_calibration(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 41 FixPoint1616_t XTalkCalDistance,
joelvonrotz 0:11ad6aaed10a 42 FixPoint1616_t *pXTalkCompensationRateMegaCps);
joelvonrotz 0:11ad6aaed10a 43
joelvonrotz 0:11ad6aaed10a 44 VL53L0X_Error VL53L0X_perform_offset_calibration(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 45 FixPoint1616_t CalDistanceMilliMeter,
joelvonrotz 0:11ad6aaed10a 46 int32_t *pOffsetMicroMeter);
joelvonrotz 0:11ad6aaed10a 47
joelvonrotz 0:11ad6aaed10a 48 VL53L0X_Error VL53L0X_set_offset_calibration_data_micro_meter(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 49 int32_t OffsetCalibrationDataMicroMeter);
joelvonrotz 0:11ad6aaed10a 50
joelvonrotz 0:11ad6aaed10a 51 VL53L0X_Error VL53L0X_get_offset_calibration_data_micro_meter(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 52 int32_t *pOffsetCalibrationDataMicroMeter);
joelvonrotz 0:11ad6aaed10a 53
joelvonrotz 0:11ad6aaed10a 54 VL53L0X_Error VL53L0X_apply_offset_adjustment(VL53L0X_DEV Dev);
joelvonrotz 0:11ad6aaed10a 55
joelvonrotz 0:11ad6aaed10a 56 VL53L0X_Error VL53L0X_perform_ref_spad_management(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 57 uint32_t *refSpadCount, uint8_t *isApertureSpads);
joelvonrotz 0:11ad6aaed10a 58
joelvonrotz 0:11ad6aaed10a 59 VL53L0X_Error VL53L0X_set_reference_spads(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 60 uint32_t count, uint8_t isApertureSpads);
joelvonrotz 0:11ad6aaed10a 61
joelvonrotz 0:11ad6aaed10a 62 VL53L0X_Error VL53L0X_get_reference_spads(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 63 uint32_t *pSpadCount, uint8_t *pIsApertureSpads);
joelvonrotz 0:11ad6aaed10a 64
joelvonrotz 0:11ad6aaed10a 65 VL53L0X_Error VL53L0X_perform_phase_calibration(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 66 uint8_t *pPhaseCal, const uint8_t get_data_enable,
joelvonrotz 0:11ad6aaed10a 67 const uint8_t restore_config);
joelvonrotz 0:11ad6aaed10a 68
joelvonrotz 0:11ad6aaed10a 69 VL53L0X_Error VL53L0X_perform_ref_calibration(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 70 uint8_t *pVhvSettings, uint8_t *pPhaseCal, uint8_t get_data_enable);
joelvonrotz 0:11ad6aaed10a 71
joelvonrotz 0:11ad6aaed10a 72 VL53L0X_Error VL53L0X_set_ref_calibration(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 73 uint8_t VhvSettings, uint8_t PhaseCal);
joelvonrotz 0:11ad6aaed10a 74
joelvonrotz 0:11ad6aaed10a 75 VL53L0X_Error VL53L0X_get_ref_calibration(VL53L0X_DEV Dev,
joelvonrotz 0:11ad6aaed10a 76 uint8_t *pVhvSettings, uint8_t *pPhaseCal);
joelvonrotz 0:11ad6aaed10a 77
joelvonrotz 0:11ad6aaed10a 78
joelvonrotz 0:11ad6aaed10a 79
joelvonrotz 0:11ad6aaed10a 80
joelvonrotz 0:11ad6aaed10a 81 #ifdef __cplusplus
joelvonrotz 0:11ad6aaed10a 82 }
joelvonrotz 0:11ad6aaed10a 83 #endif
joelvonrotz 0:11ad6aaed10a 84
joelvonrotz 0:11ad6aaed10a 85 #endif /* _VL53L0X_API_CALIBRATION_H_ */