ChibiOS/EX 1.3.0
|
VL53L0X data structures and types. | |
enum | vl53l0x_sad_t { VL53L0X_SAD_DEFAULT = 0x29 } |
VL53L0X slave address. More... | |
enum | vl53l0x_state_t { VL53L0X_UNINIT = 0 , VL53L0X_STOP = 1 , VL53L0X_READY = 2 } |
Driver state machine possible states. More... | |
typedef struct VL53L0XDriver | VL53L0XDriver |
Structure representing a VL53L0X driver. | |
#define | _vl53l0x_methods_alone |
VL53L0X specific methods. | |
#define | _vl53l0x_methods |
VL53L0X specific methods with inherited ones. | |
#define | _vl53l0x_data |
VL53L0XDriver specific data. |
Version identification | |
#define | EX_VL53L0X_VERSION "1.0.0" |
VL53L0X driver version string. | |
#define | EX_VL53L0X_MAJOR 1 |
VL53L0X driver version major number. | |
#define | EX_VL53L0X_MINOR 0 |
VL53L0X driver version minor number. | |
#define | EX_VL53L0X_PATCH 0 |
VL53L0X driver version patch number. | |
#define | VL53L0X_RANGE_NUMBER_OF_AXES 1U |
VL53L0X rangefinder subsystem characteristics. | |
#define | VL53L0X_RANGE_SENS 0.00024414f |
#define | VL53L0X_RANGE_BIAS 0.0f |
VL53L0X_INT_CFG register bits definitions | |
#define | VL53L0X_INT_CFG_MASK 0xFF |
#define | VL53L0X_INT_CFG_PHE (1 << 0) |
#define | VL53L0X_INT_CFG_PLE (1 << 1) |
#define | VL53L0X_INT_CFG_LIR (1 << 2) |
#define | VL53L0X_INT_CFG_DIFF_EN (1 << 3) |
#define | VL53L0X_INT_CFG_RESET_AZ (1 << 4) |
#define | VL53L0X_INT_CFG_AUTOZERO (1 << 5) |
#define | VL53L0X_INT_CFG_RESET_ARP (1 << 6) |
#define | VL53L0X_INT_CFG_AUTORIFP (1 << 7) |
VL53L0X_CTRL_REG1 register bits definitions | |
#define | VL53L0X_CTRL_REG1_MASK 0x7F |
#define | VL53L0X_CTRL_REG1_SIM (1 << 0) |
#define | VL53L0X_CTRL_REG1_BDU (1 << 1) |
#define | VL53L0X_CTRL_REG1_LPFP_CFG (1 << 2) |
#define | VL53L0X_CTRL_REG1_LPFP_EN (1 << 3) |
#define | VL53L0X_CTRL_REG1_ODR0 (1 << 4) |
#define | VL53L0X_CTRL_REG1_ODR1 (1 << 5) |
#define | VL53L0X_CTRL_REG1_ODR2 (1 << 6) |
VL53L0X_CTRL_REG2 register bits definitions | |
#define | VL53L0X_CTRL_REG2_MASK 0xFD |
#define | VL53L0X_CTRL_REG2_ONE_SHOT (1 << 0) |
#define | VL53L0X_CTRL_REG2_SWRESET (1 << 2) |
#define | VL53L0X_CTRL_REG2_I2C_DIS (1 << 3) |
#define | VL53L0X_CTRL_REG2_IF_ADD_INC (1 << 4) |
#define | VL53L0X_CTRL_REG2_STOP_ON_FTH (1 << 5) |
#define | VL53L0X_CTRL_REG2_FIFO_EN (1 << 6) |
#define | VL53L0X_CTRL_REG2_BOOT (1 << 7) |
VL53L0X_CTRL_REG3 register bits definitions | |
#define | VL53L0X_CTRL_REG3_MASK 0xFF |
#define | VL53L0X_CTRL_REG3_INT_S1 (1 << 0) |
#define | VL53L0X_CTRL_REG3_INT_S2 (1 << 1) |
#define | VL53L0X_CTRL_REG3_DRDY (1 << 2) |
#define | VL53L0X_CTRL_REG3_F_OVR (1 << 3) |
#define | VL53L0X_CTRL_REG3_F_FTH (1 << 4) |
#define | VL53L0X_CTRL_REG3_F_FSS5 (1 << 5) |
#define | VL53L0X_CTRL_REG3_PP_OD (1 << 6) |
#define | VL53L0X_CTRL_REG3_INT_H_L (1 << 7) |
VL53L0X_INT_SRC register bits definitions | |
#define | VL53L0X_INT_SRC_MASK 0x87 |
#define | VL53L0X_INT_SRC_PH (1 << 0) |
#define | VL53L0X_INT_SRC_PL (1 << 1) |
#define | VL53L0X_INT_SRC_IA (1 << 2) |
#define | VL53L0X_INT_SRC_BOOT_STATUS (1 << 8) |
Configuration options | |
#define | VL53L0X_USE_I2C TRUE |
VL53L0X I2C interface switch. | |
#define | VL53L0X_SHARED_I2C FALSE |
VL53L0X shared I2C switch. | |
#define | VL53L0X_USE_ADVANCED FALSE |
VL53L0X advanced configurations switch. |
Data Structures | |
struct | VL53L0XConfig |
VL53L0X configuration structure. More... | |
struct | VL53L0XVMT |
VL53L0X virtual methods table. More... | |
struct | VL53L0XDriver |
VL53L0X 2-axis rangemeter/thermometer class. More... |
Macros | |
#define | vl53l0xRangeFinderGetAxesNumber(devp) |
Return the number of axes of the BaseRangeFinder. | |
#define | vl53l0xRangeFinderReadRaw(devp, axes) |
Retrieves raw data from the BaseRangeFinder. | |
#define | vl53l0xRangeFinderReadCooked(devp, axes) |
Retrieves cooked data from the BaseRangeFinder. |
Functions | |
void | vl53l0xObjectInit (VL53L0XDriver *devp) |
void | vl53l0xStart (VL53L0XDriver *devp, const VL53L0XConfig *config) |
void | vl53l0xStop (VL53L0XDriver *devp) |
#define EX_VL53L0X_VERSION "1.0.0" |
#define EX_VL53L0X_MAJOR 1 |
#define EX_VL53L0X_MINOR 0 |
#define EX_VL53L0X_PATCH 0 |
#define VL53L0X_RANGE_NUMBER_OF_AXES 1U |
#define VL53L0X_REG_CROSSTALK_COMPENSATION_PEAK_RATE_MCPS 0x20 |
#define VL53L0X_REG_HISTOGRAM_CONFIG_INITIAL_PHASE_SELECT 0x33 |
#define VL53L0X_REG_FINAL_RANGE_CONFIG_MIN_COUNT_RATE_RTN_LIMIT 0x44 |
#define VL53L0X_REG_FINAL_RANGE_CONFIG_VALID_PHASE_LOW 0x47 |
#define VL53L0X_REG_FINAL_RANGE_CONFIG_VALID_PHASE_HIGH 0x48 |
#define VL53L0X_REG_DYNAMIC_SPAD_NUM_REQUESTED_REF_SPAD 0x4E |
#define VL53L0X_REG_PRE_RANGE_CONFIG_TIMEOUT_MACROP_HI 0x51 |
#define VL53L0X_REG_PRE_RANGE_CONFIG_TIMEOUT_MACROP_LO 0x52 |
#define VL53L0X_REG_PRE_RANGE_CONFIG_VALID_PHASE_HIGH 0x57 |
#define VL53L0X_REG_PRE_RANGE_MIN_COUNT_RATE_RTN_LIMIT 0x64 |
#define VL53L0X_REG_FINAL_RANGE_CONFIG_TIMEOUT_MACROP_HI 0x71 |
#define VL53L0X_REG_FINAL_RANGE_CONFIG_TIMEOUT_MACROP_LO 0x72 |
#define VL53L0X_REG_VHV_CONFIG_PAD_SCL_SDA__EXTSUP_HV 0x89 |
#define VL53L0X_REG_GLOBAL_CONFIG_REF_EN_START_SELECT 0xB6 |
#define VL53L0X_REG_RESULT_CORE_AMBIENT_WINDOW_EVENTS_RTN 0xBC |
#define VL53L0X_REG_RESULT_CORE_RANGING_TOTAL_EVENTS_RTN 0xC0 |
#define VL53L0X_REG_RESULT_CORE_AMBIENT_WINDOW_EVENTS_REF 0xD0 |
#define VL53L0X_REG_RESULT_CORE_RANGING_TOTAL_EVENTS_REF 0xD4 |
#define VL53L0X_USE_I2C TRUE |
#define VL53L0X_SHARED_I2C FALSE |
#define VL53L0X_USE_ADVANCED FALSE |
#define _vl53l0x_methods_alone |
#define _vl53l0x_methods |
#define _vl53l0x_data |
VL53L0XDriver
specific data.
#define vl53l0xRangeFinderGetAxesNumber | ( | devp | ) |
Return the number of axes of the BaseRangeFinder.
[in] | devp | pointer to VL53L0XDriver . |
#define vl53l0xRangeFinderReadRaw | ( | devp, | |
axes ) |
Retrieves raw data from the BaseRangeFinder.
[in] | devp | pointer to VL53L0XDriver . |
[out] | axes | a buffer which would be filled with raw data. |
MSG_OK | if the function succeeded. |
MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors() . |
MSG_TIMEOUT | if a timeout occurred before operation end. |
#define vl53l0xRangeFinderReadCooked | ( | devp, | |
axes ) |
Retrieves cooked data from the BaseRangeFinder.
[in] | devp | pointer to VL53L0XDriver . |
[out] | axes | a buffer which would be filled with cooked data. |
MSG_OK | if the function succeeded. |
MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors() . |
MSG_TIMEOUT | if a timeout occurred before operation end. |
typedef struct VL53L0XDriver VL53L0XDriver |
enum vl53l0x_sad_t |
enum vl53l0x_state_t |
void vl53l0xObjectInit | ( | VL53L0XDriver * | devp | ) |
void vl53l0xStart | ( | VL53L0XDriver * | devp, |
const VL53L0XConfig * | config ) |
void vl53l0xStop | ( | VL53L0XDriver * | devp | ) |