Updates to follow mbed SDK coding style guidelines.
Dependencies: ST_INTERFACES X_NUCLEO_COMMON
Dependents: 53L0A1_Satellites_with_Interrupts_OS5 Display_53L0A1_OS5
Fork of X_NUCLEO_53L0A1 by
VL53L0X Class Reference
Class representing a VL53L0 sensor component. More...
#include <vl53l0x_class.h>
Public Member Functions | |
| VL53L0X (DevI2C &i2c, DigitalOut &pin, PinName pin_gpio1, uint8_t dev_addr=DEFAULT_DEVICE_ADDRESS) | |
| Constructor. | |
| VL53L0X (DevI2C &i2c, Stmpe1600DigiOut &pin, PinName pin_gpio1, uint8_t dev_addr=DEFAULT_DEVICE_ADDRESS) | |
| Constructor 2 (STMPE1600DigiOut) | |
| virtual | ~VL53L0X () |
| Destructor. | |
| void | vl53l0x_on (void) |
| PowerOn the sensor. | |
| void | vl53l0x_off (void) |
| PowerOff the sensor. | |
| int | init_sensor (uint8_t new_addr) |
| Initialize the sensor with default values. | |
| int | start_measurement (OperatingMode operating_mode, void(*fptr)(void)) |
| Start the measure indicated by operating mode. | |
| int | get_measurement (OperatingMode operating_mode, VL53L0X_RangingMeasurementData_t *p_data) |
| Get results for the measure indicated by operating mode. | |
| int | stop_measurement (OperatingMode operating_mode) |
| Stop the currently running measure indicate by operating_mode. | |
| int | handle_irq (OperatingMode operating_mode, VL53L0X_RangingMeasurementData_t *data) |
| Interrupt handling func to be called by user after an INT is occourred. | |
| void | enable_interrupt_measure_detection_irq (void) |
| Enable interrupt measure IRQ. | |
| void | disable_interrupt_measure_detection_irq (void) |
| Disable interrupt measure IRQ. | |
| void | attach_interrupt_measure_detection_irq (void(*fptr)(void)) |
| Attach a function to call when an interrupt is detected, i.e. | |
| unsigned | present () |
| Check the sensor presence. | |
| int | wait_device_booted () |
| Wait for device booted after chip enable (hardware standby) | |
| virtual int | init (void *init) |
| One time device initialization. | |
| int | setup_gpio1 (uint8_t InitFunction, int ActiveHigh) |
| Configure GPIO1 function and set polarity. | |
| int | prepare () |
| Prepare device for operation. | |
| int | range_start_continuous_mode () |
| Start continuous ranging mode. | |
| int | range_start_single_shot () |
| Start single shot ranging measure. | |
| int | range_set_max_convergence_time (uint8_t max_con_time_msec) |
| Set maximum convergence time. | |
| int | range_poll_measurement (VL53L0X_RangingMeasurementData_t *p_range_data) |
| Single shot Range measurement in polling mode. | |
| int | range_get_measurement_if_ready (VL53L0X_RangingMeasurementData_t *p_range_data) |
| Check for measure readiness and get it if ready. | |
| int | range_get_measurement (VL53L0X_RangingMeasurementData_t *p_range_data) |
| Retrieve range measurements set from device. | |
| virtual int | get_distance (uint32_t *p_data) |
| Get ranging result and only that. | |
| int | range_config_interrupt (uint8_t config_gpio_int) |
| Configure ranging interrupt reported to application. | |
| int | range_get_interrupt_status (uint8_t *p_status) |
| Return ranging error interrupt status. | |
| int | static_init () |
| Low level ranging and ALS register static settings (you should call VL6180x_Prepare() function instead) | |
| int | range_wait_device_deady (int max_loop) |
| Wait for device to be ready (before a new ranging command can be issued by application) | |
| int | range_set_inter_meas_period (uint32_t inter_meas_time_msec) |
| Program Inter measurement period (used only in continuous mode) | |
| int | upscale_set_scaling (uint8_t scaling) |
| Set device ranging scaling factor. | |
| int | upscale_get_scaling () |
| Get current ranging scaling factor. | |
| uint16_t | get_upper_limit () |
| Get the maximal distance for actual scaling. | |
| int | range_set_thresholds (uint16_t low, uint16_t high, int safe_hold) |
| Apply low and high ranging thresholds that are considered only in continuous mode. | |
| int | range_get_thresholds (uint16_t *low, uint16_t *high) |
| Get scaled high and low threshold from device. | |
| int | range_set_raw_thresholds (uint8_t low, uint8_t high) |
| Set ranging raw thresholds (scaling not considered so not recommended to use it) | |
| int | range_set_ece_factor (uint16_t factor_m, uint16_t factor_d) |
| Set Early Convergence Estimate ratio. | |
| int | range_set_ece_state (int enable) |
| Set Early Convergence Estimate state (See SYSRANGE_RANGE_CHECK_ENABLES register) | |
| int | filter_set_state (int state) |
| Set activation state of the wrap around filter. | |
| int | filter_get_state () |
| Get activation state of the wrap around filter. | |
| int | dmax_set_state (int state) |
| Set activation state of DMax computation. | |
| int | dmax_get_state () |
| Get activation state of DMax computation. | |
| int | range_set_system_mode (uint8_t mode) |
| Set ranging mode and start/stop measure (use high level functions instead : VL6180x_RangeStartSingleShot() or VL6180x_RangeStartContinuousMode()) | |
| int8_t | get_offset_calibration_data () |
| Get part to part calibration offset. | |
| void | set_offset_calibration_data (int8_t offset) |
| Set or over-write part to part calibration offset. | |
| int | set_xtalk_compensation_rate (uint16_t rate) |
| Set Cross talk compensation rate. | |
| int | set_device_address (int new_addr) |
| Set new device i2c address. | |
| int | setup_gpiox (int pin, uint8_t int_function, int active_high) |
| Fully configure gpio 0/1 pin : polarity and functionality. | |
| int | set_gpiox_polarity (int pin, int active_high) |
| Set interrupt pin polarity for the given GPIO. | |
| int | set_gpiox_functionality (int pin, uint8_t functionality) |
| Select interrupt functionality for the given GPIO. | |
| int | disable_gpiox_out (int pin) |
| brief Disable and turn to Hi-Z gpio output pin | |
| int | get_interrupt_status (uint8_t *status) |
| Get all interrupts cause. | |
| int | clear_interrupt (uint8_t int_clear) |
| Clear given system interrupt condition. | |
Detailed Description
Class representing a VL53L0 sensor component.
Definition at line 297 of file vl53l0x_class.h.
Constructor & Destructor Documentation
| VL53L0X | ( | DevI2C & | i2c, |
| DigitalOut & | pin, | ||
| PinName | pin_gpio1, | ||
| uint8_t | dev_addr = DEFAULT_DEVICE_ADDRESS |
||
| ) |
Constructor.
- Parameters:
-
[in] &i2c device I2C to be used for communication [in] &pin_gpio1 pin Mbed InterruptIn PinName to be used as component GPIO_1 INT [in] dev_addr device address, 0x29 by default
Definition at line 305 of file vl53l0x_class.h.
| VL53L0X | ( | DevI2C & | i2c, |
| Stmpe1600DigiOut & | pin, | ||
| PinName | pin_gpio1, | ||
| uint8_t | dev_addr = DEFAULT_DEVICE_ADDRESS |
||
| ) |
Constructor 2 (STMPE1600DigiOut)
- Parameters:
-
[in] i2c device I2C to be used for communication [in] &pin Gpio Expander STMPE1600DigiOut pin to be used as component GPIO_0 CE [in] pin_gpio1 pin Mbed InterruptIn PinName to be used as component GPIO_1 INT [in] device address, 0x29 by default
Definition at line 326 of file vl53l0x_class.h.
| virtual ~VL53L0X | ( | ) | [virtual] |
Destructor.
Definition at line 343 of file vl53l0x_class.h.
Member Function Documentation
| void attach_interrupt_measure_detection_irq | ( | void(*)(void) | fptr ) |
Attach a function to call when an interrupt is detected, i.e.
measurement is ready
- Parameters:
-
[in] fptr pointer to call back function to be called whenever an interrupt occours
- Returns:
- 0 on Success
Definition at line 441 of file vl53l0x_class.h.
| int disable_gpiox_out | ( | int | pin ) |
brief Disable and turn to Hi-Z gpio output pin
- Parameters:
-
pin The pin number to disable 0 or 1
- Returns:
- 0 on success
Definition at line 1094 of file vl53l0x_class.h.
| void disable_interrupt_measure_detection_irq | ( | void | ) |
| void enable_interrupt_measure_detection_irq | ( | void | ) |
| unsigned present | ( | ) |
Check the sensor presence.
- Returns:
- 1 when device is present
Definition at line 450 of file vl53l0x_class.h.
| int set_device_address | ( | int | new_addr ) |
Set new device i2c address.
After completion the device will answer to the new address programmed.
- See also:
- AN4478: Using multiple VL6180X's in a single design
- Parameters:
-
new_addr The new i2c address (7bit)
- Returns:
- 0 on success
Definition at line 1037 of file vl53l0x_class.h.
| int set_gpiox_functionality | ( | int | pin, |
| uint8_t | functionality | ||
| ) |
Select interrupt functionality for the given GPIO.
- Function Description
- Functionality refer to SYSTEM_MODE_GPIO0
- Parameters:
-
pin Pin to configure 0 or 1 (gpio0 or gpio1) that gpio0 is chip enable at power up ! functionality Pin functionality : either GPIOx_SELECT_OFF or GPIOx_SELECT_GPIO_INTERRUPT_OUTPUT (refer to SYSTEM_MODE_GPIO1 register definition)
- Returns:
- 0 on success
Definition at line 1083 of file vl53l0x_class.h.
| int set_gpiox_polarity | ( | int | pin, |
| int | active_high | ||
| ) |
Set interrupt pin polarity for the given GPIO.
- Parameters:
-
pin Pin 0 or 1 active_high select active high or low polarity using IntrPol_e
- Returns:
- 0 on success
Definition at line 1068 of file vl53l0x_class.h.
| int setup_gpiox | ( | int | pin, |
| uint8_t | int_function, | ||
| int | active_high | ||
| ) |
Fully configure gpio 0/1 pin : polarity and functionality.
- Parameters:
-
pin gpio pin 0 or 1 int_function Pin functionality : either GPIOx_SELECT_OFF or GPIOx_SELECT_GPIO_INTERRUPT_OUTPUT (refer to SYSTEM_MODE_GPIO1 register definition) active_high Set active high polarity, or active low see IntrPol_e
- Returns:
- 0 on success
Definition at line 1056 of file vl53l0x_class.h.
| void vl53l0x_off | ( | void | ) |
| void vl53l0x_on | ( | void | ) |
Generated on Wed Jul 13 2022 19:35:41 by
1.7.2
